@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;700&display=swap");
/*! 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;margin:0}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%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.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}.inline{display:inline}.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}.flex-shrink{flex-shrink:1}.border-collapse{border-collapse:collapse}.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}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.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}.italic{font-style:italic}.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))}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-20{opacity:.2}.opacity-40{opacity:.4}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.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-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-md,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.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,.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)}.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-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\[billing\:test\]{billing:test}: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-90:#ff4081e6;--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);--color-success:#4cc9f0;--color-warning:#ff9800;--color-danger:#f44336}.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)}*{margin:0;padding:0}*,.markdown-preview{box-sizing:border-box}.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;font-size:14px;line-height:1.6;max-height:400px;min-height:200px;overflow-y:auto;padding:16px;width:100%}.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 ul{list-style-type:disc}.markdown-preview ol,.markdown-preview ul{margin-bottom:16px;margin-top:0;padding-left:2em}.markdown-preview ol{list-style-type:decimal}.markdown-preview ul ul{list-style-type:circle}.markdown-preview ul ul ul{list-style-type:square}.markdown-preview ol ol{list-style-type:lower-alpha}.markdown-preview ol ol ol{list-style-type:lower-roman}.markdown-preview li>ol,.markdown-preview li>ul{margin-bottom: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:var(--theme-primary,#ff4081);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 strong{font-weight:600}.markdown-preview em{font-style:italic}.markdown-preview del,.markdown-preview s{color:#656d76;text-decoration:line-through}.markdown-preview .mermaid{background-color:#f8f9fa;border-radius:6px;display:flex;justify-content:center;margin:16px 0;overflow-x:auto;padding:16px}.markdown-preview .mermaid svg{height:auto;max-width:100%}.markdown-preview .math-block{display:flex;justify-content:center;margin:16px 0;overflow-x:auto;padding:12px}.markdown-preview .math-inline{display:inline;padding:0 2px}.markdown-preview .math-block .katex-display{margin:0}.markdown-preview .task-list-item{list-style-type:none}.markdown-preview input[type=checkbox]{margin-right:.5em;vertical-align:middle}.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%}.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}.markdown-preview img{border-radius:4px;box-shadow:0 2px 8px #0000001a;display:block;height:auto;margin:10px 0;max-width:100%}.html-preview-frame,.markdown-preview .html-preview-frame{background-color:#fff;border:none;border-radius:4px;min-height:200px;width:100%}.monaco-editor-container{border:1px solid var(--border-color);border-radius:5px;min-height:200px;overflow:hidden;width:100%}.modal-edit-main .monaco-editor-container{flex:1;min-height:0}.textarea-wrapper.split-mode .monaco-editor-container{min-height:0;min-width:0;overflow:hidden}.fullscreen-modal-body .monaco-editor-container{border-radius:6px;height:100%;width:100%}.fullscreen-modal-body .monaco-active #fullscreenDescription,.textarea-wrapper.monaco-active #editTaskDescription{height:1px!important;opacity:0!important;overflow:hidden!important;pointer-events:none!important;position:absolute!important;width:1px!important}.textarea-wrapper.drag-over .monaco-editor-container{outline:2px dashed var(--primary-color,#4361ee);outline-offset:-2px}body.gantt-layout{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}.calendar-view-container{min-height:400px;position:relative;width:100%}.calendar-date-column{border-right:1px solid #ddd;box-sizing:border-box;padding:4px 2px;position:absolute;transition:background-color .2s}.calendar-date-column.weekend{background-color:#c8c8c81a}.calendar-date-column:hover{background-color:#2196f30d!important}.calendar-task-card{border-radius:4px;box-sizing:border-box;cursor:pointer;font-size:11px;overflow:hidden;padding:4px;position:relative;text-overflow:ellipsis;transition:all .2s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.calendar-task-card:hover{box-shadow:0 2px 6px #00000026;transform:translateX(2px);z-index:10}.calendar-task-card.group-card{color:#fff;font-weight:700}.calendar-task-card.task-card{color:#333}.calendar-task-card.selected{border:2px solid #333!important;box-shadow:0 0 6px #00000080!important;transform:scale(1.02);z-index:20}.timeline-panel.calendar-mode{width:100%!important}.controls-panel{align-items:center;background:#0000;display:flex;flex-wrap:nowrap;gap:10px;margin-bottom:12px;overflow-x:auto;overflow-y:hidden;padding:8px 0;position:relative;scrollbar-width:none}.controls-panel::-webkit-scrollbar{display:none}#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:0 0 auto;flex-wrap:nowrap;gap:10px}#current-project-display{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.controls-panel-left{align-items:center;display:flex;flex:1;flex-wrap:nowrap;gap:10px}.controls-panel-right{align-items:center;display:flex;flex-shrink:0;gap:10px;margin-left:auto}.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)}.controls-panel .btn-icon{-webkit-text-fill-color:unset;background:none;-webkit-background-clip:unset;display:none;font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;font-style:normal}@media (max-width:1200px){.controls-panel .btn-icon{display:inline}.controls-panel #current-project-display,.controls-panel #dateRangeChipText,.controls-panel .btn-label,.controls-panel .lock-text{display:none!important}.controls-panel button{padding:8px 10px}.date-range-chip-arrow{display:none}}.date-range-container{flex-shrink:0;position:relative}.controls-panel .date-range-chip{align-items:center;background:#0000;border:none;border-radius:20px;box-shadow:var(--shadow-theme-sm);color:var(--text-primary);cursor:pointer;display:inline-flex;font-family:Noto Sans KR,sans-serif;font-size:13px;font-weight:500;gap:6px;padding:6px 14px;transition:all .2s ease;white-space:nowrap}.controls-panel .date-range-chip:hover{background:#0000000d;color:var(--text-primary);transform:translateY(-1px)}.controls-panel .date-range-chip.active{background:var(--theme-primary-alpha-05,#0000000d)}.controls-panel .date-range-chip:before{display:none}.date-range-chip-icon{flex-shrink:0;opacity:.7}.date-range-chip-arrow{flex-shrink:0;opacity:.5;transition:transform .2s ease}.date-range-chip.active .date-range-chip-arrow{transform:rotate(180deg)}.date-range-popover{background:var(--bg-primary,#fff);border:1px solid var(--border-light);border-radius:12px;box-shadow:0 12px 36px #00000026,0 4px 12px #00000014;display:none;min-width:340px;pointer-events:none;position:fixed;z-index:10002}.date-range-popover.active{animation:dateRangePopoverIn .2s ease forwards;display:block;pointer-events:auto}@keyframes dateRangePopoverIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.date-range-popover-header{border-bottom:1px solid var(--border-light);color:var(--text-secondary);font-size:13px;font-weight:600;padding:12px 16px 8px}.date-range-popover-body{padding:12px 16px 16px}.date-range-inputs{align-items:flex-end;display:flex;gap:8px;margin-bottom:12px}.date-range-field{flex:1}.date-range-field label{color:var(--text-muted);display:block;font-size:11px;font-weight:600;letter-spacing:.05em;margin-bottom:4px;text-shadow:none;text-transform:uppercase}.date-range-popover input[type=date]{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--bg-secondary);border:1px solid var(--border-medium);border-radius:8px;box-shadow:none;box-sizing:border-box;color:var(--text-primary);font-family:Noto Sans KR,sans-serif;font-size:13px;padding:8px 10px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.date-range-popover input[type=date]:focus{background:var(--bg-primary,#fff);border-color:var(--theme-primary);box-shadow:0 0 0 3px var(--theme-primary-alpha-15);outline:none;transform:none}.date-range-separator{color:var(--text-muted);flex-shrink:0;font-size:16px;padding-bottom:8px}.date-range-presets{display:flex;flex-wrap:wrap;gap:6px}.controls-panel .date-range-preset-btn,.date-range-preset-btn{background:var(--bg-secondary);border:1px solid var(--border-medium);border-radius:16px;box-shadow:none;color:var(--text-secondary);cursor:pointer;font-family:Noto Sans KR,sans-serif;font-size:12px;font-weight:500;padding:5px 12px;transition:all .15s ease;white-space:nowrap}.controls-panel .date-range-preset-btn:hover,.date-range-preset-btn:hover{background:var(--theme-primary-alpha-05,#6366f10d);border-color:var(--theme-primary);box-shadow:none;color:var(--theme-primary);transform:none}.controls-panel .date-range-preset-btn:before,.date-range-preset-btn:before{display:none}.date-range-preset-btn.active-preset{background:var(--theme-primary-alpha-10,#6366f11a);border-color:var(--theme-primary);color:var(--theme-primary);font-weight:600}@keyframes dateRangeFlash{0%{background-color:var(--theme-primary-alpha-10,#6366f11a)}to{background-color:#ffffffe6}}.date-range-chip.flash{animation:dateRangeFlash .6s ease}.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{background-color:#fff;border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow);display:flex;height:calc(100svh - 100px);overflow:hidden;width:100%}.gantt-container[data-initial-view=calendar]>.task-list-panel,.gantt-container[data-initial-view=calendar]>.timeline-panel,.gantt-container[data-initial-view=editor]>.task-list-panel,.gantt-container[data-initial-view=editor]>.timeline-panel{display:none!important}.task-list-panel{background-color:#fff;border-right:1px solid var(--border-color);display:flex;flex-direction:column;flex-shrink:0;left:0;overflow:hidden;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-list-header-label{flex:1;text-align:center}.filter-bar-toggle-btn{background:none;border:none;border-radius:4px;cursor:pointer;font-size:14px;opacity:.5;padding:4px 6px;position:absolute;right:8px;transition:opacity .2s}.filter-bar-toggle-btn:hover{background:#0000000d;opacity:1}.filter-bar{background:#fafafa;border-bottom:1px solid var(--border-color);border-right:1px solid var(--border-theme);flex-shrink:0;padding:6px 8px}.filter-bar-row{align-items:center;display:flex;gap:4px}.filter-bar-input{background:#fff;border:1px solid #ddd;border-radius:4px;flex:1;font-size:13px;outline:none;padding:5px 8px}.filter-bar-input:focus{border-color:var(--primary-color,#4285f4);box-shadow:0 0 0 2px #4285f426}.filter-bar-close-btn,.filter-bar-color-btn{background:none;border:1px solid #0000;border-radius:4px;cursor:pointer;flex-shrink:0;font-size:14px;padding:4px 6px}.filter-bar-close-btn:hover,.filter-bar-color-btn:hover{background:#0000000f}.filter-bar-color-btn.active{background:#e3f2fd;border-color:#90caf9}.filter-bar-color-palette{align-items:center;border-top:1px solid #eee;display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;padding:8px 4px 4px}.color-swatch{border:2px solid #0000;border-radius:50%;cursor:pointer;flex-shrink:0;height:24px;position:relative;transition:transform .15s,border-color .15s;width:24px}.color-swatch:hover{transform:scale(1.15)}.color-swatch.selected{border-color:#333;box-shadow:0 0 0 2px #fff,0 0 0 4px #333}.color-swatch.selected:after{color:#fff;content:"✓";font-size:12px;font-weight:700;left:50%;position:absolute;text-shadow:0 1px 2px #0009;top:50%;transform:translate(-50%,-50%)}.color-swatch-count{color:#888;font-size:10px;margin-top:1px;text-align:center}.color-palette-clear{background:none;border:1px solid #ccc;border-radius:3px;color:#666;cursor:pointer;font-size:11px;margin-left:auto;padding:2px 8px}.color-palette-clear:hover{background:#f5f5f5}.filter-bar-status{color:#888;font-size:11px;padding:4px 4px 0;text-align:right}.search-highlight{background:#fff3cd;padding:0 1px}.search-match-snippet{color:#888;font-size:11px;line-height:14px;max-width:100%;text-overflow:ellipsis}.search-match-snippet,.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:1001}.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-actions{align-items:center;display:flex;gap:10px}#taskEditMoreBtn{display:none}.bottom-sheet-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#0006;bottom:0;display:none;left:0;position:fixed;right:0;top:0;z-index:1900}.extra-settings{background:#0000;border:none;border-radius:0;display:block;margin-bottom:0;padding:0}.bottom-sheet-header{display:none}@media (max-width:768px){#taskEditMoreBtn{display:flex}.bottom-sheet-backdrop.show{display:block}.extra-settings{background-color:#fff;border:none;border-top-left-radius:24px;border-top-right-radius:24px;bottom:0;box-shadow:0 -8px 30px #0003;display:block;left:0;margin-bottom:0;max-height:85vh;overflow-y:auto;padding:12px 24px 40px;position:fixed;right:0;transform:translateY(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:2000}.extra-settings.show{transform:translateY(0)}.bottom-sheet-header{align-items:center;background:#fff;display:flex;flex-direction:column;margin-bottom:24px;padding-top:8px;position:sticky;top:0;z-index:10}.bottom-sheet-handle{background-color:#e0e0e0;border-radius:3px;height:5px;margin-bottom:16px;width:40px}.bottom-sheet-header h4{color:#333;font-size:18px;font-weight:600;margin:0}.extra-settings .form-group{margin-bottom:20px}}.modal-header h3{color:#333;font-weight:600;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:8px;color:var(--text-muted,#6b7280);cursor:pointer;display:flex;font-size:18px;height:32px;justify-content:center;line-height:1;transition:all .15s;width:32px}.modal-close:hover{background:var(--bg-tertiary,#f3f4f6);color:var(--text-primary,#111827)}.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:#fff;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}.view-lines.monaco-mouse-cursor-text>div{border:none!important}.task-date-range{margin-bottom:18px}.task-date-range-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.task-date-range-header label{color:#555;display:block;font-weight:500}.task-date-duration{color:var(--theme-primary);font-size:12px;font-weight:600}.task-date-range-inputs{align-items:center;display:flex;gap:6px;margin-bottom:8px}.task-date-range-inputs input[type=date]{background:var(--bg-primary,#fff);border:1px solid #ddd;border-radius:6px;color:var(--text-primary,#333);flex:1;font-family:Noto Sans KR,sans-serif;font-size:13px;min-width:0;padding:8px;transition:border-color .2s}.task-date-range-inputs input[type=date]:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #4361ee1a;outline:none}.task-date-range-toggle{align-items:center;background:#0000;border:1px solid var(--border-light,#ddd);border-radius:50%;color:var(--text-muted,#888);cursor:pointer;display:flex;flex-shrink:0;font-family:Noto Sans KR,sans-serif;font-size:12px;height:24px;justify-content:center;padding:0;transition:all .15s ease;width:24px}.task-date-range-toggle:hover{background:var(--theme-primary-alpha-05,#6366f10d);border-color:var(--theme-primary);color:var(--theme-primary)}.task-date-range-toggle.expanded{background:var(--theme-primary);border-color:var(--theme-primary);color:#fff}.task-date-end-collapsed{border-color:#0000!important;flex:0 0 0!important;opacity:0;overflow:hidden;padding:0!important;transition:all .2s ease;width:0!important}.task-date-end-expanded{flex:1!important;opacity:1;transition:all .2s ease}.task-date-preset-today{border-color:var(--theme-primary);color:var(--theme-primary);font-weight:600}.task-date-presets{display:flex;flex-wrap:wrap;gap:4px}.task-date-preset{background:#0000;border:1px solid var(--border-light,#ddd);border-radius:12px;color:var(--text-secondary,#666);cursor:pointer;font-family:Noto Sans KR,sans-serif;font-size:11px;padding:3px 10px;transition:all .15s ease;white-space:nowrap}.task-date-preset:hover{background:var(--theme-primary-alpha-05,#6366f10d);border-color:var(--theme-primary);color:var(--theme-primary)}.task-date-range-mobile{flex-direction:column;gap:6px}.task-date-range-mobile .task-date-range-inputs{align-items:center;display:flex;gap:6px;width:100%}.task-date-range-mobile .task-date-range-inputs input[type=date]{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:6px;color:var(--text-primary);flex:1;font-size:14px;min-height:36px;min-width:0;padding:4px 8px}.task-date-range-mobile .task-date-duration{align-self:flex-end;color:var(--text-muted,#888);font-size:11px;font-weight:500}.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-native-hidden{height:0;opacity:0;overflow:hidden;pointer-events:none;position:absolute;width:0}.color-current{align-items:center;cursor:pointer;display:flex;gap:10px;margin-bottom:12px}.color-current-swatch{border:2px solid #00000014;border-radius:50%;box-shadow:0 1px 3px #0000001a;height:32px;transition:transform .15s ease,box-shadow .15s ease;width:32px}.color-current:hover .color-current-swatch{box-shadow:0 2px 6px #00000026;transform:scale(1.08)}.color-current-hex{color:#888;font-family:SF Mono,Cascadia Code,Consolas,monospace;font-size:12px;letter-spacing:.02em}.color-palette{background:#0000;border:none;border-radius:0;border-top:1px solid var(--border-light,#eee);padding:12px 0 0}.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:50%;cursor:pointer;height:26px;position:relative;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;width:26px}.color-chip:hover{box-shadow:0 2px 8px #0000002e;transform:scale(1.15)}.color-chip.selected{border-color:var(--text-primary,#222);box-shadow:0 0 0 2px #00000014}.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:6px;left:8px;position:absolute;right:auto;top:auto;z-index:10}.btn-icon{align-items:center;border-radius:6px;color:var(--text-muted,#6b7280);cursor:pointer;display:flex;justify-content:center;padding:5px 7px;transition:all .15s}.btn-icon:hover{border-color:var(--primary-color);color:var(--primary-color)}.btn-icon svg{height:16px;width:16px}@media (min-width:769px){#taskEditModal .modal-content{display:flex;flex-direction:column;height:92vh;max-height:none;max-width:none;overflow:hidden;padding:0;width:95vw}#taskEditModal .modal-header{border-bottom:1px solid var(--border-light,#e5e7eb);flex-shrink:0;margin-bottom:0;padding:10px 20px}#taskEditModal .modal-header h3{color:var(--text-muted,#6b7280);font-size:13px;font-weight:500;letter-spacing:.02em}#taskEditModal .modal-body{flex:1;margin-bottom:0;overflow:hidden}.modal-edit-layout{display:flex;height:100%}.modal-edit-sidebar{background:var(--bg-primary,#fff);border-right:1px solid var(--border-light,#e5e7eb);min-width:260px;overflow-y:auto;padding:20px;width:280px}.modal-edit-main{display:flex;flex:1;flex-direction:column;overflow:hidden;padding:24px 28px}.modal-edit-title-input{background:#0000;border:none;box-sizing:border-box;color:var(--text-primary,#111827);flex-shrink:0;font-family:Noto Sans KR,sans-serif;font-size:26px;font-weight:700;letter-spacing:-.02em;line-height:1.3;margin-bottom:0;outline:none;padding:0 0 12px;width:100%}.modal-edit-title-input:focus{border:none;box-shadow:none;outline:none}.modal-edit-title-input::-moz-placeholder{color:var(--color-gray-300,#d1d5db);font-weight:400}.modal-edit-title-input::placeholder{color:var(--color-gray-300,#d1d5db);font-weight:400}.modal-edit-title-input:disabled{-webkit-text-fill-color:var(--text-primary,#111827);color:var(--text-primary,#111827);opacity:1}.modal-edit-main .modal-edit-main-inner{display:flex;flex:1;flex-direction:column;margin-bottom:0;min-height:0}.modal-edit-main .textarea-wrapper{display:flex;flex:1;flex-direction:column;min-height:0}.modal-edit-main .markdown-preview,.modal-edit-main textarea{flex:1;max-height:none;min-height:0;resize:none}.modal-edit-main .markdown-preview{-webkit-user-select:text;-moz-user-select:text;user-select:text}[data-readonly=true] .modal-edit-main .markdown-preview{-webkit-user-select:none;-moz-user-select:none;user-select:none}#taskEditModal .modal-footer{display:none}#modalSaveBtnHeader{display:inline-block}#fullscreenToggleBtn{display:none}.textarea-wrapper.split-mode{display:grid;gap:1px;grid-template-columns:1fr 1fr;grid-template-rows:1fr}.textarea-wrapper.split-mode .markdown-preview,.textarea-wrapper.split-mode .monaco-editor-container,.textarea-wrapper.split-mode textarea{max-height:none;min-height:0;min-width:0;overflow-y:auto}.textarea-wrapper.split-mode .markdown-preview{background:#fff;border-left:1px solid #e0e0e0;padding:15px}.textarea-wrapper.split-mode .textarea-buttons{bottom:8px;left:8px}.split-scroll-sync-btn{opacity:.6;position:absolute;right:8px;top:8px;transition:opacity .2s;z-index:11}.split-scroll-sync-btn:hover{opacity:1}.split-scroll-sync-btn.active{background:#e8f0fe;border-color:var(--primary-color);color:var(--primary-color);opacity:1}}@media (max-width:768px){#modalSaveBtnHeader{display:none}}.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 textarea{background:#fff;font-family:Noto Sans KR,sans-serif;outline:none;resize:none}.fullscreen-content .markdown-preview,.fullscreen-content textarea{border:1px solid var(--border-color);border-radius:5px;color:#333;flex:1;font-size:14px;line-height:1.6;padding:15px}.fullscreen-content .markdown-preview{background-color:#fff;max-height:none}.btn-sm{border-radius:3px;font-size:12px;padding:4px 8px}.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%}.fullscreen-preview img{border-radius:4px;box-shadow:0 2px 8px #0000001a;display:block;height:auto;margin:15px 0;max-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;overflow:hidden;padding:20px}.section-title{align-items:center;color:#495057;display:flex;font-size:16px;font-weight:600;gap:8px;margin:0 0 16px}.section-desc{color:#666;font-size:13px;line-height:1.5;margin-bottom:16px}.synonym-list{margin-bottom:14px}.synonym-empty{color:#999;font-size:13px;margin:0}.synonym-pair-list{display:flex;flex-direction:column;gap:6px}.synonym-pair{align-items:center;background:#fff;border:1px solid #e9ecef;border-radius:8px;display:flex;font-size:13px;gap:8px;padding:8px 12px}.synonym-word{color:#333;font-weight:500}.synonym-arrow{color:#aaa;flex-shrink:0;font-size:12px}.synonym-remove-btn{background:none;border:none;color:#bbb;cursor:pointer;font-size:14px;margin-left:auto;padding:0 4px;transition:color .15s}.synonym-remove-btn:hover{color:#e53935}.synonym-input-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.synonym-input{border:1px solid #ddd;border-radius:8px;box-sizing:border-box;flex:1 1 80px;font-size:13px;min-width:0;padding:8px 12px;transition:border-color .15s}.synonym-input:focus{border-color:#007bff;outline:none}.synonym-add-btn{flex-shrink:0;font-size:13px;padding:8px 16px;white-space:nowrap}.synonym-cooccurrence-row{align-items:center;display:flex;gap:10px;margin-top:14px}.synonym-rebuild-btn{background:#fff;border:1px solid #ddd;border-radius:8px;cursor:pointer;flex-shrink:0;font-size:12px;padding:6px 14px;transition:all .15s}.synonym-rebuild-btn:hover{background:#f0f0f0;border-color:#ccc}.synonym-rebuild-desc{color:#999;font-size:12px}.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;rx:8;ry:8;stroke:#ddd;stroke-width:2;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{fill:none;marker-end:url(#arrowhead);stroke:#666;stroke-width:2;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;dominant-baseline:central;text-anchor:middle;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}@media (max-width:768px){body.gantt-layout{height:100dvh;overflow:hidden;padding:0}.project-info-panel{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:0 0 auto!important;flex-shrink:0;flex-wrap:nowrap;gap:4px;width:auto}.controls-panel-right{margin-left:0}.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 - 120px)}#dateRangeContainer,#dateRangePopover{display:none!important}.task-list-panel{border-bottom:1px solid var(--border-color);border-right:none;display:flex;width:100%!important}.task-list-panel,.timeline-panel{flex-direction:column;height:100%!important;min-height:200px}.timeline-panel{width:100%}#baselineRemoveButton,#baselineToggleButton,#current-project-display,#project-switch-btn,#todayButton,#toggleTaskNameBtn,.timeline-panel{display:none!important}.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.gantt-layout{padding:0}.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}}.markdown-help-popover{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 8px 24px #0000002e;display:none;position:fixed;width:340px;z-index:10002}.markdown-help-popover.active{display:block}.markdown-help-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;font-size:14px;font-weight:600;justify-content:space-between;padding:10px 14px}.markdown-help-close{background:none;border:none;color:#999;cursor:pointer;font-size:20px;line-height:1}.markdown-help-close:hover{color:#333}.markdown-help-body{padding:12px 14px}.markdown-help-table{border-collapse:collapse;font-size:13px;width:100%}.markdown-help-table th{border-bottom:1px solid #e0e0e0;color:#666;font-size:12px;padding:4px 8px;text-align:left}.markdown-help-table td{border-bottom:1px solid #f5f5f5;padding:5px 8px}.markdown-help-table code{background:#f5f5f5;border-radius:3px;font-size:12px;padding:1px 4px}.markdown-help-colors{border-top:1px solid #f0f0f0;color:#666;display:flex;flex-wrap:wrap;font-size:12px;gap:8px;margin-top:10px;padding-top:8px}.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:right .3s ease;transition:all .3s ease;width:50px;z-index:999}.editor-mode .keyboard-shortcuts-btn{right:calc(var(--ai-panel-width, 380px) + 20px)}.editor-mode.ai-panel-collapsed .keyboard-shortcuts-btn{bottom:40px;right:40px}.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}}.mobile-action-sheet,.mobile-action-sheet-backdrop,.mobile-color-filter-banner,.mobile-obsidian-layout,.mobile-tag-filter-banner{display:none}@media (max-width:768px){.controls-panel,.gantt-container,.project-info-panel{display:none!important}.mobile-obsidian-layout{display:flex;flex-direction:column;height:100dvh;overflow:hidden;position:relative;width:100%}.mobile-top-bar{background:var(--bg-primary);border-bottom:1px solid var(--border-light);box-sizing:border-box;gap:8px;height:44px;padding:6px 12px;z-index:30}.mobile-hamburger-btn,.mobile-top-bar{align-items:center;display:flex;flex-shrink:0}.mobile-hamburger-btn{background:none;border:none;border-radius:8px;color:var(--text-primary);cursor:pointer;height:40px;justify-content:center;padding:4px;width:40px}.mobile-hamburger-btn:active{background:var(--bg-tertiary)}.mobile-top-bar-actions{display:flex;flex:1;flex-shrink:0;gap:4px;justify-content:flex-end}.mobile-action-btn{align-items:center;background:none;border:none;border-radius:8px;color:var(--text-primary);cursor:pointer;display:flex;height:36px;justify-content:center;width:36px}.mobile-action-btn:active{background:var(--bg-tertiary)}.mobile-sidebar-backdrop{background:#0006;bottom:0;display:none;left:0;opacity:0;position:fixed;right:0;top:0;transition:opacity .3s ease;z-index:40}.mobile-sidebar-backdrop.active{display:block;opacity:1}.mobile-sidebar{background:var(--bg-primary);box-shadow:4px 0 20px #00000026;display:flex;flex-direction:column;height:100dvh;left:0;overflow:hidden;position:fixed;top:0;transform:translateX(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);width:280px;z-index:50}.mobile-sidebar.open{transform:translateX(0)}.mobile-sidebar-header{align-items:center;border-bottom:1px solid var(--border-light);color:var(--text-primary);display:flex;flex-shrink:0;font-size:15px;font-weight:600;justify-content:space-between;padding:16px}.mobile-sidebar-list{-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.mobile-sidebar-item{align-items:center;border-bottom:1px solid var(--border-light);box-sizing:border-box;color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;min-height:44px;padding:10px 12px;transition:background .15s}.mobile-sidebar-item:active{background:var(--theme-primary-alpha-10,#ff40811a)}.mobile-sidebar-item.selected{background:var(--theme-primary-alpha-20,#ff408133);border-left:3px solid var(--theme-primary,#ff4081)}.mobile-sidebar-item .group-toggle{color:var(--text-tertiary);cursor:pointer;flex-shrink:0;font-size:12px;margin-right:4px;text-align:center;width:20px}.mobile-sidebar-item .item-color-dot{border-radius:50%;flex-shrink:0;height:10px;margin-right:8px;width:10px}.mobile-sidebar-item .item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-sidebar-item.is-group{font-weight:600}.mobile-fab-container{bottom:20px;display:flex;flex-direction:column;gap:10px;position:absolute;right:16px;z-index:20}.mobile-fab{align-items:center;background:linear-gradient(135deg,var(--theme-primary,#ff4081) 0,var(--theme-primary-dark,#e91e63) 100%);border:none;border-radius:50%;box-shadow:0 4px 12px #0003;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:700;height:48px;justify-content:center;transition:transform .2s,box-shadow .2s,opacity .2s;width:48px}.mobile-fab:active{transform:scale(.92)}.mobile-fab:disabled{box-shadow:0 2px 6px #0000001a;cursor:default;opacity:.4}.mobile-edit-view{background:var(--bg-primary);flex:1;padding:12px 16px 0;position:relative}.mobile-edit-form,.mobile-edit-view{display:flex;flex-direction:column;overflow:hidden}.mobile-edit-form{flex:1;min-height:0}.mobile-edit-empty{align-items:center;color:var(--text-muted,#999);display:flex;font-size:16px;height:100%;justify-content:center;text-align:center}.mobile-edit-title{background:#0000;border:none;border-bottom:2px solid var(--border-light);box-sizing:border-box;color:var(--text-primary);flex-shrink:0;font-size:20px;font-weight:700;margin-bottom:8px;outline:none;padding:10px 0;width:100%}.mobile-edit-title:focus{border-bottom-color:var(--theme-primary,#ff4081)}.mobile-edit-title:disabled{color:var(--text-secondary);opacity:.6}.mobile-prop-chips{-webkit-overflow-scrolling:touch;align-items:center;display:flex;flex-shrink:0;gap:6px;margin-bottom:4px;min-height:32px;overflow-x:auto;padding:0 0 8px;scrollbar-width:none}.mobile-prop-chips::-webkit-scrollbar{display:none}.mobile-prop-chip{align-items:center;background:var(--bg-secondary,#f8f9fa);border:1px solid var(--border-light);border-radius:14px;box-sizing:border-box;color:var(--text-secondary);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:12px;gap:4px;height:28px;padding:4px 10px;transition:all .15s ease;white-space:nowrap}.mobile-prop-chip:active{background:var(--bg-tertiary);transform:scale(.96)}.mobile-prop-chips.locked .mobile-prop-chip{opacity:.5;pointer-events:none}.mobile-prop-chip--date{border-color:#ff40814d;color:var(--theme-primary,#ff4081)}.mobile-prop-chip--date.empty{border-style:dashed;color:var(--text-muted,#999)}.mobile-prop-chip--color{justify-content:center;min-width:28px;padding:4px 8px}.mobile-prop-color-dot{border:2px solid #fffc;border-radius:50%;box-shadow:0 0 0 1px var(--border-light);height:16px;width:16px}.mobile-prop-chip--pin{background:#ff40811a;border-color:#ff408133;font-size:14px;padding:4px 6px}.mobile-prop-chip--add-tag{border-style:dashed;color:var(--text-muted,#999);font-size:14px;padding:4px 10px}.mobile-prop-tags{display:contents}.mobile-prop-tag-chip{align-items:center;background:#e8f5e9;border:1px solid #c8e6c9;border-radius:14px;box-sizing:border-box;color:#2e7d32;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:11px;gap:2px;height:28px;max-width:100px;overflow:hidden;padding:4px 8px;text-overflow:ellipsis;white-space:nowrap}.mobile-prop-tag-chip:active{background:#c8e6c9}.mobile-edit-description-area{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden}.mobile-edit-description{-webkit-overflow-scrolling:touch;background:#0000;border:none;border-radius:0;border-top:1px solid var(--border-light);box-sizing:border-box;color:var(--text-primary);flex:1;font-family:inherit;font-size:16px;line-height:1.6;min-height:120px;outline:none;overflow-y:auto;padding:12px 0;resize:none;width:100%}.mobile-edit-description:focus{border-top-color:var(--theme-primary,#ff4081)}.mobile-edit-description:disabled{opacity:.6}.mobile-edit-description-preview{-webkit-overflow-scrolling:touch;background:#0000;border:none;border-radius:0;border-top:1px solid var(--border-light);box-sizing:border-box;flex:1;font-size:16px;line-height:1.6;max-height:none;min-height:0;overflow-y:auto;padding:12px 0;width:100%}.mobile-edit-description-toolbar{background:var(--bg-primary);border-top:1px solid var(--border-light);display:flex;flex-shrink:0;gap:4px;padding:6px 0}.mobile-edit-description-toolbar .btn-icon{align-items:center;background:var(--bg-secondary,#f8f9fa);border:1px solid var(--border-light);border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;height:36px;justify-content:center;width:36px}.mobile-edit-description-toolbar .btn-icon:active{background:var(--bg-tertiary)}.mobile-edit-description-toolbar .btn-icon.active{background:var(--theme-primary,#ff4081);border-color:var(--theme-primary,#ff4081);color:#fff}.mobile-action-sheet-backdrop{background:#0006;bottom:0;left:0;opacity:0;pointer-events:none;position:fixed;right:0;top:0;transition:opacity .3s ease;z-index:100}.mobile-action-sheet-backdrop.active{display:block;opacity:1;pointer-events:auto}.mobile-action-sheet{background:var(--bg-primary);border-top-left-radius:16px;border-top-right-radius:16px;bottom:0;left:0;padding:12px 16px calc(16px + env(safe-area-inset-bottom));position:fixed;right:0;transform:translateY(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:101}.mobile-action-sheet.active{display:block;transform:translateY(0)}.mobile-action-sheet-handle{background:var(--border-medium,#ddd);border-radius:2px;height:4px;margin:0 auto 12px;width:40px}.mobile-action-sheet-item{background:none;border:none;border-bottom:1px solid var(--border-light);color:var(--text-primary);cursor:pointer;display:block;font-size:16px;padding:14px;text-align:center;width:100%}.mobile-action-sheet-item:active{background:var(--bg-tertiary)}.mobile-action-sheet-item.danger{color:var(--color-danger,#f44336);font-weight:600}.mobile-action-sheet-item.cancel{border-bottom:none;color:var(--text-tertiary,#999);font-weight:600}.mobile-action-sheet-divider{background:var(--border-light);height:1px;margin:4px 0}.mobile-action-sheet-toggle{align-items:center;border-bottom:1px solid var(--border-light);color:var(--text-primary);cursor:pointer;display:flex;font-size:15px;justify-content:space-between;padding:12px 4px}.mobile-action-sheet-toggle input[type=checkbox]{accent-color:var(--theme-primary,#ff4081);height:20px;width:20px}.mobile-prop-sheet{max-height:60vh}.mobile-prop-sheet-header{border-bottom:1px solid var(--border-light);color:var(--text-primary);font-size:15px;font-weight:600;margin-bottom:12px;padding-bottom:12px;text-align:center}.mobile-prop-sheet-body{max-height:calc(60vh - 86px);overflow-y:auto;padding:0 4px}.mobile-prop-date-mode{display:flex;gap:8px;margin-bottom:16px}.mobile-prop-date-mode-btn{background:var(--bg-secondary,#f8f9fa);border:1px solid var(--border-light);border-radius:8px;color:var(--text-secondary);cursor:pointer;flex:1;font-size:14px;padding:8px;text-align:center;transition:all .15s}.mobile-prop-date-mode-btn.active{background:var(--theme-primary,#ff4081);border-color:var(--theme-primary,#ff4081);color:#fff}.mobile-prop-date-inputs{margin-bottom:12px}.mobile-prop-date-inputs label{color:var(--text-tertiary,#888);display:block;font-size:12px;margin-bottom:4px}.mobile-prop-date-inputs input[type=date]{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:8px;box-sizing:border-box;color:var(--text-primary);font-size:15px;padding:10px 12px;width:100%}.mobile-prop-date-duration{color:var(--text-tertiary,#888);font-size:13px;margin-bottom:12px;text-align:center}.mobile-prop-date-presets{display:flex;gap:8px;margin-bottom:12px}.mobile-prop-date-presets .task-date-preset{background:var(--bg-secondary,#f8f9fa);border:1px solid var(--border-light);border-radius:8px;color:var(--text-secondary);cursor:pointer;flex:1;font-size:13px;padding:8px;text-align:center}.mobile-prop-date-presets .task-date-preset:active{background:var(--bg-tertiary)}.mobile-prop-date-presets .task-date-preset-today{border-color:#ff40814d;color:var(--theme-primary,#ff4081)}.mobile-prop-date-clear{background:none;border:1px solid var(--border-light);border-radius:8px;color:var(--text-tertiary,#888);cursor:pointer;font-size:13px;margin-bottom:8px;padding:10px;width:100%}.mobile-prop-date-clear:active{background:var(--bg-tertiary)}.mobile-prop-color-history{margin-bottom:4px}.mobile-prop-color-section{margin-bottom:8px}.mobile-prop-color-section-label{color:var(--text-tertiary,#888);font-size:11px;font-weight:500;margin-bottom:4px}.mobile-prop-color-frequent,.mobile-prop-color-recent{display:grid;gap:12px;grid-template-columns:repeat(4,1fr);padding:8px 0}.mobile-prop-color-swatch-sm{border:3px solid #0000;border-radius:50%;cursor:pointer;height:48px;justify-self:center;padding:0;position:relative;transition:all .15s;width:48px}.mobile-prop-color-swatch-sm:active{transform:scale(.9)}.mobile-prop-color-swatch-sm.selected{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--bg-primary),0 0 0 4px var(--text-primary)}.mobile-prop-color-count{background:#000000b3;border-radius:8px;bottom:-2px;color:#fff;font-size:9px;line-height:1.2;padding:1px 4px;position:absolute;right:-2px}.mobile-prop-color-empty{color:var(--text-muted,#999);font-size:11px;padding:4px 0}.mobile-prop-color-grid{display:grid;gap:12px;grid-template-columns:repeat(4,1fr);padding:8px 0 16px}.mobile-prop-color-swatch{border:3px solid #0000;border-radius:50%;cursor:pointer;height:48px;justify-self:center;padding:0;transition:all .15s;width:48px}.mobile-prop-color-swatch:active{transform:scale(.9)}.mobile-prop-color-swatch.selected{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--bg-primary),0 0 0 4px var(--text-primary)}.mobile-prop-color-custom{align-items:center;border-top:1px solid var(--border-light);display:flex;gap:12px;padding:8px 0}.mobile-prop-color-custom label{color:var(--text-tertiary,#888);font-size:13px}.mobile-prop-color-custom input[type=color]{border:none;border-radius:8px;cursor:pointer;height:40px;padding:0;width:40px}.mobile-prop-tag-current{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px;min-height:28px}.mobile-prop-tag-current-chip{align-items:center;background:#e8f5e9;border:1px solid #c8e6c9;border-radius:14px;box-sizing:border-box;color:#2e7d32;display:inline-flex;font-size:12px;gap:4px;height:28px;padding:4px 8px}.mobile-prop-tag-current-chip .remove-tag{color:#666;cursor:pointer;font-size:14px;line-height:1;margin-left:2px}.mobile-prop-tag-current-chip .remove-tag:hover{color:#f44336}#mobileTagAddSheet .tags-autocomplete{border-bottom:none;border-radius:4px 4px 0 0;border-top:1px solid #ddd;bottom:100%;box-shadow:0 -4px 12px #0000001a;top:auto}#mobileTagAddSheet .mobile-prop-sheet-body{overflow:visible}.mobile-tag-filter-banner{align-items:center;background:#e3f2fd;border-bottom:1px solid #bbdefb;color:#1565c0;display:flex;flex-shrink:0;font-size:13px;height:32px;justify-content:space-between;padding:6px 16px}.mobile-tag-filter-label{flex:1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-tag-filter-clear{background:none;border:none;color:#1565c0;cursor:pointer;font-size:18px;line-height:1;padding:0 4px}.mobile-tag-sheet{max-height:50vh}.mobile-tag-sheet-header{align-items:center;border-bottom:1px solid #eee;display:flex;font-size:15px;font-weight:600;gap:8px;justify-content:center;margin-bottom:4px;padding-bottom:8px;position:relative;text-align:center}.mobile-tag-sheet-search{padding:4px 12px 8px}.mobile-tag-sheet-search .mobile-search-input{width:100%}.mobile-tag-sheet-list{max-height:calc(50vh - 80px);overflow-y:auto}.mobile-sidebar-search{align-items:center;border-bottom:1px solid var(--border-light,#eee);display:flex;flex-shrink:0;gap:6px;overflow:hidden;padding:8px 12px}.mobile-search-input{background:#f8f8f8;border:1px solid #ddd;border-radius:6px;box-sizing:border-box;flex:1;font-size:14px;min-width:0;outline:none;padding:8px 10px}.mobile-search-input:focus{background:#fff;border-color:#90caf9}.mobile-color-filter-btn{background:none;border:1px solid #0000;border-radius:6px;cursor:pointer;flex-shrink:0;font-size:18px;padding:6px}.mobile-color-filter-btn.active{background:#e3f2fd;border-color:#90caf9}.mobile-color-filter-banner{align-items:center;background:#fce4ec;border-bottom:1px solid #f8bbd0;color:#c62828;display:flex;flex-shrink:0;font-size:13px;height:32px;justify-content:space-between;padding:6px 16px}.mobile-color-filter-label{flex:1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-color-filter-clear{background:none;border:none;color:#c62828;cursor:pointer;font-size:18px;line-height:1;padding:0 4px}.mobile-color-sheet{max-height:50vh}.mobile-color-sheet-header{border-bottom:1px solid #eee;font-size:15px;font-weight:600;margin-bottom:8px;padding-bottom:8px;text-align:center}.mobile-color-sheet-list{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;padding:8px 16px}.mobile-color-sheet-swatch{border:3px solid #0000;border-radius:50%;cursor:pointer;height:40px;position:relative;transition:all .15s;width:40px}.mobile-color-sheet-swatch:active{transform:scale(.9)}.mobile-color-sheet-swatch.selected{border-color:#333;box-shadow:0 0 0 2px #fff,0 0 0 4px #333}.mobile-color-sheet-swatch.selected:after{color:#fff;content:"✓";font-size:16px;font-weight:700;left:50%;position:absolute;text-shadow:0 1px 2px #0009;top:50%;transform:translate(-50%,-50%)}.mobile-color-sheet-swatch-count{color:#888;font-size:9px;margin-top:2px;text-align:center}.mobile-color-sheet-clear{background:#fafafa;border:1px solid #ddd;border-radius:8px;color:#666;cursor:pointer;display:block;font-size:14px;margin:12px 16px;padding:10px;width:calc(100% - 32px)}.mobile-color-sheet-clear:active{background:#eee}.mobile-tag-tree-item{align-items:center;border-left:3px solid #0000;color:#333;cursor:pointer;display:flex;font-size:14px;gap:4px;min-height:44px;padding:10px 16px}.mobile-tag-tree-item:active{background:#0000000a}.mobile-tag-tree-item.selected{background:#2196f31a;border-left-color:#2196f3;font-weight:600}.mobile-tag-tree-toggle{color:#999;flex-shrink:0;font-size:11px;text-align:center;width:20px}.mobile-tag-tree-icon{flex-shrink:0;font-size:13px}.mobile-tag-tree-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-tag-tree-count{background:#f0f0f0;border-radius:10px;color:#999;flex-shrink:0;font-size:12px;min-width:24px;padding:2px 8px;text-align:center}.mobile-tag-tree-item.selected .mobile-tag-tree-count{background:#bbdefb;color:#1565c0}.mobile-tag-tree-weight{align-items:center;background:#0000000a;border-radius:10px;color:#aaa;display:flex;flex-shrink:0;font-size:11px;justify-content:center;margin-left:4px;min-height:28px;min-width:28px;padding:2px 8px}.mobile-tag-tree-weight-high{background:#2196f31a;color:#1976d2;font-weight:600}.mobile-tag-weight-input{-moz-appearance:textfield;border:2px solid #2196f3;border-radius:8px;flex-shrink:0;font-size:14px;height:36px;outline:none;padding:0 4px;text-align:center;width:52px}.mobile-tag-weight-input::-webkit-inner-spin-button,.mobile-tag-weight-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.mobile-tag-sort-toggle{align-items:center;background:#f0f0f0;border:1px solid #ddd;border-radius:6px;color:#666;display:flex;font-size:12px;font-weight:600;justify-content:center;min-height:32px;min-width:44px;padding:4px 10px;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.mobile-tag-sort-toggle.active{background:#2196f31a;border-color:#90caf9;color:#1976d2}.mobile-sidebar-header-actions{align-items:center;display:flex;gap:6px}.mobile-priority-sort-btn{align-items:center;background:none;border:1px solid #0000;border-radius:6px;display:flex;font-size:18px;justify-content:center;min-height:40px;min-width:40px;padding:4px 8px}.mobile-priority-sort-btn.active{background:#ff98001f;border-color:#ffb74d}.mobile-priority-badge{color:#ff9800;flex-shrink:0;font-size:11px;font-weight:600;margin-left:6px}.mobile-tag-filter-banner-actions{align-items:center;display:flex;gap:4px}.mobile-tag-reorder-btn{align-items:center;background:none;border:1px solid #0000;border-radius:6px;color:#1565c0;display:flex;font-size:18px;justify-content:center;min-height:36px;min-width:36px;padding:4px 8px}.mobile-tag-reorder-btn.active{background:#2196f31f;border-color:#90caf9}.mobile-reorder-item{align-items:center;border-bottom:1px solid #eee;display:flex!important;gap:8px;padding:10px 12px!important}.mobile-reorder-grip{color:#ccc;flex-shrink:0;font-size:18px;text-align:center;width:24px}.mobile-reorder-rank{background:#2196f314;border-radius:4px;color:#1976d2;flex-shrink:0;font-size:12px;font-weight:600;min-width:28px;padding:2px 6px;text-align:center}.mobile-reorder-arrow{align-items:center;background:none;border:1px solid #ddd;border-radius:6px;color:#666;display:flex;flex-shrink:0;font-size:12px;justify-content:center;min-height:36px;min-width:36px;padding:6px 10px}.mobile-reorder-arrow:active{background:#0000000f}.mobile-sidebar-item-tags{display:flex;gap:4px;margin-top:2px;overflow:hidden}.mobile-sidebar-tag-chip{background:#0000000f;border-radius:8px;color:#666;font-size:10px;line-height:16px;max-width:60px;overflow:hidden;padding:1px 6px;text-overflow:ellipsis;white-space:nowrap}.mobile-sidebar-tag-more{color:#999;font-size:10px;line-height:16px}.mobile-sidebar-item-content{display:flex;flex:1;flex-direction:column;gap:1px;min-width:0}.mobile-sidebar-item-content .item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#mobileTagFilterBtn.active{background:#e3f2fd;border-radius:8px}}.task-detail-header{background:#fff;border-bottom:1px solid #e5e7eb;padding:0 16px;position:sticky;top:0;z-index:10}.task-detail-header-inner{align-items:center;display:flex;height:56px;justify-content:space-between;margin:0 auto;max-width:1400px}.task-detail-logo{color:#ff4081;font-size:1.25rem;font-weight:700;text-decoration:none}.task-detail-gantt-link{color:#6b7280;font-size:.875rem;text-decoration:none;transition:color .15s}.task-detail-gantt-link:hover{color:#ff4081}.task-detail-main{margin:0 auto;max-width:1400px;padding:24px 16px 64px}.task-detail-breadcrumb ol{color:#9ca3af;display:flex;flex-wrap:wrap;font-size:.875rem;gap:4px;list-style:none;margin:0 0 20px;padding:0}.task-detail-breadcrumb li:after{color:#d1d5db;content:"/";margin-left:4px}.task-detail-breadcrumb li:last-child:after{display:none}.task-detail-breadcrumb a{color:#6b7280;text-decoration:none}.task-detail-breadcrumb a:hover{color:#ff4081;text-decoration:underline}.task-detail-breadcrumb li[aria-current=page] span{color:#111827;font-weight:500}.task-detail-article{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:24px;overflow:hidden;padding:0 24px 24px}.task-detail-color-bar{height:4px;margin:0 -24px 16px}.task-detail-badge{border-radius:999px;display:inline-block;font-size:.75rem;font-weight:600;margin-bottom:8px;padding:2px 10px}.badge-group{background:#dbeafe;color:#1d4ed8}.badge-task{background:#fce7f3;color:#be185d}.task-detail-title{color:#111827;font-size:1.75rem;font-weight:700;line-height:1.3;margin:0 0 16px}.task-detail-meta{border-bottom:1px solid #f3f4f6;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:20px;padding-bottom:16px}.task-detail-meta-item{align-items:center;display:flex;font-size:.875rem;gap:6px}.task-detail-meta-label{color:#9ca3af;font-weight:500}.task-detail-meta-item time{color:#374151;font-weight:500}.task-detail-flag{align-items:center;background:#fef3c7;border-radius:4px;color:#92400e;display:inline-flex;font-size:.75rem;font-weight:500;padding:2px 8px}.task-detail-description{margin-bottom:20px}.task-detail-description h2{color:#374151;font-size:1rem;font-weight:600;margin:0 0 8px}.task-detail-description-content{word-break:break-word}.task-detail-description-content.markdown-preview{background-color:initial;border:none;border-radius:0;max-height:none;min-height:auto;overflow-y:visible;padding:0}.task-detail-children{margin-top:20px}.task-detail-children h2{color:#374151;font-size:1rem;font-weight:600;margin:0 0 12px}.task-detail-children-list{list-style:none;margin:0;padding:0}.task-detail-child-link{align-items:center;border-radius:8px;color:#374151;display:flex;gap:8px;padding:10px 12px;text-decoration:none;transition:background .15s}.task-detail-child-link:hover{background:#f9fafb}.task-detail-child-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.task-detail-child-badge{border-radius:999px;flex-shrink:0;font-size:.625rem;font-weight:600;padding:1px 6px}.task-detail-child-name{flex:1;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-detail-child-dates{color:#9ca3af;flex-shrink:0;font-size:.75rem}.task-detail-back{text-align:center}.task-detail-back a{color:#6b7280;font-size:.875rem;text-decoration:none}.task-detail-back a:hover{color:#ff4081}.modal-detail-link{color:#6b7280;display:inline-block;font-size:.75rem;text-decoration:none;white-space:nowrap}.modal-detail-link:hover{color:#ff4081}.task-detail-description-content .youtube-embed-container{border-radius:8px;height:0;margin:16px 0;overflow:hidden;padding-bottom:56.25%;position:relative}.task-detail-description-content .youtube-embed-container iframe{height:100%;left:0;position:absolute;top:0;width:100%}@media (max-width:640px){.task-detail-main{padding:16px 12px 48px}.task-detail-article{padding:0 16px 16px}.task-detail-color-bar{margin:0 -16px 12px}.task-detail-title{font-size:1.375rem}.task-detail-child-dates{display:none}}.password-required-container{margin:80px auto;max-width:400px;padding:32px 24px;text-align:center}.password-required-container h1{color:#111827;font-size:1.5rem;font-weight:700;margin:0 0 8px}.password-required-container>p{color:#6b7280;font-size:.9375rem;margin:0 0 24px}.password-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:.875rem;margin-bottom:16px;padding:10px 14px}.password-required-container form{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.password-required-container input[type=password]{border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;font-size:.9375rem;outline:none;padding:10px 14px;transition:border-color .15s;width:100%}.password-required-container input[type=password]:focus{border-color:#ff4081;box-shadow:0 0 0 3px #ff40811a}.password-required-container button[type=submit]{background:#ff4081;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9375rem;font-weight:600;padding:10px 0;transition:background .15s}.password-required-container button[type=submit]:hover{background:#e91e63}.password-required-container>a{color:#6b7280;font-size:.875rem;text-decoration:none}.password-required-container>a:hover{color:#ff4081}.tags-input-container{align-items:center;background:var(--bg-secondary,#f9fafb);border:1px solid var(--border-light,#e5e7eb);border-radius:8px;cursor:text;display:flex;flex-wrap:wrap;gap:6px;min-height:38px;padding:6px 10px;position:relative;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.tags-input-container:focus-within{background:#fff;border-color:var(--theme-primary,#ff4081);box-shadow:0 0 0 3px #ff408114}.tags-chips{display:flex;flex-wrap:wrap;gap:4px}.tag-chip{align-items:center;background:#e8f5e9;border:none;border-radius:999px;color:#2e7d32;display:inline-flex;font-size:12px;gap:4px;line-height:1.4;max-width:200px;padding:3px 10px;transition:background .12s ease;white-space:nowrap}.tag-chip-label{overflow:hidden;text-overflow:ellipsis}.tag-chip-remove{align-items:center;border-radius:50%;color:#999;cursor:pointer;display:flex;font-size:13px;font-weight:600;height:16px;justify-content:center;line-height:1;margin-left:2px;padding:0;transition:all .12s ease;width:16px}.tag-chip-remove:hover{background:#ef4444;color:#fff}.tags-input{background:#0000!important;border:none!important;border-radius:0!important;box-shadow:none!important;flex:1;font-size:13px;min-width:100px;outline:none;padding:2px 0!important;width:auto!important}.tags-autocomplete{background:#fff;border:1px solid var(--border-light,#e5e7eb);border-radius:8px;box-shadow:0 4px 16px #0000001a;left:0;max-height:200px;overflow-y:auto;padding:2px;position:absolute;right:0;top:calc(100% + 4px);z-index:100}.tags-autocomplete-item{border-radius:4px;cursor:pointer;font-size:13px;margin:2px;padding:8px 12px;transition:background .1s ease}.tags-autocomplete-item.active,.tags-autocomplete-item:hover{background:var(--bg-secondary,#f3f4f6)}.task-item-tags{display:inline-flex;gap:3px;margin-left:6px;vertical-align:middle}.task-item-tag-mini{background:#e8f5e9;border:1px solid #c8e6c9;border-radius:2px;color:#555;display:inline-block;font-size:9px;line-height:16px;max-width:60px;overflow:hidden;padding:0 4px;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.task-item-tag-mini.tag-more{background:#f5f5f5;border-color:#e0e0e0;color:#888}.task-detail-tags{align-items:center;display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.task-detail-tag-chip{align-items:center;background:#e8f5e9;border:1px solid #c8e6c9;border-left:3px solid #4caf50;border-radius:3px;color:#333;display:inline-flex;font-size:13px;padding:3px 8px}.tag-sidebar-panel{background-color:#fafafa;border-right:1px solid var(--border-color);display:flex;flex-direction:column;flex-shrink:0;height:100%;overflow:hidden;width:220px;z-index:10}.tag-sidebar-header{align-items:center;background:linear-gradient(135deg,#2196f314,#4caf500f);border-bottom:1px solid var(--border-color);box-sizing:border-box;display:flex;height:60px;justify-content:space-between;padding:10px 12px}.tag-sidebar-title{color:#333;font-size:14px;font-weight:700}.tag-sidebar-close-btn{background:none;border:none;border-radius:4px;color:#999;cursor:pointer;font-size:18px;line-height:1;padding:2px 6px}.tag-sidebar-close-btn:hover{background:#0000000d;color:#333}.tag-sidebar-actions{border-bottom:1px solid #eee;display:flex;gap:6px;padding:8px 12px}.tag-sidebar-action-btn{background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;flex:1;font-size:12px;padding:6px 8px;text-align:center;transition:all .15s}.tag-sidebar-action-btn:hover{background:#f0f0f0}.tag-sidebar-action-btn.active{background:#2196f3;border-color:#2196f3;color:#fff}.tag-sort-toggle-btn{flex:0 0 auto!important;font-weight:600;min-width:40px}.tag-sidebar-tree{flex:1;overflow-y:auto;padding:8px 0}.tag-sidebar-empty{color:#999;font-size:13px;padding:20px 12px;text-align:center}.tag-tree-node-content{align-items:center;border-left:3px solid #0000;color:#333;cursor:pointer;display:flex;font-size:13px;gap:4px;padding:6px 12px;transition:background-color .1s}.tag-tree-node-content:hover{background-color:#0000000a}.tag-tree-node-content.selected{background-color:#2196f31a;border-left-color:#2196f3;font-weight:600}.tag-tree-toggle{color:#999;cursor:pointer;flex-shrink:0;font-size:10px;text-align:center;width:16px}.tag-tree-toggle:hover{color:#333}.tag-tree-icon{flex-shrink:0;font-size:12px}.tag-tree-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-tree-count{color:#999;flex-shrink:0;font-size:11px;margin-left:auto}.tag-tree-weight{background:#0000000a;border-radius:3px;color:#aaa;cursor:pointer;flex-shrink:0;font-size:10px;margin-left:4px;padding:1px 4px;transition:background .15s,color .15s}.tag-tree-weight:hover{background:#2196f31f;color:#1976d2}.tag-tree-weight-high{background:#2196f314;color:#1976d2;font-weight:600}.tag-weight-input{border:1px solid #2196f3;border-radius:3px;flex-shrink:0;font-size:11px;height:20px;outline:none;padding:0 2px;text-align:center;width:40px}.task-priority-badge{color:#ff9800}.assignee-avatar,.task-priority-badge{flex-shrink:0;font-size:10px;font-weight:600;margin-left:4px}.assignee-avatar{height:18px;vertical-align:middle;width:18px}.assignee-avatar,.task-bar-assignee{align-items:center;border-radius:50%;color:#fff;display:inline-flex;justify-content:center;line-height:1}.task-bar-assignee{font-size:9px;font-weight:600;height:16px;pointer-events:none;position:absolute;right:2px;top:50%;transform:translateY(-50%);width:16px;z-index:2}.task-readonly{opacity:.65}.task-readonly .task-bar{cursor:default}.tag-tree-children.collapsed{display:none}.tag-sidebar-filter{border-bottom:1px solid var(--border-color,#eee);flex-shrink:0;padding:6px 10px}.tag-sidebar-filter-inner{align-items:center;background:#0000000a;border:1px solid #0000;border-radius:6px;display:flex;gap:6px;height:28px;padding:0 8px;transition:background .15s,border-color .15s,box-shadow .15s}.tag-sidebar-filter-inner:hover{background:#0000000f}.tag-sidebar-filter-inner:focus-within{background:#fff;border-color:#90caf9;box-shadow:0 0 0 2px #2196f31f}.tag-sidebar-filter.has-query .tag-sidebar-filter-inner{background:#2196f30f;border-color:#2196f333}.tag-sidebar-filter-icon{flex-shrink:0;font-size:12px;line-height:1;opacity:.6;transition:opacity .15s}.tag-sidebar-filter-inner:focus-within .tag-sidebar-filter-icon{opacity:1}.tag-sidebar-filter-input{background:#0000;border:none;color:#333;flex:1;font-size:12px;line-height:28px;min-width:0;outline:none;padding:0}.tag-sidebar-filter-input::-moz-placeholder{color:#aaa;font-size:12px}.tag-sidebar-filter-input::placeholder{color:#aaa;font-size:12px}.tag-sidebar-filter-clear{align-items:center;background:#0000001a;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;flex-shrink:0;font-size:10px;height:16px;justify-content:center;line-height:1;padding:0;transition:background .1s;width:16px}.tag-sidebar-filter-clear:hover{background:#0003;color:#333}.tag-sidebar-filter-count{color:#888;display:block;font-size:10px;line-height:1;padding:2px 2px 0;text-align:right}.tag-tree-node-content.search-ancestor{opacity:.55}.tag-tree-node-content.search-match{background-color:#fff3cd66}.tag-tree-node-content.search-match .tag-tree-label{font-weight:600}.tag-search-highlight{background:#fff3cd;border-radius:2px;font-weight:700;padding:0 1px}.task-item.tag-group-header{background-color:#e3f2fd!important;border-left:4px solid #2196f3;font-size:13px;font-weight:700}.task-bar.tag-group-bar{background-color:#2196f31f!important;border:1px dashed #2196f3!important;border-radius:3px}.inline-tagged{background:#ffeb3b40;border-radius:3px;padding:1px 2px;position:relative}.inline-tag-badges{font-size:0;line-height:0;position:absolute;right:-3px;top:-1px;white-space:nowrap}.inline-tag-chip{background:#2196f380;border-radius:50%;cursor:pointer;display:inline-block;font-size:0;height:6px;margin:0 1px;padding:0;width:6px}.inline-tag-chip:hover{background:#2196f3cc}@media (max-width:768px){#toggleTagSidebarBtn,.tag-sidebar-panel{display:none!important}}.batch-action-toolbar{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff2;border:1px solid var(--border-medium,#ddd);border-radius:12px;bottom:24px;box-shadow:0 8px 32px #0000001f,0 2px 8px #0000000f;display:flex;font-family:Noto Sans KR,sans-serif;gap:4px;left:50%;opacity:0;padding:8px 12px;pointer-events:none;position:fixed;transform:translateX(-50%) translateY(80px);transition:transform .3s cubic-bezier(.34,1.56,.64,1),opacity .2s ease;white-space:nowrap;z-index:9000}[data-theme=dark] .batch-action-toolbar{background:#282828f2;border-color:var(--border-medium,#555)}.batch-action-toolbar.visible{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0)}.batch-action-count{color:var(--text-primary,#333);font-size:13px;font-weight:500;padding:0 8px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.batch-action-count strong{color:var(--theme-primary,#2196f3);font-weight:700}.batch-action-divider{background:var(--border-light,#e0e0e0);flex-shrink:0;height:24px;margin:0 4px;width:1px}.batch-action-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--text-primary,#333);cursor:pointer;display:flex;font-family:inherit;font-size:13px;font-weight:500;gap:5px;padding:6px 12px;transition:background .15s ease,transform .1s ease;white-space:nowrap}.batch-action-btn:hover{background:var(--bg-hover,#0000000f)}.batch-action-btn:active{transform:scale(.96)}.batch-action-btn.active{background:var(--theme-primary-alpha-15,#2196f326);color:var(--theme-primary,#2196f3)}.batch-action-btn--danger:hover{background:#e539351a;color:#e53935}.batch-action-btn--ghost{color:var(--text-muted,#999);padding:6px 8px}.batch-action-btn--ghost:hover{color:var(--text-primary,#333)}.batch-action-btn:disabled{cursor:not-allowed;opacity:.4}.batch-action-btn:disabled:hover{background:#0000;transform:none}.batch-action-icon{font-size:14px;line-height:1}.batch-tag-popover{background:var(--bg-primary,#fff);border:1px solid var(--border-light,#e0e0e0);border-radius:12px;box-shadow:0 12px 36px #00000026,0 4px 12px #00000014;display:none;flex-direction:column;max-height:420px;overflow:hidden;position:fixed;width:320px;z-index:10002}.batch-tag-popover.active{animation:batchPopoverIn .2s ease forwards;display:flex}@keyframes batchPopoverIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.batch-popover-header{align-items:center;border-bottom:1px solid var(--border-light,#e0e0e0);display:flex;justify-content:space-between;padding:12px 16px 10px}.batch-popover-title{color:var(--text-primary,#333);font-size:13px;font-weight:600}.batch-popover-close{align-items:center;background:#0000;border:none;border-radius:6px;color:var(--text-muted,#999);cursor:pointer;display:flex;font-size:14px;height:24px;justify-content:center;transition:background .15s;width:24px}.batch-popover-close:hover{background:var(--bg-hover,#0000000f);color:var(--text-primary,#333)}.batch-popover-search{border-bottom:1px solid var(--border-light,#e0e0e0);padding:10px 16px}.batch-popover-search input{background:var(--bg-secondary,#f8f9fa);border:1px solid var(--border-medium,#ddd);border-radius:8px;box-sizing:border-box;color:var(--text-primary,#333);font-family:inherit;font-size:13px;padding:8px 12px;transition:border-color .2s,box-shadow .2s;width:100%}.batch-popover-search input:focus{background:var(--bg-primary,#fff);border-color:var(--theme-primary,#2196f3);box-shadow:0 0 0 3px var(--theme-primary-alpha-15,#2196f326);outline:none}.batch-popover-search input::-moz-placeholder{color:var(--text-muted,#999)}.batch-popover-search input::placeholder{color:var(--text-muted,#999)}.batch-tag-list{flex:1;max-height:240px;overflow-y:auto;padding:4px 0}.batch-tag-item{align-items:center;cursor:pointer;display:flex;gap:8px;padding:8px 16px;transition:background .1s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.batch-tag-item:hover{background:var(--bg-hover,#0000000a)}.batch-tag-item input[type=checkbox]{accent-color:var(--theme-primary,#2196f3);cursor:pointer;flex-shrink:0;height:16px;margin:0;width:16px}.batch-tag-item-label{color:var(--text-primary,#333);flex:1;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.batch-tag-item-count{color:var(--text-muted,#999);flex-shrink:0;font-size:11px}.batch-tag-empty{color:var(--text-muted,#999);font-size:13px;padding:20px 16px;text-align:center}.batch-tag-create{align-items:center;border-top:1px solid var(--border-light,#e0e0e0);color:var(--theme-primary,#2196f3);cursor:pointer;display:flex;font-size:13px;gap:6px;padding:10px 16px;transition:background .1s}.batch-tag-create:hover{background:var(--theme-primary-alpha-15,#2196f314)}.batch-popover-footer{border-top:1px solid var(--border-light,#e0e0e0);padding:10px 16px}.batch-popover-apply{background:var(--theme-primary,#2196f3);border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;padding:8px 16px;transition:background .15s,opacity .15s;width:100%}.batch-popover-apply:hover{background:#1976d2}.batch-popover-apply:disabled{cursor:not-allowed;opacity:.5}.batch-popover-apply--danger{background:#e53935}.batch-popover-apply--danger:hover{background:#c62828}.batch-color-popover{background:var(--bg-primary,#fff);border:1px solid var(--border-light,#e0e0e0);border-radius:12px;box-shadow:0 12px 36px #00000026,0 4px 12px #00000014;display:none;flex-direction:column;overflow:hidden;position:fixed;width:280px;z-index:10002}.batch-color-popover.active{animation:batchPopoverIn .2s ease forwards;display:flex}.batch-color-grid{display:grid;gap:8px;grid-template-columns:repeat(6,1fr);padding:16px}.batch-color-swatch{border:2px solid #0000;border-radius:8px;cursor:pointer;height:32px;justify-self:center;padding:0;transition:transform .15s,border-color .15s;width:32px}.batch-color-swatch:hover{border-color:var(--text-primary,#333);transform:scale(1.15)}.batch-color-swatch:active{transform:scale(.95)}.batch-color-custom{align-items:center;border-top:1px solid var(--border-light,#e0e0e0);display:flex;gap:10px;padding:10px 16px}.batch-color-custom label{color:var(--text-muted,#999);font-size:12px}.batch-color-custom input[type=color]{border:none;border-radius:6px;cursor:pointer;height:32px;padding:0;width:32px}.batch-toast{border-radius:10px;box-shadow:0 4px 16px #00000026;color:#fff;font-family:Noto Sans KR,sans-serif;font-size:13px;font-weight:500;opacity:0;padding:10px 20px;pointer-events:none;position:fixed;right:20px;top:20px;transform:translateX(40px);transition:opacity .3s ease,transform .3s ease;z-index:11000}.batch-toast.visible{opacity:1;pointer-events:auto;transform:translateX(0)}.batch-toast--success{background:#28a745}.batch-toast--error{background:#e53935}@keyframes batch-select-flash{0%{background-color:#2196f34d}to{background-color:initial}}.task-item.batch-flash{animation:batch-select-flash .4s ease-out}.batch-popover-backdrop{background:#0000;inset:0;position:fixed;z-index:10001}@media (max-width:768px){.batch-action-toolbar{border-radius:16px 16px 0 0;bottom:0;gap:2px;justify-content:center;left:0;padding:12px 12px calc(12px + env(safe-area-inset-bottom));right:0;transform:translateX(0) translateY(100%)}.batch-action-toolbar.visible{transform:translateX(0) translateY(0)}.batch-action-btn .batch-action-label{display:none}.batch-action-btn{padding:8px 12px}.batch-action-icon{font-size:18px}.batch-action-divider{margin:0 2px}.batch-color-popover,.batch-tag-popover{animation-name:batchBottomSheetIn;border-radius:16px 16px 0 0;bottom:0;left:0;max-height:70vh;position:fixed;right:0;top:auto;width:100%}@keyframes batchBottomSheetIn{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.batch-popover-backdrop{background:#0000004d}.mobile-select-checkbox{accent-color:var(--theme-primary,#2196f3);cursor:pointer;flex-shrink:0;height:20px;margin:0 8px 0 0;width:20px}.mobile-sidebar-header.select-mode{background:var(--theme-primary,#2196f3);color:#fff}.mobile-select-header-info{align-items:center;display:flex;justify-content:space-between;width:100%}.mobile-select-count{color:#fff;font-size:14px;font-weight:600}.mobile-select-cancel-btn{background:#fff3!important;border:none!important;border-radius:6px;color:#fff!important;font-size:13px;padding:4px 12px}.mobile-select-cancel-btn:active{background:#ffffff4d!important}.mobile-sidebar-item.selected .mobile-select-checkbox{transform:scale(1.05)}}#onboarding-overlay{align-items:center;display:flex;height:100%;justify-content:center;min-height:300px}.onboarding-content{padding:40px 20px;text-align:center}.onboarding-icon{font-size:48px;margin-bottom:12px}.onboarding-content h3{color:#333;font-size:18px;margin:0 0 8px}.onboarding-content p{color:#666;font-size:14px;margin:0 0 24px}.onboarding-content button{border:none;border-radius:6px;cursor:pointer;display:block;font-size:14px;margin:8px auto;max-width:240px;padding:10px 16px;transition:background .2s;width:100%}.onboarding-content .btn-primary{background:#4285f4;color:#fff}.onboarding-content .btn-primary:hover{background:#357ae8}.onboarding-content .btn-secondary{background:#f0f0f0;color:#333}.onboarding-content .btn-secondary:hover{background:#e0e0e0}.pwa-banner{align-items:center;background:#fff;border-top:1px solid #e5e7eb;bottom:0;box-shadow:0 -4px 20px #0000001f;display:none;gap:10px;left:0;padding:12px 16px calc(12px + env(safe-area-inset-bottom, 0px));position:fixed;right:0;z-index:2000}.pwa-banner.show{animation:pwaSlideUp .3s ease forwards;display:flex}@keyframes pwaSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.pwa-banner-icon{border-radius:10px;flex-shrink:0;height:40px;width:40px}.pwa-banner-text{display:flex;flex:1;flex-direction:column;min-width:0}.pwa-banner-text strong{color:#111;font-size:13px;font-weight:700}.pwa-banner-text span{color:#888;font-size:12px;line-height:1.4}.pwa-banner-install{background:var(--theme-primary,#ff4081);border:none;border-radius:8px;color:#fff;cursor:pointer;flex-shrink:0;font-size:13px;font-weight:600;padding:7px 16px;white-space:nowrap}.pwa-banner-close{background:none;border:none;color:#aaa;cursor:pointer;flex-shrink:0;font-size:20px;line-height:1;padding:4px}@media (min-width:769px){.pwa-banner{display:none!important}}.context-recall-card{animation:recallFadeIn .2s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff7;border:1px solid #e0e0e0;border-radius:10px;box-shadow:0 4px 20px #0000001f;max-height:360px;min-width:260px;overflow-y:auto;position:fixed;z-index:10001}@keyframes recallFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.context-recall-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:8px 12px 4px}.context-recall-title{color:#888;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.context-recall-close{background:none;border:none;color:#999;cursor:pointer;font-size:16px;line-height:1;padding:0 2px}.context-recall-close:hover{color:#333}.context-recall-list{padding:4px 0}.context-recall-item{border-bottom:1px solid #f5f5f5;cursor:pointer;padding:8px 12px;transition:background .15s}.context-recall-item:last-child{border-bottom:none}.context-recall-item:hover{background:#f8f9fa}.context-recall-item-header{align-items:center;display:flex;gap:6px;margin-bottom:3px}.context-recall-task-name{color:#333;cursor:pointer;flex:1;font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.context-recall-task-name:hover{color:#1976d2;text-decoration:underline}.context-recall-match-type{border-radius:8px;flex-shrink:0;font-size:9px;font-weight:500;padding:1px 5px}.context-recall-match-type.keyword{background:#e3f2fd;color:#1976d2}.context-recall-match-type.tag-bridge{background:#f3e5f5;color:#7b1fa2}.context-recall-match-type.cooccurrence{background:#fff3e0;color:#e65100}.context-recall-match-type.synonym{background:#e8f5e9;color:#2e7d32}.context-recall-snippet{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#666;display:-webkit-box;font-size:12px;line-height:1.4;overflow:hidden}.context-recall-snippet mark{background:#fff9c4;border-radius:2px;color:inherit;padding:0 1px}@media (min-width:769px){.context-recall-card{border-radius:10px;max-height:240px;max-width:280px;opacity:.95}}@media (max-width:768px){.context-recall-card{border-radius:12px 12px 0 0;max-height:130px;min-width:auto}}.modal-back-btn{align-items:center;background:none;border:1px solid #0000;border-radius:6px;color:#888;cursor:pointer;display:flex;flex-shrink:0;justify-content:center;margin-right:8px;padding:4px 6px;transition:all .15s}.modal-back-btn:hover{background:#f0f0f0;border-color:#ddd;color:#333}.mobile-recall-back-bar{padding:4px 0 8px}.mobile-recall-back-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:16px;color:#888;cursor:pointer;display:inline-flex;font-size:12px;gap:4px;padding:4px 12px 4px 8px;transition:all .15s}.mobile-recall-back-btn:hover{background:#f5f5f5;color:#333}#mobileRecallBackLabel{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-panel{background:var(--bg-secondary);border-left:1px solid var(--border-light);display:flex;flex:1;flex-direction:column;min-width:0;overflow:hidden}.editor-panel-header{background:linear-gradient(135deg,var(--theme-primary-alpha-05) 0,var(--theme-secondary-alpha-03) 100%);border-bottom:1px solid var(--theme-primary-alpha-10);flex-shrink:0;padding:16px 20px 12px}.editor-task-name{background:#0000;border:none;border-bottom:2px solid #0000;color:var(--text-primary);font-family:Noto Sans KR,sans-serif;font-size:20px;font-weight:700;letter-spacing:-.01em;outline:none;padding:4px 0;transition:border-color .3s cubic-bezier(.4,0,.2,1);width:100%}.editor-task-name:focus{--tw-ring-shadow:none;border-bottom-color:var(--theme-primary);box-shadow:none}.editor-task-name:disabled{color:var(--text-muted);cursor:default}.editor-task-name::-moz-placeholder{color:var(--text-muted);font-weight:400}.editor-task-name::placeholder{color:var(--text-muted);font-weight:400}.editor-toolbar{background:var(--bg-primary);border-bottom:1px solid var(--theme-primary-alpha-08);flex-shrink:0;padding:8px 20px}.editor-toolbar,.editor-toolbar .toolbar-group{align-items:center;display:flex;gap:2px}.editor-toolbar .toolbar-divider{background:var(--border-light);flex-shrink:0;height:20px;margin:0 8px;width:1px}.editor-toolbar button{align-items:center;background:none;border:1px solid #0000;border-radius:8px;color:var(--text-tertiary);cursor:pointer;display:flex;font-size:13px;font-weight:600;justify-content:center;line-height:1;padding:6px 10px;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1)}.editor-toolbar button:hover{background:var(--theme-primary-alpha-08);border-color:var(--theme-primary-alpha-12);color:var(--theme-primary);transform:translateY(-1px)}.editor-toolbar button:active{background:var(--theme-primary-alpha-15);transform:translateY(0) scale(.95)}.editor-container{background:var(--bg-primary);box-shadow:inset 0 2px 8px #0000000a;flex:1;height:0;min-height:0;overflow:hidden;position:relative}.editor-placeholder,.editor-wrap{inset:0;position:absolute}.editor-placeholder{align-items:center;display:flex;flex-direction:column;gap:0;overflow-y:auto;padding:48px 24px 32px}.ep-hero{margin-bottom:24px;text-align:center}.ep-hero-icon{align-items:center;animation:epIconFloat 4s ease-in-out infinite;background:linear-gradient(135deg,var(--theme-primary-alpha-10) 0,var(--theme-secondary-alpha-08,var(--theme-primary-alpha-05)) 100%);border-radius:16px;color:var(--theme-primary);display:inline-flex;height:56px;justify-content:center;margin-bottom:16px;width:56px}@keyframes epIconFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.ep-hero-title{color:var(--text-primary,#333);font-size:18px;font-weight:700;letter-spacing:-.01em;margin:0 0 6px}.ep-hero-subtitle{color:var(--text-muted);font-size:13px;line-height:1.5;margin:0}.ep-new-note-btn{align-items:center;background:linear-gradient(135deg,var(--theme-primary) 0,var(--theme-primary-light,var(--theme-primary)) 100%);border:none;border-radius:10px;box-shadow:0 2px 8px var(--theme-primary-alpha-30,#00000026);color:#fff;cursor:pointer;display:inline-flex;font-family:Noto Sans KR,sans-serif;font-size:14px;font-weight:600;gap:8px;margin-bottom:28px;padding:12px 28px;transition:all .2s}.ep-new-note-btn:hover{box-shadow:0 4px 16px var(--theme-primary-alpha-30,#0003);transform:translateY(-1px)}.ep-new-note-btn:active{transform:translateY(0)}.ep-smart-input-wrap{margin-bottom:20px;max-width:420px;width:100%}.ep-divider-label{align-items:center;color:var(--text-muted);display:flex;font-size:11px;font-weight:600;gap:12px;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.ep-divider-label:after,.ep-divider-label:before{background:var(--border-light,#e0e0e0);content:"";flex:1;height:1px}.ep-smart-input{background:var(--bg-secondary,#f8f8f8);border:1px solid var(--border-light,#ddd);border-radius:10px;box-sizing:border-box;color:var(--text-primary,#333);font-family:Noto Sans KR,sans-serif;font-size:13px;outline:none;padding:10px 14px;transition:border-color .2s,box-shadow .2s;width:100%}.ep-smart-input:focus{background:var(--bg-primary,#fff);border-color:var(--theme-primary,#4a90d9);box-shadow:0 0 0 3px var(--theme-primary-alpha-10,#4a90d91a)}.ep-sources{max-width:420px;width:100%}.ep-category-label{color:var(--text-muted,#999);font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;margin-top:4px;text-transform:uppercase}.ep-source-grid{display:grid;gap:8px;grid-template-columns:1fr 1fr;margin-bottom:16px}.ep-source-item{align-items:center;background:var(--bg-primary,#fff);border:1px solid var(--border-light,#e0e0e0);border-radius:10px;cursor:pointer;display:flex;font-family:Noto Sans KR,sans-serif;gap:10px;padding:10px 12px;position:relative;transition:all .15s}.ep-source-item:hover:not(.disabled){background:var(--theme-primary-alpha-08,#4a90d914);border-color:var(--theme-primary-alpha-20,#4a90d933);box-shadow:0 2px 8px #0000000a;transform:translateY(-1px)}.ep-source-item.disabled{cursor:default;opacity:.45}.ep-source-icon{align-items:center;background:var(--bg-secondary,#f5f5f5);border-radius:8px;display:flex;flex-shrink:0;height:28px;justify-content:center;width:28px}.ep-source-icon svg{height:18px;width:18px}.ep-source-info{flex:1;min-width:0}.ep-source-label{color:var(--text-primary,#333);display:block;font-size:13px;font-weight:500}.ep-source-desc{color:var(--text-muted);display:block;font-size:10px;margin-top:1px}.ep-source-badge{background:var(--bg-tertiary,#f0f0f0);border-radius:4px;color:var(--text-muted,#aaa);font-size:9px;padding:2px 6px;white-space:nowrap}.ep-hint{color:var(--text-muted);font-size:12px;margin-top:auto;opacity:.6;padding-top:16px}.editor-toolbar button.active{background:var(--theme-primary-alpha-15);border-color:var(--theme-primary-alpha-20);color:var(--theme-primary)}.editor-meta-section{background:var(--bg-primary);border-bottom:1px solid var(--theme-primary-alpha-08);flex-shrink:0}.editor-meta-toggle{align-items:center;background:none;border:none;color:var(--text-secondary);cursor:pointer;display:flex;font-family:Noto Sans KR,sans-serif;font-size:12px;font-weight:600;justify-content:space-between;padding:8px 20px;transition:all .2s;width:100%}.editor-meta-toggle:hover{background:var(--theme-primary-alpha-05);color:var(--text-primary)}.editor-meta-chevron{transition:transform .2s}.editor-meta-toggle.expanded .editor-meta-chevron{transform:rotate(180deg)}.editor-meta-body{padding:4px 0 12px}.editor-meta-row{align-items:center;display:flex;font-size:13px;gap:8px;padding:5px 20px}.editor-meta-row>label{color:var(--text-muted);flex-shrink:0;font-size:12px;font-weight:500;width:52px}.editor-meta-row-tags{align-items:flex-start}.editor-meta-row-tags>label{padding-top:6px}.editor-meta-dates{align-items:center;display:flex;flex:1;gap:6px;min-width:0}.editor-meta-input{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:6px;color:var(--text-primary);font-family:Noto Sans KR,sans-serif;font-size:12px;max-width:140px;outline:none;padding:4px 8px;transition:border-color .2s}.editor-meta-input:focus{border-color:var(--theme-primary)}.editor-date-range-toggle{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:6px;color:var(--text-muted);cursor:pointer;font-family:Noto Sans KR,sans-serif;font-size:12px;padding:3px 8px;transition:all .2s}.editor-date-range-toggle:hover{border-color:var(--theme-primary-alpha-20);color:var(--theme-primary)}.editor-date-end-collapsed{display:none!important}.editor-task-duration{color:var(--text-muted);font-size:11px;white-space:nowrap}.editor-preset-btns{display:flex;flex:1;gap:4px}.editor-preset-btns button{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:4px;color:var(--text-muted);cursor:pointer;font-family:Noto Sans KR,sans-serif;font-size:11px;padding:2px 8px;transition:all .2s}.editor-preset-btns button:hover{background:var(--theme-primary-alpha-05);border-color:var(--theme-primary-alpha-20);color:var(--theme-primary)}.editor-meta-color{align-items:center;display:flex;gap:8px}.editor-color-input{background:none;border:1px solid var(--border-light);border-radius:6px;cursor:pointer;height:28px;padding:2px;width:28px}.editor-color-hex{color:var(--text-muted);font-family:monospace;font-size:12px}.editor-tags-container{flex:1;min-width:0;position:relative}.editor-tags-chips{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:4px}.editor-tags-input{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:6px;color:var(--text-primary);font-family:Noto Sans KR,sans-serif;font-size:12px;outline:none;padding:4px 8px;transition:border-color .2s;width:100%}.editor-tags-input:focus{border-color:var(--theme-primary)}.editor-tags-autocomplete{background:var(--bg-primary);box-shadow:var(--shadow-md);left:0;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:100}.editor-meta-select,.editor-tags-autocomplete{border:1px solid var(--border-light);border-radius:6px}.editor-meta-select{background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;flex:1;font-family:Noto Sans KR,sans-serif;font-size:12px;outline:none;padding:4px 8px}.editor-meta-select:focus{border-color:var(--theme-primary)}.editor-meta-checkboxes>label{width:0}.editor-checkbox-group{display:flex;flex:1;gap:16px}.editor-checkbox{align-items:center;color:var(--text-secondary);cursor:pointer;display:flex;font-size:12px;gap:4px;white-space:nowrap}.editor-checkbox input[type=checkbox]{accent-color:var(--theme-primary)}.editor-container.split-mode{display:flex;flex-direction:row}.editor-container.split-mode>.editor-wrap{flex:1;height:100%;min-width:0;order:0;overflow:hidden;position:relative}.editor-container.split-mode>.editor-preview-wrap{display:flex;flex:1;flex-direction:column;height:100%;min-width:0;order:1;position:relative}.editor-container.split-mode>.editor-preview-wrap>.editor-preview{border-left:1px solid var(--border-light);flex:1;inset:auto;min-height:0;overflow-y:auto;padding:16px 20px;position:relative;z-index:auto}.editor-container.split-mode>.editor-placeholder{display:none}.editor-scroll-sync-btn{opacity:.6;position:absolute;right:8px;top:8px;transition:opacity .2s;z-index:15}.editor-scroll-sync-btn:hover{opacity:1}.editor-scroll-sync-btn.active{background:var(--theme-primary-alpha-08);border-color:var(--theme-primary);color:var(--theme-primary);opacity:1}.editor-preview-wrap{background:var(--bg-primary);inset:0;position:absolute;z-index:10}.editor-preview{background:var(--bg-primary);border:none;box-sizing:border-box;color:var(--text-primary);font-size:14px;height:100%;line-height:1.7;max-height:none;min-height:0;overflow-y:auto;padding:16px 20px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.edit-unlocked .editor-preview{-webkit-user-select:text;-moz-user-select:text;user-select:text}.editor-preview h1,.editor-preview h2,.editor-preview h3{color:var(--text-primary);font-weight:700;margin-bottom:.5em;margin-top:1.2em}.editor-preview h1{font-size:1.5em}.editor-preview h2{font-size:1.3em}.editor-preview h3{font-size:1.1em}.editor-preview p{margin:.6em 0}.editor-preview code{background:var(--theme-primary-alpha-08);border-radius:4px;font-size:.9em;padding:2px 6px}.editor-preview pre{background:#1e1e1e;border-radius:8px;color:#d4d4d4;margin:.8em 0;overflow-x:auto;padding:12px 16px}.editor-preview pre code{background:none;font-size:13px;padding:0}.editor-preview blockquote{border-left:3px solid var(--theme-primary-alpha-30);color:var(--text-secondary);margin:.8em 0;padding:4px 12px}.editor-preview ol,.editor-preview ul{margin:.6em 0;padding-left:1.5em}.editor-preview a{color:var(--theme-primary);text-decoration:none}.editor-preview a:hover{text-decoration:underline}.editor-preview img{border-radius:8px;max-width:100%}.editor-panel.editor-fullscreen{border:none;inset:0;position:fixed;z-index:9999}.ai-panel{background:var(--bg-secondary);border-left:1px solid var(--border-light);display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;position:relative;width:380px}.ai-panel-resizer{background-color:initial;cursor:col-resize;height:100%;left:0;position:absolute;top:0;transition:background-color .2s;width:6px;z-index:20}.ai-panel-resizer:hover{background-color:var(--theme-primary)}.edge-hover-trigger{display:none;height:100%;position:absolute;top:0;width:12px;z-index:20}.edge-hover-trigger.left{left:0}.edge-hover-trigger.right{right:0}.edge-expand-btn{align-items:center;background:var(--theme-primary,#ff4081);border:none;border-radius:0 6px 6px 0;box-shadow:2px 0 8px #00000026;color:#fff;cursor:pointer;display:none;height:48px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:opacity .15s ease;width:24px;z-index:21}.edge-expand-btn.right-side{border-radius:6px 0 0 6px;right:0}.edge-hover-trigger:hover .edge-expand-btn{display:flex}.editor-mode .ai-panel,.editor-mode .task-list-panel{overflow:hidden}.editor-mode.panel-transitions .ai-panel,.editor-mode.panel-transitions .task-list-panel{transition:width .2s ease,min-width .2s ease,opacity .15s ease}.ai-panel.collapsed,.task-list-panel.collapsed{border:none!important;flex-basis:0!important;min-width:0!important;opacity:0;padding:0!important;pointer-events:none;width:0!important}.import-popover-overlay{background:#00000026;inset:0;position:fixed;z-index:999}.import-popover{animation:import-popover-in .2s ease;background:var(--bg-primary,#fff);border:1px solid var(--border-light,#e0e0e0);border-radius:12px;box-shadow:0 8px 32px #0000001f;left:50%;margin-top:4px;max-height:480px;overflow-y:auto;padding:16px;position:absolute;top:100%;transform:translateX(-50%);width:360px;z-index:1000}@keyframes import-popover-in{0%{opacity:0;transform:translateX(-50%) translateY(-4px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.import-popover-title{color:var(--text-primary,#333);font-size:14px;font-weight:700;margin-bottom:12px}.import-smart-input-wrap{margin-bottom:14px}.import-smart-input{background:var(--bg-secondary,#f8f8f8);border:1px solid var(--border-light,#ddd);border-radius:8px;box-sizing:border-box;color:var(--text-primary,#333);font-family:Noto Sans KR,sans-serif;font-size:13px;outline:none;padding:9px 12px;transition:border-color .2s,box-shadow .2s;width:100%}.import-smart-input:focus{border-color:var(--theme-primary,#4a90d9);box-shadow:0 0 0 3px var(--theme-primary-alpha-10,#4a90d91a)}.import-category-label{color:var(--text-muted,#999);font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:6px;margin-top:10px;text-transform:uppercase}.import-category-label:first-of-type{margin-top:0}.import-provider-grid{display:grid;gap:6px;grid-template-columns:1fr 1fr;margin-bottom:8px}.import-provider-item{align-items:center;background:var(--bg-primary,#fff);border:1px solid var(--border-light,#e0e0e0);border-radius:8px;cursor:pointer;display:flex;font-family:Noto Sans KR,sans-serif;gap:8px;padding:8px 10px;position:relative;transition:all .15s}.import-provider-item:hover:not(.disabled){background:var(--theme-primary-alpha-08,#4a90d914);border-color:var(--theme-primary-alpha-20,#4a90d933);transform:translateY(-1px)}.import-provider-item.disabled{cursor:default;opacity:.45}.import-provider-icon{align-items:center;display:flex;flex-shrink:0;justify-content:center}.import-provider-icon,.import-provider-icon svg{height:18px;width:18px}.import-provider-label{color:var(--text-primary,#333);font-size:12px;font-weight:500;white-space:nowrap}.import-provider-badge{background:var(--bg-tertiary,#f0f0f0);border-radius:4px;color:var(--text-muted,#aaa);font-size:9px;margin-left:auto;padding:1px 6px;white-space:nowrap}.import-tooltip{animation:import-tooltip-in .2s ease;background:var(--color-gray-800,#333);border-radius:6px;bottom:calc(100% + 6px);color:#fff;font-size:11px;left:50%;padding:4px 10px;pointer-events:none;position:absolute;transform:translateX(-50%);white-space:nowrap;z-index:10}@keyframes import-tooltip-in{0%{opacity:0;transform:translateX(-50%) translateY(4px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.import-detail-header{align-items:center;display:flex;gap:8px;margin-bottom:14px}.import-detail-back{align-items:center;background:var(--bg-secondary,#f8f8f8);border:1px solid var(--border-light,#ddd);border-radius:6px;color:var(--text-secondary,#666);cursor:pointer;display:flex;font-size:14px;height:28px;justify-content:center;transition:all .15s;width:28px}.import-detail-back:hover{background:var(--theme-primary-alpha-08,#4a90d914);color:var(--theme-primary,#4a90d9)}.import-detail-title{align-items:center;color:var(--text-primary,#333);display:flex;font-size:14px;font-weight:700;gap:6px}.import-detail-title svg{height:18px;width:18px}.import-detail-input-row{display:flex;gap:8px;margin-bottom:4px}.import-detail-input{background:var(--bg-secondary,#f8f8f8);border:1px solid var(--border-light,#ddd);border-radius:8px;color:var(--text-primary,#333);flex:1;font-family:Noto Sans KR,sans-serif;font-size:13px;outline:none;padding:9px 12px;transition:border-color .2s,box-shadow .2s}.import-detail-input:focus{border-color:var(--theme-primary,#4a90d9);box-shadow:0 0 0 3px var(--theme-primary-alpha-10,#4a90d91a)}.import-detail-extract-btn{background:var(--theme-primary,#4a90d9);border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:Noto Sans KR,sans-serif;font-size:13px;font-weight:600;padding:8px 18px;transition:filter .15s,transform .15s;white-space:nowrap}.import-detail-extract-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.import-detail-status{margin-top:12px}.import-detail-loading{align-items:center;display:flex;gap:10px;padding:8px 0}.import-detail-thumb{border-radius:6px;flex-shrink:0;height:45px;-o-object-fit:cover;object-fit:cover;width:80px}.import-detail-loading-info{align-items:center;color:var(--text-secondary,#666);display:flex;font-size:13px;gap:8px}.import-loading-spinner{animation:import-spin .7s linear infinite;border:2px solid var(--border-light,#ddd);border-radius:50%;border-top-color:var(--theme-primary,#4a90d9);flex-shrink:0;height:16px;width:16px}@keyframes import-spin{to{transform:rotate(1turn)}}.import-detail-success{align-items:center;display:flex;font-size:13px;gap:8px;padding:8px 0}.import-detail-success-icon{color:#4caf50;font-size:16px;font-weight:700}.import-detail-goto-btn{background:var(--bg-secondary,#f8f8f8);border:1px solid var(--border-light,#ddd);border-radius:6px;color:var(--text-secondary,#666);cursor:pointer;font-family:Noto Sans KR,sans-serif;font-size:12px;font-weight:500;margin-left:auto;padding:5px 14px;transition:all .15s}.import-detail-goto-btn:hover{background:var(--theme-primary-alpha-10,#4a90d91a);border-color:var(--theme-primary-alpha-20,#4a90d933);color:var(--theme-primary,#4a90d9)}.import-detail-error{color:#f44336;font-size:13px;padding:4px 0}.content-detect-bar{align-items:center;animation:content-bar-in .3s ease;background:var(--theme-primary-alpha-05,#4a90d90d);border-bottom:1px solid var(--theme-primary-alpha-10,#4a90d91a);color:var(--text-secondary,#666);display:flex;flex-shrink:0;font-size:13px;gap:10px;padding:8px 20px}@keyframes content-bar-in{0%{max-height:0;opacity:0;padding-bottom:0;padding-top:0}to{max-height:40px;opacity:1}}.content-detect-bar-icon{align-items:center;display:flex;flex-shrink:0}.content-detect-bar-icon svg{height:16px;width:16px}.content-detect-bar-text{font-weight:500}.content-detect-bar-btn{background:var(--bg-primary,#fff);border:1px solid var(--border-light,#ddd);border-radius:6px;color:var(--text-secondary,#666);cursor:pointer;font-family:Noto Sans KR,sans-serif;font-size:12px;margin-left:auto;padding:4px 12px;transition:all .15s}.content-detect-bar-extract{background:var(--theme-primary,#4a90d9);border-color:var(--theme-primary,#4a90d9);color:#fff;margin-left:auto}.content-detect-bar-extract:hover{filter:brightness(1.1)}.content-detect-bar-dismiss{margin-left:4px}.content-detect-bar-dismiss:hover{background:var(--bg-tertiary,#f0f0f0)}.download-prompt-overlay{align-items:center;animation:download-overlay-in .2s ease;background:#00000073;display:flex;inset:0;justify-content:center;position:fixed;z-index:10000}@keyframes download-overlay-in{0%{opacity:0}to{opacity:1}}.download-prompt-modal{animation:download-modal-in .25s ease;background:var(--bg-primary,#fff);border-radius:16px;box-shadow:0 20px 60px #0003;max-width:90vw;padding:32px;text-align:center;width:380px}@keyframes download-modal-in{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.download-prompt-header{margin-bottom:24px}.download-prompt-icon{margin-bottom:12px}.download-prompt-title{color:var(--text-primary,#333);font-family:Noto Sans KR,sans-serif;font-size:18px;font-weight:700;margin:0 0 8px}.download-prompt-desc{color:var(--text-secondary,#666);font-family:Noto Sans KR,sans-serif;font-size:13px;line-height:1.6;margin:0}.download-prompt-links{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.download-prompt-link{align-items:center;border:1px solid var(--border-light,#e0e0e0);border-radius:10px;color:var(--text-primary,#333);display:flex;font-family:Noto Sans KR,sans-serif;font-size:14px;font-weight:500;gap:12px;padding:12px 16px;text-decoration:none;transition:all .15s}.download-prompt-link:hover{background:var(--theme-primary-alpha-08,#4a90d914);border-color:var(--theme-primary,#4a90d9)}.download-prompt-link.disabled{cursor:default;opacity:.5;pointer-events:none}.download-prompt-link.recommended{background:var(--theme-primary-alpha-08,#4a90d914);border-color:var(--theme-primary,#4a90d9)}.download-prompt-link-icon{align-items:center;color:var(--text-secondary,#666);display:flex}.download-prompt-link-label{flex:1}.download-prompt-link-badge{background:var(--theme-primary-alpha-10,#4a90d91a);border-radius:4px;color:var(--theme-primary,#4a90d9);font-size:10px;font-weight:700;padding:2px 8px}.download-prompt-close{background:var(--bg-secondary,#f8f8f8);border:1px solid var(--border-light,#ddd);border-radius:8px;color:var(--text-secondary,#666);cursor:pointer;font-family:Noto Sans KR,sans-serif;font-size:13px;padding:8px 24px;transition:all .15s}.download-prompt-close:hover{background:var(--bg-tertiary,#f0f0f0)}.import-file-dropzone{border:2px dashed var(--border-light,#ddd);border-radius:12px;cursor:pointer;padding:28px 16px;text-align:center;transition:all .2s}.import-file-dropzone.dragover,.import-file-dropzone:hover{background:var(--theme-primary-alpha-08,#4a90d914);border-color:var(--theme-primary,#4a90d9)}.import-file-dropzone-icon{margin-bottom:8px}.import-file-dropzone-text{color:var(--text-primary,#333);font-family:Noto Sans KR,sans-serif;font-size:13px;margin:0 0 4px}.import-file-dropzone-hint{color:var(--text-muted,#999);font-family:Noto Sans KR,sans-serif;font-size:11px;margin:0}.import-stt-progress{padding:8px 0}.import-file-info{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.import-file-name{color:var(--text-primary,#333);font-size:12px;font-weight:600;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-file-size{color:var(--text-muted,#999);font-size:11px}.import-stt-warning{background:var(--theme-warning-bg,#fff3cd);border:1px solid var(--theme-warning-border,#ffc107);border-radius:6px;color:var(--theme-warning-text,#856404);line-height:1.5;margin-bottom:8px;padding:8px 12px}.import-stt-status-text,.import-stt-warning{font-family:Noto Sans KR,sans-serif;font-size:12px}.import-stt-status-text{color:var(--text-secondary,#666);margin-bottom:6px}.import-progress-bar-wrap{background:var(--bg-tertiary,#f0f0f0);border-radius:2px;height:4px;overflow:hidden;width:100%}.import-progress-bar{background:var(--theme-primary,#4a90d9);border-radius:2px;height:100%;transition:width .3s ease}.import-progress-bar.indeterminate{animation:import-progress-indeterminate 1.5s infinite;background:linear-gradient(90deg,var(--theme-primary,#4a90d9) 30%,var(--theme-primary-alpha-20,#4a90d933) 50%,var(--theme-primary,#4a90d9) 70%);background-size:200% 100%;width:100%!important}@keyframes import-progress-indeterminate{0%{background-position:200% 0}to{background-position:-200% 0}}.import-recording-ui{padding:4px 0}.import-recording-controls{text-align:center}.import-recording-level-wrap{background:var(--bg-tertiary,#f0f0f0);border-radius:2px;height:4px;margin-bottom:12px;overflow:hidden;width:100%}.import-recording-level-bar{background:#e53935;border-radius:2px;height:100%;transition:width .1s ease;width:0}.import-recording-time{color:var(--text-primary,#333);font-size:24px;font-variant-numeric:tabular-nums;font-weight:700;margin-bottom:12px}.import-recording-btns{display:flex;gap:12px;justify-content:center;margin-bottom:16px}.import-recording-btn{align-items:center;border:none;border-radius:50%;cursor:pointer;display:flex;height:48px;justify-content:center;transition:all .15s;width:48px}.import-recording-btn.record{background:#e53935;color:#fff}.import-recording-btn.record:hover{background:#c62828;transform:scale(1.05)}.import-recording-btn.stop{background:var(--text-secondary,#666);color:#fff}.import-recording-btn.stop:hover{background:var(--text-primary,#333);transform:scale(1.05)}.import-gpu-setting{display:inline-block;margin-bottom:8px;position:relative}.import-gpu-toggle{background:none;border:1px solid var(--border-light,#ddd);border-radius:6px;color:var(--text-secondary,#666);cursor:pointer;font-size:12px;padding:4px 10px;transition:background .15s}.import-gpu-toggle:hover{background:var(--bg-hover,#f0f0f0)}.import-gpu-dropdown{background:var(--bg-primary,#fff);border:1px solid var(--border-light,#ddd);border-radius:8px;box-shadow:0 4px 12px #0000001f;left:0;margin-top:4px;min-width:200px;padding:4px 0;position:absolute;top:100%;z-index:100}.import-gpu-option{color:var(--text-primary,#333);cursor:pointer;font-size:13px;padding:8px 14px;transition:background .1s}.import-gpu-option:hover{background:var(--bg-hover,#f5f5f5)}.import-gpu-option.active{color:var(--accent-color,#4a90d9);font-weight:600}.import-gpu-option.active:before{content:"\2713 "}.import-gpu-separator{background:var(--border-light,#e0e0e0);height:1px;margin:4px 0}.import-recording-transcript{background:var(--bg-secondary,#f8f8f8);border:1px solid var(--border-light,#e0e0e0);border-radius:8px;color:var(--text-primary,#333);font-family:Noto Sans KR,sans-serif;font-size:13px;line-height:1.6;margin-bottom:12px;max-height:160px;min-height:60px;overflow-y:auto;padding:10px 12px;text-align:left}.import-recording-placeholder{color:var(--text-muted,#999);font-style:italic;margin:0}.import-recording-waiting{align-items:center;color:var(--text-muted,#999);display:flex;font-size:13px;gap:8px;padding:12px 0}.import-recording-live-text{margin:0;white-space:pre-wrap}.import-recording-actions{display:flex;gap:8px}.import-recording-actions .import-detail-extract-btn{flex:1}.import-detail-extract-btn.secondary{background:var(--bg-secondary,#f8f8f8);border:1px solid var(--border-light,#ddd);color:var(--text-primary,#333)}.import-detail-extract-btn.secondary:hover{background:var(--bg-tertiary,#f0f0f0)}.ai-panel-header{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);display:flex;flex-shrink:0;justify-content:space-between;overflow:hidden;padding:14px 20px;position:relative}.ai-panel-header: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%}.ai-panel-header:hover:before{left:100%}.ai-panel-title{align-items:center;color:var(--text-primary);display:flex;font-size:14px;font-weight:700;gap:8px;letter-spacing:-.01em}.ai-panel-title:before{animation:aiDotPulse 2s ease-in-out infinite;background:linear-gradient(135deg,var(--theme-primary),var(--theme-secondary));border-radius:50%;content:"";display:inline-block;height:8px;width:8px}@keyframes aiDotPulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}.ai-header-controls{align-items:center;display:flex;gap:8px}.ai-model-dropdown-trigger{align-items:center;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:8px;box-shadow:var(--shadow-sm);color:var(--text-secondary);cursor:pointer;display:flex;font-family:Noto Sans KR,sans-serif;font-size:12px;font-weight:500;gap:6px;padding:5px 12px;transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.ai-model-dropdown-trigger:hover{border-color:var(--theme-primary-alpha-20);color:var(--theme-primary)}.ai-model-dropdown-trigger svg{transition:transform .2s}.ai-model-dropdown-trigger.open svg{transform:rotate(180deg)}.ai-model-dropdown{animation:dropdownSlideIn .15s ease-out;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:10px;box-shadow:var(--shadow-lg);max-height:360px;min-width:220px;overflow:hidden;overflow-y:auto;position:fixed;z-index:10000}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ai-model-dropdown::-webkit-scrollbar{width:4px}.ai-model-dropdown::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:4px}.ai-model-group-label{color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.05em;padding:10px 14px 4px;text-transform:uppercase}.ai-model-group-label:not(:first-child){border-top:1px solid var(--border-light);margin-top:4px;padding-top:10px}.ai-model-api-notice{color:var(--text-muted);font-size:10px;opacity:.7;padding:2px 14px 4px}.ai-model-api-notice.safe{color:#16a34a;opacity:.85}.ai-dropdown-ollama-header{border-bottom:1px solid var(--border-light);margin-bottom:2px;padding-bottom:4px}.ai-dropdown-ollama-header .ai-dropdown-footer{border-top:none;margin-top:0}.ai-model-item{color:var(--text-secondary);cursor:pointer;font-family:Noto Sans KR,sans-serif;font-size:13px;padding:8px 14px;transition:all .15s}.ai-model-item:hover{background:var(--theme-primary-alpha-05);color:var(--theme-primary)}.ai-model-item.selected{color:var(--theme-primary);font-weight:600}.ai-model-item:last-child{margin-bottom:4px}.ai-new-chat-btn{align-items:center;background:#0000;border:1px solid var(--border-light);border-radius:50%;color:var(--text-muted);cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;transition:all .2s;width:28px}.ai-new-chat-btn:hover{background:var(--theme-primary-alpha-05);border-color:var(--theme-primary-alpha-20);color:var(--theme-primary)}.ai-settings-btn{align-items:center;background:#0000;border:1px solid var(--border-light);border-radius:50%;color:var(--text-muted);cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;transition:all .2s;width:28px}.ai-settings-btn:hover{background:var(--theme-primary-alpha-05);border-color:var(--theme-primary-alpha-20);color:var(--theme-primary)}.ai-settings-popover{animation:dropdownSlideIn .15s ease-out;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:12px;box-shadow:var(--shadow-lg);padding:16px;position:fixed;width:320px;z-index:10001}.ai-settings-title{color:var(--text-primary);font-size:14px;font-weight:700;margin-bottom:14px}.ai-settings-provider{margin-bottom:14px}.ai-settings-provider-label{color:var(--text-secondary);font-size:12px;font-weight:600;margin-bottom:6px}.ai-settings-input-row{display:flex;gap:6px}.ai-settings-input{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:8px;color:var(--text-primary);flex:1;font-family:Noto Sans KR,sans-serif;font-size:12px;outline:none;padding:7px 10px;transition:all .2s}.ai-settings-input:focus{border-color:var(--theme-primary);box-shadow:0 0 0 2px var(--theme-primary-alpha-10)}.ai-settings-clear-btn{align-items:center;background:#0000;border:1px solid var(--border-light);border-radius:6px;color:var(--text-muted);cursor:pointer;display:flex;flex-shrink:0;height:30px;justify-content:center;transition:all .15s;width:30px}.ai-settings-clear-btn:hover{background:#f443360d;border-color:var(--color-danger,#f44336);color:var(--color-danger,#f44336)}.ai-key-status{align-items:center;color:var(--text-muted);display:flex;font-size:11px;gap:4px;margin-top:4px}.ai-key-dot{border-radius:50%;flex-shrink:0;height:6px;width:6px}.ai-key-dot.set{background:#4cc9f0}.ai-key-dot.unset{background:var(--border-medium)}.ai-settings-hint{border-top:1px solid var(--border-light);color:var(--text-muted);font-size:11px;line-height:1.5;padding-top:10px}.ai-chat-messages{background:radial-gradient(ellipse at top right,var(--theme-primary-alpha-05),#0000 50%),radial-gradient(ellipse at bottom left,var(--theme-secondary-alpha-03),#0000 50%),var(--bg-secondary);display:flex;flex:1;flex-direction:column;gap:16px;overflow-y:auto;padding:20px;scroll-behavior:smooth}.ai-chat-messages::-webkit-scrollbar{width:4px}.ai-chat-messages::-webkit-scrollbar-track{background:#0000}.ai-chat-messages::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:4px}.ai-message{animation:messageSlideIn .3s cubic-bezier(.34,1.56,.64,1);border-radius:16px;font-size:13px;line-height:1.6;max-width:88%;padding:12px 16px;word-break:break-word}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.ai-message.user{align-self:flex-end;background:linear-gradient(135deg,var(--theme-primary) 0,var(--theme-primary-light) 100%);border-bottom-right-radius:4px;box-shadow:var(--shadow-theme-md);color:var(--color-white)}.ai-message.assistant{align-self:flex-start;background:var(--bg-primary);border:1px solid var(--border-light);border-bottom-left-radius:4px;box-shadow:var(--shadow-sm);color:var(--text-primary)}.ai-message.assistant .md-content h1,.ai-message.assistant .md-content h2,.ai-message.assistant .md-content h3{color:var(--text-primary);font-weight:700;line-height:1.3;margin:12px 0 6px}.ai-message.assistant .md-content h1{font-size:16px}.ai-message.assistant .md-content h2{font-size:14px}.ai-message.assistant .md-content h3{font-size:13px}.ai-message.assistant .md-content p{margin:6px 0}.ai-message.assistant .md-content code{background:var(--theme-primary-alpha-08);border-radius:4px;color:var(--theme-primary-dark);font-family:Consolas,Monaco,monospace;font-size:12px;padding:1px 5px}.ai-message.assistant .md-content pre{background:var(--color-gray-800);border-radius:10px;box-shadow:inset 0 2px 4px #0003;color:var(--color-gray-100);font-size:12px;line-height:1.5;margin:8px 0;overflow-x:auto;padding:12px 16px}.ai-message.assistant .md-content pre code{background:none;border-radius:0;color:inherit;font-size:inherit;padding:0}.ai-message.assistant .md-content ol,.ai-message.assistant .md-content ul{margin:6px 0;padding-left:20px}.ai-message.assistant .md-content li{margin:3px 0}.ai-message.assistant .md-content strong{color:var(--text-primary);font-weight:700}.ai-message.assistant .md-content blockquote{border-left:3px solid var(--theme-primary-alpha-30);color:var(--text-tertiary);font-style:italic;margin:8px 0;padding-left:12px}.ai-message.assistant .md-content a{color:var(--theme-primary);text-decoration:underline}.ai-message-actions{border-top:1px solid var(--border-light);display:flex;gap:6px;margin-top:10px;padding-top:8px}.ai-message-actions button{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:20px;color:var(--text-tertiary);cursor:pointer;font-family:Noto Sans KR,sans-serif;font-size:11px;font-weight:500;padding:4px 12px;transition:all .2s cubic-bezier(.4,0,.2,1)}.ai-message-actions button:hover{background:var(--theme-primary-alpha-10);border-color:var(--theme-primary-alpha-20);color:var(--theme-primary);transform:translateY(-1px)}.ai-action-result{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:8px;margin-top:12px;padding:10px 14px}.ai-action-header{color:var(--text-primary);font-size:12px;font-weight:600;margin-bottom:6px}.ai-action-list{font-size:12px;line-height:1.6;margin:0;padding-left:18px}.ai-action-list li.success{color:var(--text-secondary)}.ai-action-list li.success::marker{color:#22c55e;content:"\2713  "}.ai-action-list li.error{color:#ef4444}.ai-action-list li.error::marker{content:"\2717  "}.ai-chat-input-area{align-items:flex-end;background:var(--bg-primary);border-top:1px solid var(--border-light);box-shadow:0 -4px 12px #0000000a;display:flex;flex-shrink:0;gap:10px;padding:16px 20px}.ai-chat-input{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:12px;color:var(--text-primary);flex:1;font-family:Noto Sans KR,sans-serif;font-size:13px;line-height:1.5;max-height:120px;outline:none;padding:10px 14px;resize:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.ai-chat-input:focus{background:var(--bg-primary);border-color:var(--theme-primary);box-shadow:0 0 0 3px var(--theme-primary-alpha-10)}.ai-chat-input::-moz-placeholder{color:var(--text-muted)}.ai-chat-input::placeholder{color:var(--text-muted)}.ai-send-btn{align-items:center;background:linear-gradient(135deg,var(--theme-primary) 0,var(--theme-primary-light) 100%);border:none;border-radius:12px;box-shadow:var(--shadow-theme-md);color:var(--color-white);cursor:pointer;display:flex;flex-shrink:0;height:38px;justify-content:center;overflow:hidden;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:38px}.ai-send-btn:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.ai-send-btn:hover{box-shadow:var(--shadow-theme-lg);transform:translateY(-2px) scale(1.05)}.ai-send-btn:hover:before{left:100%}.ai-send-btn:active{transform:translateY(0) scale(.95)}.ai-send-btn:disabled{background:var(--border-light);box-shadow:none;cursor:not-allowed;transform:none}.ai-send-btn:disabled:before{display:none}.ai-typing-indicator{align-self:flex-start;animation:messageSlideIn .3s cubic-bezier(.34,1.56,.64,1);background:var(--bg-primary);border:1px solid var(--border-light);border-radius:16px;border-bottom-left-radius:4px;box-shadow:var(--shadow-sm);display:flex;gap:5px;padding:14px 16px}.ai-typing-indicator span{animation:aiTyping 1.4s infinite both;background:var(--theme-primary-alpha-40);border-radius:50%;height:7px;width:7px}.ai-typing-indicator span:nth-child(2){animation-delay:.2s}.ai-typing-indicator span:nth-child(3){animation-delay:.4s}.ai-typing-text{animation:aiTypingTextPulse 1.5s infinite;color:var(--text-muted);font-size:12px;margin-left:4px}@keyframes aiTyping{0%,80%,to{opacity:.3;transform:scale(.6)}40%{background:var(--theme-primary);opacity:1;transform:scale(1)}}@keyframes aiTypingTextPulse{0%,to{opacity:.5}50%{opacity:1}}.ai-send-btn.stop{background:#ef4444!important;box-shadow:0 2px 8px #ef44444d}.ai-send-btn.stop:hover{background:#dc2626!important}.ai-thinking-block{animation:messageSlideIn .3s cubic-bezier(.34,1.56,.64,1);border:1px solid var(--border-light);border-radius:10px;font-size:12px;margin:6px 16px;overflow:hidden}.ai-thinking-summary{align-items:center;color:var(--text-muted);cursor:pointer;display:flex;gap:6px;list-style:none;padding:8px 12px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ai-thinking-summary::-webkit-details-marker{display:none}.ai-thinking-summary:after{content:"▶";font-size:8px;margin-left:auto;transition:transform .2s}details[open].ai-thinking-block .ai-thinking-summary:after{transform:rotate(90deg)}.ai-thinking-summary:hover{background:var(--theme-primary-alpha-05)}.ai-thinking-content{border-top:1px solid var(--border-light);color:var(--text-secondary);font-size:11px;line-height:1.5;max-height:300px;overflow-y:auto;padding:8px 12px;white-space:pre-wrap}.ai-thinking-spinner{animation:aiThinkingSpin .8s linear infinite;border:2px solid var(--border-light);border-radius:50%;border-top-color:var(--theme-primary);flex-shrink:0;height:14px;width:14px}@keyframes aiThinkingSpin{to{transform:rotate(1turn)}}.ai-welcome{flex:1;flex-direction:column;gap:16px;padding:40px 24px;text-align:center}.ai-welcome,.ai-welcome-icon{align-items:center;display:flex;justify-content:center}.ai-welcome-icon{background:linear-gradient(135deg,var(--theme-primary-alpha-15) 0,var(--theme-secondary-alpha-10) 100%);border-radius:16px;box-shadow:var(--shadow-theme-sm);font-size:24px;height:56px;width:56px}.ai-welcome-title{color:var(--text-primary);font-size:15px;font-weight:700}.ai-welcome-subtitle{color:var(--text-muted);font-size:13px;line-height:1.5}.ai-welcome-prompts{display:flex;flex-direction:column;gap:8px;margin-top:8px;width:100%}.ai-welcome-prompt{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:10px;color:var(--text-secondary);cursor:pointer;font-family:Noto Sans KR,sans-serif;font-size:12px;padding:10px 14px;text-align:left;transition:all .2s ease}.ai-welcome-prompt:hover{background:var(--theme-primary-alpha-05);border-color:var(--theme-primary-alpha-20);box-shadow:var(--shadow-theme-sm);color:var(--theme-primary);transform:translateY(-1px)}.ai-settings-divider{background:var(--border-light);height:1px;margin:12px 0}.ai-ollama-section{padding:0}.ai-ollama-url-row{display:flex;gap:6px;margin-top:6px}.ai-ollama-url-row .ai-settings-input{flex:1;min-width:0}.ai-ollama-test-btn{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:11px;padding:4px 10px;transition:all .2s ease;white-space:nowrap}.ai-ollama-test-btn:hover{border-color:var(--theme-primary-alpha-20);color:var(--theme-primary)}.ai-ollama-test-btn:disabled{cursor:not-allowed;opacity:.5}.ai-ollama-status{align-items:center;color:var(--text-tertiary);display:flex;font-size:11px;gap:6px;margin-top:6px}.ai-ollama-install-link{color:var(--theme-primary);cursor:pointer;font-size:11px;margin-top:8px;text-decoration:underline}.ai-ollama-install-link:hover{opacity:.8}.ai-ollama-cors-guide{background:#ffc83214;border:1px solid #ffc83240;border-radius:6px;font-size:11px;margin-top:10px;padding:10px}.ai-ollama-cors-title{color:#e0a030;font-size:12px;font-weight:600;margin-bottom:4px}.ai-ollama-cors-desc{color:#aaa;line-height:1.5;margin-bottom:8px}.ai-ollama-cors-commands{display:flex;flex-direction:column;gap:4px}.ai-ollama-cors-os{color:#999;margin-top:4px}.ai-ollama-cors-os:first-child{margin-top:0}code.ai-ollama-cors-cmd{background:#1a1a2e;border:1px solid #ffffff1a;border-radius:4px;color:#e8e8e8;cursor:text;display:block;font-family:Consolas,Monaco,Courier New,monospace;font-size:12px;letter-spacing:.3px;line-height:1.5;padding:7px 10px;-webkit-user-select:all;-moz-user-select:all;user-select:all;word-break:break-all}.ai-ollama-cors-note{color:#999;font-size:10.5px;font-style:italic;margin-top:8px}.ai-ollama-install-guide{align-items:center;animation:fadeIn .2s ease;background:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:10000}.ai-ollama-install-content{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:14px;box-shadow:var(--shadow-lg);max-height:80vh;max-width:600px;overflow-y:auto;padding:28px;width:92%}.ai-ollama-install-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.ai-ollama-install-header h3{color:var(--text-primary);font-size:16px;font-weight:600;margin:0}.ai-ollama-step-indicator{color:var(--text-tertiary);display:block;font-size:11px;margin-top:2px}.ai-ollama-install-close{background:none;border:none;color:var(--text-tertiary);cursor:pointer;flex-shrink:0;font-size:20px;line-height:1;padding:0 4px}.ai-ollama-install-close:hover{color:var(--text-primary)}.ai-ollama-install-desc{color:var(--text-secondary);font-size:13px;line-height:1.5;margin:0 0 16px}.ai-ollama-install-substep{color:var(--text-tertiary);font-size:12px;line-height:1.5;margin:12px 0}.ai-ollama-os-info{margin-bottom:14px}.ai-ollama-os-badge{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:6px;color:var(--text-secondary);display:inline-block;font-size:11px;padding:4px 10px}.ai-ollama-download-btn{background:linear-gradient(135deg,var(--theme-primary),var(--theme-primary-hover));border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px;transition:opacity .2s ease;width:100%}.ai-ollama-download-btn:hover{opacity:.9}.ai-ollama-install-retry{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:13px;font-weight:500;padding:10px;transition:all .2s ease;width:100%}.ai-ollama-install-retry:hover{border-color:var(--theme-primary-alpha-20);color:var(--theme-primary)}.ai-ollama-install-retry:disabled{cursor:not-allowed;opacity:.5}.ai-ollama-catalog-tabs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:14px}.ai-ollama-catalog-tab{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:12px;padding:5px 12px;transition:all .15s ease}.ai-ollama-catalog-tab:hover{border-color:var(--theme-primary-alpha-20);color:var(--theme-primary)}.ai-ollama-catalog-tab.active{background:var(--theme-primary);border-color:var(--theme-primary);color:#fff}.ai-ollama-catalog-list{display:flex;flex-direction:column;gap:8px;max-height:400px;overflow-y:auto}.ai-ollama-model-card{align-items:center;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:10px;display:flex;gap:12px;justify-content:space-between;padding:12px 14px;transition:border-color .15s ease}.ai-ollama-model-card:hover{border-color:var(--theme-primary-alpha-20)}.ai-ollama-model-info{flex:1;min-width:0}.ai-ollama-model-name{color:var(--text-primary);font-size:13px;font-weight:600;margin-bottom:3px}.ai-ollama-model-params{color:var(--text-tertiary);font-size:11px;font-weight:400;margin-left:4px}.ai-ollama-model-specs{color:var(--text-tertiary);font-size:11px;margin-bottom:2px}.ai-ollama-model-specs-sub{color:var(--text-tertiary);font-size:10px;margin-bottom:6px;opacity:.7}.ai-ollama-model-tags{display:flex;flex-wrap:wrap;gap:4px}.ai-ollama-model-tag{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:4px;color:var(--text-tertiary);display:inline-block;font-size:10px;padding:1px 6px}.ai-ollama-model-tag.korean{background:var(--theme-primary-alpha-05);border-color:var(--theme-primary-alpha-20);color:var(--theme-primary);font-weight:500}.ai-ollama-model-action{align-items:center;display:flex;flex-direction:column;flex-shrink:0;gap:4px}.ai-ollama-model-install-btn{background:#0000;border:1px solid var(--theme-primary);border-radius:6px;color:var(--theme-primary);cursor:pointer;font-size:12px;font-weight:500;padding:6px 16px;transition:all .15s ease}.ai-ollama-model-install-btn:hover{background:var(--theme-primary);color:#fff}.ai-ollama-model-installed{color:#22c55e;font-size:11px;font-weight:500}.ai-ollama-model-delete-btn{background:#0000;border:1px solid #ef4444;border-radius:4px;color:#ef4444;cursor:pointer;font-size:11px;margin-left:8px;padding:2px 8px}.ai-ollama-model-delete-btn:hover{background:#ef4444;color:#fff}.ai-ollama-model-progress{align-items:center;display:flex;gap:6px;width:100px}.ai-ollama-model-progress-bar{background:var(--bg-secondary);border-radius:2px;flex:1;height:4px;overflow:hidden}.ai-ollama-model-progress-fill{background:var(--theme-primary);border-radius:2px;height:100%;transition:width .3s ease;width:0}.ai-ollama-model-progress-text{color:var(--text-tertiary);font-size:10px;min-width:28px;text-align:right}.ai-ollama-status-bar{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:6px;color:var(--text-secondary);display:flex;font-size:11px;gap:6px;margin-bottom:8px;padding:6px 12px}.ai-ollama-model-install-btn.waiting{border-color:#f59e0b;color:#b45309;font-size:11px;padding:6px 10px}.ai-ollama-model-install-btn.waiting:hover{background:#fef3c7;color:#b45309}.ai-ollama-specs-bar{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:8px;display:flex;font-size:11px;gap:8px;margin-bottom:14px;padding:8px 12px}.ai-ollama-specs-label{color:var(--text-tertiary);white-space:nowrap}.ai-ollama-specs-value{color:var(--text-secondary);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-ollama-model-tag.recommended{background:#dbeafe;border-color:#93bbfd;color:#1d4ed8;font-weight:600}.ai-ollama-model-tag.warning{background:#fef3c7;border-color:#fcd34d;color:#b45309}.ai-ollama-model-card.too-heavy{opacity:.6}.ai-ollama-model-card.too-heavy:hover{opacity:.8}.ai-local-recommend-section{border-bottom:1px solid var(--border-light);padding:12px 16px}.ai-local-recommend-header{color:var(--theme-primary);font-size:13px;font-weight:600;margin-bottom:10px}.ai-local-recommend-cards{display:flex;gap:10px}.ai-local-recommend-card{background:var(--theme-primary-alpha-05,#6366f10d);border:1.5px solid var(--theme-primary-alpha-20,#6366f133);border-radius:8px;cursor:default;flex:1;padding:10px 12px}.ai-local-recommend-card:hover{border-color:var(--theme-primary)}.ai-local-recommend-reason{color:var(--theme-primary);font-size:10px;font-weight:700;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.ai-local-recommend-name{color:var(--text-primary);font-size:13px;font-weight:600}.ai-local-recommend-meta{color:var(--text-secondary);font-size:11px;margin:4px 0 8px}.ai-local-recommend-action{align-items:center;display:flex;gap:8px}.ai-ollama-model-tag.recommend{background:var(--theme-primary-alpha-10,#6366f11a);border-color:var(--theme-primary-alpha-20,#6366f133);color:var(--theme-primary)}.ai-ollama-model-tag.heavy{background:#fef3c7;border-color:#fcd34d;color:#b45309}.ai-ollama-catalog-hint{color:var(--text-tertiary);font-size:11px;margin-top:14px;text-align:center}.ai-dropdown-footer{border-top:1px solid var(--border-light);color:var(--theme-primary);cursor:pointer;font-size:11px;padding:10px 14px;text-align:center;transition:background .15s ease}.ai-dropdown-footer:hover{background:var(--theme-primary-alpha-05)}@media (max-width:768px){.ai-panel,.editor-panel{display:none!important}}.intro-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffffa;box-shadow:0 2px 20px #0000000d;position:fixed;top:0;transition:all .3s ease;width:100%;z-index:1000}.intro-nav{justify-content:space-between;margin:0 auto;max-width:1200px;padding:1.5rem 2rem}.intro-logo,.intro-nav{align-items:center;display:flex}.intro-logo{color:var(--theme-primary);font-size:1.5rem;font-weight:700;gap:.5rem;text-decoration:none}.intro-logo svg{height:32px;width:32px}.intro-nav-links{align-items:center;display:flex;gap:2rem}.intro-nav-links a{color:var(--color-gray-700);font-weight:500;text-decoration:none;transition:color .3s ease}.intro-nav-links a:hover{color:var(--theme-primary)}.intro-cta-button{background:var(--theme-primary);border-radius:8px;box-shadow:0 4px 12px var(--theme-primary-alpha-30);color:#fff!important;font-weight:500;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s ease}.intro-cta-button:hover{background:var(--theme-primary-dark);box-shadow:0 6px 20px var(--theme-primary-alpha-30);color:#fff!important;transform:translateY(-2px)}.intro-hero{background:linear-gradient(135deg,var(--color-gray-50) 0,var(--color-white) 100%);overflow:hidden;padding:8rem 2rem 4rem;position:relative;text-align:center}.intro-hero:before{animation:float 20s ease-in-out infinite;background:radial-gradient(circle,var(--theme-primary-alpha-10) 0,#0000 70%);height:800px;right:-25%;top:-50%;width:800px}.intro-hero:after,.intro-hero:before{border-radius:50%;content:"";position:absolute}.intro-hero:after{animation:float 25s ease-in-out infinite reverse;background:radial-gradient(circle,var(--theme-secondary) 0,#0000 70%);bottom:-50%;height:600px;left:-25%;opacity:.05;width:600px}@keyframes float{0%,to{transform:translate(0) scale(1)}50%{transform:translate(30px,-30px) scale(1.1)}}.intro-hero-content{margin:0 auto;max-width:800px;position:relative;z-index:1}.intro-hero h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--theme-primary) 0,var(--theme-primary-dark) 100%);-webkit-background-clip:text;background-clip:text;font-size:3rem;font-weight:700;margin-bottom:1.5rem}.intro-hero p{color:var(--color-gray-700);font-size:1.25rem;line-height:1.8;margin-bottom:2rem}.intro-hero-buttons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.intro-primary-button{align-items:center;background:var(--theme-primary);border-radius:12px;box-shadow:0 4px 20px var(--theme-primary-alpha-30);color:#fff;display:inline-flex;font-size:1.1rem;font-weight:600;gap:.5rem;padding:1rem 2rem;text-decoration:none;transition:all .3s ease}.intro-primary-button:hover{background:var(--theme-primary-dark);box-shadow:0 8px 30px var(--theme-primary-alpha-30);transform:translateY(-3px)}.intro-secondary-button{background:#fff;border:2px solid var(--theme-primary);border-radius:12px;color:var(--theme-primary);font-size:1.1rem;font-weight:600;padding:1rem 2rem;text-decoration:none;transition:all .3s ease}.intro-secondary-button:hover{background:var(--theme-primary-alpha-10);transform:translateY(-3px)}.intro-features{margin:0 auto;max-width:1200px;padding:4rem 2rem}.intro-section-title{color:var(--color-gray-900);font-size:2.5rem;font-weight:700;margin-bottom:1rem;text-align:center}.intro-section-subtitle{color:var(--color-gray-600);font-size:1.25rem;margin-bottom:3rem;text-align:center}.intro-feature-grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin-top:3rem}.intro-feature-card{background:#fff;border:1px solid var(--color-gray-100);border-radius:16px;box-shadow:0 4px 20px #0000000d;overflow:hidden;padding:2rem;position:relative;transition:all .3s ease}.intro-feature-card:before{background:linear-gradient(90deg,var(--theme-primary) 0,var(--theme-primary-light) 100%);content:"";height:4px;left:0;position:absolute;top:0;transform:scaleX(0);transform-origin:left;transition:transform .3s ease;width:100%}.intro-feature-card:hover{box-shadow:0 10px 40px #0000001a;transform:translateY(-5px)}.intro-feature-card:hover:before{transform:scaleX(1)}.intro-feature-icon{align-items:center;background:var(--theme-primary-alpha-10);border-radius:12px;color:var(--theme-primary);display:flex;font-size:1.5rem;height:60px;justify-content:center;margin-bottom:1.5rem;width:60px}.intro-feature-title{color:var(--color-gray-900);font-size:1.5rem;font-weight:600;margin-bottom:1rem}.intro-feature-description{color:var(--color-gray-600);line-height:1.8}.intro-cta-section{background:linear-gradient(135deg,var(--theme-primary) 0,var(--theme-primary-dark) 100%);overflow:hidden;padding:6rem 2rem;position:relative;text-align:center}.intro-cta-section:before{animation:float 15s ease-in-out infinite;background:#ffffff1a;border-radius:50%;content:"";height:600px;left:-25%;position:absolute;top:-50%;width:600px}.intro-cta-content{position:relative;z-index:1}.intro-cta-section h2{color:#fff;font-size:2.5rem;margin-bottom:1rem}.intro-cta-section p{color:#ffffffe6;font-size:1.25rem;margin-bottom:2rem}.intro-cta-section .intro-primary-button{background:#fff;color:var(--theme-primary);font-size:1.25rem;padding:1rem 2.5rem}.intro-cta-section .intro-primary-button:hover{background:var(--color-gray-100);transform:translateY(-3px)}.intro-footer{background:var(--color-gray-900);color:var(--color-gray-400);padding:2rem;text-align:center}.intro-footer-content{margin:0 auto;max-width:1200px}.intro-footer-links{display:flex;gap:1.5rem;justify-content:center;margin-bottom:1rem}.intro-footer-links a{color:var(--color-gray-400);font-size:.9rem;text-decoration:none;transition:color .2s ease}.intro-footer-links a:hover{color:var(--color-gray-200);text-decoration:underline}.intro-footer-info p{color:var(--color-gray-500);font-size:.85rem;margin:.25rem 0}.legal-page{margin:0 auto;max-width:800px;padding:7rem 2rem 4rem}.legal-page h1{border-bottom:2px solid var(--color-gray-200);color:var(--color-gray-900);font-size:2rem;font-weight:700;padding-bottom:1rem}.legal-page h1,.legal-page section{margin-bottom:2rem}.legal-page h2{color:var(--color-gray-800);font-size:1.2rem;font-weight:600;margin-bottom:.75rem}.legal-page p{color:var(--color-gray-700);line-height:1.8;margin-bottom:.75rem}.legal-page ul{margin:.5rem 0 .75rem;padding-left:1.5rem}.legal-page li{color:var(--color-gray-700);line-height:1.8;margin-bottom:.4rem}.legal-page strong{color:var(--color-gray-900)}.legal-effective-date{border-top:1px solid var(--color-gray-200);color:var(--color-gray-500);font-size:.9rem;margin-top:3rem;padding-top:1.5rem}.demo-toggle{align-items:center;display:flex;gap:.75rem;justify-content:center;margin:1.5rem auto .5rem}.demo-toggle-label{color:var(--color-gray-400);cursor:pointer;font-size:.9rem;font-weight:500;transition:color .3s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.demo-toggle-label.active{color:var(--theme-primary);font-weight:600}.demo-switch{display:inline-block;height:26px;position:relative;width:48px}.demo-switch input{height:0;opacity:0;width:0}.demo-switch-slider{background:var(--theme-primary-alpha-20,#ff408133);border-radius:26px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:background .3s ease}.demo-switch-slider:before{background:var(--theme-primary);border-radius:50%;bottom:3px;box-shadow:0 2px 4px #0003;content:"";height:20px;left:3px;position:absolute;transition:transform .3s ease;width:20px}.demo-switch input:checked+.demo-switch-slider:before{transform:translateX(22px)}.demo-devices{align-items:center;display:flex;justify-content:center;margin:1rem auto}.demo-browser-frame{background:#fff;border:2px solid #d1d5db;border-radius:12px;box-shadow:0 20px 60px #00000026;height:420px;overflow:hidden;width:680px}.browser-titlebar{align-items:center;background:#f3f4f6;border-bottom:1px solid #e5e7eb;display:flex;gap:8px;height:36px;padding:0 12px}.browser-dots{display:flex;gap:6px}.browser-dots .dot{border-radius:50%;height:12px;width:12px}.browser-dots .dot.red{background:#ff5f57}.browser-dots .dot.yellow{background:#febc2e}.browser-dots .dot.green{background:#28c840}.browser-address-bar{background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#888;flex:1;font-size:12px;padding:4px 10px;text-align:left}.anim-desktop{background:#fff;font-family:Noto Sans KR,-apple-system,sans-serif;font-size:12px;height:calc(100% - 36px);overflow:hidden;position:relative;width:100%}.animd-toolbar{align-items:center;background:#fafafa;border-bottom:1px solid #e5e7eb;display:flex;gap:8px;height:32px;padding:0 10px}.animd-toolbar-btn{border-radius:4px;color:#555;cursor:pointer;font-size:11px;padding:3px 8px;transition:all .2s ease;white-space:nowrap}.animd-toolbar-btn.active,.animd-toolbar-btn:hover{background:var(--theme-primary,#ff4081);color:#fff}.animd-toolbar-date{color:#666;font-size:11px;font-weight:500}.animd-toolbar-spacer{flex:1}.animd-body{display:flex;height:calc(100% - 32px)}.animd-tasklist{border-right:1px solid #e5e7eb;flex-shrink:0;overflow:hidden;width:160px}.animd-tasklist-header{background:#fafafa;border-bottom:1px solid #e5e7eb;color:#888;font-weight:600;height:28px}.animd-task-row,.animd-tasklist-header{align-items:center;display:flex;font-size:11px;padding:0 10px}.animd-task-row{border-bottom:1px solid #f3f4f6;color:#333;cursor:pointer;gap:6px;height:32px;transition:background .2s ease}.animd-task-row:hover{background:#f9fafb}.animd-task-row.selected{background:#ff40811a;font-weight:500}.animd-task-row .anim-color-dot{height:8px;width:8px}.animd-timeline{flex:1;overflow:hidden;position:relative}.animd-timeline-header{align-items:center;background:#fafafa;border-bottom:1px solid #e5e7eb;display:flex;height:28px}.animd-timeline-header span{color:#888;flex:1;font-size:10px;font-weight:500;text-align:center}.animd-timeline-body{height:calc(100% - 28px);position:relative}.animd-gantt-row{border-bottom:1px solid #f3f4f6;height:32px;position:relative}.animd-gantt-bar{border-radius:4px;height:22px;opacity:.85;position:absolute;top:5px}.animd-today-line{background:#ff4081;bottom:0;left:35%;opacity:0;position:absolute;top:0;transition:opacity .4s ease;width:2px;z-index:2}.animd-today-line.visible{opacity:1}.animd-today-line:before{color:#ff4081;content:"오늘";font-size:9px;font-weight:600;left:50%;position:absolute;top:-16px;transform:translateX(-50%);white-space:nowrap}.animd-fade-in{animation:fadeInUp .3s ease}.animd-cursor{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24'%3E%3Cpath fill='%23333' stroke='%23fff' stroke-width='1.5' d='m5 3 14 8-6.5 2L9 19z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;height:20px;opacity:0;pointer-events:none;position:absolute;transition:left .4s cubic-bezier(.4,0,.2,1),top .4s cubic-bezier(.4,0,.2,1),opacity .2s ease;width:20px;z-index:20}.animd-cursor.visible{opacity:1}.animd-cursor.tap{transform:scale(.8)}.animd-modal-backdrop{background:#0000004d;inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .25s ease;z-index:10}.animd-modal-backdrop.visible{opacity:1;pointer-events:auto}.animd-modal{background:#fff;border-radius:10px;box-shadow:0 12px 40px #0003;left:50%;opacity:0;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%) scale(.9);transition:opacity .25s ease,transform .25s ease;width:320px;z-index:11}.animd-modal.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.animd-modal-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:10px 14px}.animd-modal-title{color:#222;font-size:13px;font-weight:700}.animd-modal-close{color:#999;cursor:pointer;font-size:14px;transition:color .2s}.animd-modal-close:hover{color:#333}.animd-modal-body{padding:10px 14px}.animd-modal-props{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.animd-modal-prop{align-items:center;background:#fafafa;border:1px solid #e0e0e0;border-radius:12px;color:#666;cursor:pointer;display:inline-flex;font-size:10px;gap:4px;padding:4px 10px;transition:all .2s;white-space:nowrap}.animd-modal-prop:hover{background:#f0f0f0}.animd-modal-prop.filled{background:#ff408114;border-color:var(--theme-primary,#ff4081);color:var(--theme-primary,#ff4081)}.animd-modal-prop-icon{font-size:11px}.animd-modal-prop-dot{background:#ccc;border-radius:50%;height:8px;transition:background .3s;width:8px}.animd-modal-divider{background:#eee;height:1px;margin:4px 0 8px}.animd-modal-desc{background:#f9f9f9;border:1px solid #eee;border-radius:6px;font-size:10px;line-height:1.5;min-height:48px;padding:8px}.animd-modal-desc-ph{color:#bbb}.animd-modal-desc-text{color:#333;white-space:pre-wrap}.demo-phone-frame{background:#fff;border:7px solid #1a1a1a;border-radius:40px;box-shadow:0 20px 60px #0003,inset 0 0 0 2px #333;height:640px;overflow:hidden;position:relative;width:320px}.phone-notch{background:#1a1a1a;border-radius:0 0 14px 14px;height:24px;left:50%;position:absolute;top:0;transform:translateX(-50%);width:120px;z-index:10}.anim-app,.demo-content{height:100%;width:100%}.anim-app{font-family:Noto Sans KR,-apple-system,sans-serif;font-size:14px;overflow:hidden}.anim-app,.anim-topbar{background:#fff;position:relative}.anim-topbar{border-bottom:1px solid #e5e7eb;gap:12px;height:44px;margin-top:24px;padding:0 12px;z-index:5}.anim-hamburger,.anim-topbar{align-items:center;display:flex}.anim-hamburger{background:none;border:none;cursor:pointer;flex-direction:column;gap:4px;height:36px;justify-content:center;padding:6px;width:36px}.anim-hamburger span{background:#333;border-radius:1px;display:block;height:2px;transition:all .3s ease;width:18px}.anim-topbar-title{color:var(--theme-primary,#ff4081);font-size:16px;font-weight:700}.anim-topbar-actions{margin-left:auto}.anim-icon-dot{background:var(--theme-primary,#ff4081);border-radius:50%;display:inline-block;height:8px;width:8px}.anim-sidebar-backdrop{background:#0006;bottom:0;left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .3s ease;z-index:8}.anim-sidebar-backdrop.visible{opacity:1;pointer-events:auto}.anim-sidebar{background:#fff;box-shadow:4px 0 20px #00000026;height:100%;left:0;padding-top:24px;position:absolute;top:0;transform:translateX(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);width:240px;z-index:9}.anim-sidebar.open{transform:translateX(0)}.anim-sidebar-header{border-bottom:1px solid #e5e7eb;color:#333;font-size:15px;font-weight:600;padding:14px 16px}.anim-sidebar-list{padding:8px 0}.anim-sidebar-item{align-items:center;box-sizing:border-box;cursor:pointer;display:flex;gap:10px;min-height:44px;padding:12px 16px;transition:background .2s ease}.anim-sidebar-item:hover{background:#f5f5f5}.anim-sidebar-item.selected{background:#ff40811a;border-left:3px solid var(--theme-primary,#ff4081)}.anim-color-dot{border-radius:50%;flex-shrink:0;height:10px;width:10px}.anim-item-title{color:#333;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.anim-main{bottom:0;left:0;overflow-y:auto;position:absolute;right:0;top:68px}.anim-editor{padding:16px}.anim-editor-placeholder{color:#aaa;font-size:16px;padding-top:80px;text-align:center}.anim-editor-content{animation:fadeInUp .3s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.anim-editor-title{border-bottom:1px solid #eee;color:#111;font-size:20px;font-weight:700;margin-bottom:12px;padding-bottom:8px}.anim-editor-props{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.anim-chip{align-items:center;background:#fafafa;border:1px solid #e0e0e0;border-radius:16px;color:#666;cursor:pointer;display:inline-flex;font-size:12px;gap:4px;padding:6px 12px;transition:all .2s ease;white-space:nowrap}.anim-chip.filled{background:#ff408114;border-color:var(--theme-primary,#ff4081);color:var(--theme-primary,#ff4081)}.anim-chip-color-dot{background:#ccc;border-radius:50%;display:inline-block;height:10px;width:10px}.anim-editor-desc{background:#f9f9f9;border:1px solid #eee;border-radius:8px;min-height:120px;padding:12px}.anim-desc-placeholder{color:#bbb;font-size:13px}.anim-desc-text{font-family:JetBrains Mono,monospace;white-space:pre-wrap}.anim-desc-preview,.anim-desc-text{color:#333;font-size:13px;line-height:1.6}.anim-desc-preview{animation:fadeInUp .3s ease}.anim-desc-preview h4{color:#111;font-size:14px;font-weight:600;margin-bottom:6px}.anim-desc-preview ul{margin:0;padding-left:18px}.anim-desc-preview li{margin-bottom:4px}.anim-bottomsheet-backdrop{background:#0006;bottom:0;left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .3s ease;z-index:14}.anim-bottomsheet-backdrop.visible{opacity:1;pointer-events:auto}.anim-bottomsheet{background:#fff;border-radius:16px 16px 0 0;bottom:0;box-shadow:0 -4px 20px #0000001a;left:0;padding:12px 16px 24px;position:absolute;right:0;transform:translateY(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:15}.anim-bottomsheet.open{transform:translateY(0)}.anim-sheet-handle{background:#ddd;border-radius:2px;height:4px;margin:0 auto 12px;width:40px}.anim-sheet-title{border-bottom:1px solid #eee;color:#333;font-size:15px;font-weight:600;margin-bottom:12px;padding-bottom:12px;text-align:center}.anim-sheet-body{max-height:200px;overflow-y:auto}.anim-date-presets{display:flex;flex-wrap:wrap;gap:8px}.anim-date-preset{background:#fff;border:1px solid #e0e0e0;border-radius:20px;color:#555;cursor:pointer;font-family:inherit;font-size:13px;padding:8px 16px;transition:all .2s ease}.anim-date-preset.active,.anim-date-preset.anim-preset-highlight.active{background:var(--theme-primary,#ff4081);border-color:var(--theme-primary,#ff4081);color:#fff}.anim-color-grid{display:grid;gap:12px;grid-template-columns:repeat(4,1fr);justify-items:center}.anim-color-swatch{border:3px solid #0000;border-radius:50%;cursor:pointer;height:40px;transition:all .2s ease;width:40px}.anim-color-swatch.selected{border-color:#333;box-shadow:0 0 0 3px #0000001a;transform:scale(1.15)}.anim-tag-list{display:flex;flex-direction:column;gap:2px}.anim-tag-item{align-items:center;border-radius:8px;color:#333;cursor:pointer;display:flex;font-size:14px;gap:10px;padding:10px 12px;transition:background .2s ease}.anim-tag-item:hover{background:#f5f5f5}.anim-tag-item.selected{background:#ff40811a;color:var(--theme-primary,#ff4081);font-weight:500}.anim-tag-icon{font-size:14px}.anim-fab{align-items:center;background:linear-gradient(135deg,#ff4081,#e91e63);border:none;border-radius:50%;bottom:20px;box-shadow:0 4px 12px #0003;color:#fff;cursor:pointer;display:flex;font-size:24px;font-weight:700;height:48px;justify-content:center;line-height:1;position:absolute;right:16px;transition:transform .2s ease,box-shadow .2s ease;width:48px;z-index:6}.anim-fab.pulse{animation:fabPulse .6s ease}@keyframes fabPulse{0%{transform:scale(1)}30%{box-shadow:0 6px 20px #e91e6366;transform:scale(1.2)}to{transform:scale(1)}}.anim-cursor{background:#ff40814d;border:2px solid #ff408199;border-radius:50%;height:32px;opacity:0;pointer-events:none;position:absolute;transform:translate(-50%,-50%);transition:left .4s cubic-bezier(.4,0,.2,1),top .4s cubic-bezier(.4,0,.2,1),opacity .2s ease;width:32px;z-index:20}.anim-cursor.visible{opacity:1}.anim-cursor.tap{background:#ff408180;transform:translate(-50%,-50%) scale(.7)}.intro-download{margin:0 auto;max-width:1100px;padding:5rem 2rem;text-align:center}.intro-download-content{align-items:center;display:grid;gap:3rem;grid-template-columns:1fr 1fr;margin-top:3rem;text-align:left}.intro-download-preview{display:flex;justify-content:center}.download-window-frame{background:#fff;border:1px solid var(--color-gray-200,#e5e7eb);border-radius:12px;box-shadow:0 20px 60px #0000001a;max-width:400px;overflow:hidden;width:100%}.download-window-titlebar{align-items:center;background:var(--color-gray-100,#f3f4f6);border-bottom:1px solid var(--color-gray-200,#e5e7eb);display:flex;height:36px;justify-content:space-between;padding:0 12px}.download-window-title{color:var(--color-gray-600,#6b7280);font-size:.75rem;font-weight:600}.download-window-controls{display:flex;gap:8px}.win-btn{color:var(--color-gray-400,#9ca3af);font-size:.7rem;line-height:1}.win-btn.close:hover{color:#ef4444}.download-window-body{background:var(--color-gray-50,#f9fafb);min-height:160px;padding:1rem}.download-gantt-mini{display:flex;flex-direction:column;gap:8px}.dg-row{align-items:center;display:flex;height:22px;position:relative}.dg-label{background:var(--color-gray-200,#e5e7eb);border-radius:4px;flex-shrink:0;height:8px;width:60px}.dg-bar{border-radius:4px;height:16px;opacity:.85;position:absolute}.intro-download-actions{align-items:center;display:flex;flex-direction:column;gap:1.25rem}.download-btn{align-items:center;display:inline-flex;font-size:1.1rem;gap:.5rem;padding:.9rem 2.2rem}.download-btn.btn-disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.download-icon{flex-shrink:0}.download-version{color:var(--color-gray-500,#6b7280);font-size:.8rem}.download-platforms{display:flex;gap:.75rem}.download-platform-btn{align-items:center;background:#fff;border:1px solid var(--color-gray-200,#e5e7eb);border-radius:12px;color:var(--color-gray-600,#6b7280);cursor:pointer;display:flex;flex-direction:column;font-size:.8rem;gap:.35rem;padding:.75rem 1.25rem;position:relative;transition:all .2s ease}.download-platform-btn:hover{background:var(--color-gray-50,#f9fafb);border-color:var(--color-gray-300,#d1d5db)}.download-platform-btn.active{background:#ff40810d;border-color:var(--theme-primary,#ff4081);color:var(--theme-primary,#ff4081)}.download-platform-btn.disabled{cursor:default;opacity:.5;pointer-events:none}.coming-soon-badge{background:var(--color-gray-200,#e5e7eb);border-radius:8px;color:var(--color-gray-500,#6b7280);font-size:.6rem;padding:1px 6px;white-space:nowrap}.download-features-list{display:flex;flex-direction:column;gap:.6rem;margin-top:.5rem}.download-feature-item{align-items:center;color:var(--color-gray-600,#6b7280);display:flex;font-size:.9rem;gap:.5rem}.download-feature-check{color:var(--theme-primary,#ff4081);font-size:.85rem;font-weight:700}@media (max-width:768px){.intro-hero h1{font-size:2rem}.intro-hero p{font-size:1rem}.intro-nav-links{display:none}.intro-feature-grid{grid-template-columns:1fr}.intro-download{padding:3rem 1.25rem}.intro-download-content{gap:2rem;grid-template-columns:1fr}.intro-download-preview{order:2}.intro-download-actions{order:1}.download-window-frame{max-width:320px}.download-platforms{flex-wrap:wrap;justify-content:center}.demo-browser-frame{height:280px;max-width:420px;width:100%}.demo-phone-frame{border-radius:36px;border-width:6px;height:560px;width:280px}.phone-notch{border-radius:0 0 13px 13px;height:22px;width:110px}.anim-topbar{margin-top:22px}.anim-sidebar{padding-top:22px}.anim-main{top:66px}.animd-tasklist{width:120px}.animd-task-row{font-size:10px;height:28px}.animd-task-row .anim-color-dot{height:6px;width:6px}.animd-gantt-row{height:28px}.animd-gantt-bar{height:20px;top:4px}.animd-toolbar{height:28px}.animd-toolbar-btn,.animd-toolbar-date{font-size:10px}.animd-modal{width:260px}.animd-modal-title{font-size:12px}.animd-modal-prop{font-size:9px;padding:3px 8px}}@media (max-width:480px){.demo-browser-frame{height:220px;max-width:320px}.demo-phone-frame{border-radius:32px;border-width:5px;height:480px;width:240px}.phone-notch{border-radius:0 0 11px 11px;height:20px;width:90px}.anim-topbar{margin-top:20px}.anim-sidebar{padding-top:20px;width:180px}.anim-main{top:60px}.animd-tasklist{width:90px}.animd-toolbar-btn,.animd-toolbar-date{font-size:9px}.animd-modal{width:200px}.animd-modal-title{font-size:11px}.animd-modal-prop{font-size:8px;padding:3px 6px}.animd-modal-desc{font-size:9px;min-height:30px}}.guide-page{margin:0 auto;max-width:960px;padding:5rem 1.5rem 2rem}.guide-hero{padding:2rem 0 3rem;text-align:center}.guide-hero h1{color:var(--color-gray-900,#111);font-size:2.2rem;font-weight:700;margin:0 0 .5rem}.guide-hero p{color:var(--color-gray-500,#6b7280);font-size:1.05rem;margin:0}.guide-cards{display:flex;flex-direction:column;gap:2rem}.guide-card{align-items:center;background:#fff;border:1px solid var(--color-gray-200,#e5e7eb);border-radius:20px;display:grid;gap:2rem;grid-template-columns:1fr 1.3fr;opacity:0;padding:2.5rem;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}.guide-card.animate{opacity:1;transform:translateY(0)}.guide-card:nth-child(2n){grid-template-columns:1.3fr 1fr}.guide-card:nth-child(2n) .guide-card-text{order:2}.guide-card:nth-child(2n) .guide-card-visual{order:1}.guide-card-wide{grid-template-columns:1fr 1.8fr!important}.guide-card-wide .guide-card-text{order:1!important}.guide-card-wide .guide-card-visual{order:2!important}.guide-card-text{padding:.5rem 0}.guide-step-num{color:var(--theme-primary,#ff4081);display:inline-block;font-size:3rem;font-weight:800;line-height:1;margin-bottom:.5rem;opacity:.2}.guide-card-text h2{color:var(--color-gray-900,#111);font-size:1.5rem;font-weight:700;margin:0 0 .4rem}.guide-card-text p{color:var(--color-gray-500,#6b7280);font-size:.95rem;line-height:1.5;margin:0}.guide-card-text kbd{background:var(--color-gray-100,#f3f4f6);border:1px solid var(--color-gray-300,#d1d5db);border-radius:4px;box-shadow:0 1px 0 var(--color-gray-300,#d1d5db);color:var(--color-gray-700,#374151);display:inline-block;font-family:inherit;font-size:.8em;padding:1px 6px}.guide-mini-ui{background:var(--color-gray-50,#f9fafb);border-radius:14px;color:var(--color-gray-700,#374151);font-size:13px;overflow:hidden;padding:1.5rem;position:relative}.gm-dot{border-radius:3px;display:inline-block;flex-shrink:0;height:10px;margin-right:6px;width:10px}.gm-modal{background:#fff;border-radius:12px;box-shadow:0 4px 24px #00000014;margin:0 auto;max-width:260px;padding:1.25rem}.gm-modal-title{color:var(--color-gray-900,#111);font-size:14px;font-weight:600;margin-bottom:.75rem}.gm-input{align-items:center;background:var(--color-gray-100,#f3f4f6);border:1px solid var(--color-gray-300,#d1d5db);border-radius:8px;display:flex;margin-bottom:.75rem;padding:8px 12px}.gm-input-text{color:var(--color-gray-800,#1f2937);font-size:13px}.gm-cursor-blink{animation:guideBlink 1s step-end infinite;background:var(--theme-primary,#ff4081);display:inline-block;height:14px;margin-left:1px;width:1px}@keyframes guideBlink{0%,to{opacity:1}50%{opacity:0}}.gm-btn-primary{background:var(--theme-primary,#ff4081);border-radius:8px;color:#fff;font-size:13px;font-weight:600;padding:8px 0;text-align:center}.gm-task-list{background:#fff;border-radius:10px;box-shadow:0 1px 4px #0000000d;overflow:hidden}.gm-task-row{align-items:center;border-bottom:1px solid var(--color-gray-100,#f3f4f6);display:flex;font-size:13px;padding:8px 12px}.gm-task-row.gm-group{background:var(--color-gray-50,#fafafa);font-weight:600}.gm-task-row.gm-child{padding-left:28px}.gm-arrow{color:var(--color-gray-400,#9ca3af);font-size:10px;margin-right:6px}.gm-new-row{opacity:0;transform:translateY(8px)}.guide-card.animate .gm-new-row{animation:guideFadeInUp .5s ease .6s forwards}.gm-add-btn{color:var(--theme-primary,#ff4081);font-size:12px;font-weight:500;margin-top:8px;padding:8px;text-align:center}.gm-editor{background:#fff;border-radius:12px;box-shadow:0 4px 24px #00000014;padding:1.25rem}.gm-editor-title{color:var(--color-gray-900,#111);font-size:15px;font-weight:600;margin-bottom:.75rem}.gm-editor-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:.75rem}.gm-chip{align-items:center;background:#fff;border:1px solid var(--color-gray-200,#e5e7eb);border-radius:6px;color:var(--color-gray-600,#4b5563);display:inline-flex;font-size:12px;gap:4px;padding:4px 10px}.gm-chip-color{border-radius:50%;display:inline-block;height:8px;width:8px}.gm-chip-anim{opacity:0;transform:translateY(6px)}.guide-card.animate .gm-chip-anim{animation:guideFadeInUp .4s ease forwards;animation-delay:calc(var(--delay, 0)*.2s + .3s)}.gm-editor-desc{border-top:1px solid var(--color-gray-100,#f3f4f6);display:flex;flex-direction:column;gap:6px;padding-top:8px}.gm-desc-line{background:var(--color-gray-200,#e5e7eb);border-radius:4px;display:block;height:8px;width:100%}.gm-desc-line.short{width:60%}.gm-gantt{position:relative}.gm-gantt-header{border-bottom:1px solid var(--color-gray-200,#e5e7eb);color:var(--color-gray-400,#9ca3af);display:flex;font-size:11px;justify-content:space-between;margin-bottom:8px;padding-bottom:6px}.gm-gantt-row{align-items:center;display:flex;margin-bottom:6px}.gm-gantt-label{color:var(--color-gray-700,#374151);flex-shrink:0;font-size:12px;font-weight:500;width:55px}.gm-gantt-track{background:var(--color-gray-100,#f3f4f6);border-radius:4px;flex:1;height:20px;position:relative}.gm-gantt-bar{border-radius:3px;height:16px;position:absolute;top:2px;transition:width 1.2s ease}.gm-bar-expand{width:0!important}.guide-card.animate .gm-bar-expand{transition:width 1.2s cubic-bezier(.4,0,.2,1) .4s;width:25%!important}.gm-bar-handle{background:#00000026;border-radius:0 3px 3px 0;cursor:ew-resize;height:100%;position:absolute;right:-2px;top:0;width:6px}.gm-today-line{background:#e53935;bottom:0;left:45%;opacity:0;position:absolute;top:24px;transition:opacity .6s ease 1s;width:2px}.guide-card.animate .gm-today-line{opacity:1}.gm-today-label{color:#e53935;font-size:9px;font-weight:600;left:50%;position:absolute;top:-14px;transform:translateX(-50%);white-space:nowrap}.gm-searchbar{align-items:center;background:#fff;border:1px solid var(--color-gray-300,#d1d5db);border-radius:8px;display:flex;gap:6px;margin-bottom:10px;padding:6px 10px}.gm-search-icon{font-size:14px}.gm-search-text{color:var(--color-gray-800,#1f2937);font-size:13px}.gm-typing:after{content:"디자";opacity:0}.guide-card.animate .gm-typing:after{animation:guideTyping .8s steps(2) .5s forwards}@keyframes guideTyping{0%{content:"";opacity:1}50%{content:"디";opacity:1}to{content:"디자";opacity:1}}.gm-search-results{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.gm-search-row{align-items:center;background:#fff;border-radius:6px;display:flex;font-size:12px;gap:6px;padding:5px 8px}.gm-search-row.match{opacity:0}.guide-card.animate .gm-search-row.match{animation:guideFadeInUp .3s ease forwards}.guide-card.animate .gm-search-row.match:first-child{animation-delay:1.2s}.guide-card.animate .gm-search-row.match:nth-child(2){animation-delay:1.4s}.gm-search-row.dimmed{opacity:.35}.gm-search-row mark{background:#ff408126;border-radius:2px;color:var(--theme-primary,#ff4081);padding:0 2px}.gm-color-filters{border-top:1px solid var(--color-gray-200,#e5e7eb);display:flex;gap:6px;justify-content:center;padding-top:8px}.gm-color-dot{border:2px solid #0000;border-radius:50%;height:16px;transition:all .2s ease;width:16px}.gm-color-dot.selected{border-color:var(--color-gray-800,#1f2937);box-shadow:0 0 0 2px #00000014;transform:scale(1.2)}.gm-tag-tree{background:#fff;border-radius:10px;box-shadow:0 1px 4px #0000000d;padding:10px}.gm-tag-node{align-items:center;border-radius:6px;color:var(--color-gray-700,#374151);display:flex;font-size:12px;gap:4px;padding:5px 8px}.gm-tag-node.root{font-weight:600}.gm-tag-node.child{padding-left:24px}.gm-tag-node.leaf{font-size:11px;padding-left:44px}.gm-tag-node.highlight{background:#ff408114;color:var(--theme-primary,#ff4081);font-weight:500}.gm-tag-arrow{color:var(--color-gray-400,#9ca3af);font-size:9px}.gm-tag-folder{font-size:12px}.gm-tag-count{background:var(--color-gray-100,#f3f4f6);border-radius:10px;color:var(--color-gray-400,#9ca3af);font-size:10px;margin-left:auto;padding:1px 6px}.gm-batch-list{background:#fff;border-radius:10px;box-shadow:0 1px 4px #0000000d;margin-bottom:12px;overflow:hidden}.gm-batch-row{align-items:center;border-bottom:1px solid var(--color-gray-100,#f3f4f6);display:flex;font-size:12px;gap:8px;padding:8px 12px}.gm-batch-row.checked{background:#ff40810a}.gm-checkbox{align-items:center;border:2px solid var(--color-gray-300,#d1d5db);border-radius:4px;color:#0000;display:inline-flex;flex-shrink:0;font-size:10px;height:16px;justify-content:center;width:16px}.gm-checkbox.on{background:var(--theme-primary,#ff4081);border-color:var(--theme-primary,#ff4081);color:#fff}.gm-batch-toolbar{background:var(--color-gray-800,#1f2937);border-radius:10px;display:flex;gap:8px;justify-content:center;opacity:0;padding:8px 16px;transform:translateY(10px)}.guide-card.animate .gm-batch-toolbar{animation:guideFadeInUp .4s ease .5s forwards}.gm-toolbar-btn{border-radius:6px;color:#fff;font-size:11px;padding:4px 10px;white-space:nowrap}.gm-toolbar-btn:hover{background:#ffffff1a}.gm-toolbar-btn.danger{color:#ef5350}.gm-security-flow{align-items:center;border-bottom:1px solid var(--color-gray-200,#e5e7eb);display:flex;gap:8px;justify-content:center;margin-bottom:1.25rem;padding-bottom:1.25rem}.gm-sec-step{opacity:0;text-align:center}.guide-card.animate .gm-sec-step:first-child{animation:guideFadeInUp .4s ease .3s forwards}.guide-card.animate .gm-sec-step:nth-child(3){animation:guideFadeInUp .4s ease .6s forwards}.guide-card.animate .gm-sec-step:nth-child(5){animation:guideFadeInUp .4s ease .9s forwards}.gm-sec-icon{font-size:28px;margin-bottom:4px}.gm-sec-label{color:var(--color-gray-600,#4b5563);font-size:11px;font-weight:500}.gm-sec-arrow{color:var(--color-gray-400,#9ca3af);font-size:18px;opacity:0}.guide-card.animate .gm-sec-arrow:nth-child(2){animation:guideFadeInUp .3s ease .5s forwards}.guide-card.animate .gm-sec-arrow:nth-child(4){animation:guideFadeInUp .3s ease .8s forwards}.gm-shortcuts{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.gm-shortcut-item{align-items:center;display:flex;flex-direction:column;gap:4px}.gm-shortcut-item kbd{background:#fff;border:1px solid var(--color-gray-300,#d1d5db);border-radius:6px;box-shadow:0 2px 0 var(--color-gray-300,#d1d5db);color:var(--color-gray-800,#1f2937);display:inline-block;font-family:Noto Sans KR,sans-serif;font-size:12px;padding:4px 10px;white-space:nowrap}.gm-shortcut-item span{color:var(--color-gray-500,#6b7280);font-size:10px}.guide-cta{padding:3rem 0 1rem;text-align:center}@keyframes guideFadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.guide-page{padding:4.5rem 1rem 2rem}.guide-hero h1{font-size:1.6rem}.guide-hero p{font-size:.95rem}.guide-card{gap:1.25rem;grid-template-columns:1fr!important;padding:1.5rem}.guide-card .guide-card-text,.guide-card .guide-card-visual{order:unset!important}.guide-step-num{font-size:2.2rem}.guide-card-text h2{font-size:1.25rem}.gm-security-flow{gap:4px}.gm-sec-icon{font-size:22px}.gm-shortcuts{gap:6px}}body.intro-layout{background:var(--color-white);color:var(--color-gray-900);font-family:Noto Sans KR,sans-serif;line-height:1.6;overflow-x:hidden}.projects-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffffa;box-shadow:0 2px 20px #0000000d;position:fixed;top:0;transition:all .3s ease;width:100%;z-index:1000}.projects-nav{justify-content:space-between;margin:0 auto;max-width:1600px;padding:1.5rem 2rem}.projects-logo,.projects-nav{align-items:center;display:flex}.projects-logo{color:var(--theme-primary);font-size:1.5rem;font-weight:700;gap:.5rem;text-decoration:none}.projects-logo svg{height:32px;width:32px}.projects-nav-links{align-items:center;display:flex;gap:2rem}.projects-nav-links a{color:var(--color-gray-700);font-weight:500;text-decoration:none;transition:color .3s ease}.projects-nav-links a:hover{color:var(--theme-primary)}.projects-nav-links a.active{color:var(--theme-primary);font-weight:600}a.projects-cta-button{background:var(--theme-primary);border-radius:8px;box-shadow:0 4px 12px var(--theme-primary-alpha-30);color:#fff;font-weight:500;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s ease}.projects-cta-button:hover{background:var(--theme-primary-dark);box-shadow:0 6px 20px var(--theme-primary-alpha-30);transform:translateY(-2px)}.projects-main{margin:0 auto;max-width:1600px;padding:8rem 2rem 4rem}.projects-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--theme-primary) 0,var(--theme-primary-dark) 100%);-webkit-background-clip:text;background-clip:text;font-size:2.5rem;font-weight:700;margin-bottom:1rem;text-align:center}.projects-subtitle{color:var(--color-gray-600);font-size:1.25rem;margin-bottom:2.5rem;text-align:center}.projects-controls{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:2rem;padding:0 .25rem}.projects-search-wrap{align-items:center;display:flex;flex:1;max-width:480px;position:relative}.projects-search-icon{color:var(--color-gray-400);flex-shrink:0;left:.875rem;pointer-events:none;position:absolute}.projects-search-input{background:#fff;border:1.5px solid var(--color-gray-200);border-radius:10px;color:var(--color-gray-900);font-family:inherit;font-size:.9375rem;outline:none;padding:.625rem 2.5rem;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.projects-search-input:focus{border-color:var(--theme-primary);box-shadow:0 0 0 3px var(--theme-primary-alpha-10)}.projects-search-input::-moz-placeholder{color:var(--color-gray-400)}.projects-search-clear,.projects-search-input::placeholder{color:var(--color-gray-400)}.projects-search-clear{align-items:center;background:none;border:none;border-radius:4px;cursor:pointer;display:flex;justify-content:center;padding:.25rem;position:absolute;right:.625rem;transition:color .15s ease}.projects-search-clear:hover{color:var(--color-gray-700)}.projects-total-count{color:var(--color-gray-500);flex-shrink:0;font-size:.875rem;white-space:nowrap}.projects-section-header{margin-bottom:1.25rem}.projects-section-title{align-items:center;color:var(--color-gray-700);display:flex;font-size:1.125rem;font-weight:600;gap:.5rem}.projects-section-count{background:var(--theme-primary-alpha-10);border-radius:10px;color:var(--theme-primary);font-size:.8125rem;font-weight:500;padding:.125rem .5rem}.my-projects-section{background:linear-gradient(135deg,var(--theme-primary-alpha-10) 0,#fff0 100%);border:1.5px solid var(--theme-primary-alpha-10);border-radius:16px;margin-bottom:2.5rem;padding:1.5rem}.my-projects-title-text{color:var(--theme-primary)}.my-projects-title-text svg{color:var(--theme-primary);flex-shrink:0}.all-projects-section{margin-top:0}.projects-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.project-card{background:#fff;border:1px solid var(--color-gray-100);border-radius:12px;box-shadow:0 2px 12px #0000000f;color:inherit;cursor:pointer;display:block;overflow:hidden;position:relative;text-decoration:none;transition:all .25s ease}.project-card:hover{border-color:var(--color-gray-200);box-shadow:0 8px 28px #0000001f;transform:translateY(-4px)}.project-thumbnail{align-items:center;background:#f9fafb;display:flex;height:160px;justify-content:center;overflow:hidden;position:relative;width:100%}.project-thumbnail img{height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:left top;object-position:left top;width:100%}.no-thumbnail{align-items:center;color:#bbb;display:flex;flex-direction:column;gap:.5rem;justify-content:center;padding:1.5rem;text-align:center}.no-thumbnail svg{opacity:.35}.no-thumbnail p{color:var(--color-gray-400);font-size:.75rem;margin:0}.project-content{padding:1rem 1.25rem 1.125rem}.project-name{color:var(--color-gray-900);font-size:1rem;font-weight:600;line-height:1.4;margin-bottom:.375rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--color-gray-500);display:-webkit-box;font-size:.8125rem;line-height:1.6;margin-bottom:.75rem;min-height:2.6rem;overflow:hidden}.project-meta{border-top:1px solid var(--color-gray-100);color:var(--color-gray-400);font-size:.75rem;justify-content:space-between;padding-top:.75rem}.project-date,.project-meta{align-items:center;display:flex}.project-date{gap:.375rem}.project-badge{background:var(--theme-primary-alpha-10);border-radius:10px;color:var(--theme-primary);font-size:.6875rem;font-weight:500;padding:.125rem .5rem}.card-delete-btn{align-items:center;background:#ffffffeb;border:none;border-radius:6px;box-shadow:0 1px 4px #0000001f;color:var(--color-gray-500);cursor:pointer;display:flex;height:28px;justify-content:center;opacity:0;position:absolute;right:.5rem;top:.5rem;transition:opacity .15s ease,background .15s ease,color .15s ease;width:28px;z-index:1}.project-card:hover .card-delete-btn{opacity:1}.card-delete-btn:hover{background:var(--color-gray-100,#f3f4f6);color:var(--color-gray-700)}.project-badge-private{background:#f3f4f6;color:var(--color-gray-500)}.no-search-results{align-items:center;color:var(--color-gray-400);display:flex;flex-direction:column;gap:.75rem;padding:3rem 2rem;text-align:center}.no-search-results p{font-size:.9375rem;margin:0}.empty-state{color:var(--color-gray-600);padding:4rem 2rem;text-align:center}.empty-state-icon{font-size:4rem;margin-bottom:1rem}.empty-state-title{color:var(--color-gray-800);font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.empty-state-description{font-size:1rem;margin-bottom:2rem}@media (max-width:768px){.projects-title{font-size:2rem}.projects-nav-links{display:none}.projects-grid{grid-template-columns:1fr}.projects-controls{align-items:stretch;flex-direction:column;gap:.75rem}.projects-search-wrap{max-width:100%}.projects-total-count{text-align:right}.my-projects-section{padding:1.25rem}}@media (max-width:1024px) and (min-width:769px){.projects-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}}.pricing-main{margin:0 auto;max-width:1200px;padding:7rem 2rem 0}.pricing-hero{padding:3rem 0 2rem;text-align:center}.pricing-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--color-gray-900) 0,var(--color-gray-700) 100%);-webkit-background-clip:text;background-clip:text;font-size:2.75rem;font-weight:800;line-height:1.2;margin-bottom:1rem}.pricing-subtitle{color:var(--color-gray-500);font-size:1.2rem;margin:0 auto;max-width:500px}.pricing-cards-wrapper{padding:2rem 0 4rem}.pricing-cards{align-items:start;display:grid;gap:1.5rem;grid-template-columns:repeat(3,1fr)}.pricing-card{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:20px;display:flex;flex-direction:column;padding:2.5rem 2rem 2rem;position:relative;transition:all .35s cubic-bezier(.4,0,.2,1)}.pricing-card:hover{box-shadow:0 20px 60px #00000014;transform:translateY(-6px)}.pricing-card-popular{border:2px solid var(--theme-primary);box-shadow:0 8px 40px var(--theme-primary-alpha-10);transform:scale(1.04);z-index:1}.pricing-card-popular:hover{box-shadow:0 20px 60px var(--theme-primary-alpha-20);transform:scale(1.04) translateY(-6px)}.pricing-card-three-month{background:linear-gradient(180deg,var(--color-white) 0,var(--color-gray-50) 100%);border:1px solid var(--color-gray-300)}.pricing-card-annual{background:linear-gradient(180deg,#f0faf4 0,var(--color-white) 100%);border:2px solid #0d7a3e;box-shadow:0 8px 40px #0d7a3e14}.pricing-card-annual:hover{box-shadow:0 20px 60px #0d7a3e26;transform:translateY(-6px)}.pricing-billing-toggle{align-items:center;display:flex;gap:.75rem;justify-content:center;padding:.5rem 0 2.5rem}.toggle-label{color:var(--color-gray-400);cursor:pointer;font-size:.95rem;font-weight:600;transition:color .2s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.toggle-label.toggle-active{color:var(--color-gray-900)}.toggle-switch{background:var(--color-gray-200);border:none;border-radius:13px;cursor:pointer;flex-shrink:0;height:26px;padding:0;position:relative;transition:background .25s;width:48px}.toggle-switch.is-annual{background:#0d7a3e}.toggle-thumb{background:var(--color-white);border-radius:50%;box-shadow:0 1px 4px #0003;height:20px;left:3px;position:absolute;top:3px;transition:transform .25s cubic-bezier(.4,0,.2,1);width:20px}.toggle-switch.is-annual .toggle-thumb{transform:translateX(22px)}.toggle-badge{background:#dcfce7;color:#0d7a3e;font-size:.75rem;letter-spacing:.03em;padding:.2rem .6rem}.pricing-badge,.toggle-badge{border-radius:20px;font-weight:700}.pricing-badge{background:var(--theme-primary);box-shadow:0 4px 12px var(--theme-primary-alpha-30);color:var(--color-white);font-size:.8rem;left:50%;letter-spacing:.05em;padding:.3rem 1.2rem;position:absolute;top:-14px;transform:translateX(-50%)}.pricing-badge-three-month{background:linear-gradient(135deg,#1a1a2e,#16213e);box-shadow:0 4px 12px #0003}.pricing-badge-annual{background:linear-gradient(135deg,#0d7a3e,#166534);box-shadow:0 4px 12px #0d7a3e4d}.pricing-card-header{border-bottom:1px solid var(--color-gray-100);margin-bottom:1.5rem;padding-bottom:1.5rem;text-align:center}.pricing-plan-icon{align-items:center;background:var(--color-gray-100);border-radius:14px;color:var(--color-gray-600);display:flex;height:52px;justify-content:center;margin:0 auto 1rem;width:52px}.pricing-icon-primary{background:var(--theme-primary-alpha-10);color:var(--theme-primary)}.pricing-icon-three-month{background:#1a1a2e;color:#e0d4ff}.pricing-icon-annual{background:#dcfce7;color:#0d7a3e}.pricing-price-monthly{color:#0d7a3e;font-size:.85rem;font-weight:600;margin-top:.25rem}.pricing-plan-name{color:var(--color-gray-900);font-size:1.25rem;font-weight:700;margin-bottom:.75rem}.pricing-price-original{color:var(--color-gray-400);font-size:1.1rem;margin-bottom:.2rem;text-decoration:line-through}.pricing-price{align-items:baseline;display:flex;gap:2px;justify-content:center;margin-bottom:.25rem}.pricing-currency{color:var(--color-gray-700);font-size:1.25rem;font-weight:600}.pricing-amount{color:var(--color-gray-900);font-size:2.75rem;font-weight:800;letter-spacing:-.02em;line-height:1}.pricing-period{color:var(--color-gray-500);font-size:1rem;font-weight:500;margin-left:2px}.pricing-period-once{background:var(--color-gray-100);border-radius:6px;font-size:.85rem;margin-left:6px;padding:.15rem .6rem}.pricing-price-daily{color:var(--theme-primary);font-size:.85rem;font-weight:600;margin-bottom:.5rem}.pricing-price-equiv{color:var(--color-gray-500)}.pricing-price-equiv,.pricing-stock{font-size:.85rem;margin-bottom:.5rem}.pricing-stock{align-items:center;color:#dc2626;display:inline-flex;font-weight:600;gap:.4rem}.pricing-stock strong{font-weight:800}.pricing-stock-dot{animation:pricingPulse 1.5s ease-in-out infinite;background:#dc2626;border-radius:50%;display:inline-block;height:8px;width:8px}@keyframes pricingPulse{0%,to{opacity:1}50%{opacity:.3}}.pricing-plan-desc{color:var(--color-gray-500);font-size:.9rem;margin-top:.5rem}.pricing-features{display:flex;flex:1;flex-direction:column;gap:.75rem;list-style:none;margin:0 0 2rem;padding:0}.pricing-features li{align-items:center;color:var(--color-gray-700);display:flex;font-size:.9rem;gap:.6rem;line-height:1.4}.pricing-features li.included svg{color:#10b981;flex-shrink:0}.pricing-features li.excluded{color:var(--color-gray-400)}.pricing-features li.excluded svg{color:var(--color-gray-300);flex-shrink:0}.pricing-features li.highlight{color:var(--color-gray-900)}.pricing-card-footer{margin-top:auto}.pricing-btn{border:none;border-radius:12px;cursor:pointer;display:block;font-size:.95rem;font-weight:600;padding:.85rem 1.5rem;text-align:center;text-decoration:none;transition:all .3s ease;width:100%}.pricing-btn-secondary{background:var(--color-gray-100);color:var(--color-gray-700)}.pricing-btn-secondary:hover{background:var(--color-gray-200);color:var(--color-gray-900)}.pricing-btn-primary{background:var(--theme-primary);box-shadow:0 4px 16px var(--theme-primary-alpha-30);color:var(--color-white)}.pricing-btn-primary:hover{background:var(--theme-primary-dark);box-shadow:0 6px 24px var(--theme-primary-alpha-30);color:var(--color-white);transform:translateY(-2px)}.pricing-btn-annual{background:linear-gradient(135deg,#0d7a3e,#166534);border:none;border-radius:12px;box-shadow:0 4px 16px #0d7a3e40;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:.9rem 1.5rem;transition:all .25s;width:100%}.pricing-btn-annual:hover{box-shadow:0 8px 28px #0d7a3e59;transform:translateY(-2px)}.pricing-btn-three-month{background:linear-gradient(135deg,#1a1a2e,#16213e);box-shadow:0 4px 16px #00000026;color:#e0d4ff}.pricing-btn-three-month:hover{box-shadow:0 8px 28px #00000040;color:#fff;transform:translateY(-2px)}.pricing-btn-large{display:inline-block;font-size:1.05rem;padding:1rem 2.5rem;width:auto}.pricing-comparison{padding:4rem 0}.pricing-section-title{color:var(--color-gray-900);font-size:2rem;font-weight:700;margin-bottom:2.5rem;text-align:center}.pricing-table-wrapper{-webkit-overflow-scrolling:touch;background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:16px;overflow-x:auto}.pricing-table{border-collapse:collapse;font-size:.95rem;width:100%}.pricing-table thead{background:var(--color-gray-50)}.pricing-table th{border-bottom:2px solid var(--color-gray-200);color:var(--color-gray-700);font-weight:700;padding:1rem 1.5rem;text-align:center}.pricing-table th.pricing-table-feature{text-align:left;width:40%}.pricing-table-highlight{background:var(--theme-primary-alpha-10)!important}.pricing-table thead .pricing-table-highlight{color:var(--theme-primary)}.pricing-table td{border-bottom:1px solid var(--color-gray-100);color:var(--color-gray-700);padding:.9rem 1.5rem;text-align:center}.pricing-table td:first-child{color:var(--color-gray-800);font-weight:500;text-align:left}.pricing-table tbody tr:last-child td{border-bottom:none}.pricing-table tbody tr:hover{background:var(--color-gray-50)}.pricing-check{color:#10b981;font-size:1.1rem;font-weight:700}.pricing-cross{color:var(--color-gray-300);font-size:1.1rem}.pricing-faq{margin:0 auto;max-width:750px;padding:2rem 0 4rem}.pricing-faq-list{display:flex;flex-direction:column;gap:.75rem}.pricing-faq-item{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:14px;overflow:hidden;transition:all .3s ease}.pricing-faq-item:hover{border-color:var(--color-gray-300)}.pricing-faq-item[open]{box-shadow:0 4px 20px #0000000f}.pricing-faq-item summary{align-items:center;color:var(--color-gray-800);cursor:pointer;display:flex;font-size:.95rem;font-weight:600;justify-content:space-between;list-style:none;padding:1.1rem 1.5rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pricing-faq-item summary::-webkit-details-marker{display:none}.pricing-faq-item summary:after{color:var(--color-gray-400);content:"+";flex-shrink:0;font-size:1.4rem;font-weight:300;margin-left:1rem;transition:transform .3s ease}.pricing-faq-item[open] summary:after{color:var(--theme-primary);content:"\2212"}.pricing-faq-item p{color:var(--color-gray-600);font-size:.9rem;line-height:1.7;margin:0;padding:0 1.5rem 1.25rem}.pricing-cta{padding:4rem 0 5rem;text-align:center}.pricing-cta-content h2{color:var(--color-gray-900);font-size:2rem;font-weight:700;margin-bottom:.75rem}.pricing-cta-content p{color:var(--color-gray-500);font-size:1.1rem;margin-bottom:2rem}.intro-nav-links a.active{color:var(--theme-primary);font-weight:600}@media (max-width:1024px){.pricing-cards{gap:1rem}.pricing-card{padding:2rem 1.5rem 1.5rem}.pricing-card-popular{transform:scale(1.02)}.pricing-card-popular:hover{transform:scale(1.02) translateY(-6px)}}@media (max-width:768px){.pricing-main{padding:6rem 1rem 0}.pricing-hero{padding:2rem 0 1rem}.pricing-title{font-size:1.75rem}.pricing-subtitle{font-size:1rem}.pricing-cards{gap:1.25rem;grid-template-columns:1fr;margin:0 auto;max-width:420px}.pricing-card-popular{order:-1;transform:none}.pricing-card-popular:hover,.pricing-card:hover{transform:translateY(-4px)}.pricing-cards-wrapper{padding:1.5rem 0 3rem}.pricing-section-title{font-size:1.5rem}.pricing-table-wrapper{border-left:none;border-radius:0;border-right:none;margin:0 -1rem}.pricing-table td,.pricing-table th{font-size:.85rem;padding:.75rem}.pricing-table td:first-child,.pricing-table th.pricing-table-feature{background:var(--color-white);left:0;min-width:120px;position:sticky;z-index:1}.pricing-table thead th.pricing-table-feature{background:var(--color-gray-50)}.pricing-faq{padding:1rem 0 3rem}.pricing-faq-item summary{font-size:.9rem;padding:1rem 1.25rem}.pricing-faq-item p{font-size:.85rem;padding:0 1.25rem 1rem}.pricing-cta{padding:2rem 0 3rem}.pricing-cta-content h2{font-size:1.5rem}}.checkout-overlay{align-items:center;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:#00000080;display:flex;inset:0;justify-content:center;opacity:0;position:fixed;transition:opacity .3s ease,visibility .3s ease;visibility:hidden;z-index:1100}.checkout-overlay.active{opacity:1;visibility:visible}.checkout-modal{background:var(--color-white);border-radius:20px;box-shadow:0 25px 80px #00000026;display:flex;flex-direction:column;max-height:calc(100vh - 4rem);max-width:calc(100vw - 2rem);overflow:hidden;transform:translateY(20px) scale(.98);transition:transform .35s cubic-bezier(.4,0,.2,1);width:480px}.checkout-overlay.active .checkout-modal{transform:translateY(0) scale(1)}.checkout-header{align-items:center;background:var(--color-gray-50);border-bottom:1px solid var(--color-gray-100);display:flex;flex-shrink:0;justify-content:space-between;padding:1.25rem 1.5rem}.checkout-header-left{align-items:center;display:flex;gap:.75rem}.checkout-plan-badge{border-radius:20px;color:var(--color-white);font-size:.75rem;font-weight:700;letter-spacing:.03em;padding:.25rem .75rem}.checkout-badge-pro{background:var(--theme-primary)}.checkout-badge-three-month{background:linear-gradient(135deg,#1a1a2e,#16213e)}.checkout-badge-annual{background:linear-gradient(135deg,#0d7a3e,#166534)}.checkout-plan-title{color:var(--color-gray-900);font-size:1rem;font-weight:700;margin:0}.checkout-plan-price{color:var(--color-gray-500);font-size:.85rem;margin:0}.checkout-close{align-items:center;background:none;border:none;border-radius:10px;color:var(--color-gray-400);cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s ease;width:36px}.checkout-close:hover{background:var(--color-gray-100);color:var(--color-gray-700)}.checkout-body{flex:1;overflow-y:auto;padding:1.25rem 1.5rem}.checkout-instruction{color:var(--color-gray-600);font-size:.9rem;margin:0 0 1rem}.checkout-section-title{align-items:center;color:var(--color-gray-500);display:flex;font-size:.8rem;font-weight:600;gap:.4rem;letter-spacing:.05em;margin:0 0 .6rem;text-transform:uppercase}.checkout-section-title svg{color:var(--color-gray-400)}.checkout-projects-list,.checkout-projects-loading{display:flex;flex-direction:column;gap:.5rem}.checkout-skeleton{animation:checkoutShimmer 1.5s ease-in-out infinite;background:linear-gradient(90deg,var(--color-gray-100) 25%,var(--color-gray-50) 50%,var(--color-gray-100) 75%);background-size:200% 100%;border-radius:12px;height:52px}@keyframes checkoutShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.checkout-project-item{align-items:center;border:1.5px solid var(--color-gray-200);border-radius:12px;cursor:pointer;display:flex;gap:.75rem;padding:.85rem 1rem;transition:all .2s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.checkout-project-item:hover{background:var(--color-gray-50);border-color:var(--color-gray-300)}.checkout-project-item.selected{background:var(--theme-primary-alpha-10);border-color:var(--theme-primary);box-shadow:0 0 0 3px var(--theme-primary-alpha-10)}.checkout-project-dot{border:2px solid var(--color-gray-300);border-radius:50%;flex-shrink:0;height:18px;transition:all .2s ease;width:18px}.checkout-project-item.selected .checkout-project-dot{background:var(--theme-primary);border-color:var(--theme-primary)}.checkout-project-info{flex:1;min-width:0}.checkout-project-name{color:var(--color-gray-800);font-size:.9rem;font-weight:500}.checkout-project-desc,.checkout-project-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.checkout-project-desc{color:var(--color-gray-500);font-size:.8rem}.checkout-project-check{color:var(--theme-primary);flex-shrink:0;opacity:0;transition:opacity .2s ease}.checkout-project-item.selected .checkout-project-check{opacity:1}.checkout-project-item.disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.checkout-project-item.disabled .checkout-project-dot{border-color:var(--color-gray-200)}.checkout-pro-badge{border-radius:4px;display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:.02em;line-height:1.4;margin-left:.4rem;padding:.1rem .45rem;vertical-align:middle}.checkout-pro-badge-pro{background:var(--theme-primary-alpha-10);color:var(--theme-primary)}.checkout-pro-badge-three_month{background:#1a1a2e;color:#e0d4ff}.checkout-empty,.checkout-error{padding:1rem 0;text-align:center}.checkout-empty p,.checkout-error p{color:var(--color-gray-500);font-size:.9rem;margin:0}.checkout-empty-sub{color:var(--color-gray-400)!important;font-size:.8rem!important;margin-top:.25rem!important}.checkout-retry-btn{background:none;border:1.5px solid var(--theme-primary);border-radius:8px;color:var(--theme-primary);cursor:pointer;font-size:.85rem;font-weight:600;margin-top:.5rem;padding:.4rem 1rem;transition:all .2s ease}.checkout-retry-btn:hover{background:var(--theme-primary);color:var(--color-white)}.checkout-divider{align-items:center;color:var(--color-gray-400);display:flex;font-size:.8rem;gap:1rem;margin:1.25rem 0}.checkout-divider:after,.checkout-divider:before{background:var(--color-gray-200);content:"";flex:1;height:1px}.checkout-create-toggle{align-items:center;background:none;border:1.5px dashed var(--color-gray-300);border-radius:12px;color:var(--color-gray-600);cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:.5rem;padding:.75rem 1rem;transition:all .2s ease;width:100%}.checkout-create-toggle:hover{background:var(--theme-primary-alpha-10);border-color:var(--theme-primary);color:var(--theme-primary)}.checkout-create-chevron{margin-left:auto;transition:transform .3s ease}.checkout-create-toggle.expanded .checkout-create-chevron{transform:rotate(180deg)}.checkout-create-form{max-height:0;overflow:hidden;padding:0;transition:max-height .35s cubic-bezier(.4,0,.2,1),padding .35s cubic-bezier(.4,0,.2,1)}.checkout-create-form.expanded{max-height:400px;padding:1rem 0 0}.checkout-form-group{margin-bottom:.75rem}.checkout-form-group label{color:var(--color-gray-600);display:block;font-size:.8rem;font-weight:600;margin-bottom:.3rem}.checkout-required{color:#dc2626}.checkout-optional{color:var(--color-gray-400);font-weight:400}.checkout-form-group input{background:var(--color-white);border:1.5px solid var(--color-gray-200);border-radius:10px;box-sizing:border-box;color:var(--color-gray-800);font-size:.9rem;padding:.7rem .9rem;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.checkout-form-group input::-moz-placeholder{color:var(--color-gray-400)}.checkout-form-group input::placeholder{color:var(--color-gray-400)}.checkout-form-group input:focus{border-color:var(--theme-primary);box-shadow:0 0 0 3px var(--theme-primary-alpha-10);outline:none}.checkout-create-btn{background:var(--color-gray-100);border:none;border-radius:10px;color:var(--color-gray-700);cursor:pointer;font-size:.9rem;font-weight:600;margin-top:.25rem;padding:.7rem;transition:all .2s ease;width:100%}.checkout-create-btn:hover{background:var(--color-gray-200);color:var(--color-gray-900)}.checkout-create-btn:disabled{cursor:not-allowed;opacity:.6}.checkout-form-error{color:#dc2626;font-size:.8rem;margin:.5rem 0 0;min-height:0}.checkout-footer{border-top:1px solid var(--color-gray-100);flex-shrink:0;padding:1rem 1.5rem}.checkout-selection-summary{margin-bottom:.6rem;min-height:1.2rem}#checkoutSelectedName{color:var(--color-gray-500);font-size:.8rem}.checkout-pay-btn{align-items:center;background:var(--theme-primary);border:none;border-radius:12px;box-shadow:0 4px 16px var(--theme-primary-alpha-30);color:var(--color-white);cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:.5rem;justify-content:center;padding:.85rem;transition:all .3s ease;width:100%}.checkout-pay-btn:disabled{background:var(--color-gray-200);box-shadow:none;color:var(--color-gray-400);cursor:not-allowed}.checkout-pay-btn:not(:disabled):hover{background:var(--theme-primary-dark);box-shadow:0 6px 24px var(--theme-primary-alpha-30);transform:translateY(-2px)}.checkout-pay-annual{background:linear-gradient(135deg,#0d7a3e,#166534);box-shadow:0 4px 16px #0d7a3e33}.checkout-pay-annual:not(:disabled):hover{box-shadow:0 8px 28px #0d7a3e4d;transform:translateY(-2px)}.checkout-pay-three-month{background:linear-gradient(135deg,#1a1a2e,#16213e);box-shadow:0 4px 16px #00000026}.checkout-pay-three-month:not(:disabled):hover{box-shadow:0 8px 28px #00000040;transform:translateY(-2px)}.checkout-spinner{animation:checkoutSpin .6s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top:2px solid var(--color-white);display:inline-block;height:18px;width:18px}@keyframes checkoutSpin{to{transform:rotate(1turn)}}.checkout-card-section{animation:checkoutFadeIn .3s ease forwards}.checkout-card-fields{flex-direction:column}.checkout-card-fields,.checkout-form-row{display:flex;gap:.75rem}.checkout-form-row .checkout-form-group{flex:1}.checkout-card-note{align-items:center;color:var(--color-gray-400);display:flex;font-size:.75rem;gap:.4rem;margin:.25rem 0 0}.checkout-card-note svg{stroke:var(--color-gray-400);flex-shrink:0}#checkoutBillingError{color:#dc2626;font-size:.8rem;margin:0 0 .5rem;min-height:0}.checkout-fade-in{animation:checkoutFadeIn .3s ease forwards;opacity:0;transform:translateY(8px)}@keyframes checkoutFadeIn{to{opacity:1;transform:translateY(0)}}.checkout-shake{animation:checkoutShake .5s ease}@keyframes checkoutShake{0%,to{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}@media (max-width:768px){.checkout-overlay{align-items:flex-end}.checkout-modal{border-radius:20px 20px 0 0;max-height:90vh;max-height:90dvh;max-width:100%;transform:translateY(100%);width:100%}.checkout-overlay.active .checkout-modal{transform:translateY(0)}.checkout-modal:before{background:var(--color-gray-300);border-radius:2px;content:"";display:block;flex-shrink:0;height:4px;margin:8px auto 0;width:40px}.checkout-body,.checkout-header{padding:1rem 1.25rem}.checkout-body{-webkit-overflow-scrolling:touch}.checkout-project-item{min-height:56px;padding:1rem}.checkout-form-group input{font-size:16px;min-height:48px}.checkout-pay-btn{font-size:1rem;min-height:52px;padding:1rem}.checkout-footer{padding:1rem 1.25rem calc(1rem + env(safe-area-inset-bottom))}}.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}}