/*! tailwindcss v3.3.2 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}html{-webkit-text-size-adjust:100%;font-feature-settings:normal;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select,textarea{--tw-shadow:0 0 #0000;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,select:focus,textarea:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:#2563eb;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid #0000;outline-offset:2px}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}::-webkit-datetime-edit,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-year-field{padding-bottom:0;padding-top:0}select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{--tw-shadow:0 0 #0000;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;background-origin:border-box;border-color:#6b7280;border-width:1px;color:#2563eb;display:inline-block;flex-shrink:0;height:1rem;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;width:1rem}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid #0000;outline-offset:2px}[type=checkbox]:checked,[type=radio]:checked{background-color:currentColor;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:#0000}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}[type=checkbox]:checked:focus,[type=checkbox]:checked:hover,[type=checkbox]:indeterminate,[type=radio]:checked:focus,[type=radio]:checked:hover{background-color:currentColor;border-color:#0000}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100% 100%}[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{background-color:currentColor;border-color:#0000}[type=file]{background:unset;border-color:inherit;border-radius:0;border-width:0;font-size:unset;line-height:inherit;padding:0}[type=file]:focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.\!container{width:100%!important}.container{width:100%}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.hero-arrow-left-solid{--hero-arrow-left-solid:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true">  <path fill-rule="evenodd" d="M11.03 3.97a.75.75 0 010 1.06l-6.22 6.22H21a.75.75 0 010 1.5H4.81l6.22 6.22a.75.75 0 11-1.06 1.06l-7.5-7.5a.75.75 0 010-1.06l7.5-7.5a.75.75 0 011.06 0z" clip-rule="evenodd"/></svg>');-webkit-mask:var(--hero-arrow-left-solid);mask:var(--hero-arrow-left-solid);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.hero-arrow-left-solid,.hero-arrow-path{background-color:currentColor;display:inline-block;height:1.25rem;vertical-align:middle;width:1.25rem}.hero-arrow-path{--hero-arrow-path:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true">  <path stroke-linecap="round" stroke-linejoin="round" d="M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0l3.181 3.183a8.25 8.25 0 0013.803-3.7M4.031 9.865a8.25 8.25 0 0113.803-3.7l3.181 3.182m0-4.991v4.99"/></svg>');-webkit-mask:var(--hero-arrow-path);mask:var(--hero-arrow-path);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.hero-exclamation-circle-mini{--hero-exclamation-circle-mini:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true">  <path fill-rule="evenodd" d="M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z" clip-rule="evenodd"/></svg>');-webkit-mask:var(--hero-exclamation-circle-mini);mask:var(--hero-exclamation-circle-mini);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.hero-exclamation-circle-mini,.hero-information-circle-mini{background-color:currentColor;display:inline-block;height:1.25rem;vertical-align:middle;width:1.25rem}.hero-information-circle-mini{--hero-information-circle-mini:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true">  <path fill-rule="evenodd" d="M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z" clip-rule="evenodd"/></svg>');-webkit-mask:var(--hero-information-circle-mini);mask:var(--hero-information-circle-mini);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.hero-x-mark-solid{--hero-x-mark-solid:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true">  <path fill-rule="evenodd" d="M5.47 5.47a.75.75 0 011.06 0L12 10.94l5.47-5.47a.75.75 0 111.06 1.06L13.06 12l5.47 5.47a.75.75 0 11-1.06 1.06L12 13.06l-5.47 5.47a.75.75 0 01-1.06-1.06L10.94 12 5.47 6.53a.75.75 0 010-1.06z" clip-rule="evenodd"/></svg>');background-color:currentColor;display:inline-block;height:1.25rem;-webkit-mask:var(--hero-x-mark-solid);mask:var(--hero-x-mark-solid);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;vertical-align:middle;width:1.25rem}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.-inset-y-px{bottom:-1px;top:-1px}.inset-y-0{bottom:0;top:0}.-left-4{left:-1rem}.-right-4{right:-1rem}.left-0{left:0}.left-\[40rem\]{left:40rem}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-5{right:1.25rem}.top-1{top:.25rem}.top-2{top:.5rem}.top-6{top:1.5rem}.z-0{z-index:0}.z-50{z-index:50}.-m-3{margin:-.75rem}.-mx-2{margin-left:-.5rem;margin-right:-.5rem}.-my-0{margin-bottom:0;margin-top:0}.-my-0\.5{margin-bottom:-.125rem;margin-top:-.125rem}.-my-4{margin-bottom:-1rem;margin-top:-1rem}.mx-auto{margin-left:auto;margin-right:auto}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.mr-2{margin-right:.5rem}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-10{margin-top:2.5rem}.mt-11{margin-top:2.75rem}.mt-14{margin-top:3.5rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-12{height:3rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-full{height:100%}.min-h-\[6rem\]{min-height:6rem}.min-h-full{min-height:100%}.w-1\/4{width:25%}.w-14{width:3.5rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-80{width:20rem}.w-\[40rem\]{width:40rem}.w-full{width:100%}.max-w-3xl{max-width:48rem}.max-w-xl{max-width:36rem}.flex-none{flex:none}.translate-y-0{--tw-translate-y:0px}.translate-y-0,.translate-y-4{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-4{--tw-translate-y:1rem}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-spin{animation:spin 1s linear infinite}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-y-4{row-gap:1rem}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(2rem*var(--tw-space-y-reverse));margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-zinc-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(244 244 245/var(--tw-divide-opacity))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-t{border-top-width:1px}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-rose-400{--tw-border-opacity:1;border-color:rgb(251 113 133/var(--tw-border-opacity))}.border-zinc-200{--tw-border-opacity:1;border-color:rgb(228 228 231/var(--tw-border-opacity))}.border-zinc-300{--tw-border-opacity:1;border-color:rgb(212 212 216/var(--tw-border-opacity))}.bg-brand\/5{background-color:#fd4f000d}.bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity))}.bg-rose-50{--tw-bg-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-zinc-50{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity))}.bg-zinc-50\/90{background-color:#fafafae6}.bg-zinc-900{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity))}.fill-cyan-900{fill:#164e63}.fill-rose-900{fill:#881337}.fill-zinc-400{fill:#a1a1aa}.p-0{padding:0}.p-14{padding:3.5rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0{padding-bottom:0;padding-top:0}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-10{padding-bottom:2.5rem;padding-top:2.5rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-4{padding-top:1rem}.pb-4,.py-4{padding-bottom:1rem}.pr-6{padding-right:1.5rem}.text-left{text-align:left}.text-right{text-align:right}.text-\[0\.8125rem\]{font-size:.8125rem}.text-\[2rem\]{font-size:2rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-10{line-height:2.5rem}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-8{line-height:2rem}.tracking-tighter{letter-spacing:-.05em}.text-brand{--tw-text-opacity:1;color:rgb(253 79 0/var(--tw-text-opacity))}.text-emerald-800{--tw-text-opacity:1;color:rgb(6 95 70/var(--tw-text-opacity))}.text-rose-600{--tw-text-opacity:1;color:rgb(225 29 72/var(--tw-text-opacity))}.text-rose-900{--tw-text-opacity:1;color:rgb(136 19 55/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-zinc-500{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity))}.text-zinc-600{--tw-text-opacity:1;color:rgb(82 82 91/var(--tw-text-opacity))}.text-zinc-700{--tw-text-opacity:1;color:rgb(63 63 70/var(--tw-text-opacity))}.text-zinc-800{--tw-text-opacity:1;color:rgb(39 39 42/var(--tw-text-opacity))}.text-zinc-900{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity))}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-20{opacity:.2}.opacity-40{opacity:.4}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-zinc-700\/10{--tw-shadow-color:#3f3f461a;--tw-shadow:var(--tw-shadow-colored)}.outline{outline-style:solid}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-emerald-500{--tw-ring-opacity:1;--tw-ring-color:rgb(16 185 129/var(--tw-ring-opacity))}.ring-rose-500{--tw-ring-opacity:1;--tw-ring-color:rgb(244 63 94/var(--tw-ring-opacity))}.ring-zinc-700\/10{--tw-ring-color:#3f3f461a}.blur{--tw-blur:blur(8px)}.blur,.grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale:grayscale(100%)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.description-controls{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.description-controls button{margin-left:0}.description-container{position:relative}.markdown-preview{background-color:#fff;border:1px solid var(--border-color);border-radius:5px;color:#24292f;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif;line-height:1.6;max-height:400px;padding:16px}.markdown-preview h1,.markdown-preview h2,.markdown-preview h3,.markdown-preview h4,.markdown-preview h5,.markdown-preview h6{color:#1f2328;font-weight:600;line-height:1.25;margin-bottom:12px;margin-top:24px}.markdown-preview h1{font-size:2em}.markdown-preview h1,.markdown-preview h2{border-bottom:1px solid #d0d7de;padding-bottom:.3em}.markdown-preview h2{font-size:1.5em}.markdown-preview h3{font-size:1.25em}.markdown-preview h4{font-size:1em}.markdown-preview h5{font-size:.875em}.markdown-preview h6{color:#656d76;font-size:.85em}.markdown-preview p{margin:0 0 .5em}.markdown-preview p:last-child{margin-bottom:0}.markdown-preview p:first-child{margin-top:0}.markdown-preview p:empty,.markdown-preview p:has(>br:only-child){margin-bottom:0;min-height:1em}.markdown-preview ol,.markdown-preview ul{margin-bottom:16px;margin-top:0}.markdown-preview li+li{margin-top:.25em}.markdown-preview code{background-color:#f0f0f0;border-radius:4px;color:#e06c75;font-family:Consolas,Monaco,Courier New,monospace;font-size:.9em;padding:2px 6px}.markdown-preview pre{background-color:#282c34;border:1px solid #3e4451;border-radius:6px;box-shadow:0 2px 8px #00000026;margin:16px 0;overflow-x:auto;padding:16px}.markdown-preview pre code{background-color:initial;border-radius:0;color:#abb2bf;font-size:14px;line-height:1.6;padding:0}.markdown-preview blockquote{border-left:4px solid #d0d7de;color:#656d76;margin:16px 0;padding:0 1em}.markdown-preview a{color:#0969da;text-decoration:none}.markdown-preview a:hover{text-decoration:underline}.markdown-preview hr{background-color:#d0d7de;border:0;height:.25em;margin:24px 0;padding:0}.markdown-preview table{border-collapse:collapse;border-spacing:0;margin-bottom:16px;margin-top:0;width:100%}.markdown-preview table td,.markdown-preview table th{border:1px solid #d0d7de;padding:6px 13px}.markdown-preview table th{background-color:#f6f8fa;font-weight:600}.markdown-preview table tr{background-color:#fff;border-top:1px solid #d0d7de}.markdown-preview table tr:nth-child(2n){background-color:#f6f8fa}.markdown-preview input[type=checkbox]{margin-right:.5em}.markdown-preview strong{font-weight:600}.markdown-preview em{font-style:italic}.youtube-embed-container{background:#000;border-radius:8px;margin:16px 0;overflow:hidden;padding-bottom:56.25%;position:relative;width:100%}.youtube-embed-container iframe{border:none;height:100%;left:0;position:absolute;top:0;width:100%}.fullscreen-modal{background-color:#000000e6;display:flex;flex-direction:column;height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:10000}.fullscreen-header{align-items:center;background-color:var(--dark-bg);border-bottom:1px solid #495057;color:#fff;display:flex;justify-content:space-between;padding:20px}.fullscreen-header h3{color:#fff;margin:0}.fullscreen-header div{display:flex;gap:10px}.fullscreen-content{background-color:#fff;display:flex;flex:1;flex-direction:column;padding:20px}.fullscreen-content .markdown-preview{background-color:#fff;border:1px solid var(--border-color);border-radius:5px;color:#333;flex:1;font-size:14px;line-height:1.6;max-height:none;padding:15px}.btn-sm{border-radius:3px;font-size:12px;padding:4px 8px}.markdown-editor-container{position:relative}.markdown-editor-wrapper{font-family:Monaco,Menlo,Ubuntu Mono,monospace;height:200px;min-height:200px;position:relative}.markdown-editor{background:#0000;caret-color:#333;color:#0000;outline:none;overflow-wrap:break-word;resize:none;z-index:2}.markdown-editor,.markdown-highlight{word-wrap:break-word;border:1px solid var(--border-color);border-radius:5px;box-sizing:border-box;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;height:100%;left:0;line-height:1.5;margin:0;padding:12px;position:absolute;top:0;white-space:pre-wrap;width:100%}.markdown-highlight{background:#fff;overflow:hidden;overflow-wrap:break-word;pointer-events:none;z-index:1}.markdown-highlight .md-header{color:#06c;font-weight:700}.markdown-highlight .md-bold{color:#c60;font-weight:700}.markdown-highlight .md-italic{color:#c60;font-style:italic}.markdown-highlight .md-code{background-color:#f0f0f0;border-radius:3px;color:#d63384;font-family:Monaco,Menlo,Ubuntu Mono,monospace;padding:2px 4px}.markdown-highlight .md-link{color:#06c;text-decoration:underline}.markdown-highlight .md-list{color:#666}.markdown-highlight .md-quote{border-left:3px solid #ddd;color:#666;padding-left:10px}.markdown-highlight .md-strikethrough{color:#999;text-decoration:line-through}.fullscreen-content textarea{background:#fff;border:1px solid var(--border-color);border-radius:5px;color:#333;flex:1;font-family:Noto Sans KR,sans-serif;font-size:14px;line-height:1.6;outline:none;padding:15px;resize:none}:root{--theme-primary:#ff4081;--theme-primary-light:#ff6b9d;--theme-primary-dark:#e91e63;--theme-primary-alpha-10:#ff40811a;--theme-primary-alpha-20:#ff408133;--theme-primary-alpha-30:#ff40814d;--theme-primary-alpha-40:#ff408166;--theme-primary-alpha-05:#ff40810d;--theme-primary-alpha-08:#ff408114;--theme-primary-alpha-12:#ff40811f;--theme-primary-alpha-15:#ff408126;--theme-secondary:#4fc3f7;--theme-secondary-light:#81d4fa;--theme-secondary-dark:#29b6f6;--theme-secondary-darker:#0277bd;--theme-secondary-alpha-10:#4fc3f71a;--theme-secondary-alpha-08:#4fc3f714;--theme-secondary-alpha-06:#4fc3f70f;--theme-secondary-alpha-03:#4fc3f708;--theme-accent:#ff9800;--theme-accent-light:#ffb74d;--theme-accent-dark:#f57c00;--theme-accent-alpha-10:#ff98001a;--theme-accent-alpha-06:#ff98000f;--theme-accent-alpha-04:#ff98000a;--primary-color:var(--theme-primary);--secondary-color:var(--theme-primary-light);--accent-blue:var(--theme-secondary);--accent-blue-dark:var(--theme-secondary-dark);--accent-orange:var(--theme-accent);--accent-orange-light:var(--theme-accent-light);--color-white:#fff;--color-black:#000;--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5db;--color-gray-400:#9ca3af;--color-gray-500:#6b7280;--color-gray-600:#4b5563;--color-gray-700:#374151;--color-gray-800:#1f2937;--color-gray-900:#111827;--bg-primary:var(--color-white);--bg-secondary:var(--color-gray-50);--bg-tertiary:var(--color-gray-100);--bg-dark:#1a1a2e;--bg-darker:#16213e;--text-primary:var(--color-gray-900);--text-secondary:var(--color-gray-700);--text-tertiary:var(--color-gray-600);--text-muted:var(--color-gray-500);--border-light:var(--color-gray-200);--border-medium:var(--color-gray-300);--border-dark:var(--color-gray-400);--border-theme:var(--theme-primary-alpha-15);--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px #00000012;--shadow-lg:0 10px 15px #0000001a;--shadow-xl:0 20px 25px #0000001a;--shadow-2xl:0 25px 50px #00000040;--shadow-theme-sm:0 2px 8px var(--theme-primary-alpha-08);--shadow-theme-md:0 4px 12px var(--theme-primary-alpha-10);--shadow-theme-lg:0 8px 24px var(--theme-primary-alpha-20);--shadow-theme-xl:0 12px 32px var(--theme-primary-alpha-30);--light-bg:var(--bg-secondary);--dark-bg:var(--bg-dark);--border-color:var(--border-light);--success-color:#4cc9f0;--hover-color:var(--bg-tertiary);--weekend-color:#ffe5ec;--shadow:var(--shadow-lg)}.theme-blue{--theme-primary:#2196f3;--theme-primary-light:#42a5f5;--theme-primary-dark:#1976d2;--theme-primary-alpha-10:#2196f31a;--theme-primary-alpha-20:#2196f333;--theme-primary-alpha-30:#2196f34d;--theme-primary-alpha-40:#2196f366;--theme-primary-alpha-05:#2196f30d;--theme-primary-alpha-08:#2196f314;--theme-primary-alpha-12:#2196f31f;--theme-primary-alpha-15:#2196f326;--theme-secondary:#00bcd4;--theme-secondary-light:#26c6da;--theme-secondary-dark:#0097a7;--theme-secondary-darker:#00838f;--theme-secondary-alpha-10:#00bcd41a;--theme-secondary-alpha-08:#00bcd414;--theme-secondary-alpha-06:#00bcd40f;--theme-secondary-alpha-03:#00bcd408;--theme-accent:#ff9800;--theme-accent-light:#ffb74d;--theme-accent-dark:#f57c00;--theme-accent-alpha-10:#ff98001a;--theme-accent-alpha-06:#ff98000f;--theme-accent-alpha-04:#ff98000a;--border-theme:var(--theme-primary-alpha-15);--shadow-theme-sm:0 2px 8px var(--theme-primary-alpha-08);--shadow-theme-md:0 4px 12px var(--theme-primary-alpha-10);--shadow-theme-lg:0 8px 24px var(--theme-primary-alpha-20);--shadow-theme-xl:0 12px 32px var(--theme-primary-alpha-30)}.theme-green{--theme-primary:#4caf50;--theme-primary-light:#66bb6a;--theme-primary-dark:#388e3c;--theme-primary-alpha-10:#4caf501a;--theme-primary-alpha-20:#4caf5033;--theme-primary-alpha-30:#4caf504d;--theme-primary-alpha-40:#4caf5066;--theme-primary-alpha-05:#4caf500d;--theme-primary-alpha-08:#4caf5014;--theme-primary-alpha-12:#4caf501f;--theme-primary-alpha-15:#4caf5026;--theme-secondary:#8bc34a;--theme-secondary-light:#aed581;--theme-secondary-dark:#689f38;--theme-secondary-darker:#558b2f;--theme-secondary-alpha-10:#8bc34a1a;--theme-secondary-alpha-08:#8bc34a14;--theme-secondary-alpha-06:#8bc34a0f;--theme-secondary-alpha-03:#8bc34a08;--theme-accent:#ffc107;--theme-accent-light:#ffeb3b;--theme-accent-dark:#ffa000;--theme-accent-alpha-10:#ffc1071a;--theme-accent-alpha-06:#ffc1070f;--theme-accent-alpha-04:#ffc1070a;--border-theme:var(--theme-primary-alpha-15);--shadow-theme-sm:0 2px 8px var(--theme-primary-alpha-08);--shadow-theme-md:0 4px 12px var(--theme-primary-alpha-10);--shadow-theme-lg:0 8px 24px var(--theme-primary-alpha-20);--shadow-theme-xl:0 12px 32px var(--theme-primary-alpha-30)}.theme-purple{--theme-primary:#9c27b0;--theme-primary-light:#ba68c8;--theme-primary-dark:#7b1fa2;--theme-primary-alpha-10:#9c27b01a;--theme-primary-alpha-20:#9c27b033;--theme-primary-alpha-30:#9c27b04d;--theme-primary-alpha-40:#9c27b066;--theme-primary-alpha-05:#9c27b00d;--theme-primary-alpha-08:#9c27b014;--theme-primary-alpha-12:#9c27b01f;--theme-primary-alpha-15:#9c27b026;--theme-secondary:#673ab7;--theme-secondary-light:#9575cd;--theme-secondary-dark:#512da8;--theme-secondary-darker:#4527a0;--theme-secondary-alpha-10:#673ab71a;--theme-secondary-alpha-08:#673ab714;--theme-secondary-alpha-06:#673ab70f;--theme-secondary-alpha-03:#673ab708;--theme-accent:#e91e63;--theme-accent-light:#f06292;--theme-accent-dark:#c2185b;--theme-accent-alpha-10:#e91e631a;--theme-accent-alpha-06:#e91e630f;--theme-accent-alpha-04:#e91e630a;--border-theme:var(--theme-primary-alpha-15);--shadow-theme-sm:0 2px 8px var(--theme-primary-alpha-08);--shadow-theme-md:0 4px 12px var(--theme-primary-alpha-10);--shadow-theme-lg:0 8px 24px var(--theme-primary-alpha-20);--shadow-theme-xl:0 12px 32px var(--theme-primary-alpha-30)}.theme-dark{--bg-primary:var(--color-gray-900);--bg-secondary:var(--color-gray-800);--bg-tertiary:var(--color-gray-700);--text-primary:var(--color-gray-100);--text-secondary:var(--color-gray-300);--text-tertiary:var(--color-gray-400);--text-muted:var(--color-gray-500);--border-light:var(--color-gray-700);--border-medium:var(--color-gray-600);--border-dark:var(--color-gray-500)}.theme-orange{--theme-primary:#ff5722;--theme-primary-light:#ff7043;--theme-primary-dark:#d84315;--theme-primary-alpha-10:#ff57221a;--theme-primary-alpha-20:#ff572233;--theme-primary-alpha-30:#ff57224d;--theme-primary-alpha-40:#ff572266;--theme-primary-alpha-05:#ff57220d;--theme-primary-alpha-08:#ff572214;--theme-primary-alpha-12:#ff57221f;--theme-primary-alpha-15:#ff572226;--theme-secondary:#ff9800;--theme-secondary-light:#ffb74d;--theme-secondary-dark:#f57c00;--theme-secondary-darker:#e65100;--theme-secondary-alpha-10:#ff98001a;--theme-secondary-alpha-08:#ff980014;--theme-secondary-alpha-06:#ff98000f;--theme-secondary-alpha-03:#ff980008;--theme-accent:#ffeb3b;--theme-accent-light:#fff176;--theme-accent-dark:#fbc02d;--theme-accent-alpha-10:#ffeb3b1a;--theme-accent-alpha-06:#ffeb3b0f;--theme-accent-alpha-04:#ffeb3b0a;--border-theme:var(--theme-primary-alpha-15);--shadow-theme-sm:0 2px 8px var(--theme-primary-alpha-08);--shadow-theme-md:0 4px 12px var(--theme-primary-alpha-10);--shadow-theme-lg:0 8px 24px var(--theme-primary-alpha-20);--shadow-theme-xl:0 12px 32px var(--theme-primary-alpha-30)}body{background-color:var(--light-bg);box-sizing:border-box;color:#333;display:flex;flex-direction:column;font-family:Noto Sans KR,sans-serif;height:100vh;line-height:1.5;margin:0;padding:20px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.controls-panel{align-items:center;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:radial-gradient(circle at 20% 50%,var(--theme-primary-alpha-10) 0,#0000 50%),radial-gradient(circle at 80% 20%,var(--theme-secondary-alpha-08) 0,#0000 50%),radial-gradient(circle at 40% 80%,var(--theme-accent-alpha-06) 0,#0000 50%),linear-gradient(135deg,#fffffff2 0,#fffc 100%);border:1px solid var(--border-theme);border-radius:14px;box-shadow:0 15px 30px var(--theme-primary-alpha-08),var(--shadow-md),inset 0 1px 0 #fff6,inset 0 -1px 0 var(--theme-primary-alpha-08);display:flex;flex-wrap:nowrap;gap:10px;margin-bottom:12px;overflow:hidden;padding:12px 16px;position:relative}#canvasControlsPanel{align-items:center;display:flex;justify-content:space-between}#canvasControlsPanel .controls-panel-left{align-items:center;display:flex;flex:1;gap:10px}#ganttControlsPanel{align-items:center;display:flex;justify-content:space-between}#ganttControlsPanel .controls-panel-left{align-items:center;display:flex;flex:1;flex-wrap:nowrap;gap:10px}.controls-panel-left{align-items:center;display:flex;flex:1;flex-wrap:nowrap;gap:10px}.controls-panel-right{align-items:center;display:flex;gap:10px;margin-left:auto}.controls-panel:before{background:linear-gradient(45deg,#0000 48%,#ffffff1a 49%,#ffffff1a 51%,#0000 52%);background-size:20px 20px;bottom:0;content:"";left:0;opacity:.3;pointer-events:none;position:absolute;right:0;top:0}.controls-panel label{color:var(--text-secondary);font-size:13px;font-weight:600;letter-spacing:.025em;text-shadow:0 1px 2px #fffc}.controls-panel input[type=date]{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:1px solid var(--theme-primary-alpha-20);border-radius:10px;box-shadow:var(--shadow-theme-sm);color:var(--text-primary);font-family:Noto Sans KR,sans-serif;font-size:13px;padding:8px 12px;transition:all .3s ease}.controls-panel input[type=date]:focus{background:#fffffffa;border-color:var(--theme-primary);box-shadow:0 0 0 3px var(--theme-primary-alpha-15),var(--shadow-theme-md);outline:none;transform:translateY(-1px)}.controls-panel button{background:linear-gradient(135deg,var(--theme-primary) 0,var(--theme-primary-light) 100%);border:none;border-radius:10px;box-shadow:var(--shadow-theme-lg),var(--shadow-sm);color:var(--color-white);cursor:pointer;flex-shrink:0;font-family:Noto Sans KR,sans-serif;font-size:13px;font-weight:600;overflow:hidden;padding:8px 14px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap}.controls-panel button:hover{background:linear-gradient(135deg,var(--theme-primary-light) 0,var(--theme-primary-dark) 100%);box-shadow:var(--shadow-theme-xl),var(--shadow-md);transform:translateY(-2px) scale(1.02)}.controls-panel button:active{box-shadow:var(--shadow-theme-md),var(--shadow-sm);transform:translateY(0) scale(.98)}.controls-panel button:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.controls-panel button:hover:before{left:100%}.controls-panel button.btn-blue{background:linear-gradient(135deg,var(--theme-secondary) 0,var(--theme-secondary-dark) 100%);box-shadow:0 8px 24px var(--theme-secondary-alpha-10),var(--shadow-sm)}.controls-panel button.btn-blue:hover{background:linear-gradient(135deg,var(--theme-secondary-dark) 0,var(--theme-secondary-darker) 100%);box-shadow:0 12px 32px var(--theme-secondary-alpha-10),var(--shadow-md)}.controls-panel button.btn-orange{background:linear-gradient(135deg,var(--theme-accent) 0,var(--theme-accent-light) 100%);box-shadow:0 8px 24px var(--theme-accent-alpha-10),var(--shadow-sm)}.controls-panel button.btn-orange:hover{background:linear-gradient(135deg,var(--theme-accent-dark) 0,var(--theme-accent) 100%);box-shadow:0 12px 32px var(--theme-accent-alpha-10),var(--shadow-md)}.btn-lock{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:6px;margin-right:15px;overflow:hidden;padding:8px 16px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-lock:before{border-radius:8px;content:"";inset:0;opacity:0;position:absolute;transition:opacity .3s ease}.btn-lock:hover:before{opacity:1}.btn-lock .lock-icon{font-size:18px;line-height:1;transition:transform .3s ease}.btn-lock:hover .lock-icon{transform:scale(1.1)}.btn-lock .lock-text{font-weight:600}.btn-lock.locked{background:linear-gradient(135deg,#6c757d,#5a6268);box-shadow:0 2px 8px #6c757d26,0 1px 3px #0000001a;color:#fff}.btn-lock.locked:before{background:linear-gradient(135deg,#5a6268,#495057)}.btn-lock.locked:hover{box-shadow:0 4px 12px #6c757d40,0 2px 6px #00000026;transform:translateY(-1px)}.btn-lock.unlocked{background:linear-gradient(135deg,var(--theme-primary) 0,var(--theme-primary-dark) 100%);box-shadow:0 2px 8px var(--theme-primary-alpha-15),0 1px 3px #0000001a;color:#fff}.btn-lock.unlocked:before{background:linear-gradient(135deg,var(--theme-primary-dark) 0,var(--theme-primary) 100%)}.btn-lock.unlocked:hover{box-shadow:0 4px 12px var(--theme-primary-alpha-30),0 2px 6px #00000026;transform:translateY(-1px)}.tool-btn{align-items:center;background:#fff;border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:14px;gap:4px;margin-right:4px;padding:6px 12px;transition:all var(--transition-fast)}.tool-btn:hover{background:var(--bg-secondary)}.tool-btn.active,.tool-btn:hover{border-color:var(--theme-primary)}.tool-btn.active{background:var(--theme-primary);color:#fff}.tool-btn svg{height:20px;width:20px}.separator{background:var(--border-color);display:inline-block;height:24px;margin:0 8px;vertical-align:middle;width:1px}.canvas-element.selected{filter:drop-shadow(0 0 6px rgba(76,175,80,.6));outline:2px solid #4caf50;outline-offset:2px}.canvas-text.selected{filter:drop-shadow(0 0 6px rgba(76,175,80,.6));outline:none}.size-input{font-size:14px;margin-right:8px;padding:4px 8px;width:50px}.color-picker,.size-input{border:1px solid var(--border-color);border-radius:var(--border-radius)}.color-picker{background:#fff;cursor:pointer;height:32px;padding:2px;width:32px}.color-picker:hover{border-color:var(--theme-primary)}.canvas-svg .selected{filter:drop-shadow(0 0 3px var(--theme-primary));outline:2px dashed var(--theme-primary);outline-offset:2px}.canvas-element{pointer-events:all;will-change:transform}.canvas-text{-webkit-user-select:none;-moz-user-select:none;user-select:none}.canvas-shape{shape-rendering:crispEdges}.canvas-element.dragging{filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));opacity:.8}#canvasSvg{shape-rendering:optimizeSpeed}#canvasContent{pointer-events:none}#canvasContent>*{pointer-events:all}.gantt-container{border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow);height:calc(100svh - 100px);width:100%}.gantt-container,.task-list-panel{background-color:#fff;display:flex;overflow:hidden}.task-list-panel{border-right:1px solid var(--border-color);flex-direction:column;flex-shrink:0;left:0;padding:0;position:sticky;width:280px;z-index:10}.task-list-resizer{background-color:#eee;cursor:col-resize;height:100%;position:absolute;right:0;top:0;transition:background-color .2s;width:6px;z-index:20}.task-list-resizer:hover{background-color:var(--primary-color)}.task-list-header,.timeline-header-bottom,.timeline-header-top{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,var(--theme-primary-alpha-08) 0,var(--theme-secondary-alpha-06) 50%,var(--theme-accent-alpha-04) 100%);border-bottom:1px solid var(--theme-primary-alpha-10);box-sizing:border-box;color:var(--text-secondary);display:flex;font-weight:600;height:30px;overflow:hidden;padding:0;position:relative;text-shadow:0 1px 2px #fffc}.task-list-header:before,.timeline-header-bottom:before,.timeline-header-top:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left 1s ease-in-out;width:100%}.task-list-header:hover:before,.timeline-header-bottom:hover:before,.timeline-header-top:hover:before{left:100%}.task-list-header{background:linear-gradient(135deg,var(--theme-primary-alpha-12) 0,var(--theme-secondary-alpha-08) 50%,var(--theme-accent-alpha-06) 100%);border-right:1px solid var(--border-theme);justify-content:center}.task-list-menu{align-items:center;display:flex;height:60px;justify-content:center}.task-item,.timeline-header-bottom,.timeline-header-top{overflow:hidden;white-space:nowrap}.task-item{background-color:#fff;border-bottom:1px solid var(--border-color);box-sizing:border-box;cursor:grab;height:40px;line-height:40px;padding:0 10px;position:relative;text-overflow:ellipsis;transition:background-color .2s}.task-item:hover{background-color:var(--hover-color)}.task-item.task-group{background:linear-gradient(135deg,var(--theme-primary-alpha-05) 0,var(--theme-secondary-alpha-03) 100%);border-left:3px solid var(--theme-primary);color:var(--text-secondary);font-weight:600}.group-toggle{color:var(--primary-color);cursor:pointer;display:inline-block;font-family:Noto Sans KR,monospace;font-size:.9em;margin-right:6px;text-align:center;width:18px}.timeline-panel{display:flex;flex-direction:column;flex-grow:1;overflow:hidden;position:relative}.timeline-headers{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:linear-gradient(135deg,var(--theme-primary-alpha-08) 0,var(--theme-secondary-alpha-06) 50%,var(--theme-accent-alpha-04) 100%);box-shadow:var(--shadow-theme-sm);position:sticky;top:0;z-index:10}.timeline-grid{position:relative}.timeline-day{border-right:1px solid var(--theme-primary-alpha-08);box-sizing:border-box;color:var(--text-tertiary);flex-shrink:0;font-size:.9em;font-weight:500;min-width:40px;text-align:center;transition:all .2s ease}.timeline-day.weekend{background-color:var(--weekend-color)}.timeline-month{box-sizing:border-box;color:var(--text-secondary);flex-shrink:0;font-weight:600;min-width:40px;text-align:center;text-shadow:0 1px 2px #fffc}.timeline-day:last-child{border-right:none}.task-bar-container{border-bottom:1px solid var(--border-color);height:40px;left:0;right:0}.task-bar,.task-bar-container{box-sizing:border-box;position:absolute}.task-bar{background-color:var(--success-color);border:1px solid #0000000d;border-radius:5px;box-shadow:var(--shadow);color:#fff;cursor:move;font-size:12px;height:60%;overflow:hidden;padding:0 8px;text-overflow:ellipsis;top:20%;transition:box-shadow .2s,transform .1s;white-space:nowrap;will-change:transform,left,width}.task-bar:hover{box-shadow:0 3px 8px #00000026;transform:translateY(-1px)}.task-bar-clone{background-color:var(--success-color);border:1px solid #0000001a;border-radius:5px;box-shadow:0 3px 8px #0003;color:#fff;font-size:12px;height:24px;opacity:.8;padding:0 8px}.task-bar-clone,.task-item-clone{box-sizing:border-box;overflow:hidden;pointer-events:none;position:fixed;text-overflow:ellipsis;transform:translateZ(0);white-space:nowrap;will-change:transform;z-index:2000}.task-item-clone{background-color:#fff;border:1px dashed var(--primary-color);border-radius:5px;height:40px;line-height:40px;opacity:.85;padding-left:10px;width:230px}.timeline-grid-line{background-color:#eee;bottom:0;position:absolute;top:0;width:1px;z-index:0}.timeline-grid-line.weekend{background-color:#ffb4b433;position:absolute;width:40px;z-index:0}.task-item-actions{background-color:#ffffffe6;border-radius:4px;box-shadow:0 1px 3px #0000001a;display:none;padding:3px;position:absolute;right:8px;top:50%;transform:translateY(-50%)}.task-item:hover .task-item-actions{display:flex}.task-item-action-btn{background-color:#f0f0f0;border:none;border-radius:3px;color:#555;cursor:pointer;font-size:10px;margin-left:4px;padding:4px;transition:background-color .2s}.task-item-action-btn:hover{background-color:var(--primary-color);color:#fff}.task-bar-resizer{bottom:0;cursor:ew-resize;position:absolute;top:0;width:6px;z-index:10}.task-bar-resizer.left{left:-3px}.task-bar-resizer.right{right:-3px}.task-list-scrollable{overflow-x:hidden}.task-list-scrollable,.timeline-scrollable{flex:1;overflow-y:auto;position:relative;scrollbar-color:#ccc #0000;scrollbar-width:thin;will-change:scroll-position}.timeline-scrollable{overflow-x:auto;width:100%}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background-color:#ccc;border-radius:4px}::-webkit-scrollbar-thumb:hover{background-color:#aaa}.timeline-content-wrapper{height:100%;min-height:100%;overflow:hidden;position:relative;width:auto}.task-item.task-group.drop-target-top{border-top:2px dashed var(--primary-color);will-change:transform,border}.task-item.task-group.drop-target-middle{background-color:#4361ee1a;transition:background-color .05s ease-out;will-change:transform,background-color}.task-item.task-group.drop-target-bottom{border-bottom:2px dashed var(--primary-color);will-change:transform,border}.task-item.drop-target-top{border-top:2px dashed var(--primary-color);will-change:transform,border}.task-item.drop-target-bottom{border-bottom:2px dashed var(--primary-color);will-change:transform,border}.task-item.selected{background-color:#4361ee14;border-bottom:2px solid var(--primary-color)!important;border-left:4px solid var(--primary-color)!important;border-right:4px solid var(--primary-color)!important;border-top:2px solid var(--primary-color)!important;box-shadow:0 2px 8px #4361ee26}.task-bar.selected{box-shadow:0 4px 12px #4361ee4d;outline:3px solid var(--primary-color);outline-offset:2px;z-index:50!important}.task-bar-group{border:2px solid;cursor:move;opacity:.9}.task-bar-group:hover{opacity:1}.baseline-mode{cursor:crosshair!important}.baseline-mode .task-bar-container:hover{background-color:#ffd79e33}.baseline{background-color:#ffd79e;height:2px;left:0;pointer-events:none;position:absolute;right:0;z-index:5}.baseline-mode-active{background-color:#ffd79e!important;color:#333!important}.baseline-mode-active:hover{background-color:#ffc882!important}.timeline-grid{backface-visibility:hidden;transform:translateZ(0);will-change:transform}.timeline-grid-background,.timeline-grid-lines{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}.timeline-grid-background{z-index:0}.timeline-grid-lines{z-index:1}.task-bar-label{color:#333;font-size:12px;pointer-events:none;text-shadow:0 0 2px #fff,0 0 3px #fff,0 0 4px #fff;transform:translateY(-50%);white-space:nowrap;z-index:100}.timeline-scrollable .task-bar-label{overflow:visible}.task-bar.name-outside{justify-content:center;padding:0 5px}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background-color:#00000080;bottom:0;display:flex;display:none;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background-color:#fff;border-radius:8px;box-shadow:0 5px 20px #0003;max-height:80vh;max-width:90%;overflow-y:auto;padding:25px;width:700px}.modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.modal-header h3{color:#333;font-weight:600;margin:0}.modal-close{background:none;border:none;color:#777;cursor:pointer;font-size:22px;transition:color .2s}.modal-close:hover{color:#333}.modal-body{margin-bottom:25px}[data-readonly=true] .modal-body input:disabled,[data-readonly=true] .modal-body input[type=checkbox]:disabled,[data-readonly=true] .modal-body textarea:disabled{background-color:#f8f9fa;border-color:#e9ecef;color:#495057;cursor:default;opacity:1}[data-readonly=true] .modal-body textarea:disabled{resize:none}[data-readonly=true] .modal-title:after{color:#6c757d;content:" (읽기 전용)";font-size:.85em;font-weight:400}.form-group{margin-bottom:18px}.form-group label{color:#555;display:block;font-weight:500;margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:6px;font-family:Noto Sans KR,sans-serif;padding:10px;transition:border-color .2s;width:100%}.form-group textarea{color:#333;font-size:14px;line-height:1.5;min-height:200px;resize:vertical}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #4361ee1a;outline:none}.checkbox-label{align-items:center;cursor:pointer;display:flex;gap:8px;margin-bottom:4px}.checkbox-label input[type=checkbox]{cursor:pointer;margin:0;width:auto}.checkbox-label span{color:#555;font-weight:500}.help-text{color:#888;display:block;font-size:12px;margin-bottom:8px;margin-top:-10px}.color-preview{border:1px solid #ddd;border-radius:4px;display:inline-block;height:24px;margin-left:8px;vertical-align:middle;width:24px}.color-picker-container{align-items:center;display:flex;gap:8px;margin-bottom:10px}.color-palette{background:#f8f9fa;border:1px solid #ddd;border-radius:6px;margin-top:10px;padding:12px}.palette-section{margin-bottom:12px}.palette-section:last-child{margin-bottom:0}.palette-label{color:#666;font-size:12px;font-weight:500;margin-bottom:6px}.frequent-colors,.recent-colors{display:flex;flex-wrap:wrap;gap:6px}.color-chip{border:2px solid #0000;border-radius:4px;cursor:pointer;height:28px;position:relative;transition:all .2s;width:28px}.color-chip:hover{border-color:var(--primary-color);transform:scale(1.1)}.color-chip.selected{border-color:var(--primary-color);box-shadow:0 0 0 3px #4361ee33}.color-chip-count{background:#333;border-radius:10px;bottom:-2px;color:#fff;font-size:10px;line-height:1;padding:1px 4px;position:absolute;right:-2px}.modal-footer{display:flex;gap:12px;justify-content:flex-end}.btn{border:none;border-radius:6px;cursor:pointer;font-family:Noto Sans KR,sans-serif;font-weight:500;padding:10px 18px;transition:background-color .2s,transform .1s}.btn:hover{transform:translateY(-1px)}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover{background-color:var(--secondary-color)}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover{background-color:#5a6268}.textarea-wrapper{position:relative}.textarea-buttons{bottom:8px;display:flex;gap:8px;position:absolute;right:8px;z-index:10}.btn-icon{align-items:center;background:#ffffffe6;border:1px solid #ddd;border-radius:4px;cursor:pointer;display:flex;justify-content:center;padding:6px 8px;transition:all .2s}.btn-icon:hover{background:#f8f9fa;border-color:var(--primary-color);color:var(--primary-color)}.btn-icon svg{height:16px;width:16px}.markdown-preview{background:#f8f9fa;border:1px solid #ddd;border-radius:6px;box-sizing:border-box;color:#333;font-family:Noto Sans KR,sans-serif;font-size:14px;line-height:1.5;min-height:200px;overflow-y:auto;padding:10px;resize:vertical;width:100%}.markdown-preview ol,.markdown-preview ul{margin:.5em 0;padding-left:2em}.markdown-preview blockquote{border-left:3px solid #ddd;color:#666;margin:.5em 0;padding-left:1em}.markdown-preview img{margin:10px 0}.fullscreen-preview img,.markdown-preview img{border-radius:4px;box-shadow:0 2px 8px #0000001a;display:block;height:auto;max-width:100%}.fullscreen-preview img{margin:15px 0}.fullscreen-modal-content{background-color:#fff;border-radius:8px;display:flex;flex-direction:column;height:90vh;height:90dvh;max-width:1200px;overflow:hidden;width:90vw}.fullscreen-modal-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #ddd;display:flex;justify-content:space-between;padding:20px}.fullscreen-modal-header h3{color:#333;font-weight:600;margin:0}.fullscreen-modal-buttons{align-items:center;display:flex;gap:12px}.fullscreen-modal-body{display:flex;flex:1;overflow:hidden;padding:20px;position:relative}.fullscreen-textarea{border:1px solid #ddd;border-radius:6px;font-family:Noto Sans KR,sans-serif;font-size:16px;height:100%;line-height:1.6;padding:15px;resize:none;width:100%}.fullscreen-textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #4361ee1a;outline:none}.fullscreen-preview{font-size:16px;height:100%;overflow-y:auto;padding:15px;width:100%}.textarea-wrapper.drag-over{position:relative}.textarea-wrapper.drag-over:after{bottom:0;font-size:16px;left:0;right:0;top:0}.fullscreen-modal-body.drag-over:after,.textarea-wrapper.drag-over:after{align-items:center;background:#4361ee1a;border:2px dashed var(--primary-color);border-radius:6px;color:var(--primary-color);content:"이미지를 여기에 드롭하세요";display:flex;justify-content:center;pointer-events:none;position:absolute;z-index:100}.fullscreen-modal-body.drag-over:after{bottom:20px;font-size:20px;left:20px;right:20px;top:20px}.upload-progress{align-items:center;background:#fff;border:1px solid #ddd;border-radius:4px;bottom:20px;box-shadow:0 2px 10px #0000001a;display:flex;gap:10px;padding:10px 15px;position:absolute;right:20px;z-index:200}.upload-progress.error{border-color:#dc3545;color:#dc3545}.upload-progress.success{border-color:#28a745;color:#28a745}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.upload-spinner{animation:spin 1s linear infinite;border:2px solid #f3f3f3;border-radius:50%;border-top:2px solid var(--primary-color);height:16px;width:16px}.settings-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;margin-bottom:24px;padding:20px}.section-title{align-items:center;color:#495057;display:flex;font-size:16px;font-weight:600;gap:8px;margin:0 0 16px}.date-setting-container{display:flex;flex-direction:column;gap:16px}.radio-group{display:flex;flex-direction:column;gap:12px}.radio-option{align-items:flex-start;background:#fff;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:16px;transition:all .2s ease}.radio-option:hover{background:#f8f9ff;border-color:#007bff}.radio-option input[type=radio]{display:none}.radio-custom{border:2px solid #dee2e6;border-radius:50%;flex-shrink:0;height:20px;margin-top:2px;position:relative;transition:all .2s ease;width:20px}.radio-option input[type=radio]:checked+.radio-custom{background:#007bff;border-color:#007bff}.radio-option input[type=radio]:checked+.radio-custom:after{background:#fff;border-radius:50%;content:"";height:8px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:8px}.radio-content{display:flex;flex-direction:column;gap:4px}.radio-content strong{color:#343a40;font-weight:600}.radio-content small{color:#6c757d;font-size:13px}.custom-date-input{background:#fff;border:1px solid #e9ecef;border-radius:8px;margin-top:8px;padding:16px}.date-input{border:1px solid #ced4da;border-radius:6px;box-sizing:border-box;font-size:14px;max-width:100%;padding:10px 12px;transition:border-color .2s ease;width:200px}.date-input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff1a;outline:none}.number-input{border:1px solid #ced4da;border-radius:6px;box-sizing:border-box;font-size:14px;max-width:100%;padding:10px 12px;transition:border-color .2s ease;width:120px}.number-input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff1a;outline:none}.color-input-wrapper{align-items:center;display:flex;gap:12px}.color-input{border:1px solid #ced4da;border-radius:6px;cursor:pointer;height:40px;transition:border-color .2s ease;width:60px}.color-input:hover{border-color:#007bff}.color-preview{border:1px solid #dee2e6;border-radius:6px;flex-shrink:0;height:32px;width:32px}.canvas-container{background-color:#fff;border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow);display:flex;flex-direction:column;height:calc(100svh - 100px);overflow:hidden;width:100%}.canvas-viewport{background:#f8f9fa;cursor:grab;flex:1;overflow:hidden;position:relative}.canvas-viewport:active{cursor:grabbing}.canvas-svg{height:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.canvas-controls{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,var(--theme-primary-alpha-08) 0,var(--theme-secondary-alpha-06) 50%,var(--theme-accent-alpha-04) 100%);border-top:1px solid var(--theme-primary-alpha-10);display:flex;gap:10px;padding:12px 16px}.canvas-controls button{background:linear-gradient(135deg,var(--theme-primary) 0,var(--theme-primary-light) 100%);border:none;border-radius:8px;box-shadow:var(--shadow-theme-md);color:var(--color-white);cursor:pointer;font-family:Noto Sans KR,sans-serif;font-size:12px;font-weight:600;padding:8px 12px;transition:all .3s cubic-bezier(.4,0,.2,1)}.canvas-controls button:hover{background:linear-gradient(135deg,var(--theme-primary-light) 0,var(--theme-primary-dark) 100%);box-shadow:var(--shadow-theme-lg);transform:translateY(-1px) scale(1.02)}.canvas-note{cursor:move;-webkit-user-select:none;-moz-user-select:none;user-select:none}.canvas-note-rect{fill:#fff;stroke:#ddd;stroke-width:2;rx:8;ry:8;filter:drop-shadow(0 2px 8px rgba(0,0,0,.1));transition:all .2s ease}.canvas-note:hover .canvas-note-rect{stroke:var(--theme-primary);stroke-width:2;filter:drop-shadow(0 4px 12px rgba(0,0,0,.15))}.canvas-note-text{fill:#333;font-family:Noto Sans KR,sans-serif;font-size:48px;font-weight:700;pointer-events:none}.canvas-note-content{fill:#666;font-size:12px}.canvas-note-content,.canvas-note-header1{font-family:Noto Sans KR,sans-serif;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.canvas-note-header1{fill:#333;font-size:15px;font-weight:700}.canvas-note-header2{font-size:14px}.canvas-note-header2,.canvas-note-header3{fill:#333;font-family:Noto Sans KR,sans-serif;font-weight:700;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.canvas-note-header3{font-size:13px}.canvas-note-code{fill:#d63384;font-family:Monaco,Menlo,Consolas,monospace;font-size:11px;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.canvas-note.selected .canvas-note-rect{stroke:var(--theme-primary);stroke-width:3;filter:drop-shadow(0 6px 16px rgba(0,0,0,.2))}.canvas-connection-line{stroke:#666;stroke-width:2;fill:none;marker-end:url(#arrowhead);transition:stroke .2s ease}.canvas-connection-line:hover{stroke:var(--theme-primary);stroke-width:3}.canvas-note-delete{cursor:pointer;opacity:0;pointer-events:all;transition:opacity .2s ease}.canvas-note:hover .canvas-note-delete{opacity:1}.canvas-note-delete-circle{fill:#ff4757;stroke:#fff;stroke-width:2;pointer-events:none}.canvas-note-delete-x{fill:#fff;text-anchor:middle;dominant-baseline:central;font-family:Noto Sans KR,sans-serif;font-size:12px;font-weight:700;pointer-events:none}.canvas-note-resize-handle{fill:var(--theme-primary);stroke:#fff;stroke-width:1;cursor:nw-resize;opacity:0;transition:opacity .2s ease}.canvas-note:hover .canvas-note-resize-handle{opacity:1}.task-search-container{margin-bottom:16px;position:relative}.task-search-input{background:#fff;border:2px solid var(--border-color);border-radius:8px;box-sizing:border-box;font-family:Noto Sans KR,sans-serif;font-size:14px;padding:10px 40px 10px 16px;transition:all .2s ease;width:100%}.task-search-input:focus{border-color:var(--theme-primary);box-shadow:0 0 0 3px var(--theme-primary-alpha-20);outline:none}.task-search-input::-moz-placeholder{color:var(--text-tertiary)}.search-icon,.task-search-input::placeholder{color:var(--text-tertiary)}.search-icon{pointer-events:none;position:absolute;right:16px;top:50%;transform:translateY(-50%)}.task-selection-list{max-height:400px;overflow-y:auto}.task-selection-item{background:#fff;border:1px solid #e9ecef;border-radius:8px;cursor:pointer;margin-bottom:8px;padding:12px 16px;transition:all .2s ease}.task-selection-item:hover{background:var(--theme-primary-alpha-05);border-color:var(--theme-primary);box-shadow:var(--shadow-theme-sm);transform:translateY(-1px)}.task-selection-item.group{background:var(--theme-secondary-alpha-03);border-left:4px solid var(--theme-secondary)}.task-selection-item.group:hover{background:var(--theme-secondary-alpha-08)}.task-item-title{color:var(--text-primary);font-weight:600;margin-bottom:4px}.task-item-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-tertiary);display:-webkit-box;font-size:13px;line-height:1.4;max-height:40px;overflow:hidden;text-overflow:ellipsis}.task-item-no-description{color:var(--text-muted);font-style:italic}.search-highlight{background-color:var(--theme-accent);border-radius:2px;color:var(--color-white);font-weight:600;padding:0 2px}.no-results-message{color:var(--text-tertiary);font-size:14px;padding:40px 20px;text-align:center}.no-results-message svg{height:48px;margin-bottom:16px;opacity:.5;width:48px}.project-info-panel{align-items:center;background:linear-gradient(135deg,var(--theme-primary-alpha-08) 0,var(--theme-secondary-alpha-06) 50%,var(--theme-accent-alpha-04) 100%);border:1px solid var(--border-theme);border-radius:12px;display:none;gap:12px;margin-bottom:12px;padding:12px}.project-info-content{color:var(--text-primary);flex:1;font-size:14px;font-weight:600}#current-project-display-mobile{color:var(--theme-primary)}#project-switch-btn-mobile{font-size:13px;min-height:36px;padding:8px 12px;white-space:nowrap}.view-tabs{background:linear-gradient(135deg,var(--theme-primary-alpha-08) 0,var(--theme-secondary-alpha-06) 50%,var(--theme-accent-alpha-04) 100%);border:1px solid var(--border-theme);border-radius:12px;display:none;gap:6px;margin-bottom:12px;padding:6px}.view-tab{background:#ffffff80;border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;flex:1;font-family:Noto Sans KR,sans-serif;font-size:14px;font-weight:600;padding:12px;transition:all .3s ease}.view-tab.active{background:linear-gradient(135deg,var(--theme-primary) 0,var(--theme-primary-light) 100%);box-shadow:var(--shadow-theme-md);color:#fff}@media (max-width:768px){body{padding:10px}.project-info-panel,.view-tabs{display:flex}.controls-panel{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:4px;overflow-x:auto;overflow-y:hidden;padding:6px}.controls-panel-left,.controls-panel-right{flex-shrink:0;flex:0 0 auto!important;flex-wrap:nowrap;gap:4px;width:auto}.controls-panel-right{margin-left:0}#current-project-display,#project-switch-btn{display:none!important}.controls-panel label{white-space:nowrap!important;width:auto!important}.controls-panel input[type=date],.controls-panel label{flex:0 0 auto!important;flex-shrink:0;font-size:10px!important}.controls-panel input[type=date]{max-width:110px!important;min-width:110px!important;padding:6px!important;width:110px!important}.controls-panel button{flex:0 0 auto!important;font-size:10px!important;max-width:-moz-max-content!important;max-width:max-content!important;min-height:36px!important;min-width:0!important;padding:6px 8px!important;white-space:nowrap!important;width:auto!important}.gantt-container{flex-direction:column;height:calc(100svh - 160px)}.task-list-panel{border-bottom:1px solid var(--border-color);border-right:none;display:none;flex-direction:column;height:100%;width:100%}.task-list-panel.active{display:flex}.timeline-panel{display:none;flex-direction:column;height:100%;width:100%}.timeline-panel.active{display:flex}.task-list-resizer{display:none}.task-item{font-size:14px;height:44px;line-height:44px}.timeline-day{font-size:11px;min-width:35px}.timeline-month{font-size:12px;min-width:35px}.task-bar-container{height:44px}.task-bar{font-size:11px;min-height:30px}.modal-overlay{padding:0}.modal-content{border-radius:0;box-sizing:border-box;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;max-width:100vw;overflow-y:auto;padding:20px 20px calc(20px + env(safe-area-inset-bottom));width:100vw}.form-group input,.form-group select,.form-group textarea{font-size:16px;min-height:44px}.form-group textarea{min-height:200px}.btn{font-size:14px;min-height:44px;padding:12px 20px}.task-item-action-btn{font-size:12px;min-height:44px;min-width:44px;padding:8px}.markdown-editor-wrapper{height:250px;min-height:250px}.color-chip{height:36px;width:36px}.fullscreen-modal-content{border-radius:0;height:100vh;height:100dvh;max-width:100vw;width:100vw}.settings-section{padding:16px}.radio-option{padding:12px}.canvas-container{height:calc(100svh - 160px)}}@media (max-width:480px){body{padding:5px}.controls-panel{gap:6px;padding:8px}.controls-panel button{font-size:11px;min-width:100%;padding:8px 10px;width:100%}.view-tab{font-size:13px;padding:10px}.timeline-day{font-size:10px;min-width:30px}.timeline-month{font-size:11px;min-width:30px}.task-item{font-size:13px}.modal-content{padding:15px}.modal-header h3{font-size:18px}}.keyboard-shortcuts-btn{align-items:center;background:linear-gradient(135deg,var(--theme-primary) 0,var(--theme-primary-dark) 100%);border:none;border-radius:50%;bottom:20px;box-shadow:0 4px 12px #00000026;color:#fff;cursor:pointer;display:flex;font-size:24px;height:50px;justify-content:center;position:fixed;right:20px;transition:all .3s ease;width:50px;z-index:999}.keyboard-shortcuts-btn:hover{box-shadow:0 6px 16px #0003;transform:scale(1.1)}.keyboard-shortcuts-btn:active{transform:scale(.95)}.keyboard-shortcuts-panel{background:#fff;box-shadow:-4px 0 20px #00000026;display:flex;flex-direction:column;height:100vh;position:fixed;right:-400px;top:0;transition:right .3s ease;width:400px;z-index:1000}.keyboard-shortcuts-panel.active{right:0}.shortcuts-header{align-items:center;background:linear-gradient(135deg,var(--theme-primary) 0,var(--theme-primary-dark) 100%);border-bottom:2px solid #f0f0f0;color:#fff;display:flex;justify-content:space-between;padding:20px}.shortcuts-header h3{font-size:20px;font-weight:600;margin:0}.shortcuts-close{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:28px;height:36px;justify-content:center;line-height:1;transition:background .2s;width:36px}.shortcuts-close:hover{background:#ffffff4d}.shortcuts-body{flex:1;overflow-y:auto;padding:20px}.shortcuts-section{margin-bottom:30px}.shortcuts-section h4{border-bottom:2px solid var(--theme-primary);color:#333;font-size:16px;font-weight:600;margin:0 0 15px;padding-bottom:8px}.shortcut-item{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:12px 10px;transition:background .2s}.shortcut-item:hover{background:#f8f9fa}.shortcut-item:last-child{border-bottom:none}.shortcut-description{color:#555;font-size:14px}.shortcut-key{background:linear-gradient(180deg,#f8f9fa 0,#e9ecef);border:1px solid #adb5bd;border-radius:5px;box-shadow:0 2px 4px #0000001a,inset 0 -2px 0 #0000001a;color:#495057;display:inline-block;font-family:Consolas,Monaco,monospace;font-size:13px;font-weight:600;min-width:30px;padding:6px 12px;text-align:center}.shortcut-keys{align-items:center;display:flex;gap:4px}.key-plus{color:#999;font-size:14px;font-weight:600}@media (max-width:767px){.keyboard-shortcuts-btn,.keyboard-shortcuts-panel{display:none}}.hover\:cursor-pointer:hover{cursor:pointer}.hover\:bg-zinc-50:hover{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity))}.hover\:bg-zinc-700:hover{--tw-bg-opacity:1;background-color:rgb(63 63 70/var(--tw-bg-opacity))}.hover\:text-zinc-700:hover{--tw-text-opacity:1;color:rgb(63 63 70/var(--tw-text-opacity))}.hover\:text-zinc-900:hover{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity))}.hover\:opacity-40:hover{opacity:.4}.focus\:border-rose-400:focus{--tw-border-opacity:1;border-color:rgb(251 113 133/var(--tw-border-opacity))}.focus\:border-zinc-400:focus{--tw-border-opacity:1;border-color:rgb(161 161 170/var(--tw-border-opacity))}.focus\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.active\:text-white\/80:active{color:#fffc}.group:hover .group-hover\:bg-zinc-100{--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity))}.group:hover .group-hover\:bg-zinc-50{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity))}.group:hover .group-hover\:fill-zinc-600{fill:#52525b}.group:hover .group-hover\:opacity-70{opacity:.7}.phx-no-feedback.phx-no-feedback\:hidden{display:none}.phx-no-feedback.phx-no-feedback\:border-zinc-300{--tw-border-opacity:1;border-color:rgb(212 212 216/var(--tw-border-opacity))}.phx-no-feedback.phx-no-feedback\:focus\:border-zinc-400:focus{--tw-border-opacity:1;border-color:rgb(161 161 170/var(--tw-border-opacity))}.phx-no-feedback .phx-no-feedback\:hidden{display:none}.phx-no-feedback .phx-no-feedback\:border-zinc-300{--tw-border-opacity:1;border-color:rgb(212 212 216/var(--tw-border-opacity))}.phx-no-feedback .phx-no-feedback\:focus\:border-zinc-400:focus{--tw-border-opacity:1;border-color:rgb(161 161 170/var(--tw-border-opacity))}.phx-submit-loading .phx-submit-loading\:opacity-75,.phx-submit-loading.phx-submit-loading\:opacity-75{opacity:.75}@media (min-width:640px){.sm\:w-96{width:24rem}.sm\:w-auto{width:auto}.sm\:w-full{width:100%}.sm\:translate-y-0{--tw-translate-y:0px}.sm\:scale-100,.sm\:translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\:scale-100{--tw-scale-x:1;--tw-scale-y:1}.sm\:scale-95{--tw-scale-x:.95;--tw-scale-y:.95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-col{flex-direction:column}.sm\:gap-8{gap:2rem}.sm\:overflow-visible{overflow:visible}.sm\:rounded-l-xl{border-bottom-left-radius:.75rem;border-top-left-radius:.75rem}.sm\:rounded-r-xl{border-bottom-right-radius:.75rem;border-top-right-radius:.75rem}.sm\:p-6{padding:1.5rem}.sm\:px-0{padding-left:0;padding-right:0}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-28{padding-bottom:7rem;padding-top:7rem}.sm\:py-6{padding-bottom:1.5rem;padding-top:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:leading-6{line-height:1.5rem}.group:hover .sm\:group-hover\:scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}}@media (min-width:1024px){.lg\:mx-0{margin-left:0;margin-right:0}.lg\:block{display:block}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:py-8{padding-bottom:2rem;padding-top:2rem}}@media (min-width:1280px){.xl\:left-\[50rem\]{left:50rem}.xl\:px-28{padding-left:7rem;padding-right:7rem}.xl\:py-32{padding-bottom:8rem;padding-top:8rem}}