*,: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:rgba(59,130,246,.5);--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: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--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:rgba(59,130,246,.5);--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: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{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-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-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}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.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}}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.bottom-0{bottom:0}.left-0{left:0}.left-0\.5{left:.125rem}.left-\[22px\]{left:22px}.right-0{right:0}.right-2{right:.5rem}.right-3{right:.75rem}.top-0{top:0}.top-0\.5{top:.125rem}.top-1\/2{top:50%}.top-3{top:.75rem}.top-\[calc\(100\%\+8px\)\]{top:calc(100% + 8px)}.z-10{z-index:10}.z-50{z-index:50}.z-\[1000\]{z-index:1000}.z-\[1001\]{z-index:1001}.z-\[1100\]{z-index:1100}.z-\[140\]{z-index:140}.z-\[300\]{z-index:300}.col-span-2{grid-column:span 2/span 2}.m-0{margin:0}.-mx-4{margin-left:-1rem;margin-right:-1rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-5{margin-left:1.25rem;margin-right:1.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-3{margin-top:.75rem;margin-bottom:.75rem}.my-4{margin-top:1rem;margin-bottom:1rem}.\!mb-0{margin-bottom:0!important}.-mb-px{margin-bottom:-1px}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-\[7px\]{margin-bottom:7px}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-20{margin-top:5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-12{height:3rem}.h-20{height:5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[18px\]{height:18px}.h-\[300px\]{height:300px}.h-\[400px\]{height:400px}.h-\[56px\]{height:56px}.h-\[60px\]{height:60px}.h-\[9px\]{height:9px}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-\[300px\]{max-height:300px}.max-h-\[420px\]{max-height:420px}.max-h-\[90vh\]{max-height:90vh}.min-h-\[200px\]{min-height:200px}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-20{width:5rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[18px\]{width:18px}.w-\[90vw\]{width:90vw}.w-auto{width:auto}.w-px{width:1px}.min-w-0{min-width:0}.min-w-\[1000px\]{min-width:1000px}.min-w-\[110px\]{min-width:110px}.min-w-\[150px\]{min-width:150px}.min-w-\[20px\]{min-width:20px}.min-w-\[240px\]{min-width:240px}.min-w-\[960px\]{min-width:960px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-\[160px\]{max-width:160px}.max-w-\[240px\]{max-width:240px}.max-w-\[320px\]{max-width:320px}.max-w-\[400px\]{max-width:400px}.max-w-\[500px\]{max-width:500px}.max-w-\[640px\]{max-width:640px}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-\[2\]{flex:2}.flex-shrink{flex-shrink:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.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))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize-y{resize:vertical}.resize{resize:both}.scroll-mt-24{scroll-margin-top:6rem}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-around{justify-content:space-around}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-x-4{column-gap:1rem}.gap-x-5{column-gap:1.25rem}.gap-x-6{column-gap:1.5rem}.gap-y-1{row-gap:.25rem}.gap-y-2{row-gap:.5rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity,1))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.rounded-\[8px\]{border-radius:8px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:14px}.rounded-md{border-radius:10px}.rounded-pill{border-radius:20px}.rounded-sm{border-radius:6px}.border{border-width:1px}.border-2{border-width:2px}.border-\[3px\]{border-width:3px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.border-bg-card{border-color:var(--ds-bg-card)}.border-border{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-emerald-200{--tw-border-opacity:1;border-color:rgb(167 243 208/var(--tw-border-opacity,1))}.border-error-border{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-indigo-600{--tw-border-opacity:1;border-color:rgb(79 70 229/var(--tw-border-opacity,1))}.border-ink-primary{border-color:var(--ds-ink-primary)}.border-primary-100{--tw-border-opacity:1;border-color:rgb(229 231 253/var(--tw-border-opacity,1))}.border-primary-200{--tw-border-opacity:1;border-color:rgb(200 204 248/var(--tw-border-opacity,1))}.border-primary-500{--tw-border-opacity:1;border-color:rgb(92 104 222/var(--tw-border-opacity,1))}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-rose-200{--tw-border-opacity:1;border-color:rgb(254 205 211/var(--tw-border-opacity,1))}.border-stroke{border-color:var(--ds-stroke)}.border-stroke-subtle{border-color:var(--ds-stroke-subtle)}.border-transparent{border-color:transparent}.border-warning-border{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.border-yellow-300{--tw-border-opacity:1;border-color:rgb(253 224 71/var(--tw-border-opacity,1))}.bg-\[\#111\]{--tw-bg-opacity:1;background-color:rgb(17 17 17/var(--tw-bg-opacity,1))}.bg-\[\#f5f5f5\]{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity,1))}.bg-amber-100{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.bg-bg{--tw-bg-opacity:1;background-color:rgb(240 244 245/var(--tw-bg-opacity,1))}.bg-bg-card{background-color:var(--ds-bg-card)}.bg-bg-disabled{background-color:var(--ds-bg-disabled)}.bg-bg-page{background-color:var(--ds-bg-page)}.bg-bg-rail{--tw-bg-opacity:1;background-color:rgb(19 19 19/var(--tw-bg-opacity,1))}.bg-bg-surface{background-color:var(--ds-bg-surface)}.bg-black\/40{background-color:rgba(0,0,0,.4)}.bg-black\/50{background-color:rgba(0,0,0,.5)}.bg-border{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.bg-error-bg{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity,1))}.bg-indigo-50{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.bg-ink-primary{background-color:var(--ds-ink-primary)}.bg-lime{--tw-bg-opacity:1;background-color:rgb(209 249 98/var(--tw-bg-opacity,1))}.bg-primary-100{--tw-bg-opacity:1;background-color:rgb(229 231 253/var(--tw-bg-opacity,1))}.bg-primary-50{--tw-bg-opacity:1;background-color:rgb(242 243 254/var(--tw-bg-opacity,1))}.bg-primary-500{--tw-bg-opacity:1;background-color:rgb(92 104 222/var(--tw-bg-opacity,1))}.bg-primary-900{--tw-bg-opacity:1;background-color:rgb(19 19 19/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-rose-100{--tw-bg-opacity:1;background-color:rgb(255 228 230/var(--tw-bg-opacity,1))}.bg-rose-50{--tw-bg-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity,1))}.bg-stroke-subtle{background-color:var(--ds-stroke-subtle)}.bg-success-bg{--tw-bg-opacity:1;background-color:rgb(230 255 240/var(--tw-bg-opacity,1))}.bg-transparent{background-color:transparent}.bg-warning-bg{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-yellow-50{--tw-bg-opacity:1;background-color:rgb(254 252 232/var(--tw-bg-opacity,1))}.bg-none{background-image:none}.object-cover{object-fit:cover}.p-0{padding:0}.p-1\.5{padding:.375rem}.p-10{padding:2.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-\[60px\]{padding:60px}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-6{padding-bottom:1.5rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pr-12{padding-right:3rem}.pr-14{padding-right:3.5rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-3\.5{padding-top:.875rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.text-\[0\.75rem\]{font-size:.75rem}.text-\[0\.85rem\]{font-size:.85rem}.text-\[0\.95rem\]{font-size:.95rem}.text-\[0\.9rem\]{font-size:.9rem}.text-\[1\.1rem\]{font-size:1.1rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[14px\]{font-size:14px}.text-\[18px\]{font-size:18px}.text-\[2\.25rem\]{font-size:2.25rem}.text-base{font-size:13px;line-height:1.6}.text-lg{font-size:20px;line-height:1.2}.text-sm{font-size:11px;line-height:1.5}.text-xl{font-size:28px;line-height:1.2;letter-spacing:-.02em}.text-xs{font-size:10px;line-height:1.5;letter-spacing:.06em}.font-medium{font-weight:500}.font-regular{font-weight:400}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-\[1\.6\]{line-height:1.6}.leading-none{line-height:1}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-\[-0\.01em\]{letter-spacing:-.01em}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-widest{letter-spacing:.1em}.text-\[\#1e293b\]{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}.text-\[\#5C68DE\]{--tw-text-opacity:1;color:rgb(92 104 222/var(--tw-text-opacity,1))}.text-\[\#94a3b8\]{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-\[var\(--v2-danger\)\]{color:var(--v2-danger)}.text-\[var\(--v2-ink-500\)\]{color:var(--v2-ink-500)}.text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.text-emerald-700{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity,1))}.text-emerald-800{--tw-text-opacity:1;color:rgb(6 95 70/var(--tw-text-opacity,1))}.text-error-text{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.text-indigo-700{--tw-text-opacity:1;color:rgb(67 56 202/var(--tw-text-opacity,1))}.text-inherit{color:inherit}.text-ink-hint{color:var(--ds-ink-hint)}.text-ink-inverse{--tw-text-opacity:1;color:rgb(240 242 255/var(--tw-text-opacity,1))}.text-ink-lime{--tw-text-opacity:1;color:rgb(209 249 98/var(--tw-text-opacity,1))}.text-ink-link{color:var(--ds-ink-link)}.text-ink-primary{color:var(--ds-ink-primary)}.text-ink-secondary{color:var(--ds-ink-secondary)}.text-ink-tertiary{color:var(--ds-ink-tertiary)}.text-ink-tertiary-dark{--tw-text-opacity:1;color:rgb(139 149 192/var(--tw-text-opacity,1))}.text-primary-500{--tw-text-opacity:1;color:rgb(92 104 222/var(--tw-text-opacity,1))}.text-primary-600{--tw-text-opacity:1;color:rgb(61 79 192/var(--tw-text-opacity,1))}.text-primary-700{--tw-text-opacity:1;color:rgb(42 54 144/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-rose-600{--tw-text-opacity:1;color:rgb(225 29 72/var(--tw-text-opacity,1))}.text-rose-700{--tw-text-opacity:1;color:rgb(190 18 60/var(--tw-text-opacity,1))}.text-success-text{--tw-text-opacity:1;color:rgb(26 96 64/var(--tw-text-opacity,1))}.text-warning-text{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-yellow-600{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity,1))}.text-yellow-800{--tw-text-opacity:1;color:rgb(133 77 14/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.accent-primary-500{accent-color:#5c68de}.opacity-40{opacity:.4}.opacity-60{opacity:.6}.shadow-\[0_-2px_12px_rgba\(0\2c 0\2c 0\2c 0\.15\)\]{--tw-shadow:0 -2px 12px rgba(0,0,0,.15);--tw-shadow-colored:0 -2px 12px var(--tw-shadow-color)}.shadow-\[0_-2px_12px_rgba\(0\2c 0\2c 0\2c 0\.15\)\],.shadow-\[0_0_0_2px_white\]{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_0_2px_white\]{--tw-shadow:0 0 0 2px #fff;--tw-shadow-colored:0 0 0 2px var(--tw-shadow-color)}.shadow-\[0_1px_4px_rgba\(0\2c 0\2c 0\2c 0\.04\)\]{--tw-shadow:0 1px 4px rgba(0,0,0,.04);--tw-shadow-colored:0 1px 4px var(--tw-shadow-color)}.shadow-\[0_1px_4px_rgba\(0\2c 0\2c 0\2c 0\.04\)\],.shadow-high{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-high{--tw-shadow:0 8px 32px rgba(92,104,222,.14);--tw-shadow-colored:0 8px 32px var(--tw-shadow-color)}.shadow-low{--tw-shadow:0 1px 4px rgba(92,104,222,.08);--tw-shadow-colored:0 1px 4px var(--tw-shadow-color)}.shadow-low,.shadow-mid{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-mid{--tw-shadow:0 4px 16px rgba(92,104,222,.1);--tw-shadow-colored:0 4px 16px var(--tw-shadow-color)}.outline{outline-style:solid}.ring{--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(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-2{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-2{--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)}.ring-4{--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(4px + 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-gray-50{--tw-ring-opacity:1;--tw-ring-color:rgb(249 250 251/var(--tw-ring-opacity,1))}.ring-indigo-50{--tw-ring-opacity:1;--tw-ring-color:rgb(238 242 255/var(--tw-ring-opacity,1))}.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-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--primary:#5c68de;--primary-hover:#3d4fc0;--primary-bg:#e5e7fd;--primary-border:#c8ccf8;--lime:#d1f962;--ink-primary:#131313;--teal:#5c68de;--teal-light:#e5e7fd;--teal-dark:#3d4fc0;--orange:#5c68de;--orange-light:#e5e7fd;--orange-dark:#3d4fc0;--bg:#f0f4f5;--white:#fff;--border:#e5e7eb;--border-light:#f3f4f6;--text-dark:#131313;--text-body:#2a3260;--text-muted:#6870a8;--text-faint:#a8aecb;--success:#22c55e;--success-light:#ecfdf5;--warning:#f59e0b;--warning-light:#fffbeb;--danger:#ef4444;--danger-light:#fef2f2;--info:#3b82f6;--info-light:#eff6ff;--font:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Segoe UI",sans-serif;--text-xs:11px;--text-sm:12px;--text-base:13px;--text-md:14px;--text-lg:16px;--text-xl:20px;--text-2xl:24px;--text-3xl:28px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:20px;--shadow-sm:0 1px 3px rgba(0,0,0,.06);--shadow-md:0 4px 16px rgba(0,0,0,.08);--shadow-lg:0 8px 32px rgba(0,0,0,.12);--header-h:56px;--sidebar-w:260px;--sidebar-w-collapsed:64px;--ds-bg-page:#f0f4ff;--ds-bg-canvas:#f5f7ff;--ds-bg-surface:#f9fafe;--ds-bg-card:#fff;--ds-bg-disabled:#f5f5f5;--ds-bg-sidebar:#f5f7ff;--ds-ink-primary:#131313;--ds-ink-secondary:#2a3260;--ds-ink-tertiary:#6870a8;--ds-ink-hint:#a8aecb;--ds-ink-link:#5c68de;--ds-stroke-subtle:#d8dffa;--ds-stroke:#c8ccf8;--ds-stroke-medium:#a0a9f2}body.dark{--bg:#0f1322;--white:#1f2440;--border:#353b55;--border-light:#252a3f;--text-dark:#f0f2ff;--text-body:#a0a9f2;--text-muted:#4a5070;--text-faint:#4a5070;--ds-bg-page:#0f1322;--ds-bg-canvas:#131830;--ds-bg-surface:#1a1f35;--ds-bg-card:#1f2440;--ds-bg-disabled:#252a3f;--ds-bg-sidebar:#131830;--ds-ink-primary:#f0f2ff;--ds-ink-secondary:#a0a9f2;--ds-ink-tertiary:#7780a8;--ds-ink-hint:#4a5070;--ds-ink-link:#a0a9f2;--ds-stroke-subtle:#252a3f;--ds-stroke:#353b55;--ds-stroke-medium:#4a5070;--teal-light:rgba(92,104,222,.15);--orange-light:rgba(92,104,222,.15);--success-light:rgba(34,197,94,.12);--warning-light:rgba(245,158,11,.12);--danger-light:rgba(239,68,68,.12);--info-light:rgba(59,130,246,.12);--shadow-sm:0 1px 3px rgba(0,0,0,.2);--shadow-md:0 4px 16px rgba(0,0,0,.3);--shadow-lg:0 8px 32px rgba(0,0,0,.4)}html{scroll-behavior:smooth}body{font-family:var(--font);font-size:var(--text-base);color:var(--text-body);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select,textarea{font-family:var(--font)}.text-page-title,h1{font-weight:700;letter-spacing:-.02em}.text-section-title,h3{font-weight:700}.text-helper{font-weight:400;color:var(--text-muted)}.header-left{gap:8px}.header-hamburger,.header-left{display:flex;align-items:center}.header-hamburger{width:28px;height:28px;justify-content:center;background:none;border:none;font-size:18px;color:var(--text-body);cursor:pointer;border-radius:var(--radius-md);transition:background .15s}.header-hamburger:hover{background:var(--border-light)}.header-hamburger-placeholder{width:28px;height:28px;flex-shrink:0}.header-logo{font-family:var(--font-barlow),"Barlow",sans-serif;font-size:22px;font-weight:800;letter-spacing:-.02em;text-transform:uppercase;display:flex;align-items:center;gap:0;text-decoration:none;cursor:pointer;color:#131313}body.dark .header-logo{color:#f0f2ff}body.dark .auth-page .header-logo{color:#131313}.header-logo-onz{color:currentColor}.header-logo-edu{color:#5c68de}.header-right{display:flex;align-items:center;gap:8px}.header-lang-wrap{position:relative;display:inline-flex}.header-lang-btn{font-size:12px!important;font-weight:700;letter-spacing:.5px;color:#7a84e8!important;border:1.5px solid #c8ccf8!important;border-radius:6px!important;min-width:52px!important;height:30px!important;padding:0 10px;line-height:1;cursor:pointer;font-family:SF Mono,ui-monospace,Menlo,monospace}.header-lang-btn:hover{background:#5c68de!important;border-color:#5c68de!important;color:#fff!important}.header-lang-dropdown{display:none;position:absolute;top:100%;right:0;margin-top:4px;background:var(--white,#fff);border:1px solid var(--border,#e0e0e0);border-radius:6px;box-shadow:var(--shadow-md);overflow:hidden;z-index:1100;min-width:72px}.header-lang-dropdown.show{display:block}.header-lang-option{display:block;width:100%;padding:10px 24px;font-size:13px;font-weight:600;color:var(--text-dark);background:none;border:none;cursor:pointer;text-align:left;transition:background .15s}.header-lang-option:hover{background:var(--border-light,#f3f4f6)}.header-icon-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:none;border:none;font-size:16px;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-md);transition:background .15s,color .15s;position:relative}.header-icon-btn:hover{background:var(--border-light);color:var(--text-body)}.header-icon-btn .notif-dot{position:absolute;top:6px;right:6px;width:8px;height:8px;background:var(--danger);border-radius:50%;border:2px solid var(--white);display:none}.header-icon-btn .notif-dot.active{display:block}.notification-bell-wrap{position:relative}.notification-badge{position:absolute;top:2px;right:0;min-width:18px;height:18px;padding:0 5px;background:var(--danger);color:#fff;font-size:10px;font-weight:700;border-radius:9px;display:flex;align-items:center;justify-content:center;line-height:1;border:2px solid var(--white);pointer-events:none}.notification-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:340px;max-height:440px;background:var(--white);border-radius:var(--radius-lg,12px);box-shadow:0 8px 24px rgba(0,0,0,.15);z-index:1000;display:flex;flex-direction:column;overflow:hidden;animation:dropdownFadeIn .15s ease-out}.notification-dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;border-bottom:1px solid var(--border)}.notification-dropdown-title{font-weight:600;font-size:14px;color:var(--text-dark)}.notification-mark-all{font-size:12px;color:var(--teal);background:none;border:none;cursor:pointer;padding:0}.notification-mark-all:hover{text-decoration:underline}.notification-dropdown-list{flex:1;min-height:0;overflow-y:auto}.notification-empty{padding:32px 16px;text-align:center;color:var(--text-muted);font-size:13px}.notification-item{display:flex;align-items:flex-start;gap:8px;width:100%;padding:12px 16px;text-align:left;background:none;border:none;border-bottom:1px solid var(--border-light);cursor:pointer;transition:background .15s}.notification-item:last-child{border-bottom:none}.notification-item:hover{background:var(--border-light)}.notification-unread{background:var(--info-light)}.notification-unread:hover{background:#dbeafe}.notification-item-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.notification-item-title{font-size:13px;font-weight:600;color:var(--text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-item-message{font-size:12px;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notification-item-time{font-size:11px;color:var(--text-faint);white-space:nowrap;flex-shrink:0;margin-top:2px}body.dark .notification-dropdown{background:var(--card-bg,#1e293b);border-color:var(--border)}body.dark .notification-dropdown-header{border-color:var(--border)}body.dark .notification-unread{background:rgba(59,130,246,.1)}body.dark .notification-unread:hover{background:rgba(59,130,246,.15)}body.dark .notification-badge{border-color:var(--card-bg,#1e293b)}.notification-dropdown-footer{border-top:1px solid var(--border);padding:8px;text-align:center}.notification-view-all{width:100%;padding:8px;font-size:13px;font-weight:500;color:var(--teal);background:none;border:none;border-radius:var(--radius-md,8px);cursor:pointer;transition:background .15s}.notification-view-all:hover{background:var(--border-light)}body.dark .notification-dropdown-footer{border-color:var(--border)}@media (max-width:480px){.notification-dropdown{position:fixed;top:60px;left:12px;right:12px;width:auto;transform:none}}.notifications-page{max-width:760px;margin:0 auto;padding:32px 20px}.notifications-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px}.notifications-page-actions{display:flex;gap:8px}.notifications-filters{display:flex;gap:4px;margin-bottom:20px;border-bottom:1px solid var(--border);padding-bottom:0}.notifications-filter-btn{padding:8px 16px;font-size:13px;font-weight:500;color:var(--text-muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .15s,border-color .15s;display:flex;align-items:center;gap:6px}.notifications-filter-btn:hover{color:var(--text-body)}.notifications-filter-btn.active{color:var(--teal);border-bottom-color:var(--teal)}.notifications-filter-count{background:var(--danger);color:#fff;font-size:10px;font-weight:700;min-width:18px;height:18px;padding:0 5px;border-radius:9px;display:flex;align-items:center;justify-content:center}.notifications-loading{color:var(--text-muted);padding:40px 0;text-align:center}.notifications-empty{text-align:center;padding:60px 20px;color:var(--text-muted);font-size:14px}.notifications-list{display:flex;flex-direction:column;gap:0}.notifications-list-item{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid var(--border);border-bottom:none;background:var(--white);cursor:pointer;transition:background .15s;position:relative}.notifications-list-item:first-child{border-radius:var(--radius-md,8px) var(--radius-md,8px) 0 0}.notifications-list-item:last-child{border-bottom:1px solid var(--border);border-radius:0 0 var(--radius-md,8px) var(--radius-md,8px)}.notifications-list-item:only-child{border-radius:var(--radius-md,8px);border-bottom:1px solid var(--border)}.notifications-list-item:hover{background:var(--border-light)}.notifications-list-unread{background:var(--info-light)}.notifications-list-unread:hover{background:#dbeafe}.notifications-unread-dot{width:8px;height:8px;min-width:8px;background:var(--teal);border-radius:50%;margin-top:6px}.notifications-list-item-body{flex:1;min-width:0}.notifications-list-item-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}.notifications-list-item-title{font-size:14px;font-weight:600;color:var(--text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notifications-list-item-date{font-size:12px;color:var(--text-faint);white-space:nowrap;flex-shrink:0}.notifications-list-item-message{font-size:13px;color:var(--text-muted);line-height:1.5;margin:0}.notifications-delete-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-faint);font-size:14px;border-radius:var(--radius-md,8px);cursor:pointer;transition:background .15s,color .15s;flex-shrink:0;margin-top:2px}.notifications-delete-btn:hover{background:rgba(239,68,68,.1);color:var(--danger)}.btn-danger:hover{background:var(--danger);opacity:.9}body.dark .notifications-list-item{background:var(--card-bg,#1e293b);border-color:var(--border)}body.dark .notifications-list-unread{background:rgba(59,130,246,.1)}body.dark .notifications-list-unread:hover{background:rgba(59,130,246,.15)}.header-lang-select{display:flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--white);font-size:var(--text-sm);color:var(--text-body);cursor:pointer;transition:border-color .15s}.header-lang-select:hover{border-color:var(--teal)}.header-user-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;cursor:pointer;border:2px solid var(--border);transition:border-color .15s}.header-user-avatar:hover{border-color:var(--teal)}.header-avatar-placeholder{width:32px;height:32px;border-radius:50%;background:#5c68de;color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:700;cursor:pointer;flex-shrink:0}.header-avatar-wrap{position:relative}.header-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:260px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg,12px);box-shadow:0 8px 24px rgba(0,0,0,.15);z-index:1000;overflow:hidden;animation:dropdownFadeIn .15s ease-out}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.header-dropdown-user{display:flex;align-items:center;gap:12px;padding:16px}.header-dropdown-avatar{width:40px;height:40px;border-radius:50%;background:var(--teal);color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--text-base,16px);font-weight:700;flex-shrink:0}.header-dropdown-info{display:flex;flex-direction:column;min-width:0}.header-dropdown-name{font-weight:600;font-size:var(--text-sm,14px);color:var(--text-primary)}.header-dropdown-email,.header-dropdown-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-dropdown-email{font-size:var(--text-xs,12px);color:var(--text-muted)}.header-dropdown-divider{height:1px;background:var(--border);margin:0}.header-dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 16px;font-size:var(--text-sm,14px);color:var(--text-primary);background:none;border:none;cursor:pointer;text-decoration:none;transition:background .15s}.header-dropdown-item:hover{background:var(--hover-bg,rgba(0,0,0,.05))}.header-dropdown-icon{font-size:16px;width:20px;text-align:center;flex-shrink:0}.header-dropdown-logout{color:var(--red,#ef4444)}.header-dropdown-logout:hover{background:rgba(239,68,68,.08)}#sidebar{position:fixed;left:0;top:var(--header-h);width:var(--sidebar-w);height:calc(100vh - var(--header-h));background:var(--ds-bg-sidebar);border-right:1px solid var(--ds-stroke-subtle);z-index:150;display:flex;flex-direction:column;overflow:hidden;transition:width .3s ease}#sidebar.collapsed{width:var(--sidebar-w-collapsed)}.sidebar-nav{flex:1;min-height:0;padding:8px 6px;display:flex;flex-direction:column;gap:1px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:hsla(0,0%,100%,.15) transparent}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:hsla(0,0%,7%,.12);border-radius:4px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,7%,.22)}.nav-divider{height:1px;background:var(--border);margin:8px 12px}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:10px;color:var(--ds-ink-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,color .15s;text-decoration:none;position:relative;border:none;background:none;width:100%;text-align:left}.nav-item:hover:not(.active){background:var(--ds-bg-card);color:var(--ds-ink-primary)}.nav-item.active{background:#5c68de;color:#fff;font-weight:600}.nav-item.active:before{display:none}.nav-icon{width:20px;height:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:16px}.nav-label{white-space:nowrap;overflow:hidden;transition:opacity .2s}#sidebar.collapsed .nav-item{justify-content:center;padding:10px}#sidebar.collapsed .nav-label{opacity:0;width:0;overflow:hidden}.sidebar-bottom{flex-shrink:0;padding:8px 6px 6px;border-top:1px solid var(--ds-stroke-subtle)}.sidebar-bottom .nav-item{padding:7px 14px;font-size:13px}#main-content{margin-left:var(--sidebar-w);margin-top:var(--header-h);padding:24px;min-height:calc(100vh - var(--header-h));transition:margin-left .3s ease;overflow-x:clip}#sidebar.collapsed~#main-content,body.sidebar-collapsed #main-content{margin-left:var(--sidebar-w-collapsed)}#main-content.landing-mode{margin-left:0!important;padding:0;background:#06070c}.card{background:var(--white);border:1px solid var(--border);border-radius:14px;padding:20px 24px;box-shadow:0 4px 20px rgba(0,0,0,.1);transition:box-shadow .2s,transform .2s;display:flex;flex-direction:column}.card:hover{box-shadow:0 8px 32px rgba(0,0,0,.14);transform:translateY(-1px)}.card-no-hover:hover{box-shadow:0 4px 20px rgba(0,0,0,.1);transform:none}.card-title{font-size:var(--text-lg);font-weight:700;color:var(--text-dark);margin-bottom:16px;border-left:3px solid #5c68de;padding-left:12px}.card-subtitle{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font);font-size:14px;font-weight:600;cursor:pointer;border:none;transition:background .15s,transform .15s,box-shadow .15s,border-color .15s;white-space:nowrap;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:#5c68de;color:#fff;padding:10px 20px;border-radius:10px;font-size:14px;font-weight:600;border:none;cursor:pointer}.btn-primary:hover:not(:disabled){background:#3d4fc0}.btn-primary:disabled{background:#e5e7fd;color:#a0a9f2;opacity:1}.btn-accent{background:#d1f962;color:#131313;padding:10px 20px;border-radius:10px;font-size:14px;font-weight:700;border:none;cursor:pointer}.btn-accent:hover:not(:disabled){background:#c5ee52}.btn-soft{background:#e5e7fd;color:#2a3690;padding:10px 20px;border-radius:10px;font-size:14px;font-weight:600;border:none;cursor:pointer}.btn-soft:hover:not(:disabled){background:#c8ccf8}.btn-secondary{background:#fff;color:#131313;border:1px solid #c8ccf8;padding:10px 20px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer}.btn-secondary:hover:not(:disabled){border-color:#5c68de;color:#2a3690}.btn-dark{background:#131313;color:#fff;padding:10px 20px;border-radius:10px;font-size:14px;font-weight:600;border:none;cursor:pointer}.btn-dark:hover:not(:disabled){background:#2a3260}.btn-teal{background:#5c68de;color:#fff;padding:8px 16px;border-radius:10px;font-size:14px;font-weight:600;border:none;cursor:pointer}.btn-teal:hover:not(:disabled){background:#3d4fc0}.btn-promo{background:transparent;color:#5c68de;border:1.5px solid #5c68de;padding:10px 20px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer}.btn-promo:hover:not(:disabled){background:#f2f3fe;border-color:#3d4fc0;color:#3d4fc0}.btn-danger{padding:8px 16px;border-radius:var(--radius-lg);font-size:14px}.btn-danger:hover:not(:disabled){background:#dc2626}.btn-ghost{background:transparent;color:var(--text-muted);padding:8px 16px;border-radius:var(--radius-lg);font-size:14px;border:none;cursor:pointer}.btn-ghost:hover{background:var(--border-light);color:var(--text-body)}.btn-outline{background:transparent;color:var(--text-dark);border:1px solid var(--border);border-radius:var(--radius-lg)}.btn-outline:hover{background:var(--border-light)}.header-auth-btn{padding:6px 16px;font-size:13px;font-weight:600;border-radius:8px;text-decoration:none;white-space:nowrap}.btn-sm{padding:6px 12px;font-size:var(--text-sm)}.btn-lg{padding:14px 28px;font-size:var(--text-lg)}.btn-full{width:100%}.btn-icon{width:32px;height:32px;padding:0;border-radius:var(--radius-md)}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:9999px;font-size:12px;font-weight:600;line-height:1.4;white-space:nowrap;letter-spacing:-.01em}.badge-new{background:#d1f962;color:#131313;font-weight:700}.badge-live{background:#131313;color:#fff;font-weight:700;letter-spacing:.04em;font-family:SF Mono,ui-monospace,Menlo,monospace;font-size:11px}.badge-live:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#d1f962;animation:hero-dot-pulse 2s ease-in-out infinite}.badge-popular{background:#5c68de;color:#fff;font-weight:700}.badge-soft{background:#e5e7fd;color:#2a3690;font-weight:600}.badge-outline{background:transparent;color:#5c68de;border:1px solid #c8ccf8;font-weight:600}.badge-pending{background:#fef3c7;color:#d97706}.badge-processing,.badge-submitted{background:#e5e7fd;color:#2a3690}.badge-reviewed{background:#e6fff0;color:#1a6040}.badge-failed{background:#fee2e2;color:#dc2626}.badge-in-progress{background:#e5e7fd;color:#2a3690}.badge-success{background:#e6fff0;color:#1a6040}.badge-warning{background:#fef3c7;color:#d97706}.badge-danger{background:#fee2e2;color:#dc2626}.badge-info,.badge-teal{background:#e5e7fd;color:#2a3690}.tabs{display:flex;border-bottom:1px solid var(--border);gap:0}.tab-item{padding:12px 16px;cursor:pointer;color:var(--text-muted);font-size:var(--text-md);font-weight:500;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s;white-space:nowrap}.tab-item:hover{color:var(--text-body)}.tab-item.active{color:var(--orange);border-bottom-color:var(--orange);font-weight:600}.data-table{width:100%;border-collapse:collapse}.data-table th{background:var(--bg);color:var(--text-muted);font-weight:600;font-size:var(--text-sm);padding:12px 16px;text-align:left;white-space:nowrap;border-bottom:1px solid var(--border);user-select:none}.data-table th.sortable{cursor:pointer}.data-table td,.data-table th.sortable:hover{color:var(--text-body)}.data-table td{padding:12px 16px;border-bottom:1px solid var(--border-light);font-size:var(--text-base);vertical-align:middle}.data-table tr:hover td{background:var(--bg)}.data-table tr:last-child td{border-bottom:none}.search-input-wrap{position:relative;display:inline-flex;align-items:center}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:14px;pointer-events:none}.search-input{width:100%;padding:9px 12px 9px 36px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--text-base);color:var(--text-body);background:var(--white);outline:none;transition:border-color .15s,box-shadow .15s}.search-input:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(42,157,143,.1)}.search-input::placeholder{color:var(--text-faint)}.dropdown{position:relative;display:inline-block}.dropdown-trigger{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--white);font-size:var(--text-base);color:var(--text-body);cursor:pointer;transition:border-color .15s}.dropdown-trigger:hover{border-color:var(--teal)}.dropdown-menu{position:absolute;top:100%;left:0;margin-top:4px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:100;min-width:160px;display:none;overflow:hidden}.dropdown-menu.open{display:block}.dropdown-item{display:block;width:100%;padding:10px 16px;font-size:var(--text-base);border:none;background:none;text-align:left}.dropdown-item.active{color:var(--teal);font-weight:600}.empty-state{text-align:center;padding:48px 24px;color:var(--text-muted)}.empty-state-icon{font-size:40px;opacity:.3;margin-bottom:12px}.empty-state-title{font-size:var(--text-lg);font-weight:600;color:var(--text-body);margin-bottom:8px}.empty-state-text{font-size:var(--text-base);line-height:1.6}.pagination{gap:4px}.page-btn,.pagination{display:flex;align-items:center}.page-btn{width:32px;height:32px;justify-content:center;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm);font-weight:500;color:var(--text-body);background:var(--white);transition:background .15s,color .15s,border-color .15s}.page-btn:hover:not(.active):not(:disabled){background:var(--border-light)}.page-btn.active{background:var(--teal);color:#fff;border-color:var(--teal)}.page-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-info{font-size:var(--text-sm);color:var(--text-muted);margin-right:12px}.progress-bar-track{height:6px;background:var(--border);border-radius:3px;overflow:hidden}.progress-bar-fill{height:100%;border-radius:3px;transition:width 1s ease;background:var(--teal)}.progress-bar-fill.orange{background:var(--orange)}.progress-bar-fill.success{background:var(--success)}.form-group{margin-bottom:16px}.form-label{display:block;font-size:var(--text-sm);font-weight:600;color:var(--text-body);margin-bottom:6px}.editor-meta-label .required,.form-label .required{color:var(--danger)}.rte-image-wrap{position:relative;display:inline-block;max-width:100%;line-height:0}.rte-image-wrap img{display:block;max-width:100%;height:auto}.rte-thumb-btn{position:absolute;top:16px;left:16px;padding:6px 12px;background:rgba(17,24,39,.78);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:5px;z-index:10;line-height:1.2;user-select:none}.rte-thumb-btn.active,.rte-thumb-btn:hover{background:rgba(34,197,94,.95)}.submit-btn-wrap{position:relative;display:inline-block}.submit-btn-wrap>button:disabled{pointer-events:none}.submit-btn-wrap[data-hint]:hover:after{content:attr(data-hint);position:absolute;bottom:calc(100% + 8px);right:0;background:rgba(17,24,39,.95);color:#fff;padding:6px 10px;border-radius:6px;font-size:12px;white-space:nowrap;pointer-events:none;z-index:1000;box-shadow:0 4px 12px rgba(0,0,0,.15)}.submit-btn-wrap[data-hint]:hover:before{content:"";position:absolute;bottom:100%;right:16px;border:5px solid transparent;border-top-color:rgba(17,24,39,.95);pointer-events:none;z-index:1000}.form-input{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--text-md);color:var(--text-body);background:var(--white);outline:none;transition:border-color .15s,box-shadow .15s}.form-input:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(42,157,143,.1)}.form-input::placeholder{color:var(--text-faint)}.form-input.is-error{border-color:var(--danger)}.form-error-msg{font-size:var(--text-xs);color:var(--danger);margin-top:4px;min-height:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.duration-inputs{display:flex;gap:8px}.duration-field{display:flex;align-items:center;gap:4px;flex:1}.duration-field .form-input{flex:1;min-width:0}.duration-unit{font-size:var(--text-sm);color:var(--text-secondary);white-space:nowrap}.modal-overlay{z-index:300;align-items:center;padding:20px}.modal-content{position:relative;background:var(--white);border-radius:var(--radius-xl);padding:28px;max-width:540px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal-title{font-size:var(--text-xl);margin-bottom:20px}.modal-close{width:32px;height:32px;font-size:18px;transition:background .15s}.modal-close:hover{background:var(--border-light);color:var(--text-body)}.mini-login-desc{font-size:var(--text-md);color:var(--text-muted);margin-bottom:20px}.mini-login-error{color:var(--danger);font-size:var(--text-sm);margin-bottom:12px}.logout-confirm-modal{max-width:360px;text-align:center}.logout-confirm-msg{font-size:var(--text-md);color:var(--text-body);margin-bottom:24px}.logout-confirm-actions{display:flex;gap:10px}.logout-confirm-btn{flex:1;height:44px;border-radius:var(--radius-md);font-size:var(--text-md);font-weight:600;cursor:pointer}.terms-agree-row{display:flex;align-items:flex-start;gap:8px;margin-bottom:16px;font-size:var(--text-sm);color:var(--text-body);line-height:1.5}.terms-agree-row input[type=checkbox]{margin-top:3px;width:16px;height:16px;flex-shrink:0;accent-color:#5c68de;cursor:pointer}.terms-agree-row a{color:#5c68de;font-weight:500;text-decoration:underline}.terms-agree-row a:hover{color:#3d4fc0}.terms-agree-row .required{color:var(--danger);font-size:var(--text-xs)}.consent-notice-box{border:1px solid var(--border,#e5e7eb);border-radius:8px;background:var(--surface-muted,#f8f9fc);padding:14px 16px;margin-bottom:16px}.consent-notice-title{font-size:var(--text-sm);font-weight:600;color:var(--text-dark);margin:0 0 8px}.consent-notice-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.consent-notice-list li{font-size:var(--text-xs);color:var(--text-body);line-height:1.5;padding-left:10px;position:relative}.consent-notice-list li:before{content:"";position:absolute;left:0;top:8px;width:3px;height:3px;border-radius:50%;background:#5c68de}.agree-all-row label{font-weight:600;color:var(--text-dark);font-size:var(--text-base)}.agree-divider{height:1px;background:var(--stroke,#e5e7eb);margin:4px 0 14px}.legal-page{max-width:800px;margin:0 auto;padding:32px 24px}.legal-page-title{font-size:var(--text-2xl);font-weight:700;letter-spacing:-.02em;color:var(--text-dark);margin-bottom:8px;padding-bottom:16px;border-bottom:2px solid var(--border)}.legal-effective-date{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:32px}.legal-effective-date-bottom{font-size:var(--text-sm);color:var(--text-muted);font-weight:600;margin-top:16px}.legal-page-content{color:var(--text-body);line-height:1.8;font-size:var(--text-md)}.legal-chapter{font-size:var(--text-xl);font-weight:700;color:var(--text-dark);margin-top:40px;margin-bottom:20px;padding-bottom:8px;border-bottom:1px solid var(--border)}.legal-section{margin-bottom:28px}.legal-section h3{font-size:var(--text-lg);margin-bottom:10px}.legal-section h3,.legal-section h4{font-weight:600;color:var(--text-dark)}.legal-section h4{font-size:var(--text-md);margin-top:16px;margin-bottom:8px}.legal-section p{color:var(--text-body);margin-bottom:8px}.legal-list{list-style:disc;padding-left:24px;margin-bottom:12px}.legal-list li{margin-bottom:6px}.legal-sublist{list-style:circle;padding-left:24px;margin-top:6px}.legal-sublist li{margin-bottom:4px}.legal-table{width:100%;border-collapse:collapse;margin:12px 0 20px;font-size:var(--text-sm)}.legal-note{margin:8px 0 16px;padding:12px 14px;background:rgba(92,104,222,.06);border-left:3px solid var(--teal);border-radius:6px;font-size:var(--text-sm);color:var(--text-body);line-height:1.7}.legal-table td,.legal-table th{border:1px solid var(--border);padding:10px 14px;text-align:left;vertical-align:top}.legal-table th{background:var(--bg-secondary);font-weight:600;color:var(--text-dark);white-space:nowrap}.legal-table thead th{background:var(--bg-tertiary,var(--bg-secondary));text-align:center}.legal-table tbody td:first-child{font-weight:500}.legal-notice-box{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px 20px;margin:16px 0}.legal-notice-box h4{font-size:var(--text-md);font-weight:600;color:var(--text-dark);margin-bottom:8px;margin-top:0}.legal-notice-box p{font-size:var(--text-sm);line-height:1.7}@media (max-width:480px){.legal-page{padding:20px 16px}.legal-table{font-size:12px}.legal-table td,.legal-table th{padding:8px 10px}}.site-footer{background:#f5f5f5;border-top:1px solid #e8e8e8;margin-top:80px}.footer-main{max-width:1100px;margin:0 auto;padding:36px 32px 28px;justify-content:space-between;align-items:flex-start;gap:32px}.footer-links,.footer-main{display:flex;flex-wrap:wrap}.footer-links{gap:56px}.footer-col-title{font-size:11px;font-weight:600;color:#555;letter-spacing:.3px;margin-bottom:12px}.footer-col-list{list-style:none;padding:0;margin:0}.footer-col-list li{margin-bottom:7px}.footer-col-list a{color:#888;font-weight:400;text-decoration:none;font-size:12px;transition:color .15s}.footer-col-list a:hover{color:var(--orange,#5c68de)}.footer-link-bold{color:#444!important;font-weight:600!important}.footer-link-bold:hover{color:var(--orange,#5c68de)!important}.footer-social{display:flex;gap:8px;padding-top:2px}.footer-social-icon{width:32px;height:32px;border-radius:50%;border:1px solid #ddd;background:#fff;display:flex;align-items:center;justify-content:center;color:#aaa;transition:all .15s;text-decoration:none}.footer-social-icon:hover{border-color:var(--orange,#5c68de);color:var(--orange,#5c68de);background:#fef7f0}.footer-divider{max-width:1100px;margin:0 auto;padding:0 32px;height:0}.footer-divider:after{content:"";display:block;height:1px;background:#e0e0e0}.footer-bottom{max-width:1100px;margin:0 auto;padding:20px 32px 28px;display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:12px}.footer-biz-info{font-size:11px;color:#999;line-height:1.6}.footer-biz-row{display:flex;align-items:center;flex-wrap:wrap;gap:0;margin-bottom:2px}.footer-biz-brand{color:#777;font-weight:600}.footer-biz-sep{display:inline-block;width:1px;height:9px;background:#d0d0d0;margin:0 8px;vertical-align:middle}.footer-biz-email{color:#999;text-decoration:none;transition:color .15s}.footer-biz-email:hover{color:var(--orange,#5c68de)}.footer-copyright{font-size:10px;color:#bbb;margin:0}@media (max-width:768px){.footer-main{flex-direction:column;gap:24px;padding:28px 24px 24px}.footer-links{gap:32px}.footer-bottom{flex-direction:column;align-items:flex-start;padding:16px 24px 24px}}@media (max-width:480px){.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.footer-col-title{font-size:10px;margin-bottom:8px}.footer-col-list a{font-size:11px}.footer-col-list li{margin-bottom:5px}}.landing-mode .site-footer{background:#0a0e1a;border-top:none;margin-top:0}.landing-mode .footer-col-title{color:#475569}.landing-mode .footer-col-list a{color:#334155}.landing-mode .footer-col-list a:hover{color:#5c68de}.landing-mode .footer-link-bold{color:#475569!important}.landing-mode .footer-link-bold:hover{color:#5c68de!important}.landing-mode .footer-social-icon{border-color:#1e293b;background:transparent;color:#475569}.landing-mode .footer-social-icon:hover{border-color:#5c68de;color:#5c68de;background:rgba(92,104,222,.08)}.landing-mode .footer-divider:after{background:#1a2035}.landing-mode .footer-biz-info{color:#334155}.landing-mode .footer-biz-brand{color:#475569}.landing-mode .footer-biz-sep{background:#1e293b}.landing-mode .footer-biz-email{color:#334155}.landing-mode .footer-biz-email:hover{color:#5c68de}.landing-mode .footer-copyright{color:#1e293b}.notice-page{max-width:900px;margin:0 auto;padding:0 16px}.notice-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:8px}.notice-header .page-title{margin-bottom:0}.notice-search{position:relative;width:260px}.notice-search-input{width:100%;padding:8px 36px 8px 12px;font-size:13px;border:1px solid var(--border);border-radius:6px;background:var(--bg-card,#fff);color:var(--text-dark);outline:none;transition:border-color .15s}.notice-search-input:focus{border-color:var(--teal)}.notice-search-icon{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:14px;pointer-events:none;opacity:.5}.notice-empty,.notice-loading{text-align:center;padding:48px 0;color:var(--text-muted)}.notice-empty-desc{font-size:var(--text-sm);color:var(--text-faint);margin-top:8px}.notice-table{border:1px solid var(--border);border-radius:8px;overflow:hidden}.notice-table-header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:var(--bg-hover,#f7f8fa);font-size:12px;font-weight:600;color:var(--text-muted);border-bottom:1px solid var(--border)}.notice-col-title{flex:1}.notice-col-date{width:100px;text-align:right;flex-shrink:0}.notice-table-row{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;cursor:pointer;transition:background .15s;border-bottom:1px solid var(--border)}.notice-table-row:last-child{border-bottom:none}.notice-table-row:hover{background:var(--bg-hover,#f9f9f9)}.notice-row-pinned{background:rgba(14,165,233,.03)}.notice-row-title{flex:1;display:flex;align-items:center;gap:6px;min-width:0}.notice-pin-icon{font-size:14px;flex-shrink:0}.notice-category-tag{display:inline-block;font-size:11px;font-weight:600;color:var(--teal);background:rgba(14,165,233,.08);padding:2px 8px;border-radius:3px;flex-shrink:0;white-space:nowrap}.notice-title-text{font-size:var(--text-md);font-weight:500;color:var(--text-dark);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notice-row-date{font-size:var(--text-sm);color:var(--text-muted);flex-shrink:0;width:100px;text-align:right}@media (max-width:600px){.notice-header{flex-direction:column;align-items:flex-start}.notice-search{width:100%}.notice-row-date{display:none}}.notice-modal{max-width:640px}.notice-modal-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:20px;gap:16px}.notice-modal-date{font-size:var(--text-sm);color:var(--text-muted);flex-shrink:0}.notice-modal-body{font-size:var(--text-md);line-height:1.7;color:var(--text-dark);margin-bottom:24px}.notice-modal-body p{margin:0 0 4px}.notice-modal-close{width:100%}.faq-page{max-width:800px;margin:0 auto;padding:0 16px}.faq-empty,.faq-loading{text-align:center;padding:48px 0;color:var(--text-muted)}.faq-empty-desc{font-size:var(--text-sm);color:var(--text-faint);margin-top:8px}.faq-search{position:relative;max-width:100%;margin-bottom:24px}.faq-search-input{width:100%;padding:12px 40px 12px 16px;font-size:14px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card,#fff);color:var(--text-dark);outline:none;transition:border-color .15s}.faq-search-input:focus{border-color:var(--teal)}.faq-search-icon{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:16px;pointer-events:none;opacity:.5}.faq-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.faq-filter-btn{padding:6px 16px;border-radius:20px;border:1px solid var(--border);background:var(--bg-card);font-size:var(--text-sm);color:var(--text-muted);cursor:pointer;transition:all .15s}.faq-filter-btn.active,.faq-filter-btn:hover{background:var(--orange);color:#fff;border-color:var(--orange)}.faq-list{display:flex;flex-direction:column;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:8px;overflow:hidden}.faq-item{background:var(--bg-card)}.faq-question{display:flex;justify-content:space-between;align-items:center;width:100%;padding:16px 20px;border:none;background:none;cursor:pointer;text-align:left;font-size:var(--text-md);font-weight:500;color:var(--text-dark);transition:background .15s}.faq-question:hover{background:var(--bg-hover,#f9f9f9)}.faq-question-text{flex:1;margin-right:16px}.faq-toggle-icon{font-size:18px;font-weight:700;color:var(--orange);flex-shrink:0}.faq-answer{padding:0 20px 16px;font-size:var(--text-md);line-height:1.7;color:var(--text-muted)}.faq-answer p{margin:0 0 4px}.inquiry-page{max-width:800px;margin:0 auto;padding:0 16px}.inquiry-form-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:24px;margin-bottom:32px}.inquiry-form-title{font-size:var(--text-lg);font-weight:600;margin-bottom:16px;color:var(--text-dark)}.inquiry-textarea{resize:vertical}.inquiry-section-title{font-size:var(--text-lg);font-weight:600;margin-bottom:16px;color:var(--text-dark)}.inquiry-empty{text-align:center;padding:32px 0;color:var(--text-muted)}.inquiry-list{display:flex;flex-direction:column;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:8px;overflow:hidden}.inquiry-item{background:var(--bg-card)}.inquiry-item-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;cursor:pointer;transition:background .15s}.inquiry-item-header:hover{background:var(--bg-hover,#f9f9f9)}.inquiry-item-info{display:flex;flex-direction:column;gap:4px}.inquiry-item-subject{font-size:var(--text-md);font-weight:500;color:var(--text-dark)}.inquiry-item-date{font-size:var(--text-sm);color:var(--text-faint)}.inquiry-badge{font-size:11px;font-weight:600;padding:3px 10px;border-radius:12px;flex-shrink:0}.inquiry-badge-pending{background:#fff3cd;color:#856404}.inquiry-badge-answered{background:#d4edda;color:#155724}.inquiry-badge-closed{background:#e2e3e5;color:#383d41}.inquiry-item-body{padding:0 20px 16px;border-top:1px solid var(--border)}.inquiry-message{padding:12px 0;font-size:var(--text-md);line-height:1.7;color:var(--text-dark)}.inquiry-message p{margin:0 0 4px}.inquiry-reply{background:var(--bg-hover,#f8f9fa);border-radius:8px;padding:16px;margin-top:8px}.inquiry-reply-title{font-size:var(--text-sm);font-weight:600;color:var(--orange);margin-bottom:8px}.inquiry-reply p{margin:0 0 4px;font-size:var(--text-md);line-height:1.6}.inquiry-reply-date{display:block;font-size:var(--text-xs);color:var(--text-faint);margin-top:8px}.admin-page{max-width:1000px;margin:0 auto;padding:0 16px}.admin-page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.admin-empty{text-align:center;padding:48px 0;color:var(--text-muted)}.roles-section{margin-bottom:32px}.roles-section-title{font-size:1.1rem;font-weight:600;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.roles-action-col{width:120px}.roles-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.roles-section-header .roles-section-title{margin-bottom:0;padding-bottom:0;border-bottom:none}.roles-search-bar{display:flex;gap:8px;margin-bottom:16px}.roles-search-bar .form-input{flex:1}.roles-search-status{text-align:center;padding:24px 0;color:var(--text-muted)}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;min-width:600px;border-collapse:collapse;font-size:var(--text-sm)}.admin-table td,.admin-table th{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border)}.admin-table th{font-weight:600;color:var(--text-muted);background:var(--bg-hover,#f8f9fa);white-space:nowrap}.admin-table-title{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-badge{font-size:11px;padding:3px 10px;border-radius:12px;white-space:nowrap}.admin-badge-published{background:#d4edda;color:#155724}.admin-badge-draft{background:#e2e3e5;color:#383d41}.admin-actions{gap:6px}.admin-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.admin-filter-btn{padding:6px 14px;border-radius:6px;border:1px solid var(--border);background:var(--bg-card);font-size:var(--text-sm);color:var(--text-muted);cursor:pointer;transition:all .15s}.admin-filter-btn.active,.admin-filter-btn:hover{background:var(--teal);color:#fff;border-color:var(--teal)}.admin-scope-toggle{display:flex;gap:0;margin-bottom:16px}.admin-scope-btn{padding:8px 20px;border:1px solid var(--border);background:var(--bg-card);font-size:var(--text-sm);font-weight:600;color:var(--text-muted);cursor:pointer;transition:all .15s}.admin-scope-btn:first-child{border-radius:6px 0 0 6px}.admin-scope-btn:last-child{border-radius:0 6px 6px 0;border-left:none}.admin-scope-btn.active{background:#5c68de;color:#fff;border-color:#5c68de}.admin-scope-btn.active+.admin-scope-btn{border-left:1px solid var(--border)}.admin-students-filter-select{width:auto;min-width:160px;padding:6px 12px;font-size:.9rem}.admin-students-search{width:auto;min-width:220px;padding:6px 12px;font-size:.9rem}.admin-avatar{object-fit:cover}.admin-avatar,.admin-avatar-placeholder{width:28px;height:28px;border-radius:50%}.admin-avatar-placeholder{background:var(--border,#ddd);display:flex;align-items:center;justify-content:center;font-size:.75rem;flex-shrink:0}.admin-avatar-lg{width:48px;height:48px;font-size:1.2rem}.admin-member-cell{display:flex;align-items:center;gap:8px}.admin-text-secondary{font-size:.85rem;color:var(--text-secondary,#666)}.admin-progress-bar-wrap{display:flex;align-items:center;gap:6px}.admin-progress-bar-track{width:60px;height:6px;border-radius:3px;background:var(--border,#eee);overflow:hidden}.admin-progress-bar-fill{height:100%;border-radius:3px;background:var(--primary,#3498db)}.admin-progress-bar-fill.completed{background:var(--success,#27ae60)}.admin-progress-bar-pct{font-size:.85rem}.admin-status-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:.8rem;font-weight:600;white-space:nowrap}.admin-status-badge.at-risk{background:var(--danger-bg,#fff3f3);color:var(--danger,#e74c3c)}.admin-status-badge.not-started{background:var(--secondary-bg,#f0f0f0);color:var(--text-secondary,#666)}.admin-status-badge.expiring{background:var(--warning-bg,#fff8e1);color:var(--warning,#f39c12)}.admin-status-badge.completed{background:var(--success-bg,#e8f5e9);color:var(--success,#27ae60)}.admin-status-badge.active{background:var(--primary-bg,#e3f2fd);color:var(--primary,#3498db)}.admin-status-badge.paid{background:var(--success-bg,#e8f5e9);color:var(--success,#27ae60)}.admin-status-badge.cancelled{background:var(--danger-bg,#fff3f3);color:var(--danger,#e74c3c)}.admin-status-badge.pending{background:var(--warning-bg,#fff8e1);color:var(--warning,#f39c12)}.admin-status-badge.approved{background:var(--success-bg,#e8f5e9);color:var(--success,#27ae60)}.admin-status-badge.rejected{background:var(--danger-bg,#fff3f3);color:var(--danger,#e74c3c)}.admin-status-badge-sub{font-size:.75rem;color:var(--text-secondary);margin-left:4px}.admin-pagination{display:flex;justify-content:space-between;align-items:center;margin-top:16px;font-size:.9rem;color:var(--text-secondary,#666)}.admin-pagination-buttons{display:flex;gap:4px}.admin-pagination-ellipsis{padding:0 4px}.admin-clickable-row{cursor:pointer}.admin-clickable-row:hover{background:var(--bg-hover,#f8f9fa)}.admin-detail-modal{max-width:700px;max-height:85vh;overflow:auto}.admin-detail-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.admin-detail-header-info{flex:1}.admin-detail-header-info .modal-title,.admin-detail-header-info p{margin:0}.admin-detail-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary);flex-shrink:0}.admin-detail-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:20px}.admin-detail-summary-card{padding:12px;border-radius:8px;background:var(--bg-secondary,#f5f5f5);text-align:center}.admin-detail-summary-label{font-size:.75rem;color:var(--text-secondary)}.admin-detail-summary-value{font-weight:600;font-size:.9rem}.admin-detail-tabs{display:flex;border-bottom:2px solid var(--border,#eee);margin-bottom:16px}.admin-detail-tab{padding:8px 16px;cursor:pointer;background:none;font-size:.9rem;font-weight:600;color:var(--text-secondary);border:none;border-bottom:2px solid transparent;margin-bottom:-2px}.admin-detail-tab.active{color:var(--primary,#3498db);border-bottom-color:var(--primary,#3498db)}.admin-detail-empty{color:var(--text-secondary);text-align:center;padding:20px 0}.admin-enrollment-list{display:flex;flex-direction:column;gap:10px}.admin-enrollment-card{padding:12px;border-radius:8px;border:1px solid var(--border,#eee)}.admin-enrollment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.admin-enrollment-title{font-size:.9rem;font-weight:600}.admin-enrollment-progress{display:flex;align-items:center;gap:8px;margin-bottom:6px}.admin-enrollment-progress .admin-progress-bar-track{flex:1;width:auto}.admin-enrollment-progress .admin-progress-bar-pct{font-weight:600}.admin-enrollment-meta{display:flex;gap:16px;font-size:.8rem;color:var(--text-secondary);flex-wrap:wrap}.admin-enrollment-meta .warning{color:var(--warning,#f39c12)}.admin-enrollment-meta .danger{color:var(--danger,#e74c3c)}.admin-summary-value-primary{color:var(--primary,#3498db)}.admin-summary-value-danger{color:var(--danger,#e74c3c)}@media (max-width:640px){.admin-payments-summary{grid-template-columns:repeat(2,1fr)}.admin-scope-toggle{width:100%}.admin-scope-btn{flex:1;text-align:center;padding:8px 12px}.admin-filters{flex-direction:column}.admin-students-filter-select,.admin-students-search{width:100%;min-width:0}.admin-pagination{flex-direction:column;gap:8px;align-items:center}.admin-detail-summary{grid-template-columns:repeat(2,1fr)}.admin-enrollment-meta{flex-direction:column;gap:4px}.admin-detail-tabs{overflow-x:auto}.admin-detail-tab{white-space:nowrap;padding:8px 12px}}@media (max-width:480px){.admin-detail-summary,.admin-payments-summary{grid-template-columns:1fr}.admin-table td,.admin-table th{padding:8px 10px}}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.form-checkbox-label{display:flex;align-items:center;gap:8px;font-size:var(--text-sm);color:var(--text-dark);cursor:pointer}.inquiry-detail-section{background:var(--bg-hover,#f8f9fa);border-radius:8px;padding:12px 16px;margin-bottom:12px;font-size:var(--text-sm);line-height:1.8}.inquiry-detail-message{padding:12px 0;margin-bottom:12px;border-bottom:1px solid var(--border);font-size:var(--text-md);line-height:1.7}.inquiry-detail-message p{margin:0 0 4px}.btn-sm{padding:4px 12px;font-size:12px}.btn-danger{background:#dc3545;border-radius:6px}.btn-danger:hover{background:#c82333}.survey-desc{font-size:var(--text-md);color:var(--text-muted)}.survey-desc,.survey-question{margin-bottom:24px}.survey-question-label{font-size:var(--text-md);font-weight:600;color:var(--text-dark);margin-bottom:10px}.survey-options{display:flex;flex-direction:column;gap:8px}.survey-option{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:border-color .15s,background .15s;font-size:var(--text-md);color:var(--text-body)}.survey-option:hover{border-color:var(--teal);background:var(--teal-light)}.survey-option input[type=radio]{accent-color:var(--teal);width:16px;height:16px;flex-shrink:0}.survey-option:has(input:checked){border-color:var(--teal);background:var(--teal-light)}.payment-success-page{display:flex;align-items:flex-start;justify-content:center;min-height:60vh;padding:48px 20px}.payment-success-card{background:var(--card-bg,#fff);border-radius:18px;max-width:480px;width:100%;box-shadow:0 8px 32px rgba(0,0,0,.08);overflow:hidden}.payment-success-loading{padding:40px;text-align:center;color:var(--text-muted)}.payment-success-hero{background:linear-gradient(135deg,#f3f0ff,#e6f7f3);padding:36px 28px 28px;text-align:center}.payment-success-check{width:56px;height:56px;margin:0 auto 14px;background:linear-gradient(135deg,#5c68de,#14b8a6);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(92,104,222,.25)}.payment-success-check svg{width:28px;height:28px}.payment-success-title{font-size:20px;font-weight:700;color:var(--text-dark);margin:0 0 6px}.payment-success-subtitle{font-size:14px;color:var(--text-muted);margin:0}.payment-success-body{padding:24px 28px 28px}.payment-success-course-name{font-size:16px;font-weight:600;color:var(--text-dark);text-align:center;margin:0 0 20px;line-height:1.4}.payment-success-receipt{background:var(--bg,#f8fafc);border-radius:12px;padding:18px 20px;margin-bottom:14px}.payment-success-receipt-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0}.payment-success-receipt-label{font-size:14px;color:var(--text-muted)}.payment-success-receipt-value{font-size:14px;color:var(--text-dark);font-weight:500}.payment-success-strike{color:var(--text-muted);text-decoration:line-through;font-weight:400}.payment-success-discount{color:#0d9488;font-weight:600}.payment-success-receipt-total{margin-top:8px;padding-top:12px;border-top:1px solid var(--border,#e5e7eb)}.payment-success-receipt-total .payment-success-receipt-label{font-size:15px;font-weight:700;color:var(--text-dark)}.payment-success-receipt-total .payment-success-receipt-value{font-size:20px;font-weight:700;color:#5c68de}.payment-success-order-id{font-size:12px;color:var(--text-muted);text-align:center;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;margin:0 0 24px;letter-spacing:.5px}.payment-success-cta{display:block;width:100%;padding:15px;font-size:16px;font-weight:700;color:#fff;background:#5c68de;border:none;border-radius:12px;cursor:pointer;transition:background .15s ease}.payment-success-cta:hover{background:#4a55c9}.payment-success-secondary{display:block;width:100%;margin-top:10px;padding:13px;font-size:14px;font-weight:500;color:var(--text-muted);background:transparent;border:none;cursor:pointer;border-radius:8px;transition:background .15s ease}.payment-success-secondary:hover{background:var(--bg,#f8fafc);color:var(--text-dark)}.payment-page{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:40px 20px}.payment-card{background:var(--white);border-radius:var(--radius-xl);padding:48px 40px;text-align:center;max-width:480px;width:100%;box-shadow:var(--shadow-md)}.payment-icon{font-size:48px;margin-bottom:16px}.payment-title{font-size:var(--text-xl);font-weight:700;color:var(--text-dark);margin-bottom:12px}.payment-desc{font-size:var(--text-md);color:var(--text-muted);margin-bottom:28px}.checkout-page{display:flex;align-items:flex-start;justify-content:center;min-height:60vh;padding:48px 20px}.checkout-card{background:var(--card-bg,#fff);border-radius:16px;max-width:480px;width:100%;box-shadow:0 4px 24px rgba(0,0,0,.08);overflow:hidden}.checkout-header{display:flex;align-items:center;gap:10px;padding:24px 28px 20px;background:linear-gradient(135deg,#f3f0ff,#e6f7f3);border-bottom:1px solid hsla(0,0%,100%,.6)}.checkout-header-icon{font-size:24px}.checkout-header-title{font-size:20px;font-weight:700;color:var(--text-dark);margin:0}.checkout-course{display:flex;gap:16px;padding:24px 28px;align-items:center;border-bottom:1px solid var(--border,#e5e7eb)}.checkout-course-thumb{width:80px;height:100px;object-fit:cover;border-radius:8px;flex-shrink:0}.checkout-course-body{flex:1;min-width:0}.checkout-course-chip{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--primary-700,#4338ca);background:var(--primary-50,#eef2ff);padding:2px 8px;border-radius:999px;margin:0 0 6px}.checkout-course-name{font-size:15px;font-weight:600;color:var(--text-dark);margin:0 0 4px;line-height:1.4}.checkout-course-meta{font-size:13px;color:var(--text-muted);display:flex;flex-direction:column;gap:6px}.checkout-course-meta-row{display:flex;align-items:flex-start;gap:6px}.checkout-course-meta-icon{flex-shrink:0;margin-top:1px;color:var(--text-faint)}.checkout-course-meta-dates{display:flex;flex-direction:column;gap:3px;min-width:0}.checkout-course-meta-date{line-height:1.45}.checkout-summary{margin:24px 28px 0;padding:20px;background:var(--bg,#f8fafc);border-radius:12px}.checkout-summary-row{display:flex;justify-content:space-between;align-items:center}.checkout-summary-label{font-size:14px;color:var(--text-muted)}.checkout-summary-value{font-size:14px;color:var(--text-dark);font-weight:500}.checkout-summary-divider{height:1px;background:var(--border,#e5e7eb);margin:12px 0}.checkout-summary-total .checkout-summary-label{font-size:15px;font-weight:700;color:var(--text-dark)}.checkout-summary-total .checkout-summary-value{font-size:20px;font-weight:700;color:#5c68de}.checkout-method-tabs{display:flex;gap:0;margin:16px 28px 0;border-bottom:1px solid var(--border-light,#e5e7eb)}.checkout-method-tab{flex:1;background:none;padding:12px 8px;font-size:14px;font-weight:500;color:var(--text-muted,#6b7280);cursor:pointer;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s ease,border-color .15s ease}.checkout-method-tab:hover:not(:disabled):not(.is-active){color:var(--text-body,#374151)}.checkout-method-tab.is-active{color:var(--primary-600,#5c68de);font-weight:600;border-bottom-color:var(--primary-600,#5c68de)}.checkout-method-tab:disabled{cursor:not-allowed;opacity:.5}.checkout-agree{display:flex;align-items:flex-start;gap:8px;margin:16px 28px 0;cursor:pointer}.checkout-agree-checkbox{width:18px;height:18px;flex-shrink:0;margin-top:1px;accent-color:#5c68de;cursor:pointer}.checkout-agree-text{font-size:13px;color:var(--text-body);line-height:1.5}.modal-content.coupon-modal{max-width:640px;max-height:90vh;overflow-y:auto}.coupon-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.coupon-form-grid .form-group{margin-bottom:0}.coupon-checkbox-label{display:inline-flex!important;align-items:center;gap:8px;cursor:pointer}@media (max-width:640px){.coupon-form-grid{grid-template-columns:1fr}}.coupon-assign-form{display:flex;flex-direction:column;gap:12px;border:1px solid var(--border-light);border-radius:var(--radius-md);padding:12px;background:var(--bg-secondary,#fafafa)}.coupon-assign-tabs{display:flex;gap:8px}.coupon-assign-csv,.coupon-assign-search{display:flex;flex-direction:column;gap:8px}.coupon-assign-results{list-style:none;margin:0;padding:0;max-height:200px;overflow-y:auto;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--white)}.coupon-assign-results li{border-bottom:1px solid var(--border-light)}.coupon-assign-results li:last-child{border-bottom:none}.coupon-assign-result-btn{display:flex;width:100%;align-items:center;justify-content:space-between;padding:8px 12px;background:transparent;border:none;cursor:pointer;font-size:14px;text-align:left}.coupon-assign-result-btn:hover:not(:disabled){background:var(--bg-secondary,#f5f5f5)}.coupon-assign-result-btn:disabled{opacity:.5;cursor:not-allowed}.coupon-assign-result-email{color:var(--text-primary)}.coupon-assign-result-name{color:var(--text-secondary);font-size:12px}.coupon-assign-csv textarea{font-family:inherit;font-size:13px;resize:vertical}.coupon-assign-csv-warning{background:#fff3cd;border:1px solid #ffeaa7;border-radius:var(--radius-sm);padding:8px 12px;font-size:13px;color:#856404}.coupon-assign-csv-warning ul{margin:4px 0 0;padding-left:20px}.coupon-assign-selected{border-top:1px solid var(--border-light);padding-top:10px}.coupon-assign-selected-header{margin-bottom:8px;font-size:13px}.coupon-assign-selected-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.coupon-assign-selected-list li{display:inline-flex;align-items:center;gap:6px;background:var(--primary-50,#eef2ff);color:var(--primary-700,#4338ca);padding:4px 10px;border-radius:999px;font-size:12px}.coupon-assign-selected-email{font-weight:500}.coupon-assign-selected-name{color:var(--text-secondary)}.coupon-assign-selected-remove{background:transparent;border:none;color:inherit;cursor:pointer;font-size:16px;line-height:1;padding:0 2px}.coupon-assign-selected-remove:hover{color:var(--danger,#dc2626)}.coupon-batch-row td{background:var(--bg-secondary,#fafafa)}.coupon-batch-toggle{background:transparent;border:none;cursor:pointer;font-weight:600;font-size:inherit;color:inherit;padding:0;text-align:left}.coupon-batch-detail-row td{background:var(--white);font-size:13px;color:var(--text-secondary)}.coupon-batch-detail-code{font-family:var(--font-mono,monospace);padding-left:24px!important}.admin-actions .btn-sm{min-width:64px;text-align:center}.coupon-type-chip{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:8px;margin-left:8px;vertical-align:middle}.coupon-type-chip-shared{background:var(--primary-50,#eef2ff);color:var(--primary-700,#4338ca);border:1px solid var(--primary-200,#c7d2fe)}.coupon-type-chip-batch{background:var(--bg-secondary,#f3f4f6);color:var(--text-secondary,#4b5563);border:1px solid var(--border,#e5e7eb)}.coupon-filter-tabs{display:flex;gap:4px;margin-bottom:12px}.coupon-filter-tab{padding:6px 14px;border:1px solid var(--border,#e5e7eb);border-radius:8px;background:var(--white);color:var(--text-secondary,#4b5563);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.coupon-filter-tab:hover{background:var(--bg-secondary,#f3f4f6)}.coupon-filter-tab-active{background:var(--primary-500,#5c68de);color:var(--white);border-color:var(--primary-500,#5c68de)}.coupon-filter-tab-active:hover{background:var(--primary-600,#4f46e5)}.coupon-users-badge{background:transparent;border:1px solid var(--border,#e5e7eb);border-radius:12px;padding:2px 10px;font-size:12px;font-weight:600;color:var(--primary-700,#4338ca);cursor:pointer;white-space:nowrap}.coupon-users-badge:hover{background:var(--primary-50,#eef2ff)}.coupon-users-empty{color:var(--text-tertiary,#9ca3af);font-size:13px}.coupon-wallet-badge-assigned{background:var(--primary-50,#eef2ff);color:var(--primary-700,#4338ca);border:1px solid var(--primary-200,#c7d2fe)}.admin-page-toolbar{margin:0 0 16px;max-width:480px}.checkout-coupon{margin:16px 28px 0}.checkout-coupon-wallet-row{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.checkout-coupon-wallet-label{font-size:13px;font-weight:500;color:var(--text-secondary)}.checkout-coupon-wallet-select{font-size:14px;cursor:pointer}.checkout-coupon-row{display:flex;gap:8px}.checkout-coupon-input{flex:1;font-size:14px}.checkout-coupon-apply{flex-shrink:0;padding:0 16px;font-size:14px;font-weight:600}.checkout-coupon-error{margin-top:6px;font-size:13px;color:var(--danger,#e53e3e)}.checkout-coupon-applied{display:flex;align-items:center;gap:10px;padding:12px 16px;background:linear-gradient(135deg,#ecfdf5,#f0fdfa);border:1px solid #a7f3d0;border-radius:10px;font-size:14px}.checkout-coupon-applied-label{color:#0d9488;font-weight:600;display:inline-flex;align-items:center;gap:6px}.checkout-coupon-applied-label:before{content:"✓";font-weight:700}.checkout-coupon-applied-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:600;color:var(--text-dark)}.checkout-coupon-remove{margin-left:auto;padding:4px 10px;font-size:12px;color:var(--text-muted);background:transparent;border:1px solid var(--border,#e5e7eb);border-radius:6px;cursor:pointer}.checkout-coupon-remove:hover{background:var(--bg,#f8fafc)}.checkout-coupon-remove:disabled{opacity:.5;cursor:not-allowed}.checkout-error{margin:16px 28px 0;padding:12px 16px;background:var(--danger-bg,#fff5f5);color:var(--danger,#e53e3e);border-radius:8px;font-size:14px}.checkout-pg-review-notice{margin:20px 28px 0;padding:14px 16px;background:#fef2f2;border:1px solid #fecaca;border-left:4px solid #dc2626;color:#b91c1c;border-radius:10px;font-size:13px;line-height:1.6;font-weight:500;white-space:pre-line}.checkout-pay-btn{display:block;width:calc(100% - 56px);margin:24px 28px 0;padding:15px;font-size:16px;font-weight:700;color:#fff;background:#5c68de;border:none;border-radius:12px;cursor:pointer;transition:background .2s,transform .1s}.checkout-pay-btn:hover:not(:disabled){background:#4953c7;transform:translateY(-1px)}.checkout-pay-btn:active:not(:disabled){transform:translateY(0)}.checkout-pay-btn:disabled{opacity:.5;cursor:not-allowed}.checkout-pay-btn.is-pg-blocked,.checkout-pay-btn.is-pg-blocked:disabled{background:#f1f5f9;color:#64748b;opacity:1;cursor:not-allowed;font-weight:600}.checkout-back-btn{display:block;width:calc(100% - 56px);margin:10px 28px 28px;padding:12px;font-size:14px;color:var(--text-muted);background:transparent;border:1px solid var(--border,#e5e7eb);border-radius:12px;cursor:pointer;transition:background .15s}.checkout-back-btn:hover:not(:disabled){background:var(--bg,#f8fafc)}.checkout-back-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width:480px){.checkout-page{padding:24px 12px}.checkout-course{flex-direction:column;text-align:center;gap:12px}.checkout-course-thumb{width:100%;height:auto;max-width:200px;aspect-ratio:16/9}.checkout-course-meta{width:fit-content;margin-left:auto;margin-right:auto;text-align:left}}body.dark .checkout-card{background:#1f2440;box-shadow:0 4px 24px rgba(0,0,0,.4)}body.dark .checkout-header{background:linear-gradient(135deg,#1a2268,#14183a);border-bottom-color:hsla(0,0%,100%,.06)}body.dark .checkout-course{border-bottom-color:#2a3690}body.dark .checkout-summary{background:#14183a}body.dark .checkout-summary-divider{background:#2a3690}body.dark .checkout-coupon-input,body.dark .checkout-coupon-wallet-select{background:#14183a;border-color:#2a3690;color:#f0f2ff}body.dark .checkout-coupon-input::placeholder{color:#8b95c0}body.dark .checkout-coupon-apply{background:#14183a;border-color:#2a3690;color:#f0f2ff}body.dark .checkout-coupon-apply:hover:not(:disabled){border-color:#5c68de;color:#f0f2ff}body.dark .checkout-coupon-applied{background:rgba(13,148,136,.12);border-color:rgba(13,148,136,.35)}body.dark .checkout-coupon-applied-label{color:#2dd4bf}body.dark .checkout-coupon-applied-code{color:#f0f2ff}body.dark .checkout-coupon-remove{border-color:#2a3690;color:#8b95c0}body.dark .checkout-coupon-remove:hover{background:#1a2268}body.dark .checkout-error{background:rgba(239,68,68,.12);color:#fca5a5}body.dark .checkout-pg-review-notice{background:rgba(220,38,38,.12);border-color:rgba(220,38,38,.25) rgba(220,38,38,.25) rgba(220,38,38,.25) #ef4444;color:#fca5a5}body.dark .checkout-pay-btn.is-pg-blocked,body.dark .checkout-pay-btn.is-pg-blocked:disabled{background:#14183a;color:#8b95c0}body.dark .checkout-back-btn{border-color:#2a3690;color:#8b95c0}body.dark .checkout-back-btn:hover:not(:disabled){background:#1a2268}body.dark .manual-pay-divider:after,body.dark .manual-pay-divider:before{background:#2a3690}body.dark .manual-pay-notice{color:#8b95c0}body.dark .checkout-students-only-hint{color:#a0a9f2}body.dark .payment-card{background:#1f2440;color:#f0f2ff}.checkout-manual-section{margin:12px 28px}.manual-pay-divider{display:flex;align-items:center;gap:12px;margin:14px 0;color:var(--text-muted);font-size:12px}.manual-pay-divider:after,.manual-pay-divider:before{content:"";flex:1;height:1px;background:var(--border,#e5e7eb)}.manual-pay-divider-text{white-space:nowrap}.manual-pay-open-btn{display:block;width:100%;padding:15px;font-size:16px;font-weight:700;color:#fff;background:#5c68de;border:none;border-radius:12px;cursor:pointer;transition:background .2s,transform .1s,box-shadow .15s;box-shadow:0 1px 2px rgba(92,104,222,.18)}.manual-pay-open-btn:hover:not(:disabled){background:#4953c7;transform:translateY(-1px);box-shadow:0 4px 12px rgba(92,104,222,.25)}.manual-pay-open-btn:disabled{opacity:.5;cursor:not-allowed}.manual-pay-notice{margin-top:10px;font-size:var(--text-xs);color:var(--text-muted);line-height:1.5}.manual-pay-modal{max-width:560px;padding:0;overflow:hidden;display:flex;flex-direction:column}.manual-pay-subtitle{margin:6px 0 0;font-size:var(--text-sm);color:var(--text-muted)}.manual-pay-form{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.manual-pay-modal-header{flex-shrink:0;padding:28px 28px 14px}.manual-pay-modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:14px;padding:0 28px 16px}.manual-pay-field{display:flex;flex-direction:column;gap:6px}.manual-pay-label{font-size:var(--text-sm);font-weight:600;color:var(--text-dark)}.manual-pay-input{padding:10px 12px;font-size:var(--text-md);border:1px solid var(--border,#e5e7eb);border-radius:8px;background:#fff;color:var(--text-dark)}.manual-pay-input:focus{outline:none;border-color:var(--orange,#5c68de)}.manual-pay-helper{font-size:var(--text-xs);color:var(--text-muted)}.manual-pay-fieldset{border:1px solid var(--border,#e5e7eb);border-radius:8px;padding:12px 14px;margin:4px 0}.manual-pay-legend{font-size:var(--text-sm);font-weight:600;color:var(--text-dark);padding:0 6px}.manual-pay-radio-group{display:flex;flex-direction:column;gap:6px;margin-top:4px}.manual-pay-radio{display:flex;align-items:center;gap:8px;font-size:var(--text-sm);color:var(--text-body);cursor:pointer}.manual-pay-field-cash-id{margin-top:10px}.manual-pay-terms{display:flex;flex-direction:column;gap:8px;padding:10px 12px;background:var(--bg,#f8fafc);border-radius:8px}.manual-pay-check{display:flex;align-items:flex-start;gap:8px;font-size:var(--text-sm);color:var(--text-body);cursor:pointer;line-height:1.5}.manual-pay-check input{margin-top:2px}.manual-pay-link{color:var(--orange,#5c68de);text-decoration:underline}.manual-pay-error{padding:10px 12px;background:#fef2f2;color:var(--danger,#dc2626);font-size:var(--text-sm);border-radius:8px}.manual-pay-actions{display:flex;gap:10px;flex-shrink:0;padding:16px 28px;background:var(--white,#fff);border-top:1px solid var(--border,#e5e7eb)}.manual-pay-cancel,.manual-pay-submit{flex:1;min-height:48px;padding:12px;font-size:var(--text-md);font-weight:600;border-radius:10px;cursor:pointer;transition:background .15s;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center}.manual-pay-cancel{color:var(--text-muted);background:#fff;border:1px solid var(--border,#e5e7eb)}.manual-pay-cancel:hover:not(:disabled){background:var(--bg,#f8fafc)}.manual-pay-submit{color:#fff;background:var(--orange,#5c68de);border:none}.manual-pay-submit:hover:not(:disabled){background:#d15a25}.manual-pay-cancel:disabled,.manual-pay-submit:disabled{opacity:.5;cursor:not-allowed}.manual-pay-success-page{min-height:calc(100vh - 60px);background:var(--bg,#f8fafc);padding:32px 16px;display:flex;justify-content:center}.manual-pay-success{width:100%;max-width:560px;background:#fff;border-radius:var(--radius-xl);padding:28px;box-shadow:var(--shadow-lg)}.manual-pay-success-title{font-size:var(--text-xl);font-weight:700;color:var(--text-dark);margin-bottom:6px}.manual-pay-success-course{font-size:var(--text-md);color:var(--text-muted);margin-bottom:20px}.manual-pay-success-box{background:var(--bg,#f8fafc);border-radius:10px;padding:16px;margin-bottom:18px}.manual-pay-success-box-title{font-size:var(--text-md);font-weight:700;color:var(--text-dark);margin-bottom:12px}.manual-pay-success-list{display:flex;flex-direction:column;gap:8px}.manual-pay-success-row{display:flex;justify-content:space-between;align-items:center;font-size:var(--text-sm)}.manual-pay-success-row dt{color:var(--text-muted)}.manual-pay-success-row dd{color:var(--text-dark);font-weight:600;display:flex;align-items:center;gap:8px}.manual-pay-account{font-family:ui-monospace,SF Mono,Menlo,monospace}.manual-pay-copy-btn{padding:4px 10px;font-size:var(--text-xs);color:var(--orange,#5c68de);background:#fff;border:1px solid var(--orange,#5c68de);border-radius:6px;cursor:pointer}.manual-pay-copy-btn:hover{background:rgba(92,104,222,.08)}.manual-pay-success-depositor{margin-bottom:18px}.manual-pay-success-label{font-size:var(--text-sm);font-weight:700;color:var(--text-dark);margin-bottom:8px}.manual-pay-depositor-box{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;background:#fff7ed;border:1px solid #fbd5b5;border-radius:8px}.manual-pay-depositor-text{font-family:ui-monospace,SF Mono,Menlo,monospace;font-weight:700;color:var(--orange,#5c68de);font-size:var(--text-md);word-break:break-all}.manual-pay-success-warn{margin-top:6px;font-size:var(--text-xs);color:var(--danger,#dc2626)}.manual-pay-success-deadline{margin-bottom:18px}.manual-pay-countdown{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:var(--text-md);font-weight:700;color:var(--text-dark)}.manual-pay-countdown.expired{color:var(--danger,#dc2626)}.manual-pay-success-deadline-note{margin-top:4px;font-size:var(--text-xs);color:var(--text-muted)}.manual-pay-success-processing{margin:18px 0;padding:12px;background:#f0f9ff;border-radius:8px;font-size:var(--text-sm);color:var(--text-body);line-height:1.5}.manual-pay-success-support{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:16px}.manual-pay-success-actions{display:flex;gap:10px}.manual-pay-result{width:100%;max-width:480px;background:#fff;border-radius:var(--radius-xl);padding:32px 24px;box-shadow:var(--shadow-lg);text-align:center}.manual-pay-result-info{border-top:4px solid var(--orange,#5c68de)}.manual-pay-result-warn{border-top:4px solid var(--danger,#dc2626)}.manual-pay-result-msg{font-size:var(--text-md);color:var(--text-dark);margin-bottom:18px;line-height:1.6}.manual-pay-result-btn{padding:12px 24px;font-size:var(--text-md);font-weight:600;color:#fff;background:var(--orange,#5c68de);border:none;border-radius:10px;cursor:pointer}.manual-pay-result-btn:hover{background:#d15a25}.manual-pay-result-support{margin-top:8px;font-size:var(--text-sm);color:var(--text-muted)}@media (max-width:480px){.manual-pay-success-actions{flex-direction:column}}.admin-mp-page{padding:24px 28px;max-width:1280px;margin:0 auto}.admin-mp-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px}.admin-mp-title{font-size:var(--text-xl);font-weight:700;color:var(--text-dark)}.admin-mp-refresh{padding:8px 16px;font-size:var(--text-sm);font-weight:600;color:var(--text-body);background:var(--white,#fff);border:1px solid var(--border,#e5e7eb);border-radius:8px;cursor:pointer}.admin-mp-refresh:hover:not(:disabled){background:var(--bg,#f8fafc)}.admin-mp-refresh:disabled{opacity:.5;cursor:not-allowed}.admin-mp-tabs{display:flex;gap:6px;margin-bottom:14px;border-bottom:1px solid var(--border,#e5e7eb)}.admin-mp-tab{padding:10px 18px;font-size:var(--text-sm);font-weight:600;color:var(--text-muted);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;margin-bottom:-1px}.admin-mp-tab.active{color:var(--text-dark);border-bottom-color:var(--orange,#5c68de)}.admin-mp-error{padding:12px 14px;background:#fef2f2;color:var(--danger,#dc2626);border-radius:8px;margin-bottom:12px;font-size:var(--text-sm)}.admin-mp-empty{padding:60px 20px;text-align:center;color:var(--text-muted);font-size:var(--text-md)}.admin-mp-table-wrap{overflow-x:auto;border:1px solid var(--border,#e5e7eb);border-radius:10px;background:var(--white,#fff)}.admin-mp-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.admin-mp-table thead th{background:var(--bg,#f8fafc);color:var(--text-muted);font-weight:600;text-align:left;white-space:nowrap}.admin-mp-table tbody td,.admin-mp-table thead th{padding:12px 14px;border-bottom:1px solid var(--border,#e5e7eb)}.admin-mp-table tbody td{vertical-align:middle;color:var(--text-dark)}.admin-mp-table tbody tr:last-child td{border-bottom:none}.admin-mp-depositor-text{font-family:ui-monospace,SF Mono,Menlo,monospace;font-weight:700;color:var(--text-dark);white-space:nowrap}.admin-mp-deadline{white-space:nowrap}.admin-mp-deadline-remain{color:var(--text-muted);font-style:normal;font-size:var(--text-xs);margin-left:4px}.admin-mp-cash-receipt,.admin-mp-memo{font-size:var(--text-xs);max-width:180px;white-space:normal;word-break:break-word}.admin-mp-confirm-btn{padding:6px 14px;font-size:var(--text-sm);font-weight:600;color:#fff;background:var(--orange,#5c68de);border:none;border-radius:6px;cursor:pointer;white-space:nowrap}.admin-mp-confirm-btn:hover{background:var(--orange-dark,#3d4fc0)}.admin-mp-confirm-body p{margin:0 0 10px;color:var(--text-body)}.admin-mp-confirm-list{margin:0;list-style:none;background:var(--bg,#f8fafc);border-radius:8px;padding:12px 14px}.admin-mp-confirm-list li{padding:4px 0;font-size:var(--text-sm);color:var(--text-body)}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(10px);background:var(--text-dark);color:#fff;padding:12px 24px;border-radius:100px;font-size:var(--text-md);opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;z-index:9999;white-space:nowrap}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.or-divider{display:flex;align-items:center;gap:10px;width:100%;margin:20px 0 16px;color:var(--text-muted);font-size:var(--text-sm);white-space:nowrap}.or-divider:after,.or-divider:before{content:"";flex:1;height:1px;background:var(--border)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-4{gap:4px}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-20{gap:20px}.gap-24{gap:24px}.text-center{text-align:center}.text-right{text-align:right}.font-bold{font-weight:700}.font-semibold{font-weight:600}.text-muted{color:var(--text-muted)}.w-full{width:100%}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-2,.grid-3{display:grid;gap:20px}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in-up{animation:fadeInUp .4s ease forwards}.skeleton{background:linear-gradient(90deg,var(--border-light) 25%,var(--border) 50%,var(--border-light) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}.spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--teal);border-radius:50%;animation:spin .6s linear infinite}@media (max-width:1024px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){#sidebar{display:none;width:var(--sidebar-w);z-index:200}#sidebar.mobile-open{display:block;position:fixed;top:0;left:0;bottom:0;transform:translateX(0);padding-top:var(--header-h)}#sidebar.mobile-open .nav-label{opacity:1;width:auto;overflow:visible}#sidebar.mobile-open .nav-item{justify-content:flex-start;padding:10px 16px}.sidebar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:199}#main-content{margin-left:0!important;padding:16px}.form-row,.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.tabs{overflow-x:auto}.tab-item{white-space:nowrap;font-size:var(--text-base)}.modal-content{padding:20px 16px}}@media (max-width:480px){#app-header{padding:0 8px}.header-lang-select{display:none}#main-content{padding:12px}.modal-content{padding:16px 14px;max-width:95vw;border-radius:var(--radius-lg)}.modal-title{font-size:var(--text-lg);margin-bottom:14px}}@media print{#app-header,#sidebar{display:none}#main-content{margin:0;padding:0}}.auth-page{background:#f0f4ff;min-height:100vh;position:relative;overflow:hidden}.auth-circle{position:absolute;border-radius:50%;pointer-events:none}.auth-circle-tr{width:350px;height:350px;background:rgba(92,104,222,.06);top:-80px;right:-80px}.auth-circle-bl{width:250px;height:250px;background:rgba(92,104,222,.05);bottom:-60px;left:-60px}.login-header{background:transparent;height:var(--header-h);display:flex;align-items:center;padding:0 12px}.login-header,.login-wrapper{position:relative;z-index:1}.login-card{background:#fff;position:relative;overflow:hidden}.login-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#5c68de,#3d4fc0)}.login-logo{font-family:var(--font-barlow),"Barlow",sans-serif;font-size:17px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:4px}.login-card-subtitle{text-align:center;font-size:13px;color:#6b7280;margin-bottom:24px}.login-subtitle{text-align:center;font-size:var(--text-base);color:var(--text-muted);line-height:1.6;margin-bottom:28px}.login-form .form-group{margin-bottom:12px}.forgot-link{display:block;text-align:right;font-size:var(--text-sm);color:#5c68de;font-weight:500;margin-top:4px;margin-bottom:16px}.forgot-link:hover{text-decoration:underline}.login-input{background:#fff;border:1px solid #c8ccf8;border-radius:var(--radius-md);height:48px;padding:0 16px;font-size:var(--text-md);color:#2a3260;transition:border-color .15s,box-shadow .15s}.login-input::placeholder{color:#a8aecb}.login-input:focus{background:#fff;outline:none;border-color:#5c68de;box-shadow:0 0 0 3px rgba(92,104,222,.15)}body.dark .login-input{background:#1f2937;border-color:#4a5070;color:#f0f2ff}body.dark .login-input:focus{background:#1f2937;border-color:#5c68de}.login-btn{width:100%;padding:14px;background:#5c68de;color:#fff;border:none;border-radius:var(--radius-lg);font-size:var(--text-lg);font-weight:700;cursor:pointer;transition:background .15s,opacity .15s;height:52px}.login-btn:hover:not(:disabled){background:#3d4fc0}.login-btn:disabled{opacity:.5;cursor:not-allowed}.social-btn{width:100%;height:52px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;gap:10px;font-size:var(--text-md);font-weight:600;cursor:pointer;transition:opacity .15s,box-shadow .15s;border:none;margin-bottom:10px;font-family:var(--font)}.social-btn:hover:not(:disabled){opacity:.9;box-shadow:var(--shadow-sm)}.social-btn:disabled{opacity:.5;cursor:not-allowed}.social-btn-icon{flex-shrink:0}.social-btn-kakao{background:#fee500;color:#191919;font-weight:700}.social-btn-google{background:#fff;color:#3c4043;border:1px solid #dadce0;font-weight:500}body.dark .social-btn-google{background:var(--white);border-color:var(--border);color:var(--text-dark)}.social-divider{display:flex;align-items:center;gap:12px;margin:20px 0 16px;color:var(--text-muted);font-size:var(--text-sm)}.social-divider:after,.social-divider:before{content:"";flex:1;height:1px;background:var(--border)}.login-bottom-links{text-align:center;margin-top:20px;font-size:var(--text-sm);color:var(--text-muted)}.login-bottom-links a{color:var(--text-muted);font-weight:500}.login-bottom-links a:hover{color:#5c68de;text-decoration:underline}.login-bottom-sep{margin:0 8px;color:var(--text-faint)}.login-bottom-btn{background:none;border:none;color:#5c68de;font-weight:600;cursor:pointer;font-size:var(--text-sm);font-family:var(--font);padding:0}.login-bottom-btn:hover{text-decoration:underline}.test-login-wrap{margin-top:16px;padding-top:16px;border-top:1px dashed var(--border-light,#e5e7eb);text-align:center}.test-login-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 28px;border-radius:8px;background:#f0f9ff;border:1px solid #bae6fd;color:#0284c7;font-size:14px;font-weight:600;cursor:pointer;font-family:var(--font);transition:background .15s,border-color .15s}.test-login-btn:hover{background:#e0f2fe;border-color:#7dd3fc}.test-login-btn:disabled{opacity:.5;cursor:not-allowed}.social-buttons{gap:16px;margin-bottom:24px}.social-buttons,.social-circle{display:flex;align-items:center;justify-content:center}.social-circle{width:48px;height:48px;border-radius:50%;border:1px solid var(--border);background:var(--white);cursor:pointer;transition:border-color .15s,box-shadow .15s;font-size:20px}.social-circle:hover{border-color:var(--teal);box-shadow:var(--shadow-sm)}.social-circle.google{font-weight:700;font-size:18px;color:#4285f4}.test-entry-wrap{margin-top:16px;text-align:center}.test-entry-btn{background:none;border:1px dashed var(--border);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-sm);padding:8px 20px;cursor:pointer;font-family:var(--font);transition:border-color .15s,color .15s}.test-entry-btn:hover{border-color:var(--teal);color:var(--teal)}.signup-link{text-align:center;font-size:var(--text-md);color:var(--text-muted)}.signup-link a{color:#5c68de;font-weight:600}.signup-link a:hover{text-decoration:underline}.login-error{background:var(--danger-light);color:var(--danger);padding:10px 14px;border-radius:var(--radius-md);font-size:var(--text-sm);margin-bottom:16px;display:none}.login-error.show{display:block}.inapp-banner{background:#fef3cd;border:1px solid #ffc107;border-radius:var(--radius-md);padding:12px 16px;margin-bottom:16px;text-align:center}.inapp-banner-text{font-size:var(--text-sm);color:#856404;margin:0 0 10px;line-height:1.5}.inapp-banner-btn{display:inline-block;padding:8px 20px;font-size:var(--text-sm);font-weight:600;color:#fff;background:#5c68de;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background .2s ease}.inapp-banner-btn:hover{background:#3d4fc0}.cookie-bar{position:fixed;bottom:0;left:0;width:100%;background:var(--white);border-top:1px solid var(--border);box-shadow:0 -4px 16px rgba(0,0,0,.08);padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;z-index:500;transition:transform .3s ease}.cookie-bar.hidden{transform:translateY(100%);pointer-events:none}.cookie-bar-text{font-size:var(--text-sm);color:var(--text-body);line-height:1.5;flex:1}.cookie-bar-text a{color:var(--orange);text-decoration:underline}.cookie-bar-actions{display:flex;gap:8px;flex-shrink:0}@media (max-width:520px){.login-card{padding:28px 20px}.login-logo{font-size:17px}.login-title{font-size:20px}.cookie-bar{flex-direction:column;text-align:center}}.signup-form .form-group{margin-bottom:14px}.password-wrap{position:relative}.password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:16px;color:var(--text-muted);padding:4px;display:flex;align-items:center;justify-content:center}.password-toggle:hover{color:var(--text-body)}.password-strength{margin-top:6px;display:none}.password-strength.visible{display:block}.password-strength-bar{height:4px;background:var(--border);border-radius:2px;overflow:hidden;margin-bottom:4px}.password-strength-fill{height:100%;border-radius:2px;transition:width .3s,background .3s;width:0}.password-strength-fill.weak{width:25%;background:var(--danger)}.password-strength-fill.fair{width:50%;background:var(--warning)}.password-strength-fill.good{width:75%;background:#5c68de}.password-strength-fill.strong{width:100%;background:#d1f962}.password-strength-label{font-size:var(--text-xs);color:var(--text-muted)}.eula-row{display:flex;align-items:flex-start;gap:8px;margin-bottom:20px;font-size:var(--text-sm);color:var(--text-body);line-height:1.5}.eula-row input[type=checkbox]{margin-top:3px;width:16px;height:16px;flex-shrink:0;accent-color:#5c68de;cursor:pointer}.eula-row a{color:#5c68de;font-weight:500}.eula-row a:hover{text-decoration:underline}.signup-btn{width:100%;padding:12px;background:#5c68de;color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--text-lg);font-weight:700;cursor:pointer;transition:background .15s,opacity .15s}.signup-btn:hover:not(:disabled){background:#3d4fc0}.signup-btn:disabled{opacity:.5;cursor:not-allowed}.login-link{text-align:center;font-size:var(--text-md);color:var(--text-muted);margin-top:20px}.login-link a{color:#5c68de;font-weight:600}.login-link a:hover{text-decoration:underline}.signup-error{background:var(--danger-light);color:var(--danger);padding:10px 14px;border-radius:var(--radius-md);font-size:var(--text-sm);margin-bottom:16px;display:none}.signup-error.show{display:block}.otp-description{text-align:center;font-size:var(--text-md);color:var(--text-body);line-height:1.6;margin-bottom:28px}.otp-description strong{color:#5c68de;font-weight:600}.otp-inputs{display:flex;justify-content:center;gap:10px;margin-bottom:24px}.otp-input{width:48px;height:56px;text-align:center;font-size:22px;font-weight:700;color:var(--text-dark);border:2px solid #c8ccf8;border-radius:var(--radius-md);background:var(--white);outline:none;transition:border-color .15s,box-shadow .15s;caret-color:#5c68de}.otp-input:focus{box-shadow:0 0 0 3px rgba(92,104,222,.15)}.otp-input.filled,.otp-input:focus{border-color:#5c68de}.resend-link:hover:not(:disabled){text-decoration:underline}.resend-link:disabled{color:var(--text-faint);cursor:not-allowed}.back-link{display:inline-block;margin-top:12px;font-size:var(--text-sm)}.back-link:hover{color:var(--text-body);text-decoration:underline}@media (max-width:520px){.login-card{padding:28px 20px}.login-logo{font-size:17px}.login-title,.otp-input{font-size:20px}.otp-input{width:42px;height:50px}.otp-inputs{gap:8px}}.phone-verify-row{display:flex;gap:8px;align-items:center}.phone-verify-row .form-input{flex:1}.phone-send-btn{white-space:nowrap;flex-shrink:0;height:48px;padding:0 16px}.phone-verified-badge{flex-shrink:0;display:inline-flex;align-items:center;gap:4px;padding:6px 14px;background:#dcfce7;color:#16a34a;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;height:48px}.sms-code-row{display:flex;gap:8px;align-items:center;margin-top:8px}.sms-code-row .form-input{flex:1;max-width:160px}.sms-timer{font-size:var(--text-sm);font-weight:600;color:var(--danger);white-space:nowrap;min-width:48px}.marketing-row{margin-top:-4px;margin-bottom:16px}.marketing-row label{font-size:var(--text-sm);color:var(--text-muted)}.complete-profile-mode{margin-left:0!important}.complete-profile-page{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - var(--header-h) - 40px);padding:40px 20px}.complete-profile-card{width:100%;max-width:480px;background:var(--white);border-radius:var(--radius-xl);padding:40px 36px;box-shadow:var(--shadow-lg)}.complete-profile-card .login-logo{text-align:center;margin-bottom:24px}.complete-profile-card .login-title{text-align:center;margin-bottom:8px}.complete-profile-desc{text-align:center;font-size:var(--text-md);color:var(--text-muted);margin-bottom:28px;line-height:1.5}.complete-profile-card .signup-btn{margin-top:8px}body.dark .complete-profile-card{background:var(--bg-card);border:1px solid var(--border)}@media (max-width:520px){.complete-profile-card{padding:28px 20px}.phone-verify-row{flex-direction:column}.phone-send-btn,.phone-verified-badge{width:100%;height:44px}.phone-verified-badge{justify-content:center}.sms-code-row{flex-wrap:wrap}.sms-code-row .form-input{max-width:none}}body{background:var(--bg);min-height:100vh}.login-wrapper{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - var(--header-h));padding:40px 20px 100px}.login-card{width:100%;max-width:480px;background:var(--white);border:1px solid #d8dffa;border-radius:16px;padding:40px 36px;box-shadow:none}.back-to-login{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);color:var(--text-muted);font-weight:500;margin-bottom:20px;text-decoration:none;transition:color .15s}.back-to-login:hover{color:#5c68de}.login-logo{font-size:28px;margin-bottom:24px}.login-logo,.login-title{text-align:center;font-weight:700}.login-title{font-size:22px;color:#131313;margin-bottom:8px}.step-indicator{text-align:center;font-size:var(--text-sm);color:#6870a8;margin-bottom:24px;font-weight:500}.reset-description{text-align:center;font-size:var(--text-md);color:var(--text-body);line-height:1.6;margin-bottom:16px}.reset-social-notice{text-align:center;font-size:var(--text-sm);color:var(--text-muted);line-height:1.5;margin-bottom:24px;padding:.75rem 1rem;background:var(--warning-light);border-radius:var(--radius-md,8px);border:1px solid rgba(245,158,11,.2)}.dark .reset-social-notice{background:rgba(245,158,11,.1);border-color:rgba(245,158,11,.15)}.reset-form .form-group{margin-bottom:20px}.reset-btn{width:100%;padding:12px;background:#5c68de;color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--text-lg);font-weight:700;cursor:pointer;transition:background .15s,opacity .15s}.reset-btn:hover:not(:disabled){background:#3d4fc0}.reset-btn:disabled{opacity:.5;cursor:not-allowed}.reset-error{background:var(--danger-light);color:var(--danger);padding:10px 14px;border-radius:var(--radius-md);font-size:var(--text-sm);margin-bottom:16px;display:none}.reset-error.show{display:block}.step-panel{display:none}.step-panel.active{display:block}.success-icon{text-align:center;font-size:56px;margin-bottom:20px;line-height:1}.check-email-message{text-align:center;font-size:var(--text-md);color:var(--text-body);line-height:1.6;margin-bottom:28px}.check-email-message strong{color:#5c68de;font-weight:600}.resend-row{text-align:center;margin-top:16px;font-size:var(--text-sm);color:var(--text-muted)}.resend-link{color:#5c68de;font-weight:600;cursor:pointer;background:none;border:none;font-family:var(--font);font-size:var(--text-sm)}.resend-link:hover{text-decoration:underline}@media (max-width:520px){.login-card{padding:28px 20px}.login-logo{font-size:17px}.login-title{font-size:20px}}.login-card .form-input{border:1px solid #c8ccf8;color:#2a3260;background:#fff}.login-card .form-input::placeholder{color:#a8aecb}.login-card .form-input:focus{border-color:#5c68de;box-shadow:0 0 0 3px rgba(92,104,222,.15)}.login-card .form-input.is-error{border-color:var(--danger)}.login-card .form-label{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:11px;font-weight:500;color:#2a3260;letter-spacing:.04em;text-transform:uppercase}.login-card .form-label .required{color:var(--danger);font-family:inherit}.login-card .terms-agree-row{color:#6870a8}.promo-banner{background:linear-gradient(135deg,var(--teal) 0,var(--teal-dark) 100%);border-radius:var(--radius-xl);padding:32px 36px;display:flex;align-items:center;justify-content:space-between;gap:24px;color:#fff;margin-bottom:24px;overflow:hidden;position:relative}.promo-banner-close{position:absolute;top:10px;right:12px;background:none;border:none;color:hsla(0,0%,100%,.5);font-size:18px;cursor:pointer;padding:4px 8px;border-radius:4px;opacity:0;transition:opacity .2s;z-index:2}.promo-banner:hover .promo-banner-close{opacity:1}.promo-banner-close:hover{color:#fff;background:hsla(0,0%,100%,.15)}.promo-banner:before{content:"";position:absolute;top:-40%;right:-10%;width:300px;height:300px;background:hsla(0,0%,100%,.06);border-radius:50%;pointer-events:none}.promo-text h2{font-size:var(--text-2xl);font-weight:800;margin-bottom:6px;line-height:1.2}.promo-text p{font-size:var(--text-md);opacity:.9;margin-bottom:16px}.promo-btns{display:flex;gap:12px;flex-wrap:wrap}.promo-btns a{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;text-decoration:none;transition:transform .15s,box-shadow .15s}.promo-btns a:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.2)}.btn-store-g{background:#fff;color:var(--text-dark)}.btn-store-a{background:hsla(0,0%,100%,.15);color:#fff;border:1px solid hsla(0,0%,100%,.3)}.promo-images{display:flex;gap:8px;flex-shrink:0}.promo-images .phone-mock{width:60px;height:110px;background:hsla(0,0%,100%,.12);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:28px}.hero-banner{margin-bottom:24px;border-radius:16px;padding:22px 28px;position:relative;overflow:hidden}.hero-pre{background:#252a5c;display:flex;align-items:center;justify-content:space-between}.hero-pre-left{max-width:600px}.hero-banner .hero-greeting{font-size:13px;color:hsla(0,0%,100%,.55);display:block;margin-bottom:6px}.hero-banner .hero-title{font-size:20px;font-weight:700;color:#fff;margin:0 0 6px;line-height:1.4}.hero-banner .hero-desc{font-size:13px;color:hsla(0,0%,100%,.45);margin:0;line-height:1.5}.hero-browse-btn{display:inline-flex;align-items:center;gap:6px;padding:12px 24px;background:#5c68de;color:#fff;font-size:14px;font-weight:600;border-radius:10px;text-decoration:none;white-space:nowrap;flex-shrink:0;transition:background .15s}.hero-browse-btn:hover{background:#3d4fc0}.hero-arrow{font-size:16px}.hero-post{background:#252a5c}.hero-post-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.hero-post .hero-greeting{margin-bottom:0;font-size:13px}.hero-course-select{padding:8px 32px 8px 14px;border:1px solid hsla(0,0%,100%,.18);border-radius:10px;background:hsla(0,0%,100%,.08);font-size:13px;color:#fff;font-family:var(--font);cursor:pointer;min-width:180px;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.hero-course-select option{background:#252a5c;color:#fff}.hero-course-select:focus{border-color:#5c68de;outline:none;box-shadow:0 0 0 3px rgba(92,104,222,.25)}.hero-course-name-fixed{padding:8px 14px;border-radius:10px;background:hsla(0,0%,100%,.08);font-size:13px;color:#fff;border:1px solid hsla(0,0%,100%,.18)}.hero-post-body{display:flex;gap:20px}.hero-course-card{flex:1;padding:22px 24px;border-radius:14px;background:hsla(0,0%,100%,.07);border:1px solid rgba(209,249,98,.5);box-shadow:inset 0 0 0 1px rgba(209,249,98,.08);backdrop-filter:blur(8px)}.hero-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.dash-progress-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;background:rgba(209,249,98,.15);border-radius:20px;font-size:12px;font-weight:600;color:#d1f962}.dash-progress-badge-dot{width:6px;height:6px;border-radius:50%;background:#d1f962;animation:hero-dot-pulse 2s ease-in-out infinite}@keyframes hero-dot-pulse{0%,to{opacity:1}50%{opacity:.3}}.hero-module-tag{padding:4px 10px;border-radius:6px;font-size:11px;font-weight:500;background:hsla(0,0%,100%,.08);color:hsla(0,0%,100%,.6);border:1px solid hsla(0,0%,100%,.1)}.hero-course-name{font-size:18px;font-weight:700;color:#fff;margin:0 0 4px}.hero-current-module{font-size:13px;color:hsla(0,0%,100%,.5);margin:0 0 16px}.hero-progress-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.hero-progress-label{font-size:12px;color:hsla(0,0%,100%,.5)}.hero-progress-pct{font-size:13px;font-weight:700;color:#d1f962}.hero-progress-bar{height:6px;border-radius:3px;background:hsla(0,0%,100%,.12);overflow:hidden}.hero-progress-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,#5c68de,#d1f962);transition:width 1s ease}.hero-card-actions{display:flex;align-items:center;gap:10px;margin-top:18px}.hero-continue-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;background:#d1f962;color:#131313;font-size:13px;font-weight:700;border-radius:10px;text-decoration:none;transition:background .15s}.hero-continue-btn:hover{background:#c5ee52}.hero-syllabus-btn{display:inline-flex;align-items:center;gap:4px;padding:10px 18px;background:transparent;color:hsla(0,0%,100%,.7);font-size:13px;font-weight:500;border:1px solid hsla(0,0%,100%,.2);border-radius:10px;text-decoration:none;transition:border-color .15s,color .15s}.hero-syllabus-btn:hover{border-color:hsla(0,0%,100%,.4);color:#fff}.hero-side-panel{width:260px;display:flex;flex-direction:column;gap:8px;flex-shrink:0}.hero-stat-card{display:flex;align-items:center;gap:14px;padding:12px 16px;border-radius:12px;background:hsla(0,0%,100%,.07);border:1px solid hsla(0,0%,100%,.1)}.hero-stat-num{font-size:24px;font-weight:800;color:#fff;min-width:36px;text-align:center}.hero-stat-info{display:flex;flex-direction:column}.hero-stat-label{font-size:12px;font-weight:600;color:hsla(0,0%,100%,.85)}.hero-stat-sub{font-size:11px;color:hsla(0,0%,100%,.4)}.hero-recommend-card{padding:12px 16px;border-radius:12px;border:1px dashed hsla(0,0%,100%,.2);background:hsla(0,0%,100%,.03)}.hero-recommend-label{font-size:11px;color:hsla(0,0%,100%,.5);display:block;margin-bottom:4px}.hero-recommend-link{text-decoration:none;display:block}.hero-recommend-link:hover{opacity:.85}.hero-recommend-name{font-size:13px;font-weight:600;color:#fff;display:block;margin-bottom:2px}.hero-recommend-desc{font-size:11px;color:hsla(0,0%,100%,.5)}.welcome-section{display:none}.course-select-row{display:flex;align-items:center;gap:12px}.course-select{padding:8px 14px;border-radius:10px;font-size:var(--text-sm);font-family:var(--font);cursor:pointer;min-width:200px}.info-icon{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;border:1.2px solid var(--border);font-size:8px;font-weight:600;font-style:normal;color:var(--text-faint);cursor:help;line-height:1;margin-left:2px;flex-shrink:0;vertical-align:middle;opacity:.5}.info-icon:hover{border-color:var(--teal);color:var(--teal);opacity:1}.row-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:24px;align-items:stretch}.row-3>.card{height:100%}.row-2{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px;align-items:stretch}.row-2>.card{min-height:380px}.row-1{margin-bottom:24px}.card-header{display:flex;justify-content:space-between;align-items:center;margin:-20px -24px 16px;padding:14px 24px;background:#f0f4f5;background:var(--bg,#f0f4f5);border-bottom:1px solid var(--border);border-radius:14px 14px 0 0}.card-header .card-title{margin-bottom:0}.card-hdr-l{gap:5px}.card-hdr-l,.card-hdr-r{display:flex;align-items:center}.card-hdr-r{gap:6px;flex-shrink:0}.card-count{font-weight:400;color:var(--text-faint);font-size:var(--text-sm)}.course-name-block{margin-top:4px;margin-bottom:8px;text-align:center}.course-name-text{font-size:var(--text-sm);font-weight:600;color:var(--text-dark);line-height:1.4;display:block}.course-modules-row{gap:4px;margin-top:3px;font-size:var(--text-xs);color:var(--text-faint)}.course-modules-row,.donut-wrap{display:flex;align-items:center;justify-content:center}.donut-wrap{flex-direction:column;gap:16px;padding:8px 0;flex:1}.donut-wrap svg{flex-shrink:0;overflow:visible}.donut-legend{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:6px 16px;font-size:var(--text-xs);color:var(--text-body)}.legend-item{display:flex;align-items:center;gap:6px}.legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.filter-btn{display:inline-flex;align-items:center;gap:4px;background:var(--border-light);border:1px solid var(--border);border-radius:8px;padding:5px 10px;font-size:11px;font-weight:600;color:var(--text-muted);cursor:pointer;font-family:var(--font);position:relative;white-space:nowrap;line-height:1.3}.filter-btn:hover{background:var(--border);color:var(--text-body)}.top-filter-btn{display:inline-flex;align-items:center;gap:4px;background:var(--border-light);border:1px solid var(--border);border-radius:8px;padding:4px 10px;font-size:11px;font-weight:600;color:var(--text-muted);cursor:pointer;font-family:var(--font);position:relative;white-space:nowrap;line-height:1.3}.top-filter-btn:hover{background:var(--border);color:var(--text-body)}.refresh-btn{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--text-faint);padding:4px;border-radius:6px;line-height:1;transition:color .15s,background .15s}.refresh-btn:hover{color:var(--teal);background:rgba(92,104,222,.06)}.filter-menu{position:absolute;top:100%;right:0;margin-top:6px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:100;display:none;min-width:140px;overflow:hidden}.filter-menu.show{display:block}.filter-option{padding:10px 16px;font-size:var(--text-sm);color:var(--text-body);cursor:pointer;transition:background .15s;display:block;width:100%;border:none;background:none;text-align:left;font-family:var(--font)}.filter-option:hover{background:var(--bg)}.filter-option.active{color:var(--teal);font-weight:600}.topic-list{display:flex;flex-direction:column;gap:10px;flex:1}.topic-row-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.topic-name{font-weight:500;color:var(--text-body)}.topic-name,.topic-pct{font-size:var(--text-sm)}.topic-pct{font-weight:700;color:var(--orange);flex-shrink:0;margin-left:8px}.topic-sub{font-size:var(--text-xs);color:var(--text-faint);display:block}.topic-pagination{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding-top:10px;border-top:1px solid var(--border-light)}.topic-page-btn{background:none;border:1px solid var(--border);border-radius:var(--radius-md);padding:5px 12px;font-size:var(--text-xs);color:var(--text-muted);cursor:pointer;font-family:var(--font);transition:all .15s}.topic-page-btn:hover:not([disabled]){border-color:var(--teal);color:var(--teal)}.topic-page-btn[disabled]{opacity:.35;cursor:default}.topic-page-info{font-size:var(--text-xs);color:var(--text-faint)}.topic-bar{height:5px;background:var(--border);border-radius:3px;overflow:hidden;margin-top:6px}.topic-bar-fill{background:linear-gradient(90deg,var(--orange) 0,var(--teal) 100%);height:100%;transition:width .3s ease}.quiz-list{display:flex;flex-direction:column;gap:10px;flex:1}.quiz-item{padding:12px 14px;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg)}.quiz-top{display:flex;justify-content:space-between;align-items:flex-start}.quiz-name{font-weight:600;color:var(--text-body);flex:1;padding-right:8px}.quiz-name,.quiz-score{font-size:var(--text-sm)}.quiz-score{font-weight:700;color:var(--orange);flex-shrink:0;display:flex;align-items:center;gap:3px}.quiz-bottom{display:flex;justify-content:space-between;margin-top:6px}.quiz-status{font-size:var(--text-xs);font-weight:500}.quiz-status.in-progress{color:var(--warning)}.quiz-status.not-started{color:var(--text-faint)}.quiz-status.passed{color:var(--success)}.quiz-status.failed{color:var(--danger)}.quiz-attempts{font-size:var(--text-xs);color:var(--text-faint)}.chart-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:3px}.chart-title-left{display:flex;align-items:center;gap:5px}.chart-period-btn{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:5px 10px;border-radius:8px;border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:var(--white);font-family:var(--font);position:relative;white-space:nowrap;line-height:1.3}.chart-period-btn:hover{border-color:var(--teal);color:var(--text-body)}.chart-sub{margin-bottom:2px}.chart-period-info,.chart-sub{font-size:var(--text-xs);color:var(--text-faint);display:block}.chart-period-info{margin-bottom:8px}.chart-legend-row{display:flex;align-items:center;gap:6px;margin-bottom:6px;font-size:var(--text-xs);color:var(--text-faint)}.chart-legend-dot{width:8px;height:8px;border-radius:50%;background:var(--orange);display:inline-block;margin-right:2px}.chart-wrap{position:relative}.chart-tooltip{position:absolute;padding:6px 12px;background:var(--text-dark);color:#fff;font-size:var(--text-xs);font-weight:600;border-radius:var(--radius-md);pointer-events:none;opacity:0;transition:opacity .2s;white-space:nowrap;z-index:10;font-family:var(--font)}.chart-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top:5px solid var(--text-dark)}.chart-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border-light)}.chart-stat{text-align:center}.chart-stat-val{font-size:15px;font-weight:700}.chart-stat-lbl{font-size:10px;color:var(--text-faint);margin-top:2px}.myscan-card{display:flex;flex-direction:column}.myscan-header{display:flex;align-items:center;justify-content:space-between}.myscan-new-btn{display:inline-flex;align-items:center;gap:4px;padding:7px 14px;border-radius:8px;background:#5c68de;color:#fff;border:none;font-size:12px;font-weight:600;cursor:pointer;font-family:var(--font);transition:background .15s}.myscan-new-btn:hover{background:#3d4fc0}.myscan-status-list{display:flex;flex-direction:column;gap:6px;padding:16px 20px 0}.myscan-status-row{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border-radius:8px;background:var(--ds-bg-card);border:1px solid var(--ds-stroke-subtle)}.myscan-status-row:hover{border-color:var(--ds-stroke)}.myscan-status-left{display:flex;align-items:center;gap:10px}.myscan-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:9999px;background:#131313;color:#f0f2ff;white-space:nowrap}.myscan-badge-code{font-family:SF Mono,ui-monospace,Menlo,monospace;font-size:10px;font-weight:600;letter-spacing:.06em}.myscan-badge-ko{font-family:var(--font);font-size:10px;font-weight:500;letter-spacing:-.01em;margin-left:6px}.myscan-status-desc{font-size:12px;color:var(--ds-ink-tertiary)}.myscan-status-count{font-size:14px;font-weight:700;color:var(--ds-ink-primary);min-width:20px;text-align:right;font-family:SF Mono,ui-monospace,Menlo,monospace}.myscan-summary{display:grid;grid-template-columns:repeat(4,1fr);margin:16px 20px 0;padding-top:14px;border-top:1px solid var(--ds-stroke-subtle)}.myscan-summary-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px 8px;border-right:1px solid var(--ds-stroke-subtle)}.myscan-summary-item:last-child{border-right:none}.myscan-summary-label{font-size:11px;color:var(--ds-ink-tertiary)}.myscan-summary-val{font-size:18px;font-weight:700;color:var(--ds-ink-primary);font-family:SF Mono,ui-monospace,Menlo,monospace}.myscan-summary-divider{display:none}.myscan-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 20px;flex:1}.myscan-empty-icon{color:var(--text-faint);opacity:.4;margin-bottom:12px}.myscan-empty-title{font-size:var(--text-sm);font-weight:600;color:var(--text-dark);margin:0 0 4px}.myscan-empty-desc{font-size:var(--text-xs);color:var(--text-muted);margin:0 0 16px;max-width:240px}.myscan-upload-btn{display:inline-flex;align-items:center;gap:4px;padding:8px 20px;border-radius:8px;background:#5c68de;color:#fff;border:none;font-size:13px;font-weight:600;cursor:pointer;font-family:var(--font);transition:background .15s}.myscan-upload-btn:hover{background:#3d4fc0}.myscan-vault-link{display:block;width:100%;padding:12px;margin-top:auto;background:none;border:none;border-top:1px solid var(--ds-stroke-subtle);color:var(--ds-ink-tertiary);font-size:12px;font-weight:500;cursor:pointer;font-family:var(--font);text-align:center;transition:color .15s}.myscan-vault-link:hover{color:var(--ds-ink-primary)}.myscan-dropzone{border:2px dashed var(--border);border-radius:var(--radius-md);padding:24px 16px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s}.myscan-dropzone:hover{border-color:var(--teal);background:rgba(92,104,222,.04)}.myscan-file-input{display:none}.myscan-dropzone-text{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--text-muted);font-size:var(--text-sm)}.myscan-file-name{font-size:var(--text-sm);font-weight:500;color:var(--teal)}.myscan-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.dash-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 20px;color:#6870a8;font-size:13px;min-height:160px;flex:1;gap:8px;border:1.5px dashed #d8dffa;border-radius:10px;margin:8px 0}.dash-empty-icon{display:inline-block;padding:3px 8px;border:1px solid #d8dffa;border-radius:4px;font-family:SF Mono,ui-monospace,Menlo,monospace;font-size:10px;font-weight:600;letter-spacing:.08em;color:#a8aecb;background:transparent;margin-bottom:4px}.row-challenge{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:24px;align-items:stretch}.row-challenge>.card{min-width:0;overflow:hidden;min-height:280px}.challenge-card-v2{display:flex;flex-direction:column}.challenge-tabs{display:flex;gap:4px;margin-bottom:20px;padding:3px;background:var(--bg,#f0f4f5);border-radius:10px;width:fit-content}.challenge-tab{padding:7px 16px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;border:none;font-family:var(--font);transition:all .2s;background:transparent;color:var(--text-muted)}.challenge-tab.active{background:var(--white,#fff);color:var(--text-dark);font-weight:600;box-shadow:0 1px 4px rgba(0,0,0,.08)}.challenge-tab:hover:not(.active){color:var(--text-body)}.challenge-empty-state{flex-direction:column;flex:1;padding:40px 20px;text-align:center}.challenge-empty-icon,.challenge-empty-state{display:flex;align-items:center;justify-content:center}.challenge-empty-icon{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);margin-bottom:16px;color:#38bdf8}.challenge-empty-title{font-size:15px;font-weight:600;color:var(--text-dark);margin:0 0 6px}.challenge-empty-desc{font-size:13px;color:var(--text-muted);margin:0;line-height:1.5}.growth-card-v2{display:flex;flex-direction:column}.growth-empty-state{flex-direction:column;flex:1;padding:40px 20px;text-align:center}.growth-empty-icon,.growth-empty-state{display:flex;align-items:center;justify-content:center}.growth-empty-icon{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#fdf4ff,#f3e8ff);margin-bottom:16px;color:#a78bfa}.growth-empty-title{font-size:15px;font-weight:600;color:var(--text-dark);margin:0 0 6px}.growth-empty-desc{font-size:13px;color:var(--text-muted);margin:0;line-height:1.5}.ch-user-cell{gap:8px}.ch-avatar,.ch-user-cell{display:flex;align-items:center}.ch-avatar{width:28px;height:28px;border-radius:50%;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex-shrink:0}.ch-name{font-size:var(--text-sm);font-weight:600;color:var(--text-body)}.ch-me-badge{display:inline-flex;align-items:center;padding:1px 6px;border-radius:4px;font-size:10px;font-weight:700;background:rgba(59,130,246,.15);color:#3b82f6;margin-left:4px}.ch-progress{font-size:var(--text-sm);font-weight:700;color:var(--text-body);white-space:nowrap}.ch-progress strong{color:var(--teal)}.ch-box{width:18px;height:18px;border-radius:4px;border:1.5px solid var(--border);display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-weight:700}.ch-box.done{background:var(--teal);border-color:var(--teal);color:#fff}.ch-box.special{background:#5c68de;border-color:#5c68de;color:#fff}.growth-log-list{display:flex;flex-direction:column;gap:0;overflow-y:auto;max-height:340px;flex:1}.growth-log-list::-webkit-scrollbar{width:3px}.growth-log-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.growth-log-item{display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-bottom:1px solid var(--border-light);font-size:13px;color:var(--text-body);line-height:1.5;transition:background .1s}.growth-log-item:last-child{border-bottom:none}.growth-log-dot{width:8px;height:8px;border-radius:50%;background:#a78bfa;flex-shrink:0;margin-top:6px}.growth-log-content{flex:1}.growth-log-user{font-weight:600;color:var(--text-dark)}.growth-log-action{color:var(--text-body)}.growth-log-course{font-weight:600;color:var(--teal)}@media (max-width:1100px){.row-3{grid-template-columns:1fr 1fr}.row-3>.card:last-child{grid-column:1/-1}.chart-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width:900px){.row-challenge{grid-template-columns:1fr}.row-challenge>.card{min-height:auto}}@media (max-width:768px){.row-2,.row-3{grid-template-columns:1fr}.row-2>.card{min-height:auto}.promo-banner{flex-direction:column;text-align:center}.promo-images{display:none}.course-select-row{flex-direction:column;align-items:flex-start}.course-select{width:100%;border-color:var(--border)}.course-select,.course-select option{background:var(--white);color:var(--text-body)}.chart-stats{grid-template-columns:repeat(2,1fr)}.donut-wrap{gap:16px}.donut-wrap svg{width:140px;height:140px}.donut-legend{gap:6px}}.controls-row{display:flex;align-items:center;gap:12px;margin-bottom:24px;flex-wrap:wrap}.controls-row .search-input-wrap{flex:1;min-width:200px;max-width:360px}.controls-spacer{flex:1}.courses-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}@media (max-width:1024px){.courses-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.courses-grid{grid-template-columns:1fr}}.course-card{overflow:hidden;transition:box-shadow .2s,transform .2s;cursor:pointer;position:relative}.course-card:hover{transform:translateY(-2px)}.course-card-thumb{width:100%;height:140px;background:linear-gradient(135deg,var(--teal-light) 0,var(--border-light) 100%);font-size:48px;position:relative;overflow:hidden}.course-card-overlay,.course-card-thumb{display:flex;align-items:center;justify-content:center}.course-card-overlay{position:absolute;inset:0;background:rgba(0,0,0,.55);opacity:0;transition:opacity .2s}.course-card:hover .course-card-overlay{opacity:1}.course-card-overlay .btn-primary{padding:10px 24px;font-size:var(--text-md)}.course-card-body{padding:16px 20px}.course-card-badge{display:inline-block;padding:3px 10px;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600;background:var(--teal-light);color:var(--teal);margin-bottom:8px}.course-card-name{line-height:1.4;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.course-card-stats{display:flex;flex-direction:column;gap:4px}.course-card-stat{font-size:var(--text-sm);color:var(--text-muted);display:flex;align-items:center;gap:6px}.course-card-stat-icon{font-size:14px;width:18px;text-align:center;flex-shrink:0}.my-course-card{border-radius:var(--radius-xl);padding:20px 24px;box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:20px;margin-bottom:16px;transition:box-shadow .2s}.my-course-thumb{width:80px;height:80px;background:linear-gradient(135deg,var(--teal-light) 0,var(--border-light) 100%);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:32px;flex-shrink:0}.my-course-info{flex:1;min-width:0}.my-course-badge-row{margin-bottom:6px}.my-course-name{font-size:var(--text-lg);font-weight:700;color:var(--text-dark);margin-bottom:4px}.my-course-type{margin-bottom:4px}.my-course-meta,.my-course-type{font-size:var(--text-sm);color:var(--text-muted)}.my-course-meta{display:flex;flex-direction:column;gap:2px}.my-course-action{flex-shrink:0}@media (max-width:768px){.my-course-card{flex-direction:column;align-items:stretch;gap:12px}.my-course-thumb{width:100%;height:60px}.my-course-action{align-self:flex-end}}.course-detail{display:none}.course-detail.active{display:block}.detail-back-btn{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-md);font-weight:500;color:var(--text-muted);cursor:pointer;background:none;border:none;padding:8px 0;margin-bottom:20px;transition:color .15s}.detail-back-btn:hover{color:var(--teal)}.detail-image{width:100%;height:200px;background:linear-gradient(135deg,var(--teal-light) 0,var(--border-light) 100%);border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;font-size:64px;margin-bottom:24px}.detail-title{font-size:var(--text-2xl);font-weight:700;color:var(--text-dark);margin-bottom:8px}.detail-type{display:inline-block;padding:3px 10px;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600;background:var(--teal-light);color:var(--teal);margin-bottom:12px}.detail-description{font-size:var(--text-md);color:var(--text-body);line-height:1.6;margin-bottom:24px;max-width:640px}.detail-resume-btn{margin-bottom:32px}.lessons-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.lessons-title{font-size:var(--text-lg);font-weight:700;color:var(--text-dark)}.lessons-toggle-all{display:flex;gap:8px}.lessons-toggle-all button{font-size:var(--text-sm);color:var(--teal);background:none;border:none;cursor:pointer;font-weight:500;font-family:var(--font);padding:4px 8px;border-radius:var(--radius-sm);transition:background .15s}.lessons-toggle-all button:hover{background:var(--teal-light)}.lesson-item{border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:8px;overflow:hidden;background:var(--white)}.lesson-header{display:flex;align-items:center;gap:10px;padding:14px 16px;cursor:pointer;font-size:var(--text-md);font-weight:600;color:var(--text-dark);background:none;border:none;width:100%;text-align:left;font-family:var(--font);transition:background .15s}.lesson-header:hover{background:var(--bg)}.lesson-title-text{flex:1;text-align:left}.lesson-status-badge{font-size:var(--text-xs);font-weight:700;flex-shrink:0;padding:2px 7px;border-radius:10px;margin-left:8px}.lesson-status-badge.in-progress{background:var(--orange-light);color:var(--orange)}.lesson-status-badge.completed{background:var(--success-light);color:var(--success)}.lesson-arrow{font-size:12px;color:var(--text-muted);transition:transform .2s;flex-shrink:0}.lesson-item.expanded .lesson-arrow{transform:rotate(90deg)}.lesson-topics{display:none;padding:0 16px 14px 42px}.lesson-item.expanded .lesson-topics{display:block}.topic-item{position:relative;padding:6px 0 6px 16px;font-size:var(--text-base);color:var(--text-body);line-height:1.5}.topic-item:before{top:0;bottom:0;width:1px}.topic-item:after,.topic-item:before{content:"";position:absolute;left:0;background:var(--border)}.topic-item:after{top:50%;width:10px;height:1px}.topic-item:last-child:before{bottom:50%}.topic-item-row{display:flex;align-items:center;gap:8px;padding:6px 0 6px 16px;font-size:var(--text-base);color:var(--text-body);line-height:1.5;position:relative}.topic-item-row:before{top:0;bottom:0;width:1px}.topic-item-row:after,.topic-item-row:before{content:"";position:absolute;left:0;background:var(--border)}.topic-item-row:after{top:50%;width:10px;height:1px}.topic-item-row:last-child:before{bottom:50%}.topic-dot{color:var(--text-faint);flex-shrink:0}.topic-text{flex:1}.topic-done-btn{margin-left:auto;flex-shrink:0;background:none;border:1.5px solid var(--border);border-radius:50%;width:22px;height:22px;font-size:11px;line-height:1;cursor:pointer;color:var(--text-faint);display:flex;align-items:center;justify-content:center;transition:all .15s}.topic-done-btn:hover{border-color:var(--teal);color:var(--teal)}.topic-done-btn.done{background:var(--success);border-color:var(--success);color:#fff}.filter-dropdown{position:relative;display:inline-block}.filter-dropdown-menu{position:absolute;top:100%;left:0;margin-top:4px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:100;min-width:140px;display:none;overflow:hidden}.filter-dropdown-menu.open{display:block}.filter-dropdown-option{display:block;width:100%;padding:10px 16px;font-size:var(--text-base);color:var(--text-body);cursor:pointer;border:none;background:none;text-align:left;font-family:var(--font);transition:background .1s}.filter-dropdown-option:hover{background:var(--bg)}.filter-dropdown-option.active{color:var(--teal);font-weight:600}.sv-page{max-width:100%}.sv-header{justify-content:space-between;margin-bottom:20px}.sv-header,.sv-title{display:flex;align-items:center}.sv-title{font-size:20px;font-weight:700;color:var(--text-dark);gap:8px}.sv-title-icon{color:var(--teal)}.sv-tabs{display:flex;gap:0;border-bottom:2px solid var(--border);margin-bottom:16px}.sv-tab{padding:10px 20px;font-size:14px;font-weight:600;color:var(--text-muted);background:none;cursor:pointer;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;display:flex;align-items:center;gap:8px;transition:color .15s}.sv-tab:hover{color:var(--text-dark)}.sv-tab-active{color:var(--teal);border-bottom-color:var(--teal)}.sv-tab-badge{background:#5c68de;color:#fff;font-size:11px;padding:2px 8px;border-radius:10px;font-weight:700;margin-left:6px;line-height:1;display:inline-flex;align-items:center;justify-content:center;min-width:20px}.sv-filter-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.sv-filter-chips{display:flex;gap:6px;flex-wrap:wrap}.sv-chip{padding:6px 14px;border-radius:20px;font-size:13px;font-weight:500;border:1px solid var(--border);background:var(--white);color:var(--text-body);cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:4px}.sv-chip:hover{border-color:#5c68de;color:#5c68de}.sv-chip-active{background:#e5e7fd;color:#2a3690;border-color:#5c68de;font-weight:600}.sv-chip-count{font-size:11px;background:rgba(0,0,0,.06);padding:0 5px;border-radius:8px}.sv-chip-active .sv-chip-count{background:rgba(92,104,222,.18);color:#2a3690}.sv-search-wrap{position:relative;min-width:200px}.sv-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-muted)}.sv-search{width:100%;padding:8px 12px 8px 34px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:13px;background:var(--white);font-family:var(--font);color:var(--text-body)}.sv-search:focus{outline:none;border-color:var(--teal)}.sv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.sv-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:box-shadow .2s,border-color .2s;text-decoration:none;color:inherit;display:flex;flex-direction:column}.sv-card:hover{box-shadow:var(--shadow-md);border-color:#5c68de}.sv-card-inner{display:flex;flex-direction:column;flex:1}.sv-card-thumb{position:relative;width:100%;flex-shrink:0;aspect-ratio:16/10;background:#f5f7ff;display:flex;align-items:center;justify-content:center;overflow:hidden}.sv-card-thumb img{width:100%;height:100%;object-fit:cover;display:block}.sv-card-thumb-empty{color:var(--text-muted);opacity:.4}.sv-card-body{flex:1;padding:14px 16px;min-width:0;display:flex;flex-direction:column;gap:8px}body.dark .sv-card{background:#1f2440;border-color:#2a3690}body.dark .sv-card:hover{border-color:#5c68de;box-shadow:0 4px 16px rgba(0,0,0,.35)}body.dark .sv-card-body,body.dark .sv-card-thumb{background:#14183a}body.dark .sv-card-title{color:#f0f2ff}body.dark .sv-card-menu,body.dark .sv-card-meta{color:#8b95c0}body.dark .sv-card-menu:hover{background:#14183a}.sv-pagination{gap:4px;margin-top:20px;padding:12px 0}.sv-pagination,.sv-pagination-btn{display:flex;align-items:center;justify-content:center}.sv-pagination-btn{width:36px;height:36px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--white);color:var(--text-body);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s}.sv-pagination-btn:hover:not(:disabled){border-color:#5c68de;color:#5c68de}.sv-pagination-btn:disabled{opacity:.4;cursor:not-allowed}.sv-pagination-btn.active{background:#5c68de;color:#fff;border-color:#5c68de}.sv-pagination-arrow{width:32px;height:32px;border:none;background:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm)}.sv-pagination-arrow:hover:not(:disabled){background:var(--bg);color:var(--text-dark)}.sv-pagination-arrow:disabled{opacity:.3;cursor:not-allowed}.sv-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.sv-card-title{font-size:14px;font-weight:700;color:var(--text-dark);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sv-card-actions-wrap{position:relative;flex-shrink:0}.sv-card-menu{background:none;border:none;padding:2px;cursor:pointer;color:var(--text-muted);border-radius:4px;display:flex}.sv-card-menu:hover{background:var(--bg)}.sv-dropdown{position:absolute;top:100%;right:0;margin-top:4px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:100;min-width:130px;overflow:hidden}.sv-dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:9px 14px;font-size:13px;color:var(--text-body);cursor:pointer;border:none;background:none;text-align:left;text-decoration:none}.sv-dropdown-item:hover{background:var(--bg)}.sv-dropdown-danger{color:var(--danger)}.sv-status-badge{display:inline-block;padding:3px 10px;border-radius:6px;font-size:11px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;width:fit-content}.sv-card-tags{display:flex;gap:4px;flex-wrap:wrap}.sv-tag{display:inline-block;padding:2px 10px;border-radius:9999px;font-size:12px;font-weight:600;border:1px solid #c8ccf8}.sv-tag,.sv-tag-type{background:#e5e7fd;color:#2a3690}.sv-tag-type{border-color:#c8ccf8}:is(.dark,[data-theme=dark]) .sv-tag{background:rgba(92,104,222,.12);color:#a0a9f2;border-color:rgba(92,104,222,.3)}:is(.dark,[data-theme=dark]) .sv-tag-type{background:rgba(92,104,222,.12);color:#a0a9f2;border-color:rgba(92,104,222,.3)}.sv-card-meta{gap:10px;font-size:12px;color:var(--text-muted);margin-top:auto}.sv-card-meta,.sv-meta-item{display:flex;align-items:center}.sv-meta-item{gap:3px}.sv-meta-icon{display:flex;align-items:center}.sv-meta-ai{color:var(--info,#3b82f6)}.sv-meta-instructor{color:var(--success)}.sv-card-feedback{font-size:13px;color:var(--text-body);line-height:1.4;margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sv-featured-star{color:#f59e0b;margin-left:4px;vertical-align:middle}.sv-loading{text-align:center;padding:60px 20px;color:var(--text-muted);font-size:14px}.sv-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px 20px 100px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-xl);min-height:320px}.sv-empty-icon{color:var(--text-muted);opacity:.25;margin-bottom:16px}.sv-empty-title{font-size:17px;font-weight:700;color:var(--text-dark);margin-bottom:8px}.sv-empty-desc{font-size:13px;color:var(--text-muted);margin-bottom:20px}.sv-create-modal{max-width:600px}.sv-form-row{display:flex;gap:12px;flex-wrap:wrap}.sv-form-half{flex:1;min-width:140px}.sv-form-third{flex:1;min-width:120px}.sv-image-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.sv-image-preview{position:relative;aspect-ratio:4/3;border-radius:8px;overflow:hidden;border:1px solid var(--border)}.sv-image-preview img{width:100%;height:100%;object-fit:cover}.sv-image-remove{position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;border:none;font-size:14px;line-height:1}.sv-image-add,.sv-image-remove{cursor:pointer;display:flex;align-items:center;justify-content:center}.sv-image-add{aspect-ratio:4/3;border:2px dashed var(--border);border-radius:8px;flex-direction:column;gap:4px;color:var(--text-muted);font-size:12px;transition:border-color .2s}.sv-image-add:hover{border-color:var(--teal);color:var(--teal)}.sv-hidden-input{display:none}.sv-checklist{display:flex;flex-direction:column;gap:8px}.sv-checklist-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-body);cursor:pointer}.sv-checklist-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--teal);cursor:pointer}.sv-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.sv-header-actions{display:flex;align-items:center;gap:8px}.sv-config-modal{max-width:600px}.sv-config-tabs{display:flex;gap:8px;margin-bottom:16px}.sv-config-list{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;max-height:320px;overflow-y:auto}.sv-config-row{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--bg);border-radius:var(--radius-sm);font-size:13px}.sv-config-value{font-weight:600;color:var(--teal);min-width:80px}.sv-config-label{flex:1;color:var(--text-body)}.sv-config-delete{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px;transition:color .15s,background .15s}.sv-config-delete:hover{color:var(--error);background:rgba(239,68,68,.1)}.sv-config-add{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sv-config-input{flex:1;min-width:100px}.sv-config-item-wrap{display:flex;flex-direction:column;gap:0}.sv-config-checklist-btn{display:flex;align-items:center;gap:4px;background:none;border:none;color:var(--teal);cursor:pointer;padding:4px 6px;border-radius:4px;font-size:12px;transition:background .15s}.sv-config-checklist-btn:hover{background:rgba(92,104,222,.1)}.sv-config-cl-count{font-weight:600}.sv-config-cl-edit{padding:8px 12px 8px 24px;background:var(--bg-card,#fff);border-left:2px solid var(--teal);margin-left:12px}.sv-config-cl-item{display:flex;align-items:center;justify-content:space-between;padding:4px 0;font-size:13px;color:var(--text-body)}.sv-config-cl-add{display:flex;gap:6px;margin-top:6px}.sv-config-cl-add .form-input{flex:1;font-size:13px;padding:6px 10px}.sv-config-parent{font-size:11px;color:#fff;background:var(--teal);padding:2px 8px;border-radius:10px;white-space:nowrap}.sd-page{max-width:100%}.sd-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:8px}.sd-topbar-left{gap:8px}.sd-back-link,.sd-topbar-left{display:flex;align-items:center;font-size:13px;color:var(--text-muted)}.sd-back-link{gap:4px;text-decoration:none}.sd-back-link:hover{color:var(--teal)}.sd-topbar-sep{color:var(--border)}.sd-topbar-title{font-weight:600;color:var(--text-dark)}.sd-topbar-right{display:flex;gap:8px}.sd-btn-danger{color:var(--danger)!important;border-color:var(--danger)!important}.sd-btn-danger:hover{background:var(--danger)!important;color:#fff!important}.sd-title-row{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px}.sd-title-left{flex:1;min-width:0}.sd-title{font-size:22px;font-weight:700;color:var(--text-dark);margin:0 0 6px}.sd-title-meta{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted);flex-wrap:wrap}.sd-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.sd-meta-sep{color:var(--border)}.sd-title-tags{display:flex;gap:6px;flex-wrap:wrap;flex-shrink:0}.sd-layout{display:grid;grid-template-columns:1fr 320px;gap:20px;align-items:start}.sd-main{min-width:0}.sd-main,.sd-sidebar{display:flex;flex-direction:column;gap:12px}.sd-section{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px}.sd-section-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:var(--text-dark);margin:0 0 14px}.sd-section-sub{font-size:12px;font-weight:400;color:var(--text-muted);margin-left:auto}.sd-pro-badge{background:var(--orange);color:#fff;font-size:10px;font-weight:700;padding:2px 8px;border-radius:4px}.sd-image-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sd-image-grid.sd-images-1{grid-template-columns:1fr}.sd-image-grid.sd-images-1 .sd-image-cell{aspect-ratio:16/10}.sd-image-grid.sd-images-3{grid-template-columns:1fr 1fr}.sd-image-cell{aspect-ratio:4/3;border-radius:10px;overflow:hidden;background:var(--bg);cursor:pointer;transition:opacity .2s;position:relative}.sd-image-cell:hover{opacity:.85}.sd-image-cell img{width:100%;height:100%;object-fit:contain}.sd-image-active{outline:2px solid var(--teal);outline-offset:2px}.sd-image-empty{display:flex;align-items:center;justify-content:center;background:var(--bg);color:var(--text-muted);opacity:.4;cursor:default}.sd-image-empty:hover{opacity:.4}.sd-image-editable{cursor:default}.sd-image-editable:hover{opacity:1}.sd-image-remove-btn{position:absolute;top:6px;right:6px;width:26px;height:26px;border-radius:50%;background:rgba(0,0,0,.65);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;z-index:2}.sd-image-remove-btn:hover{background:var(--danger)}.sd-image-add-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:var(--bg);border:2px dashed var(--border);color:var(--text-muted);cursor:pointer;transition:border-color .15s,color .15s}.sd-image-add-cell:hover{border-color:var(--teal);color:var(--teal);opacity:1}.sd-image-add-label{font-size:12px;font-weight:600}.sd-memo-content{font-size:14px;color:var(--text-body);line-height:1.7;white-space:pre-wrap}.sd-text-muted{color:var(--text-muted)}.sd-edit-title{font-size:20px;font-weight:700;padding:8px 12px;margin-bottom:6px}.sd-edit-memo{font-size:14px;line-height:1.7;resize:vertical}.sd-edit-images{display:flex;gap:10px;flex-wrap:wrap}.sd-edit-img-preview{position:relative;width:100px;height:100px;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border)}.sd-edit-img-preview img{width:100%;height:100%;object-fit:cover}.sd-edit-img-remove{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;border:none}.sd-edit-img-add,.sd-edit-img-remove{cursor:pointer;display:flex;align-items:center;justify-content:center}.sd-edit-img-add{width:100px;height:100px;border:2px dashed var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:4px;color:var(--text-muted);font-size:12px;background:none;transition:border-color .15s}.sd-edit-img-add:hover{border-color:var(--teal);color:var(--teal)}.sd-ai-feedback{display:flex;flex-direction:column;gap:16px}.sd-ai-item{background:var(--bg);border-radius:10px;padding:14px}.sd-ai-item-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:13px}.sd-ai-item-header strong{color:var(--text-dark)}.sd-ai-icon{flex-shrink:0}.sd-ai-icon-probe{color:var(--teal)}.sd-ai-icon-structure{color:var(--orange)}.sd-ai-icon-suggest{color:var(--success)}.sd-ai-ref{margin-left:auto;font-size:11px;color:var(--text-muted);background:var(--white);padding:2px 8px;border-radius:10px}.sd-ai-item p{font-size:13px;color:var(--text-body);line-height:1.6;margin:0}.sd-placeholder{text-align:center;padding:30px 20px;color:var(--text-muted)}.sd-placeholder-icon{opacity:.3;margin-bottom:8px}.sd-placeholder p{font-size:13px;margin:0}.sd-paywall{position:relative;border-radius:10px;overflow:hidden;min-height:200px}.sd-paywall-blur{position:absolute;inset:0;background:linear-gradient(135deg,var(--bg) 0,rgba(92,104,222,.05) 100%);filter:blur(0)}.sd-paywall-overlay{position:relative;z-index:1;text-align:center;padding:30px 20px}.sd-paywall-icon{color:var(--text-muted);opacity:.5;margin-bottom:12px}.sd-paywall-overlay h3{font-size:16px;font-weight:700;color:var(--text-dark);margin:0 0 8px}.sd-paywall-desc{font-size:13px;color:var(--text-body);margin:0 0 4px}.sd-paywall-sub{font-size:12px;color:var(--text-muted);margin:0 0 16px}.sd-paywall-cta{display:inline-flex;align-items:center;gap:8px}.sd-paywall-price{font-size:12px;opacity:.8}.sd-paywall-plan{font-size:12px;color:var(--text-muted);margin-top:10px}.sd-paywall-plan a{color:var(--teal);text-decoration:underline}.sd-ba-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.sd-ba-header .sd-section-title{margin-bottom:0}.sd-ba-filter{font-size:13px;color:var(--text-body);gap:4px;padding:4px 10px;border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer}.sd-ba-filter,.sd-ba-selectors{display:flex;align-items:center}.sd-ba-selectors{gap:12px;margin-bottom:14px}.sd-ba-select{flex:1}.sd-ba-label{display:block;font-size:11px;font-weight:600;color:var(--text-muted);margin-bottom:4px;text-transform:uppercase}.sd-ba-dropdown{font-size:13px}.sd-ba-arrow{color:var(--text-muted);font-size:16px;margin-top:16px}.sd-ba-current{display:block;padding:8px 12px;background:var(--teal);color:#fff;border-radius:var(--radius-md);font-size:13px;font-weight:600}.sd-ba-desktop{display:block}.sd-ba-mobile{display:none}.sd-ba-compare{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.sd-ba-img{position:relative;border-radius:10px;overflow:hidden;background:#111}.sd-ba-img img{width:100%;height:auto;display:block}.sd-ba-empty{justify-content:center;height:100%;color:var(--text-muted);opacity:.4}.sd-ba-date-badge,.sd-ba-empty{display:flex;align-items:center}.sd-ba-date-badge{position:absolute;bottom:8px;left:8px;font-size:11px;background:rgba(0,0,0,.6);color:#fff;padding:3px 8px;border-radius:6px;gap:6px}.sd-ba-date-current{background:var(--teal)}.sd-ba-grade{font-weight:700}.sd-ba-timeline{margin-top:4px}.sd-ba-timeline-label{font-size:12px;font-weight:600;color:var(--text-dark);margin-bottom:8px}.sd-ba-timeline-row{display:flex;gap:12px;overflow-x:auto;padding-bottom:4px}.sd-ba-timeline-item{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0;cursor:pointer;transition:transform .15s}.sd-ba-timeline-item:not(.sd-ba-current):hover{transform:scale(1.1)}.sd-ba-current{cursor:default}.sd-ba-current .sd-ba-timeline-thumb{outline:2px solid var(--teal);outline-offset:2px}.sd-ba-timeline-thumb{width:48px;height:48px;border-radius:50%;overflow:hidden;background:var(--bg);display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.sd-ba-timeline-thumb img{width:100%;height:100%;object-fit:contain}.sd-ba-timeline-date{font-size:10px;color:var(--text-muted)}.sd-ba-timeline-grade{font-size:11px;font-weight:700;color:var(--teal)}.sd-ba-hint{font-size:11px;color:var(--text-muted);margin-top:8px;text-align:center}.sd-sidebar-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px}.sd-sidebar-title{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:700;color:var(--text-dark);margin:0 0 14px}.sd-sidebar-empty{text-align:center;padding:20px 10px;color:var(--text-muted)}.sd-sidebar-empty p{font-size:12px;margin-top:6px}.sd-grade-circle{width:56px;height:56px;border-radius:50%;border:3px solid;display:flex;align-items:center;justify-content:center;margin:0 auto 8px}.sd-grade-letter{font-size:24px;font-weight:800}.sd-grade-label{text-align:center;font-size:13px;font-weight:600;color:var(--text-dark);margin-bottom:2px}.sd-grade-sub{text-align:center;font-size:11px;color:var(--text-muted);margin-bottom:14px}.sd-score-list{display:flex;flex-direction:column;gap:10px}.sd-score-row{display:flex;align-items:center;gap:8px}.sd-score-label{font-size:12px;color:var(--text-muted);width:72px;flex-shrink:0}.sd-score-bar{flex:1;height:6px;background:var(--bg);border-radius:3px;overflow:hidden}.sd-score-fill{height:100%;border-radius:3px;transition:width .4s}.sd-score-val{font-size:12px;font-weight:700;color:var(--text-dark);width:24px;text-align:right}.sd-checklist{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.sd-checklist-row{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-body)}.sd-checked{color:var(--text-dark)}.sd-checked .sd-check-icon{color:var(--teal)}.sd-check-icon{color:var(--border);flex-shrink:0}.sd-check-done{color:var(--teal)}.sd-checklist-progress{display:flex;align-items:center;gap:8px}.sd-checklist-bar{flex:1;height:6px;background:var(--bg);border-radius:3px;overflow:hidden}.sd-checklist-fill{height:100%;background:var(--teal);border-radius:3px;transition:width .4s}.sd-checklist-count{font-size:12px;color:var(--text-muted);white-space:nowrap}.sd-info-list{gap:12px}.sd-info-list,.sd-info-row{display:flex;flex-direction:column}.sd-info-row{gap:4px}.sd-info-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase}.sd-info-tags{display:flex;gap:4px;flex-wrap:wrap}.sd-info-link{font-size:13px;color:var(--teal);display:flex;align-items:center;gap:4px;text-decoration:none}.sd-info-link:hover{text-decoration:underline}.sd-activity-list{display:flex;flex-direction:column;gap:0;position:relative}.sd-activity-item{display:flex;gap:12px;padding:8px 0;position:relative}.sd-activity-item:before{content:"";position:absolute;left:5px;top:20px;bottom:-8px;width:1px;background:var(--border)}.sd-activity-item:last-child:before{display:none}.sd-activity-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:3px}.sd-activity-content{display:flex;flex-direction:column;gap:2px;min-width:0}.sd-activity-label{font-size:13px;color:var(--text-dark);font-weight:500;display:flex;align-items:center;gap:4px}.sd-activity-time{font-size:11px;color:var(--text-muted)}.sd-activity-locked{opacity:.5}.sd-activity-lock-icon{color:var(--text-muted)}.sd-instructor-content{font-size:14px;color:var(--text-body);line-height:1.7}.sd-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:9999;display:flex;align-items:center;justify-content:center;cursor:zoom-out}.sd-lightbox img{max-width:90vw;max-height:90vh;border-radius:8px;cursor:default}.sd-lightbox-close{position:absolute;top:16px;right:16px;z-index:10000;width:40px;height:40px;border-radius:50%;background:hsla(0,0%,100%,.15);border:none;color:#fff;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);transition:background .15s}.sd-lightbox-close:hover{background:hsla(0,0%,100%,.3)}.sd-ai-combined-banner,.sd-more-btn{display:none}.sd-more-dropdown{display:none;position:absolute;right:0;top:100%;z-index:50;min-width:160px;background:var(--white);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.1);overflow:hidden}:is(.dark,[data-theme=dark]) .sd-more-dropdown{background:#1e293b;border-color:#475569}.sd-more-dropdown.sd-more-open{display:block}.sd-more-dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 16px;font-size:13px;background:none;border:none;cursor:pointer;color:var(--text-body);text-align:left;transition:background .15s}.sd-more-dropdown-item:hover{background:var(--bg)}.sd-more-dropdown-item.sd-more-danger{color:#ef4444}.sd-topbar-right-wrap{position:relative;display:flex;gap:8px;align-items:center}.sd-memo-mobile-card{display:none}.sd-memo-desktop{display:block}.sd-instructor-simple{display:none}.sd-instructor-full{display:block}@media (max-width:1024px){.sd-layout{grid-template-columns:1fr}.sd-sidebar{order:-1;display:grid;grid-template-columns:1fr 1fr;gap:12px}}@media (max-width:1024px) and (min-width:769px){.sv-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.sv-header{flex-direction:row;align-items:center;gap:10px}.sv-title{font-size:17px;gap:6px}.sv-title-icon{width:18px;height:18px}.sv-header-actions{gap:6px}.sv-header-actions .btn{padding:6px 12px;font-size:12px}.sv-tabs{margin-bottom:12px}.sv-tab{padding:8px 14px;font-size:13px}.sv-filter-row{flex-direction:column;align-items:stretch;gap:10px}.sv-filter-chips{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;scrollbar-width:none;-ms-overflow-style:none}.sv-filter-chips::-webkit-scrollbar{display:none}.sv-chip{flex-shrink:0;padding:5px 12px;font-size:12px}.sv-search-wrap{min-width:0;width:100%}.sv-grid{grid-template-columns:1fr}.sv-card-thumb{width:100%}.sv-form-row{flex-direction:column;gap:0}.sv-image-grid{grid-template-columns:repeat(2,1fr)}.sv-empty{padding:48px 16px 80px;min-height:240px}.sv-empty-title{font-size:15px}.sv-empty-desc{font-size:12px}.sv-create-modal{max-width:90vw}.sd-topbar{align-items:flex-start}.sd-title-row,.sd-topbar{flex-direction:column}.sd-ba-desktop{display:none}.sd-ba-mobile{gap:12px}.sd-ba-group,.sd-ba-mobile{display:flex;flex-direction:column}.sd-ba-group{gap:8px}.sd-ba-group .sd-ba-label{margin-bottom:0}.sd-ba-group .sd-ba-img{margin-top:4px}.sd-ba-group-divider{text-align:center;color:var(--text-muted);font-size:18px;padding:4px 0}.sd-image-grid,.sd-sidebar{grid-template-columns:1fr}.sd-ai-combined-banner{display:flex;align-items:center;gap:12px;background:var(--white);border:1px solid var(--border);border-radius:10px;padding:14px 16px}:is(.dark,[data-theme=dark]) .sd-ai-combined-banner{background:#1e293b;border-color:#334155}.sd-ai-combined-icon{width:36px;height:36px;border-radius:8px;background:rgba(92,104,222,.08);color:var(--teal);display:flex;align-items:center;justify-content:center;flex-shrink:0}.sd-ai-combined-text{flex:1;min-width:0}.sd-ai-combined-title{font-size:14px;font-weight:700;color:var(--text-dark)}.sd-ai-combined-desc{font-size:12px;color:var(--text-muted);margin-top:2px}.sd-ai-combined-badge{background:#fffbeb;color:#d97706;border:1px solid #fde68a;border-radius:9999px;font-size:11px;font-weight:600;padding:2px 10px;white-space:nowrap;flex-shrink:0}:is(.dark,[data-theme=dark]) .sd-ai-combined-badge{background:rgba(217,119,6,.1);color:#fbbf24;border-color:rgba(217,119,6,.3)}.sd-section-ai-mobile-hide,.sd-sidebar-card-ai-mobile-hide{display:none}.sd-more-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;border:1px solid var(--border);background:var(--white);color:var(--text-body);cursor:pointer;flex-shrink:0}:is(.dark,[data-theme=dark]) .sd-more-btn{background:#1e293b;border-color:#475569}.sd-topbar-mobile-hidden{display:none!important}.sd-memo-mobile-card{display:block;background:var(--bg);border-radius:8px;padding:12px;border:1px solid var(--border)}:is(.dark,[data-theme=dark]) .sd-memo-mobile-card{background:#1e293b;border-color:#334155}.sd-memo-mobile-title{font-size:13px;font-weight:600;color:var(--text-dark);display:flex;align-items:center;gap:4px}.sd-memo-mobile-preview{font-size:12px;color:var(--text-muted);line-height:1.5;margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sd-memo-mobile-link{font-size:12px;font-weight:600;color:var(--teal);margin-top:6px;display:inline-block;background:none;border:none;cursor:pointer;padding:0}.sd-memo-desktop{display:none}.sd-instructor-simple{display:flex;align-items:center;gap:10px;padding:0}.sd-instructor-simple-left{display:flex;align-items:center;gap:8px;flex:1;min-width:0;flex-wrap:wrap}.sd-instructor-simple-title{font-size:14px;font-weight:700;color:var(--text-dark)}.sd-instructor-simple-pro{background:#111827;color:#fff;border-radius:4px;padding:1px 6px;font-size:9px;font-weight:700;line-height:1.4}:is(.dark,[data-theme=dark]) .sd-instructor-simple-pro{background:#e5e7eb;color:#111827}.sd-instructor-simple-desc{font-size:12px;color:var(--text-muted);width:100%}.sd-instructor-simple-cta{border:1.5px solid var(--teal);color:var(--teal);background:transparent;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .15s}.sd-instructor-simple-cta:hover{background:rgba(92,104,222,.08)}.sd-instructor-full{display:none}}@media (max-width:480px){.sv-header{gap:8px}.sv-title{font-size:15px}.sv-header-actions .btn{padding:5px 10px;font-size:11px;gap:4px}.sv-tab{padding:7px 10px;font-size:12px;gap:4px}.sv-tab-badge{font-size:10px;padding:0 5px}.sv-chip{padding:4px 10px;font-size:11px}.sv-search{font-size:12px;padding:7px 10px 7px 30px}.sv-empty{padding:36px 12px 70px;min-height:200px}.sv-empty .btn{font-size:12px;padding:8px 14px}}.category-pills{display:flex;overflow-x:auto;gap:8px;padding-bottom:4px}.category-pills::-webkit-scrollbar{height:4px}.category-pills::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.pill{background:var(--white);border:1px solid var(--border);color:var(--text-body);border-radius:20px;padding:6px 14px;cursor:pointer;white-space:nowrap;font-size:var(--text-sm);font-family:var(--font);font-weight:500;transition:background .15s,color .15s,border-color .15s}.pill:hover:not(.active){border-color:var(--teal);color:var(--teal)}.pill.active{background:var(--orange);color:#fff;border-color:var(--orange)}.gallery-layout{display:grid;grid-template-columns:200px 1fr;gap:20px;margin-top:16px}.subcat-panel{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-xl);padding:16px;align-self:start}.subcat-title{font-size:var(--text-sm);font-weight:700;color:var(--text-dark);margin-bottom:12px}.subcat-list{display:flex;flex-direction:column;gap:4px}.subcat-item{padding:8px 12px;border-radius:8px;cursor:pointer;font-size:var(--text-sm);font-weight:500;color:var(--text-body);transition:background .15s,color .15s;border:none;background:none;text-align:left;font-family:var(--font);width:100%}.subcat-item:hover:not(.active){background:var(--border-light)}.subcat-item.active{background:var(--teal-light);color:var(--teal);font-weight:600}.gallery-panel{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-xl);padding:20px 24px}.gallery-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.gallery-title{font-size:var(--text-lg);font-weight:700;color:var(--text-dark)}.gallery-pagination{gap:8px;color:var(--text-muted)}.gallery-pagination,.gallery-pagination button{display:flex;align-items:center;font-size:var(--text-sm)}.gallery-pagination button{background:none;border:1px solid var(--border);border-radius:var(--radius-sm);width:28px;height:28px;justify-content:center;cursor:pointer;color:var(--text-body);font-family:var(--font);transition:border-color .15s}.gallery-pagination button:hover:not(:disabled){border-color:var(--teal);color:var(--teal)}.gallery-pagination button:disabled{opacity:.4;cursor:not-allowed}.image-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.image-card{cursor:pointer;transition:transform .2s,box-shadow .2s}.image-card:hover{transform:scale(1.03)}.image-card:hover .image-thumb{box-shadow:var(--shadow-md)}.image-thumb{height:120px;background:#e0e0e0;border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:36px;transition:box-shadow .2s}body.dark .image-thumb{background:#374151}.image-label{font-size:var(--text-xs);margin-top:6px}.gallery-empty,.image-label{color:var(--text-muted);text-align:center}.gallery-empty{padding:48px 24px;font-size:var(--text-md)}@media (max-width:768px){.gallery-layout{grid-template-columns:1fr}.image-grid{grid-template-columns:repeat(2,1fr)}}.fellowship-tabs{display:flex;border-bottom:1px solid var(--border);gap:0;margin-bottom:24px}.fellowship-tab{padding:12px 16px;cursor:pointer;color:var(--text-muted);font-size:var(--text-md);font-weight:500;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s;white-space:nowrap;font-family:var(--font)}.fellowship-tab:hover{color:var(--text-body)}.fellowship-tab.active{color:var(--orange);border-bottom-color:var(--orange);font-weight:600}.tab-content{display:none}.tab-content.active{display:block}.section-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-xl);padding:20px 24px;margin-bottom:24px}.section-title{font-size:var(--text-lg);font-weight:700;color:var(--text-dark);margin-bottom:16px}.table-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:12px;flex-wrap:wrap}.table-controls-left{display:flex;align-items:center;gap:8px}.entries-select,.table-controls-left{font-size:var(--text-sm);color:var(--text-body)}.entries-select{padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--white);font-family:var(--font);cursor:pointer}.entries-select:focus{border-color:var(--teal);outline:none}.table-search{padding:8px 12px 8px 34px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--text-body);background:var(--white);font-family:var(--font);width:200px;outline:none;transition:border-color .15s}.table-search:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(42,157,143,.1)}.table-search-wrap{position:relative;display:inline-flex;align-items:center}.table-search-icon{position:absolute;left:10px;color:var(--text-muted);font-size:14px;pointer-events:none}.fellowship-table{width:100%;border-collapse:collapse}.fellowship-table th{background:var(--bg);color:var(--text-muted);font-weight:600;font-size:12px;text-transform:uppercase;padding:12px 16px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}.fellowship-table td{padding:12px 16px;border-bottom:1px solid var(--border-light);font-size:var(--text-base);color:var(--text-body);vertical-align:middle}.fellowship-table tr:hover td{background:var(--bg)}.fellowship-table tr:last-child td{border-bottom:none}.table-empty{text-align:center;padding:32px 16px;color:var(--text-muted);font-size:var(--text-md)}.table-footer{display:flex;justify-content:space-between;align-items:center;margin-top:12px;flex-wrap:wrap;gap:8px}.table-info{font-size:var(--text-sm);color:var(--text-muted)}.table-pagination{display:flex;align-items:center;gap:4px}.table-page-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm);font-weight:500;color:var(--text-body);background:var(--white);font-family:var(--font);transition:background .15s,color .15s,border-color .15s}.table-page-btn:hover:not(:disabled):not(.active){background:var(--border-light)}.table-page-btn.active{background:var(--teal);color:#fff;border-color:var(--teal)}.table-page-btn:disabled{opacity:.4;cursor:not-allowed}.page-title{margin-bottom:20px}.course-list{display:flex;flex-direction:column;gap:16px}.course-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-xl);padding:20px 24px;box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;align-items:center;gap:16px;transition:box-shadow .2s}.course-card:hover{box-shadow:var(--shadow-md)}.course-card-left{flex:1}.course-card-name{font-size:var(--text-lg);font-weight:700;color:var(--text-dark);margin-bottom:4px}.course-card-count{font-size:var(--text-sm);color:var(--text-muted)}.course-card-right{display:flex;align-items:center;gap:12px;flex-shrink:0}.category-select{padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--white);font-size:var(--text-sm);color:var(--text-body);font-family:var(--font);cursor:pointer}.category-select:focus{border-color:var(--teal);outline:none}.btn-start-quiz{background:var(--teal);color:#fff;padding:10px 20px;border-radius:var(--radius-md);font-size:var(--text-base);font-weight:600;border:none;cursor:pointer;font-family:var(--font);white-space:nowrap;transition:background .15s}.btn-start-quiz:hover{background:var(--teal-dark)}.quiz-section{display:none}.quiz-section.active{display:block}.quiz-back{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-md);color:var(--text-muted);cursor:pointer;border:none;background:none;font-family:var(--font);font-weight:500;margin-bottom:16px;padding:4px 0;transition:color .15s}.quiz-back:hover{color:var(--teal)}.quiz-course-name{font-size:var(--text-xl);font-weight:700;color:var(--text-dark);margin-bottom:12px}.quiz-progress-row{display:flex;align-items:center;gap:12px;margin-bottom:24px}.quiz-progress-label{font-size:var(--text-sm);color:var(--text-muted);white-space:nowrap;flex-shrink:0}.quiz-progress-track{flex:1;height:8px;background:var(--border);border-radius:4px;overflow:hidden}.quiz-progress-fill{height:100%;background:var(--teal);border-radius:4px;transition:width .4s ease}.quiz-progress-text{font-size:var(--text-sm);color:var(--text-muted);white-space:nowrap;flex-shrink:0}.quiz-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-xl);padding:28px 32px;box-shadow:var(--shadow-sm)}.quiz-question-num{font-size:var(--text-md);font-weight:700;color:var(--text-dark);margin-bottom:4px}.quiz-divider{height:2px;background:var(--border);margin:8px 0 16px}.quiz-question-text{font-size:var(--text-lg);font-weight:600;color:var(--text-dark);margin-bottom:20px;line-height:1.5}.quiz-options{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}.quiz-option{display:flex;align-items:center;gap:12px;padding:14px 16px;border:2px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:border-color .15s,background .15s;font-size:var(--text-md);color:var(--text-body)}.quiz-option:hover:not(.disabled){border-color:var(--teal);background:var(--teal-light)}.quiz-option.selected{border-color:var(--orange);background:var(--orange-light)}.quiz-option.correct{border-color:var(--success);background:var(--success-light)}.quiz-option.incorrect{border-color:var(--danger);background:var(--danger-light)}.quiz-option.disabled{cursor:default}.quiz-option-radio{width:18px;height:18px;border:2px solid var(--border);border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:border-color .15s}.quiz-option.selected .quiz-option-radio{border-color:var(--orange)}.quiz-option.selected .quiz-option-radio:after{content:"";width:8px;height:8px;background:var(--orange);border-radius:50%}.quiz-option.correct .quiz-option-radio{border-color:var(--success)}.quiz-option.correct .quiz-option-radio:after{content:"";width:8px;height:8px;background:var(--success);border-radius:50%}.quiz-option.incorrect .quiz-option-radio{border-color:var(--danger)}.quiz-explanation{display:none;background:var(--info-light);border:1px solid rgba(59,130,246,.2);border-radius:var(--radius-md);padding:14px 18px;margin-bottom:20px;font-size:var(--text-md);color:var(--text-body);line-height:1.5}.quiz-explanation.show{display:block}.quiz-explanation strong{color:var(--info)}.quiz-actions{display:flex;gap:12px}.btn-submit-answer{background:var(--orange);color:#fff;padding:10px 20px;border-radius:var(--radius-md);font-size:var(--text-base);font-weight:600;border:none;cursor:pointer;font-family:var(--font);transition:background .15s}.btn-submit-answer:hover:not(:disabled){background:var(--orange-dark)}.btn-submit-answer:disabled{opacity:.5;cursor:not-allowed}.btn-next-question{background:var(--teal);color:#fff;padding:10px 20px;border-radius:var(--radius-md);font-size:var(--text-base);font-weight:600;border:none;cursor:pointer;font-family:var(--font);transition:background .15s;display:none}.btn-next-question:hover{background:var(--teal-dark)}.score-summary{display:none;text-align:center;padding:40px 24px}.score-summary.active{display:block}.score-icon{font-size:48px;margin-bottom:16px}.score-title{font-size:var(--text-2xl);font-weight:700;color:var(--text-dark);margin-bottom:8px}.score-value{font-size:var(--text-3xl);font-weight:800;color:var(--teal);margin-bottom:8px}.score-detail{font-size:var(--text-md);color:var(--text-muted);margin-bottom:24px}.btn-retake{background:var(--orange);color:#fff;padding:12px 24px;border-radius:var(--radius-md);font-size:var(--text-md);font-weight:600;border:none;cursor:pointer;font-family:var(--font);transition:background .15s}.btn-retake:hover{background:var(--orange-dark)}@media (max-width:768px){.course-card{flex-direction:column;align-items:flex-start}.course-card-right{width:100%;justify-content:flex-end}.quiz-card{padding:20px}}.page-title{font-size:var(--text-2xl);font-weight:800}.challenge-card,.page-title{margin-bottom:24px}.challenge-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.challenge-card-header h2{font-size:var(--text-lg);font-weight:700;color:var(--text-dark);margin:0}.collapse-btn{background:none;border:1px solid var(--border);border-radius:var(--radius-sm);width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:12px;color:var(--text-muted);transition:background .15s}.collapse-btn:hover{background:var(--border-light)}.challenge-card-subtitle{font-size:var(--text-md);color:var(--text-muted);margin-bottom:20px}.form-select{width:100%;padding:10px 16px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--white);font-size:var(--text-md);color:var(--text-body);font-family:var(--font);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236B7280' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}.form-select:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px rgba(42,157,143,.1)}.select-group{margin-bottom:16px}.select-group label{display:block;font-size:var(--text-sm);font-weight:600;color:var(--text-body);margin-bottom:6px}.info-hint{display:flex;align-items:center;gap:6px;font-size:var(--text-sm);color:var(--text-muted);margin-top:12px}.info-hint-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;border:1.5px solid var(--text-faint);font-size:9px;font-weight:700;color:var(--text-faint);flex-shrink:0}.start-btn-wrap{margin-top:20px}.challenge-screen.visible{display:block}.setup-screen.hidden{display:none}.challenge-meta{margin-bottom:20px}.progress-section{margin-bottom:24px}.progress-label{font-size:var(--text-sm);font-weight:600;color:var(--text-body);margin-bottom:8px}.progress-track{height:8px;background:var(--border);border-radius:4px;overflow:hidden;margin-bottom:4px}.progress-fill{height:100%;background:var(--orange);border-radius:4px;transition:width .4s ease}.progress-pct{font-size:var(--text-xs);color:var(--text-faint);text-align:right}.question-card{margin-bottom:24px}.question-number{font-size:var(--text-lg);font-weight:700;color:var(--text-dark);margin-bottom:4px}.question-divider{margin-bottom:16px}.question-text{color:var(--text-body);line-height:1.6;margin-bottom:20px}.option-item{border:1px solid var(--border)}.option-item:hover{background:var(--bg)}.option-item.wrong .option-radio:after{background:var(--danger)}.question-actions{gap:12px;align-items:center}.timer-display{display:flex;align-items:center;gap:6px;font-size:var(--text-md);font-weight:600;color:var(--text-body);margin-left:auto}.feedback-panel{display:none;padding:16px;border-radius:var(--radius-md);margin-bottom:20px;font-size:var(--text-md)}.feedback-panel.visible{display:block}.feedback-panel.correct-feedback{background:var(--success-light);border:1px solid var(--success);color:var(--success)}.feedback-panel.wrong-feedback{background:var(--danger-light);border:1px solid var(--danger);color:var(--danger)}.final-screen.visible{display:block}.final-title{margin-bottom:16px}.page-header{margin-bottom:28px}.page-title{margin-bottom:6px}.page-subtitle{font-size:var(--text-md);color:var(--text-muted)}.setup-panel{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-xl);padding:24px 28px;margin-bottom:16px}.setup-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;align-items:start}.setup-col-label{font-size:var(--text-md);font-weight:600;color:var(--text-dark);margin-bottom:12px}.custom-select-wrap{position:relative}.custom-select-btn{width:100%;padding:10px 36px 10px 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--white);font-size:var(--text-md);color:var(--text-body);font-family:var(--font);cursor:pointer;text-align:left;display:flex;justify-content:space-between;align-items:center;transition:border-color .15s,box-shadow .15s}.custom-select-btn.open,.custom-select-btn:hover{border-color:var(--teal)}.custom-select-btn.open{box-shadow:0 0 0 3px rgba(42,157,143,.1)}.custom-select-arrow{font-size:10px;color:var(--text-muted);flex-shrink:0;transition:transform .2s}.custom-select-btn.open .custom-select-arrow{transform:rotate(180deg)}.custom-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);z-index:200;max-height:320px;overflow-y:auto;display:none}.custom-dropdown.open{display:block}.dropdown-header{padding:10px 14px;font-size:var(--text-sm);color:var(--text-faint);font-weight:600;border-bottom:1px solid var(--border-light)}.dropdown-item{padding:10px 14px;font-size:var(--text-md);color:var(--text-body);cursor:pointer;transition:background .1s}.dropdown-item:hover{background:var(--bg)}.dropdown-item.selected{background:var(--teal-light);color:var(--teal);font-weight:500}.finding-text{font-size:var(--text-md);color:var(--text-muted);padding:10px 0}.info-bar{background:rgba(59,130,246,.08);border:1px solid rgba(59,130,246,.2);border-radius:var(--radius-lg);padding:14px 20px;gap:10px;font-size:var(--text-md);color:#3b82f6;font-weight:500}.info-bar,.info-bar-icon{display:flex;align-items:center}.info-bar-icon{width:22px;height:22px;border:2px solid #3b82f6;border-radius:50%;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.info-bar.ready{background:rgba(42,157,143,.08);border-color:rgba(42,157,143,.3);color:var(--teal)}.info-bar.ready .info-bar-icon{border-color:var(--teal)}.start-challenge-btn{margin-left:auto;background:var(--orange);color:#fff;padding:10px 24px;border-radius:var(--radius-md);font-size:var(--text-md);font-weight:600;border:none;cursor:pointer;font-family:var(--font);transition:background .15s;display:none}.start-challenge-btn:hover{background:var(--orange-dark)}.challenge-screen{display:none}.challenge-screen.active{display:block}.setup-view.hidden{display:none}.back-link{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-md);color:var(--text-muted);cursor:pointer;background:none;border:none;font-family:var(--font);font-weight:500;margin-bottom:20px;transition:color .15s;padding:0}.back-link:hover{color:var(--teal)}.challenge-header-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-xl);padding:20px 28px;margin-bottom:20px}.challenge-title{font-size:var(--text-lg);font-weight:700;color:var(--text-dark);margin-bottom:4px}.challenge-meta{font-size:var(--text-sm);color:var(--text-muted)}.challenge-progress{display:flex;align-items:center;gap:12px;margin-bottom:24px}.challenge-progress-label{font-size:var(--text-sm);color:var(--text-muted);white-space:nowrap}.challenge-progress-track{flex:1;height:8px;background:var(--border);border-radius:4px;overflow:hidden}.challenge-progress-fill{height:100%;background:var(--orange);border-radius:4px;transition:width .4s}.challenge-progress-text{font-size:var(--text-sm);color:var(--text-muted);white-space:nowrap}.image-question-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.scan-image-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-xl);overflow:hidden}.scan-image-placeholder{height:280px;background:#0f1117;display:flex;align-items:center;justify-content:center;font-size:64px}.scan-image-footer{padding:12px 16px;font-size:var(--text-sm);color:var(--text-muted);border-top:1px solid var(--border)}.question-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-xl);padding:24px}.question-num{font-size:var(--text-md);font-weight:700;color:var(--text-dark);margin-bottom:8px}.question-divider{height:2px;background:var(--border);margin-bottom:14px}.question-text{font-size:var(--text-md);font-weight:600;color:var(--text-dark);margin-bottom:18px;line-height:1.5}.options-list{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.option-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1.5px solid var(--border);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-md);color:var(--text-body);transition:border-color .15s,background .15s}.option-item:hover{border-color:var(--teal);background:var(--teal-light)}.option-item.selected{border-color:var(--orange);background:var(--orange-light)}.option-item.correct{border-color:var(--success);background:var(--success-light)}.option-item.wrong{border-color:var(--danger);background:var(--danger-light)}.option-item.disabled{cursor:default}.option-radio{width:18px;height:18px;border:2px solid var(--border);border-radius:50%;flex-shrink:0;position:relative;transition:border-color .15s}.option-item.selected .option-radio{border-color:var(--orange)}.option-item.selected .option-radio:after{content:"";position:absolute;top:3px;left:3px;width:8px;height:8px;border-radius:50%;background:var(--orange)}.option-item.correct .option-radio{border-color:var(--success)}.option-item.correct .option-radio:after{background:var(--success)}.option-item.wrong .option-radio{border-color:var(--danger)}.explanation-box{display:none;background:rgba(59,130,246,.06);border:1px solid rgba(59,130,246,.2);border-radius:var(--radius-md);padding:12px 16px;margin-bottom:16px;font-size:var(--text-md);color:var(--text-body);line-height:1.5}.explanation-box.show{display:block}.explanation-box strong{color:#3b82f6}.freetext-area{margin-bottom:20px}.freetext-input{width:100%;padding:12px 14px;border:1.5px solid var(--border);border-radius:var(--radius-md);font-size:var(--text-md);font-family:var(--font);color:var(--text-body);resize:vertical;min-height:100px;transition:border-color .15s;box-sizing:border-box}.freetext-input:focus{border-color:var(--teal);outline:none}.freetext-input:disabled{background:var(--bg);color:var(--text-muted)}.question-actions{display:flex;gap:10px}.final-screen{display:none;text-align:center;padding:48px 24px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-xl)}.final-screen.active{display:block}.final-icon{font-size:48px;margin-bottom:12px}.final-title{font-size:var(--text-2xl);font-weight:800;color:var(--text-dark);margin-bottom:8px}.final-score{font-size:var(--text-xl);font-weight:700;color:var(--orange);margin-bottom:24px}.final-actions{display:flex;justify-content:center;gap:12px}@media (max-width:768px){.image-question-layout,.setup-grid{grid-template-columns:1fr}.challenge-card{margin-bottom:16px}.challenge-card-header h2{font-size:var(--text-lg)}.challenge-card-subtitle,.form-select,.question-number,.select-group label{font-size:var(--text-sm)}.options-list{gap:8px}.option-item{padding:10px 14px;font-size:var(--text-sm)}.option-radio{width:16px;height:16px}.question-actions{flex-wrap:wrap;gap:8px}.timer-display{font-size:var(--text-sm);margin-left:0}.feedback-panel{padding:12px;font-size:var(--text-sm)}.final-screen{padding:32px 16px}.final-title{font-size:var(--text-xl)}.final-score{font-size:var(--text-lg)}.final-actions{flex-direction:column;gap:8px}.final-actions .btn-primary,.final-actions .btn-secondary{width:100%;text-align:center;justify-content:center}.setup-panel{padding:20px 16px}.custom-select-btn,.setup-col-label{font-size:var(--text-sm)}.custom-select-btn{padding:10px 14px}.info-bar{padding:14px 16px;flex-wrap:wrap;gap:10px}.start-challenge-btn{width:100%}.challenge-header-card{padding:16px}.challenge-title{font-size:var(--text-md)}.scan-image-placeholder{height:200px}.question-card{padding:18px}.question-num{font-size:var(--text-sm)}.question-text{font-size:var(--text-md)}.explanation-box{padding:10px 12px;font-size:var(--text-sm)}.freetext-input{min-height:80px;font-size:var(--text-sm)}.question-actions .btn-primary{width:100%;text-align:center;justify-content:center}}@media (max-width:480px){.challenge-card-header h2{font-size:var(--text-md)}.select-group{margin-bottom:12px}.form-select{padding:10px 12px}.start-btn-wrap .btn-lg{width:100%}.info-hint{font-size:12px;padding:10px 14px}.progress-section{margin-bottom:16px}.progress-label,.progress-pct{font-size:11px}.option-item{padding:8px 12px;font-size:13px;gap:8px}.option-radio{width:14px;height:14px}.timer-display{font-size:12px}.back-link{font-size:var(--text-sm)}.challenge-meta{font-size:11px}.setup-panel{padding:16px 12px}.custom-select-btn{padding:8px 12px;font-size:13px}.custom-dropdown{max-height:200px;overflow-y:auto}.dropdown-item{padding:8px 14px;font-size:13px}.info-bar{padding:12px;font-size:13px}.info-bar-icon{width:20px;height:20px;font-size:12px}.challenge-header-card{padding:14px 12px}.challenge-progress{gap:8px}.challenge-progress-label,.challenge-progress-text{font-size:11px}.scan-image-placeholder{height:160px;font-size:48px}.scan-image-footer{padding:8px 12px;font-size:12px}.question-card{padding:14px}.question-num{font-size:12px}.question-text{font-size:14px;margin-bottom:14px}.final-screen{padding:24px 12px}.final-icon{font-size:36px}.final-title{font-size:var(--text-lg)}.final-score{font-size:var(--text-md);margin-bottom:16px}}.uni-page-header{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-xl);padding:20px 24px;margin-bottom:24px}.uni-page-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.uni-page-title-left{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.uni-page-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:#e5e7fd;color:#5c68de;flex-shrink:0}.uni-page-title{font-size:20px;font-weight:700;letter-spacing:-.02em;color:var(--text-dark);margin:0}.uni-page-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.uni-page-action-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;border:none;cursor:pointer;font-family:var(--font);transition:background .15s;white-space:nowrap}.uni-page-action-btn.primary{background:var(--teal);color:#fff}.uni-page-action-btn.primary:hover{background:var(--teal-dark)}.uni-page-action-btn.icon-only{padding:8px;background:transparent;color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-md)}.uni-page-action-btn.icon-only:hover{background:var(--bg);color:var(--text-body)}.uni-page-tabs{display:flex;border-bottom:1px solid var(--border);gap:0;margin-top:16px}.uni-page-tab{padding:10px 16px;cursor:pointer;color:var(--text-muted);font-size:var(--text-md);font-weight:500;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s;white-space:nowrap;font-family:var(--font)}.uni-page-tab:hover{color:var(--text-body)}.uni-page-tab.active{color:#5c68de;border-bottom-color:#5c68de;font-weight:600}.uni-page-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;margin-left:6px;border-radius:10px;background:#eef0fe;color:#5c68de;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;vertical-align:middle}.uni-page-tab.active .uni-page-tab-count{background:#5c68de;color:#fff}.uni-tab-content{display:none}.uni-tab-content.active{display:block}.uni-page-filters{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;flex-wrap:wrap}.uni-page-pills{display:flex;flex-wrap:wrap;gap:8px}.uni-page-pill{padding:6px 14px;border-radius:var(--radius-2xl);border:1px solid var(--border);background:var(--white);color:var(--text-body);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all .15s;font-family:var(--font)}.uni-page-pill:hover{border-color:#5c68de;color:#5c68de}.uni-page-pill.active{background:#5c68de;color:#fff;border-color:#5c68de}.uni-page-search{position:relative;display:inline-flex;align-items:center}.uni-page-search input{padding:8px 12px 8px 34px;border:1px solid var(--border);border-radius:var(--radius-2xl);font-size:var(--text-sm);color:var(--text-body);background:var(--white);font-family:var(--font);width:200px;outline:none;transition:border-color .15s}.uni-page-search input:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(42,157,143,.1)}.uni-page-search-icon{position:absolute;left:10px;color:var(--text-muted);pointer-events:none}.uni-page-content{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-xl);padding:24px;min-height:400px}.uni-page-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px;text-align:center;min-height:320px}.uni-page-empty-icon{font-size:48px;color:var(--text-faint);margin-bottom:16px}.uni-page-empty-title{font-size:var(--text-lg);font-weight:600;color:var(--text-dark);margin-bottom:8px}.uni-page-empty-desc{font-size:var(--text-md);color:var(--text-muted);max-width:400px}.uni-section-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-xl);padding:20px 24px;margin-bottom:24px}.uni-section-title{font-size:var(--text-lg);font-weight:700;color:var(--text-dark);margin-bottom:16px}@media (max-width:768px){.uni-page-header{padding:16px 18px}.uni-page-title{font-size:18px}.uni-page-pills{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:4px}.uni-page-pills::-webkit-scrollbar{display:none}.uni-page-pill{flex-shrink:0}.uni-page-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.uni-page-tabs::-webkit-scrollbar{display:none}.uni-page-content{padding:20px;min-height:300px}.uni-section-card{padding:16px}}@media (max-width:640px){.uni-page-header{padding:14px 16px}.uni-page-title-row{flex-wrap:nowrap;gap:8px}.uni-page-title{white-space:nowrap}.uni-page-filters{flex-direction:column;align-items:stretch}.uni-page-search{width:auto;flex-shrink:1;min-width:0}.uni-page-search input{width:140px;max-width:100%}.uni-section-card{padding:14px 12px}.uni-page-content{padding:16px;min-height:250px}.uni-page-empty{padding:48px 16px;min-height:200px}}@media (max-width:480px){.uni-page-header{padding:12px 14px;margin-bottom:16px}.uni-page-icon{width:30px;height:30px}.uni-page-title{font-size:16px}.uni-page-title-left{gap:8px}.uni-page-search input{width:110px;font-size:12px;padding:7px 10px 7px 30px}.uni-page-action-btn{padding:6px 12px;font-size:12px}.uni-page-pill{padding:5px 12px;font-size:12px}.uni-page-tab{padding:8px 12px;font-size:13px}.uni-page-content{padding:14px}.uni-page-empty-icon{font-size:36px}.uni-page-empty-title{font-size:var(--text-md)}.uni-page-empty-desc{font-size:var(--text-sm)}.uni-section-card{padding:12px 10px;margin-bottom:16px}}.page-title{font-size:22px;font-weight:700;color:var(--text-dark);margin-bottom:0}.welcome-banner{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-xl);padding:20px 28px;margin-bottom:16px;display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.welcome-title{font-size:var(--text-lg);font-weight:700;color:var(--orange);margin-bottom:6px}.welcome-desc{font-size:var(--text-md);color:var(--text-body);line-height:1.5}.user-guide-btn{background:var(--orange);color:#fff;padding:10px 20px;border-radius:var(--radius-md);font-size:var(--text-md);font-weight:600;border:none;cursor:pointer;font-family:var(--font);white-space:nowrap;flex-shrink:0;transition:background .15s}.user-guide-btn:hover{background:var(--orange-dark)}.sage-container{background:#0f1117;border-radius:var(--radius-xl);overflow:hidden;min-height:600px;display:flex;flex-direction:column}.sage-header{text-align:center;padding:24px 20px 16px;color:#fff;font-size:20px;font-weight:700}.session-accordion{background:#1a1d27;border:1px solid #2d3142;border-radius:8px;margin:0 20px 16px;overflow:hidden}.session-accordion-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;cursor:pointer;color:#c9cdd8;font-size:14px;font-weight:500;user-select:none;transition:background .15s}.session-accordion-header:hover{background:#22263a}.session-accordion-arrow{font-size:10px;color:#6b7280;transition:transform .2s}.session-accordion-header.open .session-accordion-arrow{transform:rotate(180deg)}.session-accordion-body{display:none;padding:16px;border-top:1px solid #2d3142}.session-accordion-body.open{display:block}.session-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:14px}.session-field-label{font-size:12px;font-weight:600;color:#9ca3af;margin-bottom:6px}.session-select{width:100%;padding:9px 32px 9px 12px;background:#0f1117;border:1px solid #374151;border-radius:6px;color:#e5e7eb;font-size:14px;font-family:var(--font);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236B7280' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;transition:border-color .15s}.session-select:focus{outline:none;border-color:#2a9d8f}.session-checkbox-row{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.session-checkbox-item{gap:10px;user-select:none}.session-checkbox,.session-checkbox-item{display:flex;align-items:center;cursor:pointer}.session-checkbox{width:16px;height:16px;border:2px solid #4b5563;border-radius:3px;justify-content:center;flex-shrink:0;transition:background .15s,border-color .15s}.session-checkbox.checked{background:#5c68de;border-color:#5c68de}.session-checkbox.checked:after{content:"✓";color:#fff;font-size:10px;font-weight:700}.session-checkbox-label{font-size:14px;color:#d1d5db}.session-checkbox-label.muted{color:#6b7280;font-style:italic}.session-btn-row{display:flex;gap:8px}.session-action-btn{padding:7px 16px;border-radius:6px;font-size:13px;font-weight:500;font-family:var(--font);cursor:pointer;border:1px solid #374151;background:#1a1d27;color:#d1d5db;transition:background .15s,border-color .15s}.session-action-btn:hover{background:#22263a;border-color:#4b5563}.session-action-btn.new-btn{background:#2a9d8f;border-color:#2a9d8f;color:#fff}.session-action-btn.new-btn:hover{background:#238c7f}.caution-text{font-size:12px;color:#6b7280;font-style:italic;margin-top:10px}.chat-area{padding:0 20px 20px;min-height:360px}.chat-area,.chat-messages{flex:1;display:flex;flex-direction:column}.chat-messages{overflow-y:auto;padding:8px 0 16px;gap:16px}.chat-messages::-webkit-scrollbar{width:4px}.chat-messages::-webkit-scrollbar-thumb{background:#374151;border-radius:2px}.chat-msg{display:flex;gap:12px;align-items:flex-start}.chat-msg.user-msg{flex-direction:row-reverse}.chat-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}.sage-avatar{background:#2a9d8f;color:#fff;font-size:11px}.user-avatar{background:#5c68de;color:#fff}.chat-bubble{max-width:70%;padding:12px 16px;border-radius:12px;font-size:14px;line-height:1.6}.sage-bubble{background:#1a1d27;border:1px solid #2d3142;color:#e5e7eb;border-radius:4px 12px 12px 12px}.user-bubble{background:#5c68de;color:#fff;border-radius:12px 4px 12px 12px}.chat-welcome{text-align:center;padding:32px 24px;color:#6b7280;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.chat-welcome-icon{font-size:40px;margin-bottom:12px}.chat-welcome-title{font-size:18px;font-weight:700;color:#9ca3af;margin-bottom:8px}.chat-welcome-text{font-size:14px;color:#6b7280;line-height:1.5;max-width:360px}.chat-input-row{display:flex;gap:10px;align-items:flex-end;background:#1a1d27;border:1px solid #2d3142;border-radius:10px;padding:10px 12px}.chat-input{flex:1;background:none;border:none;outline:none;color:#e5e7eb;font-size:14px;font-family:var(--font);resize:none;min-height:22px;max-height:120px;line-height:1.5}.chat-input::placeholder{color:#4b5563}.chat-send-btn{background:#2a9d8f;border:none;border-radius:8px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;font-size:16px;flex-shrink:0;transition:background .15s}.chat-send-btn:hover{background:#238c7f}.chat-send-btn:disabled{background:#374151;cursor:not-allowed}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:1000;display:none;align-items:flex-start;justify-content:center;padding:40px 20px;overflow-y:auto}.modal-overlay.open{display:flex}.modal-box{background:var(--white);border-radius:var(--radius-xl);width:100%;max-width:760px;position:relative}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 28px 16px;border-bottom:1px solid var(--border)}.modal-title{font-size:var(--text-lg);font-weight:700;color:var(--text-dark)}.modal-close{background:none;font-size:20px;color:var(--text-muted);line-height:1;padding:4px}.modal-close:hover{color:var(--text-dark)}.modal-body{padding:24px 28px 32px}.guide-banner{background:var(--orange);border-radius:var(--radius-lg);padding:18px 24px;text-align:center;color:#fff;margin-bottom:24px}.guide-banner,.guide-section-title{font-size:var(--text-lg);font-weight:700}.guide-section-title{color:var(--text-dark);margin-bottom:12px}.guide-orange-heading{font-size:var(--text-md);font-weight:700;color:var(--orange);text-align:center;margin:24px 0 16px;padding-top:16px;border-top:1px solid var(--border)}.guide-body-text{font-size:var(--text-md);color:var(--text-body);line-height:1.7;margin-bottom:16px}.guide-body-text strong{color:var(--text-dark)}.guide-list{margin:0 0 16px;padding-left:20px}.guide-list li{font-size:var(--text-md);color:var(--text-body);line-height:1.7;margin-bottom:6px}.guide-list li strong{color:var(--text-dark)}.guide-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.guide-feature-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px}.guide-feature-title{font-size:var(--text-md);font-weight:700;color:var(--text-dark);margin-bottom:8px}.guide-feature-desc{font-size:var(--text-sm);color:var(--text-muted);line-height:1.6}@media (max-width:768px){.welcome-banner{flex-direction:column}.guide-feature-grid,.session-row{grid-template-columns:1fr}}.sidebar-divider{height:1px;background:hsla(0,0%,100%,.1);margin:8px 16px}.admin-sidebar .nav-item.active{background:#5c68de;color:#fff;font-weight:600}.admin-sidebar .nav-item.active:before{display:none}.admin-sidebar .nav-item:hover:not(.active){color:var(--ds-ink-primary);background:var(--ds-bg-card)}.sidebar-group{margin-bottom:2px}.sidebar-group-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:6px 14px;border:none;background:none;cursor:pointer;font-size:11px;font-weight:700;color:var(--ds-ink-tertiary,#6870a8);text-transform:uppercase;letter-spacing:.5px;border-radius:8px;transition:background .15s}.sidebar-group-toggle:hover{background:var(--ds-bg-card)}.sidebar-group-toggle-left{display:flex;align-items:center;gap:8px}.sidebar-group-arrow{font-size:12px;transition:transform .25s ease;color:var(--ds-ink-tertiary,#a8aecb)}.sidebar-group-arrow.open{transform:rotate(180deg)}.sidebar-group-items{overflow:hidden;max-height:0;transition:max-height .25s ease}.sidebar-group-items.open{max-height:500px}.sidebar-group-items .nav-item{padding-left:36px;padding-top:7px;padding-bottom:7px;font-size:13px;color:var(--ds-ink-secondary)}.sidebar-group-items .nav-item:hover:not(.active){color:var(--ds-ink-primary);background:var(--ds-bg-card)}.sidebar-group-items .nav-item.active{background:#5c68de;color:#fff}.sidebar-group-items .nav-item.active:before{display:none}#sidebar.collapsed .sidebar-group-toggle span:not(.sidebar-group-arrow){opacity:0;width:0;overflow:hidden}#sidebar.collapsed .sidebar-group-arrow{display:none}#sidebar.collapsed .sidebar-group-items{max-height:0}.lib-upload-form{display:flex;flex-direction:column;gap:18px}.lib-dropzone{border:2px dashed var(--border);border-radius:12px;transition:border-color .2s,background .2s;overflow:hidden}.lib-dropzone:hover{border-color:var(--teal);background:rgba(92,104,222,.03)}.lib-dropzone.is-dragging{border-color:var(--teal);background:rgba(92,104,222,.08)}.lib-dropzone-label{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px 24px;cursor:pointer;text-align:center}.lib-dropzone-icon{color:var(--teal);opacity:.45}.lib-dropzone-text{font-size:14px;font-weight:500;color:var(--text-dark)}.lib-dropzone-hint{font-size:12px;color:var(--text-muted);margin-top:-2px}.lib-dropzone-selected{display:flex;align-items:center;gap:10px;padding:14px 16px;background:rgba(92,104,222,.06);color:var(--teal);font-size:13px}.lib-dropzone-filename{flex:1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lib-dropzone-size{color:var(--text-muted);font-size:12px}.lib-dropzone-remove{background:none;border:none;cursor:pointer;font-size:18px;color:var(--text-muted);padding:0 4px;line-height:1;transition:color .15s}.lib-dropzone-remove:hover{color:var(--danger)}.lib-field{display:flex;flex-direction:column;gap:6px}.lib-field-label{font-size:13px;font-weight:600;color:var(--text-dark)}.lib-field-input{padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px;font-family:var(--font);color:var(--text-dark);background:var(--white);transition:border-color .15s;width:100%;box-sizing:border-box}.lib-field-input:focus{border-color:var(--teal);outline:none}.lib-field-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.lib-modal-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:12px;border-top:1px solid var(--border-light);margin-top:4px}.lib-btn-cancel{padding:10px 20px;border:1px solid var(--border);border-radius:8px;background:var(--white);color:var(--text-body);font-size:14px;font-family:var(--font);font-weight:500;cursor:pointer;transition:background .15s}.lib-btn-cancel:hover{background:var(--border-light)}.lib-btn-submit{padding:10px 24px;border:none;border-radius:8px;background:var(--teal);color:#fff;font-size:14px;font-family:var(--font);font-weight:600;cursor:pointer;transition:opacity .15s}.lib-btn-submit:hover{opacity:.9}.lib-btn-submit:disabled{opacity:.5;cursor:not-allowed}@media (max-width:768px){.lib-field-grid{grid-template-columns:1fr}}.lib-modality-tabs{display:flex;gap:0;margin:8px 0 4px;border-bottom:1px solid var(--border-light)}.lib-modality-tab{padding:10px 20px;background:transparent;border:none;border-bottom:2px solid transparent;font-size:14px;font-weight:600;color:var(--text-muted);cursor:pointer;transition:color .15s,border-color .15s;font-family:var(--font)}.lib-modality-tab:hover{color:var(--text-dark)}.lib-modality-tab.active{color:#5c68de;border-bottom-color:#5c68de}.lib-layout{display:grid;grid-template-columns:280px 1fr;gap:20px;margin-top:16px;align-items:stretch}@media (max-width:768px){.lib-layout{grid-template-columns:1fr;align-items:start}}.lib-sidebar{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:18px 14px}.lib-sidebar-title{padding:4px 12px 14px;font-size:14px;font-weight:700;color:var(--text-dark);border-bottom:1px solid #f1f1f1;margin-bottom:12px}.lib-sidebar-list{display:flex;flex-direction:column;gap:6px}.lib-sidebar-empty{padding:16px 12px;font-size:13px;color:var(--text-muted);text-align:center}.lib-sub-group{display:flex;flex-direction:column}.lib-sub-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 14px;border:none;background:transparent;border-radius:8px;font-size:14px;font-weight:500;color:var(--text-body);cursor:pointer;text-align:left;font-family:var(--font);transition:background .15s,color .15s}.lib-sub-item:hover:not(.active){background:#f5f7ff;color:#5c68de}.lib-sub-item.active{background:#eef0fe!important;color:#2a3690!important;font-weight:700}.lib-sub-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lib-sub-arrow{color:var(--text-muted);flex-shrink:0;transition:transform .2s}.lib-sub-arrow.open{transform:rotate(180deg);color:#5c68de}.lib-sub-item.active .lib-sub-arrow{color:#2a3690!important}.lib-child-list{display:flex;flex-direction:column;gap:4px;padding:8px 0 8px 14px;margin:4px 0 4px 10px;border-left:2px solid #e5e7fd}.lib-child-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:7px 12px;border:none;background:transparent;border-radius:6px;font-size:13px;font-weight:500;color:var(--text-muted);cursor:pointer;text-align:left;font-family:var(--font);transition:background .15s,color .15s}.lib-child-item:hover:not(.active){background:#f5f7ff;color:var(--text-body)}.lib-child-item.active{background:#5c68de;color:#fff}.lib-child-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lib-child-count{font-size:11px;font-weight:600;color:var(--text-muted);background:#f1f1f1;padding:1px 7px;border-radius:10px;min-width:20px;text-align:center;flex-shrink:0}.lib-child-item.active .lib-child-count{background:hsla(0,0%,100%,.25);color:#fff}.lib-pills-wrap{position:relative;display:flex;align-items:center;margin-bottom:16px}.lib-pills{display:flex;gap:8px;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;flex:1}.lib-pills::-webkit-scrollbar{display:none}.lib-pill{flex-shrink:0;padding:6px 14px;border-radius:20px;border:1px solid var(--border);background:#fff;color:var(--text-body);font-size:13px;font-weight:500;cursor:pointer;font-family:var(--font);transition:all .15s}.lib-pill:hover:not(.active){border-color:#5c68de;color:#5c68de}.lib-pill.active{background:#5c68de;color:#fff;border-color:#5c68de;font-weight:600}.lib-pills-arrow{width:28px;height:28px;border:1px solid var(--border);background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-muted);flex-shrink:0}.lib-pills-arrow-left{margin-right:6px}.lib-pills-arrow-right{margin-left:6px}.lib-gallery{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px 24px;display:flex;flex-direction:column}.lib-gallery-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid #f1f1f1;flex-shrink:0}.lib-gallery-title{font-size:16px;font-weight:700;color:var(--text-dark);margin:0}.lib-empty{padding:48px 16px;text-align:center;color:var(--text-muted);font-size:14px}.lib-modality-radios{display:flex;gap:10px}.lib-modality-radio{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:border-color .15s,background .15s;font-size:14px;font-weight:500;color:var(--text-body)}.lib-modality-radio:hover{border-color:#5c68de}.lib-modality-radio.active{border-color:#5c68de;background:rgba(92,104,222,.08);color:#5c68de}.lib-modality-radio input[type=radio]{accent-color:#5c68de}.lib-materials-section{margin-top:16px}.lib-materials-list{display:flex;flex-direction:column;gap:10px;background:var(--white);border:1px solid var(--border);border-radius:12px;padding:8px}.lib-material-card{gap:14px;padding:14px;border:1px solid var(--border);background:var(--white)}.lib-material-card,.lib-material-icon{display:flex;align-items:center;border-radius:10px}.lib-material-icon{width:44px;height:44px;flex-shrink:0;justify-content:center;background:linear-gradient(135deg,#f0f9ff,#dbeafe);color:#60a5fa}.lib-material-info{flex:1;min-width:0}.lib-material-title{font-size:15px;font-weight:600;color:var(--text-heading);margin:0 0 4px}.lib-material-desc{font-size:13px;color:var(--text-muted);margin:0 0 6px}.lib-material-meta{display:flex;gap:10px;font-size:12px;color:var(--text-muted)}.lib-material-type{padding:2px 8px;border-radius:4px;background:rgba(96,165,250,.12);color:#3b82f6;font-weight:600}.lib-material-download{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;padding:8px 14px;border:1px solid var(--border);border-radius:8px;background:var(--white);color:var(--text-body);font-size:13px;cursor:pointer;transition:border-color .15s,background .15s}.lib-material-download:hover:not(:disabled){border-color:var(--teal);color:var(--teal)}.lib-material-download:disabled{opacity:.6;cursor:not-allowed}.lib-material-actions{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.lib-material-delete,.lib-material-edit{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid var(--border);border-radius:8px;background:var(--white);color:var(--text-muted);cursor:pointer;transition:border-color .15s,color .15s}.lib-material-edit:hover{border-color:var(--teal);color:var(--teal)}.lib-material-delete:hover{border-color:var(--danger,#e74c3c);color:var(--danger,#e74c3c)}.lib-field-textarea{resize:vertical;min-height:80px;font-family:inherit}.cm-section{display:flex;flex-direction:column;gap:8px}.cm-header{display:flex;align-items:center;justify-content:space-between}.cm-add-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border:1px solid var(--border);border-radius:6px;background:var(--white);color:var(--text-body);font-size:13px;cursor:pointer;transition:border-color .15s,color .15s}.cm-add-btn:hover{border-color:var(--teal);color:var(--teal)}.cm-upload-form{display:flex;flex-direction:column;gap:8px;padding:14px;background:rgba(92,104,222,.04);border:1px solid var(--border);border-radius:8px}.cm-dropzone{border:2px dashed var(--border);border-radius:8px;transition:border-color .2s,background .2s}.cm-dropzone.is-dragging{border-color:var(--teal);background:rgba(92,104,222,.08)}.cm-dropzone-label{display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px;cursor:pointer;text-align:center;color:var(--text-muted)}.cm-dropzone-hint{font-size:11px}.cm-file-selected{display:flex;align-items:center;gap:10px;padding:12px 14px;background:rgba(92,104,222,.06);color:var(--teal);font-size:13px}.cm-file-name{flex:1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cm-file-remove{background:none;border:none;cursor:pointer;font-size:18px;color:var(--text-muted);padding:0 4px}.cm-upload-actions{display:flex;justify-content:flex-end;gap:8px}.cm-empty{padding:20px;text-align:center;color:var(--text-muted);background:var(--card-bg,#f9fafb);border-radius:8px;font-size:13px}.cm-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.cm-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:var(--white);border:1px solid var(--border);border-radius:8px;transition:border-color .15s}.cm-item:hover{border-color:var(--teal)}.cm-icon{width:32px;height:32px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background:rgba(92,104,222,.08);color:var(--teal);border-radius:6px}.cm-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.cm-title{font-weight:500;color:var(--text-dark);font-size:13px}.cm-desc{font-size:12px}.cm-desc,.cm-meta{color:var(--text-muted)}.cm-meta{font-size:11px}.cm-actions{gap:4px;flex-shrink:0}.cm-action-btn,.cm-actions{display:inline-flex;align-items:center}.cm-action-btn{justify-content:center;width:28px;height:28px;border:1px solid var(--border);border-radius:6px;background:var(--white);color:var(--text-muted);cursor:pointer;transition:border-color .15s,color .15s}.cm-action-btn:hover{border-color:var(--teal);color:var(--teal)}.cm-action-del:hover{border-color:var(--danger,#e74c3c);color:var(--danger,#e74c3c)}.cm-edit-input{width:100%}.cm-edit-actions{display:flex;gap:6px;margin-top:4px}.lib-material-summary{width:100%;background:transparent;border:none;padding:14px 16px;display:flex;align-items:center;gap:12px;text-align:left;cursor:pointer;font:inherit;color:inherit}.lib-material-summary .lib-material-title{flex:1;font-size:14px;font-weight:500;color:var(--text-dark)}.lib-material-summary .lib-material-type{display:inline-block;padding:2px 8px;background:rgba(92,104,222,.08);color:var(--teal);border-radius:999px;font-size:11px;font-weight:500}.lib-material-chev{color:var(--text-muted);transition:transform .2s;flex-shrink:0}.lib-material-chev.is-open{transform:rotate(180deg)}.lib-material-detail{padding:0 16px 14px;display:flex;flex-direction:column;gap:8px}.lib-material-detail .lib-material-desc{margin:0;font-size:13px;color:var(--text-body)}.lib-material-card.is-locked{background:rgba(0,0,0,.02)}.lib-material-card.is-locked .lib-material-icon{color:var(--text-muted)}.lib-material-courses{display:inline-block;padding:2px 8px;background:rgba(92,104,222,.08);color:var(--teal);border-radius:999px;font-size:11px;font-weight:500}.lib-course-checklist{display:flex;flex-direction:column;gap:6px;max-height:200px;overflow-y:auto;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--white)}.lib-course-check-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;cursor:pointer;transition:background .15s;font-size:13px}.lib-course-check-item:hover{background:rgba(92,104,222,.05)}.lib-course-check-item input[type=checkbox]{width:16px;height:16px;cursor:pointer}.lib-field-hint{font-size:12px;color:var(--orange);margin:0}.lib-empty-subtext{font-size:12px;color:var(--text-muted);margin-top:4px}@media (max-width:768px){.lib-modality-tab{flex:1;padding:10px 12px}}@media (max-width:480px){.lib-modality-tab{padding:8px;font-size:13px}}.ad-container{max-width:1200px;margin:0 auto}.ad-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.ad-title{font-size:1.5rem;font-weight:700;color:var(--text-heading)}.ad-date{font-size:.875rem;color:var(--text-muted)}.ad-urgent-banner{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.ad-urgent-item{display:flex;justify-content:space-between;align-items:center;flex:1;min-width:200px;padding:12px 16px;background:#fff3e0;border:1px solid #ffb74d;border-radius:var(--radius-md);color:#e65100;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .15s}.ad-urgent-item:hover{background:#ffe0b2}.ad-urgent-action{font-size:.75rem;color:#bf360c;white-space:nowrap;margin-left:12px}.ad-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.ad-stat-card{display:flex;align-items:center;gap:12px;padding:16px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);transition:box-shadow .15s}.ad-stat-card:hover{box-shadow:0 2px 8px rgba(0,0,0,.06)}.ad-stat-icon{font-size:1.5rem;flex-shrink:0}.ad-stat-info{display:flex;flex-direction:column;gap:2px;min-width:0}.ad-stat-label{font-size:.75rem;color:var(--text-muted)}.ad-stat-value{font-size:1.25rem;font-weight:700;color:var(--text-heading);white-space:nowrap}.ad-stat-value small{font-size:.75rem;font-weight:400;margin-left:2px;color:var(--text-muted)}.ad-badge{font-size:.625rem;font-weight:600;padding:2px 6px;border-radius:999px;white-space:nowrap}.ad-badge-up{background:#e8f5e9;color:#2e7d32}.ad-badge-down{background:#ffebee;color:#c62828}.ad-badge-neutral{background:#f5f5f5;color:#757575}.ad-two-col{display:grid;grid-template-columns:63% 34%;gap:24px}.ad-col-left,.ad-col-right{display:flex;flex-direction:column;gap:20px}.ad-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px}.ad-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.ad-card-title{font-size:.9375rem;font-weight:600;color:var(--text-heading);margin-bottom:12px}.ad-card-header .ad-card-title{margin-bottom:0}.ad-view-all{font-size:.75rem;color:#5c68de;text-decoration:none;font-weight:500}.ad-view-all:hover{text-decoration:underline}.ad-bar-chart{display:flex;justify-content:space-around;align-items:flex-end;height:180px;gap:8px;padding-top:8px}.ad-bar-col{display:flex;flex-direction:column;align-items:center;flex:1;height:100%}.ad-bar-value{font-size:.625rem;color:var(--text-muted);margin-bottom:4px;white-space:nowrap}.ad-bar-track{flex:1;width:100%;max-width:40px;display:flex;align-items:flex-end}.ad-bar-fill{width:100%;background:#5c68de;border-radius:4px 4px 0 0;transition:height .3s ease;min-height:2px}.ad-bar-label{font-size:.75rem;color:var(--text-muted);margin-top:6px}.ad-hbar-chart{display:flex;flex-direction:column;gap:10px}.ad-hbar-row{display:flex;align-items:center;gap:8px}.ad-hbar-label{width:120px;flex-shrink:0;font-size:.75rem;color:var(--text-body);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ad-hbar-track{flex:1;height:16px;background:var(--border-light);border-radius:8px;overflow:hidden}.ad-hbar-fill{height:100%;background:#5c68de;border-radius:8px;transition:width .3s ease}.ad-hbar-value{font-size:.75rem;color:var(--text-muted);white-space:nowrap;min-width:60px;text-align:right}.ad-table-wrap{overflow-x:auto}.ad-table{width:100%;border-collapse:collapse}.ad-table td{padding:8px 6px;font-size:.8125rem;border-bottom:1px solid var(--border-light)}.ad-td-name{font-weight:500;color:var(--text-heading);white-space:nowrap}.ad-td-course{color:var(--text-body);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ad-td-amount{color:var(--text-heading);font-weight:600}.ad-td-amount,.ad-td-date{white-space:nowrap;text-align:right}.ad-td-date{color:var(--text-muted);font-size:.75rem}.ad-system-grid{display:flex;flex-direction:column;gap:12px}.ad-system-item{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 0;border-bottom:1px solid var(--border-light)}.ad-system-item:last-child{border-bottom:none}.ad-system-label{font-size:.8125rem;color:var(--text-body)}.ad-system-value{font-size:1rem;font-weight:700;color:var(--text-heading);margin-left:auto}.ad-system-sub{width:100%;font-size:.6875rem;color:var(--text-muted)}.ad-role-list{display:flex;flex-direction:column;gap:10px}.ad-role-item{display:flex;align-items:center;gap:8px;font-size:.8125rem}.ad-role-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.ad-role-admin{background:#5c68de}.ad-role-instructor{background:#1976d2}.ad-role-student{background:#43a047}.ad-role-count{margin-left:auto;font-weight:700;color:var(--text-heading)}.ad-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.ad-list-item{padding:8px 0;border-bottom:1px solid var(--border-light)}.ad-list-item:last-child{border-bottom:none}.ad-list-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.ad-list-name{font-size:.8125rem;font-weight:500;color:var(--text-heading)}.ad-list-sub{font-size:.75rem;display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis}.ad-list-date,.ad-list-sub{color:var(--text-muted);white-space:nowrap}.ad-list-date{font-size:.6875rem}.ad-stars{color:#f9a825;font-size:.75rem;letter-spacing:1px}.ad-review-comment{font-size:.75rem;color:var(--text-body);margin-top:4px;line-height:1.4}.ad-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.ad-status-pending{background:#f9a825}.ad-skeleton{background:linear-gradient(90deg,var(--border-light) 25%,#e8e8e8 50%,var(--border-light) 75%);background-size:200% 100%;animation:ad-shimmer 1.5s infinite;border-radius:var(--radius-md)}.ad-stat-skeleton{height:80px}.ad-chart-skeleton{height:180px}.ad-list-skeleton{height:120px}@keyframes ad-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ad-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;color:var(--text-muted)}.ad-empty-icon{font-size:2rem;margin-bottom:8px;opacity:.5}.ad-empty p{font-size:.8125rem}@media (max-width:1024px){.ad-two-col{grid-template-columns:1fr}.ad-stat-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.ad-stat-grid{grid-template-columns:1fr 1fr;gap:10px}.ad-stat-card{padding:12px}.ad-stat-icon{font-size:1.2rem}.ad-stat-value{font-size:1rem}.ad-urgent-banner{flex-direction:column}.ad-hbar-label{width:80px;font-size:.6875rem}.ad-bar-chart{height:140px}.ad-header{flex-direction:column;align-items:flex-start;gap:4px}}.admin-courses,.admin-lessons{max-width:960px;margin:0 auto;padding:2rem 1.5rem}.admin-courses-header,.admin-lessons-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;gap:1rem}.admin-lessons-course-title{color:var(--text-muted);font-size:var(--text-md);margin-top:.25rem}.admin-courses-loading{display:flex;justify-content:center;align-items:center;height:40vh;color:var(--text-muted);font-size:var(--text-md)}.admin-courses-empty{text-align:center;padding:4rem 2rem;color:var(--text-muted)}.admin-courses-empty-icon{font-size:3rem;margin-bottom:1rem}.admin-courses-empty h2{color:var(--text-dark);font-size:var(--text-xl);margin-bottom:.5rem}.admin-courses-empty p{margin-bottom:1.5rem;font-size:var(--text-md)}.admin-courses-table-wrapper{overflow-x:auto;background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--border)}.admin-courses-table{width:100%;min-width:860px;border-collapse:collapse;font-size:var(--text-md);table-layout:auto}.admin-courses-table th{text-align:left;padding:.85rem 1rem;background:var(--bg);color:var(--text-muted);font-weight:600;font-size:var(--text-sm);letter-spacing:.3px;border-bottom:1px solid var(--border);white-space:nowrap;vertical-align:middle}.admin-courses-table td{padding:.85rem 1rem;border-bottom:1px solid var(--border-light);color:var(--text-body);vertical-align:middle}.admin-courses-table td.admin-col-narrow,.admin-courses-table th.admin-col-narrow{white-space:nowrap}.admin-courses-table td.admin-col-actions,.admin-courses-table th.admin-col-actions{white-space:nowrap;text-align:right}.admin-courses-table tbody tr:last-child td{border-bottom:none}.admin-courses-title{font-weight:600;color:var(--text-dark)}.admin-lessons-order{font-weight:700;color:var(--orange);text-align:center;width:60px}.admin-row-deleting{opacity:.5;pointer-events:none}.admin-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:600}.admin-badge-published{background:var(--success-light);color:#16a34a}.admin-badge-draft{background:var(--bg);color:var(--text-muted)}.admin-actions{display:flex;gap:.5rem;flex-wrap:nowrap;justify-content:flex-end}.delete-confirm-modal{max-width:520px;width:92vw;padding:28px}.delete-confirm-title{margin:0 0 16px;font-size:18px;font-weight:700;color:#b91c1c}.delete-confirm-effects-label{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--text-dark)}.delete-confirm-effects-list{margin:0 0 16px;padding-left:20px;color:var(--text-body);font-size:13.5px;line-height:1.7}.delete-confirm-effects-list li{margin-bottom:4px}.delete-confirm-warning{margin:0 0 18px;padding:12px 14px;background:#fef2f2;border:1px solid #fecaca;border-left:4px solid #dc2626;color:#b91c1c;border-radius:8px;font-size:13px;font-weight:500}.delete-confirm-prompt{margin:0 0 8px;font-size:13.5px;color:var(--text-body)}.delete-confirm-title-display{margin:0 0 10px;padding:10px 12px;background:var(--bg,#f5f5f5);border-radius:6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;color:var(--text-dark);word-break:break-all;user-select:none}.delete-confirm-input{width:100%}.delete-confirm-mismatch{margin:6px 0 0;font-size:12.5px;color:#dc2626}.delete-confirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.course-form{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--border);padding:2rem;display:flex;flex-direction:column;gap:1.25rem}.course-form-textarea{resize:vertical;min-height:80px}.course-form-hint{font-size:var(--text-sm);color:var(--text-muted);margin-top:.25rem}.course-form-checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:var(--text-md);color:var(--text-body)}.course-form-checkbox-group{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:.25rem}.course-form-checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--orange)}.publish-status-group{display:grid;grid-template-columns:1fr 1fr;gap:12px}.publish-status-option{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:4px;padding:14px 16px;border:2px solid var(--border);border-radius:12px;background:var(--white);cursor:pointer;transition:border-color .15s,background .15s}.publish-status-option:hover:not(:disabled){border-color:var(--orange)}.publish-status-option.active{border-color:var(--orange);background:rgba(92,104,222,.06)}.publish-status-option.publish-status-draft.active{border-color:var(--text-muted);background:rgba(0,0,0,.03)}.publish-status-option:disabled{opacity:.6;cursor:not-allowed}.publish-status-title{font-size:var(--text-md);font-weight:700;color:var(--text-heading)}.publish-status-desc{font-size:var(--text-xs);color:var(--text-muted);line-height:1.5}@media (max-width:600px){.publish-status-group{grid-template-columns:1fr}}.seg-toggle{display:inline-flex;gap:4px;padding:4px;margin-bottom:8px;border:1px solid var(--border);border-radius:10px;background:var(--bg-subtle,rgba(0,0,0,.03))}.seg-toggle-option{padding:6px 16px;border:none;border-radius:7px;background:transparent;font-size:var(--text-sm);font-weight:600;color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s}.seg-toggle-option.active{background:var(--white);color:var(--primary-500,#5c68de);box-shadow:0 1px 2px rgba(0,0,0,.08)}.seg-toggle-option:disabled{opacity:.6;cursor:not-allowed}.thumbnail-upload-area{position:relative;border:2px dashed var(--border);border-radius:12px;cursor:pointer;overflow:hidden;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;transition:border-color .2s,background .2s;background:var(--bg-card)}.thumbnail-upload-area:hover{border-color:var(--orange)}.thumbnail-upload-area.drag-over{border-color:var(--orange);background:rgba(92,104,222,.05)}.thumbnail-upload-area.has-image{border-style:solid}.thumbnail-file-input{display:none}.thumbnail-placeholder{display:flex;flex-direction:column;align-items:center;gap:.75rem;color:var(--text-faint);font-size:var(--text-sm)}.thumbnail-placeholder svg{opacity:.4}.thumbnail-preview{position:relative;width:100%;height:100%}.thumbnail-preview-img{width:100%;height:100%;object-fit:cover}.thumbnail-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:.5rem;background:rgba(0,0,0,.5);opacity:0;transition:opacity .2s}.thumbnail-preview:hover .thumbnail-overlay{opacity:1}.thumbnail-uploading{display:flex;flex-direction:column;align-items:center;gap:.75rem;color:var(--text-muted);font-size:var(--text-sm)}.thumbnail-spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--orange);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.desc-images-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:.75rem}.desc-image-item{display:flex;align-items:center;gap:.75rem;padding:.5rem;border:1px solid var(--border);border-radius:8px;background:var(--bg)}.desc-image-preview{width:120px;height:80px;object-fit:cover;border-radius:6px;flex-shrink:0}.desc-image-actions{display:flex;gap:.25rem;margin-left:auto}.desc-image-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:6px;background:var(--card-bg,#fff);cursor:pointer;font-size:12px;color:var(--text-muted);transition:background .15s}.desc-image-btn:hover:not(:disabled){background:var(--hover-bg,#f5f5f5)}.desc-image-btn:disabled{opacity:.3;cursor:not-allowed}.desc-image-btn-delete{color:var(--danger,#e53e3e);border-color:var(--danger,#e53e3e)}.desc-image-btn-delete:hover:not(:disabled){background:var(--danger-bg,#fff5f5)}.desc-image-add-btn{align-self:flex-start}.course-form-actions{display:flex;justify-content:flex-end;padding-top:.5rem}.course-form-back{display:inline-block;color:var(--text-muted);font-size:var(--text-md);text-decoration:none;margin-bottom:.5rem}.course-form-back:hover{color:var(--orange)}.course-form-error{background:var(--danger-light);color:var(--danger);padding:.75rem 1rem;border-radius:var(--radius-md);font-size:var(--text-md);margin-bottom:1rem}.lesson-video-preview{margin-top:.75rem;max-width:320px;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border)}@media (max-width:768px){.admin-courses-header,.admin-lessons-header{flex-direction:column}.admin-actions{flex-wrap:wrap}.course-form{padding:1.25rem}.duration-inputs{gap:6px}.duration-field{gap:2px}.duration-unit{font-size:var(--text-xs)}}.student-courses{max-width:1100px;margin:0 auto;padding:2rem 1.5rem}.student-courses-title{font-size:var(--text-2xl);font-weight:700;color:var(--text-dark);margin-bottom:1.5rem}.student-courses-loading{display:flex;justify-content:center;align-items:center;height:40vh;color:var(--text-muted);font-size:var(--text-md)}.student-filter-bar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.student-filter-btn{padding:.375rem .875rem;border:1px solid var(--border);border-radius:var(--radius-2xl);background:var(--white);color:var(--text-body);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all .15s ease}.student-filter-btn:hover{border-color:var(--orange);color:var(--orange)}.student-filter-btn.active{background:var(--orange);color:#fff;border-color:var(--orange)}.student-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.student-toolbar .student-filter-bar{margin-bottom:0;flex:1;min-width:0}.student-search-bar{position:relative;width:220px;flex-shrink:0}.student-search-bar input{width:100%;padding:.375rem 2rem .375rem 2.25rem;border:1px solid var(--border);border-radius:var(--radius-2xl);background:var(--white);color:var(--text-body);font-size:var(--text-sm);font-weight:500;outline:none;transition:border-color .15s,box-shadow .15s}.student-search-bar input:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(92,104,222,.1)}.student-search-bar input::placeholder{color:var(--text-faint)}.student-search-bar .search-icon{left:.75rem;width:.9rem;height:.9rem;pointer-events:none}.student-search-bar .search-clear,.student-search-bar .search-icon{position:absolute;top:50%;transform:translateY(-50%);color:var(--text-muted)}.student-search-bar .search-clear{right:.625rem;background:none;border:none;cursor:pointer;font-size:.8rem;padding:0;line-height:1}.student-search-bar .search-clear:hover{color:var(--text-dark)}@media (max-width:640px){.student-toolbar{flex-direction:column}.student-search-bar{width:100%}}.student-courses-empty{text-align:center;padding:4rem 2rem;color:var(--text-muted)}.student-courses-empty-icon{font-size:3rem;margin-bottom:1rem}.student-courses-empty h2{color:var(--text-dark);font-size:var(--text-xl);margin-bottom:.5rem}.student-courses-empty p{font-size:var(--text-md)}.student-courses-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.student-course-card{background:var(--ds-bg-card);border-radius:10px;border:1px solid var(--ds-stroke-subtle);overflow:hidden;cursor:pointer;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}.student-course-card:hover{box-shadow:0 4px 16px rgba(92,104,222,.1);border-color:var(--ds-stroke);transform:translateY(-2px)}body.dark .student-course-card{border-color:#2a3690}body.dark .student-course-card:hover{border-color:#5c68de;box-shadow:0 4px 16px rgba(0,0,0,.35)}body.dark .student-card-body{background:#14183a}.student-card-thumb{width:100%;aspect-ratio:16/9;background:var(--bg);display:flex;align-items:center;justify-content:center;overflow:hidden}.student-card-thumb-img{width:100%;height:100%;object-fit:cover}.student-card-thumb-placeholder{font-size:3rem;color:var(--text-faint)}.student-card-body{padding:1rem;display:flex;flex-direction:column;gap:.375rem}.student-card-badges{display:flex;gap:.375rem;flex-wrap:wrap}.student-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:var(--text-xs);font-weight:600;letter-spacing:.04em}.student-badge-category{background:#131313;color:#f0f2ff}.student-badge-level{background:#f2f3fe;color:#2a3690}.student-badge-modality-online{background:var(--info-light,#eff6ff);color:#1d4ed8;border:1px solid #dbeafe}.student-badge-modality-offline{background:var(--warning-light,#fffbeb);color:#b45309;border:1px solid #fde68a}.student-badge-modality-hybrid{background:var(--success-light,#ecfdf5);color:#047857;border:1px solid #a7f3d0}body.dark .student-badge-modality-online{background:rgba(59,130,246,.16);color:#93c5fd;border-color:rgba(147,197,253,.3)}body.dark .student-badge-modality-offline{background:rgba(245,158,11,.18);color:#fcd34d;border-color:rgba(252,211,77,.3)}body.dark .student-badge-modality-hybrid{background:rgba(16,185,129,.18);color:#6ee7b7;border-color:rgba(110,231,183,.3)}.sc-detail-test-badge{display:inline-block;margin:0 0 12px;padding:8px 14px;background:#fee2e2;color:#b91c1c;border:1px solid #fca5a5;border-radius:8px;font-size:13px;font-weight:700;letter-spacing:.02em}body.dark .sc-detail-test-badge{background:rgba(220,38,38,.22);color:#fca5a5;border-color:hsla(0,91%,71%,.4)}.student-badge-test{background:#fee2e2;color:#b91c1c;border:1px solid #fca5a5;font-weight:700;letter-spacing:.04em}body.dark .student-badge-test{background:rgba(220,38,38,.22);color:#fca5a5;border-color:hsla(0,91%,71%,.4)}.student-badge-dday{background:var(--danger-light,#fef2f2);color:#be123c;border:1px solid #fecdd3}body.dark .student-badge-dday{background:rgba(239,68,68,.18);color:#fda4af;border-color:rgba(253,164,175,.3)}.student-badge-meta{background:#f3f4f6;color:#374151;font-weight:500;letter-spacing:0}body.dark .student-badge-meta{background:#1f2937;color:#d1d5db}.student-badge-instant{display:inline-flex;align-items:center;gap:6px;background:#ecfdf5;color:#047857;border:1px solid #d1fae5;letter-spacing:0}body.dark .student-badge-instant{background:rgba(4,120,87,.15);color:#34d399;border-color:rgba(52,211,153,.3)}.student-badge-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.student-card-title{font-size:var(--text-md);font-weight:700;color:var(--ds-ink-primary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.student-card-instructor{font-size:var(--text-sm);color:var(--ds-ink-tertiary)}.student-card-price{font-size:var(--text-md);font-weight:700;color:#3d4fc0;margin-top:.25rem}@media (max-width:1024px){.student-courses-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.student-courses-grid{grid-template-columns:1fr}.student-courses{padding:1.5rem 1rem}}.student-card-thumb{position:relative}.bookmark-btn{position:absolute;top:8px;right:8px;width:36px;height:36px;border-radius:50%;border:none;background:rgba(0,0,0,.4);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .15s ease,background .15s ease;z-index:2}.bookmark-btn:hover{transform:scale(1.1);background:rgba(0,0,0,.6)}.bookmark-btn.bookmarked{background:#5c68de;color:#fff}.bookmark-btn.bookmarked:hover{background:#3d4fc0}.my-courses-tabs{display:flex;gap:0;border-bottom:2px solid var(--border);margin-bottom:1.5rem}.my-courses-tab{padding:.75rem 1.5rem;background:none;font-size:var(--text-md);font-weight:600;color:var(--text-muted);cursor:pointer;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .2s,border-color .2s}.my-courses-tab:hover{color:var(--text-dark)}.my-courses-tab.active{color:#5c68de;border-bottom-color:#5c68de}.bookmark-empty{text-align:center;padding:3rem 1rem;color:var(--text-muted)}.bookmark-empty-icon{font-size:3rem;margin-bottom:1rem}.bookmark-empty h2{font-size:var(--text-lg);color:var(--text-dark);margin-bottom:.5rem}.bookmark-empty a{color:#5c68de;font-weight:600;text-decoration:none}.bookmark-empty a:hover{text-decoration:underline}.bookmark-card-wrapper{display:flex;flex-direction:column}.bookmark-card-wrapper .student-course-card{flex:1}.bookmark-card-action{padding:.5rem;display:flex;justify-content:center}.bookmark-card-action .btn-sm{width:100%;padding:.5rem;font-size:var(--text-sm);border-radius:var(--radius-md)}.sc-detail{max-width:1100px;margin:0 auto;padding:2rem 1.5rem}.sc-detail-loading{display:flex;justify-content:center;align-items:center;height:40vh;color:var(--text-muted);font-size:var(--text-md)}.sc-detail-notfound{text-align:center;padding:4rem 2rem;color:var(--text-muted)}.sc-detail-notfound-icon{font-size:3rem;margin-bottom:1rem}.sc-detail-notfound h2{color:var(--text-dark);font-size:var(--text-xl);margin-bottom:.5rem}.sc-detail-notfound p{font-size:var(--text-md);margin-bottom:1.5rem}.sc-detail-back{background:none;border:none;color:var(--text-muted);font-size:var(--text-md);cursor:pointer;padding:0;margin-bottom:1.25rem;display:inline-block}.sc-detail-back:hover{color:#5c68de}.sc-detail-layout{display:grid;grid-template-columns:1fr 320px;gap:2rem;align-items:flex-start}.sc-detail-main{min-width:0}.sc-detail-thumb{position:relative;width:100%;aspect-ratio:16/9;background:var(--bg);border-radius:var(--radius-lg);overflow:hidden;display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem}.sc-detail-thumb-img{width:100%;height:100%;object-fit:cover}.sc-detail-thumb-placeholder{font-size:4rem;color:var(--text-faint)}.sc-detail-badges{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1.5rem;margin-bottom:1rem}.sc-detail-title{font-size:var(--text-2xl);font-weight:700;color:var(--text-dark);line-height:1.3;margin-top:.25rem;margin-bottom:.5rem}.sc-detail-subtitle{font-size:14px;color:var(--text-muted);margin:0 0 1rem}.sc-detail-price-block{display:flex;align-items:center;gap:8px;margin-bottom:.75rem;flex-wrap:wrap}.sc-detail-original-price{font-size:14px;color:var(--text-muted);text-decoration:line-through}.sc-detail-sale-price{font-size:22px;font-weight:700;color:#5c68de}.sc-detail-discount-badge{display:inline-block;padding:2px 8px;border-radius:4px;background:#fef2f2;color:#ef4444;font-size:12px;font-weight:600}body.dark .sc-detail-discount-badge{background:rgba(239,68,68,.15)}.sc-detail-rating-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:.5rem 0 .25rem;font-size:13px;color:var(--text-muted)}.sc-detail-rating-stars{color:#f59e0b;font-size:14px;letter-spacing:1px}.sc-detail-rating-value{font-weight:700;color:var(--text-dark)}.sc-detail-rating-sep{color:var(--border)}.sc-detail-rating-count strong{color:var(--text-dark)}.sc-detail-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:1rem}.sc-detail-tag{padding:4px 10px;border-radius:4px;border:1px solid var(--border);font-size:12px;color:var(--text-body);background:var(--bg)}.sc-detail-instructor{font-size:var(--text-md);color:var(--text-muted);margin-bottom:1.5rem}.sc-instructor-card{position:relative;display:flex;align-items:center;gap:1.5rem;padding:24px 28px 24px 32px;background:var(--ds-bg-card);border:1px solid var(--ds-stroke-subtle);border-radius:16px;box-shadow:0 1px 2px rgba(16,24,40,.04);overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}.sc-instructor-card:hover{border-color:var(--ds-stroke);box-shadow:0 4px 16px rgba(16,24,40,.05)}.sc-instructor-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-top-left-radius:16px;border-bottom-left-radius:16px}.sc-instructor-card.is-main:before{background:linear-gradient(180deg,#5c68de,#4651c8)}.sc-instructor-card.is-assistant:before{background:linear-gradient(180deg,#94a3b8,#64748b)}.sc-instructor-avatar{flex-shrink:0;width:88px;height:88px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 1px #e5e7eb,0 2px 6px rgba(16,24,40,.06)}.sc-instructor-avatar-img{width:100%;height:100%;object-fit:cover}.sc-instructor-avatar-fallback{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:#fff;font-size:1.875rem;font-weight:700;letter-spacing:-.02em}.sc-instructor-card.is-main .sc-instructor-avatar-fallback{background:linear-gradient(135deg,#6e78e6,#5c68de)}.sc-instructor-card.is-assistant .sc-instructor-avatar-fallback{background:linear-gradient(135deg,#94a3b8,#64748b)}.sc-instructor-info{flex:1;min-width:0;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:14px}.sc-instructor-role-label{display:inline-flex;align-items:center;width:fit-content;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:999px}.sc-instructor-card.is-main .sc-instructor-role-label{color:#4651c8;background:rgba(92,104,222,.1)}.sc-instructor-card.is-assistant .sc-instructor-role-label{color:#475569;background:#f1f5f9}.sc-instructor-name-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sc-instructor-name{font-size:20px;font-weight:700;color:var(--ds-ink-primary);letter-spacing:-.015em;line-height:1.2}.sc-instructor-spec-badge{display:inline-block;padding:4px 10px;border-radius:6px;background:#eef2ff;border:1px solid #c7d2fe;color:#4338ca;font-size:12px;font-weight:600}.sc-instructor-card.is-assistant .sc-instructor-spec-badge{background:#f8fafc;border-color:#cbd5e1;color:#334155}body.dark .sc-instructor-card.is-main .sc-instructor-role-label{color:#c8ccf8;background:rgba(92,104,222,.2)}body.dark .sc-instructor-card.is-assistant .sc-instructor-role-label{color:#cbd5e1;background:rgba(148,163,184,.15)}body.dark .sc-instructor-avatar{box-shadow:0 0 0 1px #2a3690,0 2px 6px rgba(0,0,0,.4)}body.dark .sc-instructor-spec-badge{background:rgba(92,104,222,.15);border-color:rgba(92,104,222,.4);color:#a0a9f2}body.dark .sc-instructor-card.is-assistant .sc-instructor-spec-badge{background:#14183a;border-color:#2a3690;color:#8b95c0}.sc-instructor-bio{font-size:14.5px;color:var(--text-body);margin-top:4px;line-height:1.7;white-space:pre-line}.sc-instructor-cards-grid,.sc-instructor-images{display:flex;flex-direction:column;gap:12px}.sc-instructor-images{margin-top:16px}.sc-instructor-extra-img{width:100%;border-radius:12px;object-fit:cover}.sc-detail-tabs{display:flex;border-bottom:2px solid var(--border);margin-bottom:1.5rem;gap:0}.sc-detail-tab{flex:1;padding:.875rem 1rem;font-size:var(--text-md);font-weight:600;color:var(--text-muted);background:none;border:none;border-bottom:3px solid transparent;margin-bottom:-2px;cursor:pointer;transition:color .2s,border-color .2s;white-space:nowrap;text-align:center}.sc-detail-tab:hover{color:var(--text-dark)}.sc-detail-tab.active{color:#5c68de;border-bottom-color:#5c68de}.sc-detail-tab-content{min-height:200px}.sc-scroll-nav{display:flex;gap:2px;position:sticky;top:64px;z-index:20;background:#fff;border-radius:0;padding:0;margin-top:1.5rem;margin-bottom:2rem;overflow-x:auto;-webkit-overflow-scrolling:touch;border-bottom:2px solid var(--border-light,#e5e7eb);scrollbar-width:none}.sc-scroll-nav::-webkit-scrollbar{display:none}body.dark .sc-scroll-nav{background:#111827;border-bottom-color:#374151}body.dark .sc-scroll-nav-btn{color:#9ca3af}body.dark .sc-scroll-nav-btn:hover{color:#f1f5f9}body.dark .sc-scroll-nav-btn.active{color:#5c68de;border-bottom-color:#5c68de}.sc-scroll-nav-btn{flex-shrink:0;padding:12px 16px;font-size:14px;font-weight:500;text-align:center;color:var(--text-muted);background:transparent;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;transition:color .2s,border-color .2s;white-space:nowrap}.sc-scroll-nav-btn:hover{color:var(--text-dark)}.sc-scroll-nav-btn.active{color:#5c68de;font-weight:700;border-bottom-color:#5c68de;border-bottom-width:3px}.sc-detail-section{padding-top:1.5rem;padding-bottom:2rem;border-bottom:1px solid #f3f4f6;scroll-margin-top:120px}.sc-detail-section:last-child{border-bottom:none;min-height:50vh}.sc-section-title{font-size:20px;font-weight:700;color:var(--text-dark);margin-bottom:1rem}.sc-desc-images{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem}.sc-desc-image{width:100%;max-width:800px;border-radius:8px;object-fit:contain}.sc-detail-section-title{font-size:var(--text-lg);font-weight:700;color:var(--text-dark);margin-bottom:.75rem}.sc-detail-desc{margin-bottom:2rem}.sc-detail-no-content{color:var(--text-muted);font-size:var(--text-md)}.sc-detail-reviews-empty{text-align:center;padding:3rem 1rem}.sc-detail-reviews-empty-icon{display:inline-flex;align-items:center;justify-content:center;color:#9ca3af;margin-bottom:1rem}.sc-detail-reviews-empty p{color:var(--text-body);font-size:var(--text-md);margin:0}.sc-detail-reviews-empty-sub{color:var(--text-muted)!important;font-size:var(--text-sm)!important;margin-top:.5rem!important}.sc-detail-desc p{font-size:var(--text-md);color:var(--text-body);line-height:1.7;white-space:pre-line}.sc-detail-curriculum{margin-bottom:2rem}.sc-detail-no-lessons{color:var(--text-muted);font-size:var(--text-md)}.sc-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.sc-section-header .sc-section-title{margin-bottom:0}.sc-curriculum-summary{font-size:14px;color:#9ca3af}.sc-detail-lesson-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;overflow:hidden}.sc-detail-lesson-item{background:#f9fafb;border-radius:10px;transition:background .2s}.sc-detail-lesson-item:hover{background:#f0f1f3}.sc-lesson-free:hover{background:#faffe5}.sc-lesson-coming-soon{opacity:.55}.sc-lesson-coming-soon:hover{background:#f9fafb}.sc-lesson-coming-soon .sc-detail-lesson-link{cursor:not-allowed}.sc-lesson-coming-soon .sc-detail-lesson-link:hover{background:transparent}.sc-lesson-coming-soon-badge{color:var(--text-muted,#6b7280);font-size:13px;font-weight:500}.sc-detail-lesson-link{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;text-decoration:none;color:inherit;transition:background .15s}.sc-detail-lesson-link:hover{background:var(--hover-bg,rgba(0,0,0,.03))}.sc-detail-lesson-num{width:32px;height:32px;border-radius:50%;background:#5c68de;color:#fff;font-size:var(--text-sm);font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sc-detail-lesson-info{flex:1;min-width:0}.sc-detail-lesson-title{font-size:15px;color:#1a1a2e;font-weight:600}.sc-detail-lesson-meta{display:flex;gap:.5rem;align-items:center;margin-top:.25rem;font-size:var(--text-sm);color:var(--text-muted)}.sc-detail-free-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-sm);background:#d1f962;border:1px solid #d1f962;color:#131313;font-size:var(--text-xs);font-weight:600}.sc-lesson-lock{font-size:var(--text-xs);opacity:.4}.sc-detail-sidebar{position:sticky;top:80px;align-self:start;max-height:calc(100vh - 100px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.15) transparent}.sc-detail-sidebar::-webkit-scrollbar{width:6px}.sc-detail-sidebar::-webkit-scrollbar-track{background:transparent}.sc-detail-sidebar::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.15);border-radius:3px}body.dark .sc-detail-sidebar{scrollbar-color:hsla(0,0%,100%,.15) transparent}body.dark .sc-detail-sidebar::-webkit-scrollbar-thumb{background-color:hsla(0,0%,100%,.15)}.sc-detail-enroll-card{background:var(--white);border:1px solid var(--border);border-radius:16px;padding:1.75rem;box-shadow:0 4px 24px rgba(0,0,0,.08)}.sc-detail-price-card{margin-bottom:1.25rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border-light,#f3f4f6);text-align:center}body.dark .sc-detail-price-card{border-bottom-color:#374151}.sc-detail-countdown{display:flex;align-items:center;gap:8px;padding:8px 12px;margin-bottom:12px;border-radius:8px;background:#fef2f2;border:1px solid #fecaca;font-size:12px;color:#b91c1c;text-align:left}body.dark .sc-detail-countdown{background:rgba(185,28,28,.15);border-color:hsla(0,91%,71%,.3);color:#f87171}.sc-detail-countdown-dot{width:6px;height:6px;border-radius:50%;background:currentColor;animation:sc-pulse-dot 1.4s ease-in-out infinite}@keyframes sc-pulse-dot{0%,to{opacity:1}50%{opacity:.35}}.sc-detail-countdown-label{font-weight:600}.sc-detail-countdown-value{margin-left:auto;font-weight:700;font-variant-numeric:tabular-nums}.sc-detail-price-line{display:flex;align-items:center;justify-content:center;gap:8px;min-height:18px;margin-bottom:2px}.sc-detail-discount-pct{font-size:13px;font-weight:700;color:#ef4444}.sc-detail-original-strike{font-size:13px;color:var(--text-muted);text-decoration:line-through}.sc-detail-price-final{font-size:18px;font-weight:700;color:var(--text-dark);letter-spacing:-.01em;line-height:1.2}.sc-detail-installment{margin-top:6px;font-size:12px}.sc-detail-installment,.sc-detail-installment-note{color:var(--text-muted)}.sc-monthly-card{margin-top:14px;background:linear-gradient(180deg,#fff7ed,#fff1ec);border:1px solid #fed7aa;border-radius:12px;padding:14px 12px;text-align:center}body.dark .sc-monthly-card{background:linear-gradient(180deg,rgba(124,45,18,.18),rgba(154,52,18,.16));border-color:hsla(32,98%,83%,.35)}.sc-monthly-card-badge{display:inline-block;background:#ff5a3c;color:#fff;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:700;letter-spacing:.04em;margin-bottom:8px}.sc-monthly-card-amount{font-size:28px;font-weight:800;color:#ff5a3c;letter-spacing:-.02em;line-height:1.1}.sc-session-price-block{display:flex;flex-direction:column;gap:4px}.sc-session-price-monthly{font-size:24px;font-weight:800;color:#ff5a3c;letter-spacing:-.02em;line-height:1.15}.sc-session-price-lump{display:flex;align-items:baseline;gap:8px;font-size:12px;color:var(--text-muted,#6b7280)}.sc-session-price-original{color:var(--text-muted,#9ca3af);text-decoration:line-through}.sc-mini-session-price-block{display:inline-flex;flex-direction:column;align-items:flex-end;gap:1px}.sc-mini-session-price-block.is-muted .sc-mini-session-monthly,.sc-mini-session-price-block.is-muted .sc-mini-session-price{color:var(--text-muted,#9ca3af)}.sc-mini-session-monthly{font-size:10px;color:#c2410c;font-weight:600}body.dark .sc-mini-session-monthly{color:#fed7aa}.sc-mini-sessions{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-light,#f3f4f6)}body.dark .sc-mini-sessions{border-top-color:#374151}.sc-mini-sessions-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.sc-mini-sessions-title{font-size:13px;font-weight:700;color:var(--text-dark)}.sc-mini-sessions-count{font-size:11px;color:var(--text-muted)}.sc-mini-sessions-list{display:flex;flex-direction:column;gap:8px}.sc-mini-session-card{display:block;width:100%;text-align:left;padding:12px;border-radius:12px;border:1px solid var(--border);background:var(--white);cursor:pointer;transition:background .15s,border-color .15s,transform .1s}.sc-mini-session-card:hover{background:var(--bg-secondary,#f9fafb)}.sc-mini-session-card:active{transform:scale(.99)}.sc-mini-session-card.is-early{border-color:rgba(92,104,222,.4);background:rgba(92,104,222,.04)}.sc-mini-session-card.is-early:hover{background:rgba(92,104,222,.08)}.sc-mini-session-card.is-closed{opacity:.55}body.dark .sc-mini-session-card{background:transparent}body.dark .sc-mini-session-card:hover{background:hsla(0,0%,100%,.03)}body.dark .sc-mini-session-card.is-early{background:rgba(92,104,222,.12);border-color:rgba(92,104,222,.4)}.sc-mini-session-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.sc-mini-session-cohort{font-size:13px;font-weight:700;color:var(--text-dark)}.sc-mini-session-badge{display:inline-block;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:700;letter-spacing:0}.sc-mini-session-badge-early{background:#fee2e2;color:#b91c1c}.sc-mini-session-badge-normal{background:#f3f4f6;color:#374151}.sc-mini-session-badge-mute{background:#e5e7eb;color:#6b7280}body.dark .sc-mini-session-badge-early{background:rgba(185,28,28,.2);color:#fca5a5}body.dark .sc-mini-session-badge-normal{background:hsla(0,0%,100%,.08);color:#d1d5db}body.dark .sc-mini-session-badge-mute{background:hsla(0,0%,100%,.06);color:#9ca3af}.sc-mini-session-dates{display:flex;flex-direction:column;gap:1px;font-size:11px;color:var(--text-body);line-height:1.5}.sc-mini-session-bottom{display:flex;align-items:center;justify-content:flex-end;margin-top:8px;padding-top:8px;border-top:1px solid var(--border-light,#f3f4f6)}.sc-mini-session-card.is-early .sc-mini-session-bottom{border-top-color:rgba(92,104,222,.2)}body.dark .sc-mini-session-bottom{border-top-color:hsla(0,0%,100%,.08)}.sc-mini-session-cap{font-size:10px;color:var(--text-muted)}.sc-mini-session-price{font-size:13px;font-weight:700;color:var(--text-dark)}.sc-mini-session-price.is-muted{color:var(--text-muted);text-decoration:line-through}.sc-mini-sessions-more{margin-top:10px;width:100%;padding:8px 12px;border-radius:8px;border:1px solid var(--border);background:transparent;font-size:12px;font-weight:500;color:var(--text-body);cursor:pointer;transition:background .15s}.sc-mini-sessions-more:hover{background:var(--bg-secondary,#f9fafb)}body.dark .sc-mini-sessions-more:hover{background:hsla(0,0%,100%,.04)}.sc-detail-session-jump-btn{margin-top:12px}.sc-pulse-target{box-shadow:0 0 0 4px rgba(92,104,222,.25)!important;animation:sc-target-pulse 1.6s ease-in-out}@keyframes sc-target-pulse{0%,to{box-shadow:0 0 0 0 rgba(92,104,222,0)}50%{box-shadow:0 0 0 8px rgba(92,104,222,.25)}}.sc-detail-price-from-hint{margin-top:2px;font-size:11px;color:var(--text-muted)}.checkout-students-only-hint{margin:4px 2px 0;color:var(--v2-ink-500,#6b7280);font-size:12px;font-weight:400;text-align:center;line-height:1.5}.sc-detail-students-only-card{padding:16px;border-radius:12px;background:var(--primary-50,#f3f0ff);border:1px solid var(--primary-200,#d6cfff);margin-bottom:12px;text-align:center}.sc-detail-students-only-label{font-size:13px;font-weight:700;color:var(--primary-700,#4338ca);margin:0 0 6px;letter-spacing:-.01em}.sc-detail-students-only-hint{font-size:12px;color:var(--text-body,#4b5563);margin:0;line-height:1.6;white-space:pre-line}.sc-detail-bookmark-btn{width:100%;margin-top:8px;padding:11px 12px;background:var(--white);border:1px solid var(--border);border-radius:10px;color:var(--text-body);font-size:14px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:background .15s,color .15s,border-color .15s}.sc-detail-bookmark-btn:hover{background:var(--bg-secondary,#f9fafb)}.sc-detail-bookmark-btn.active{color:#5c68de;border-color:#5c68de;background:rgba(92,104,222,.06)}body.dark .sc-detail-bookmark-btn{background:transparent;color:#d1d5db}body.dark .sc-detail-bookmark-btn:hover{background:hsla(0,0%,100%,.04)}.sc-detail-sidebar-rating{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid var(--border-light,#f3f4f6);font-size:13px;color:var(--text-muted)}body.dark .sc-detail-sidebar-rating{border-top-color:#374151}.sc-detail-sidebar-rating-left{display:flex;align-items:center;gap:4px}.sc-detail-sidebar-rating-star{color:#f59e0b;font-size:14px}.sc-detail-sidebar-rating-left strong{color:var(--text-dark);font-weight:700}.sc-detail-sidebar-rating-count{color:var(--text-muted)}.sc-detail-benefits{margin-top:12px;display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.sc-detail-benefit{padding:4px 10px;border-radius:6px;font-size:11px;font-weight:500;border:1px solid transparent}.sc-detail-benefit-instant_access{background:#ecfdf5;color:#047857;border-color:#d1fae5}.sc-detail-benefit-unlimited_replay{background:#eff6ff;color:#1d4ed8;border-color:#dbeafe}.sc-detail-benefit-mobile{background:#f5f3ff;color:#6d28d9;border-color:#ede9fe}body.dark .sc-detail-benefit-instant_access{background:rgba(4,120,87,.18);color:#34d399;border-color:rgba(52,211,153,.25)}body.dark .sc-detail-benefit-unlimited_replay{background:rgba(29,78,216,.18);color:#60a5fa;border-color:rgba(96,165,250,.25)}body.dark .sc-detail-benefit-mobile{background:rgba(109,40,217,.18);color:#a78bfa;border-color:rgba(167,139,250,.25)}.sc-detail-price{font-size:28px;font-weight:700;color:#5c68de;margin-bottom:1rem;text-align:center}.sc-detail-enroll-btn{width:100%;padding:.875rem 1rem;font-size:var(--text-md);font-weight:600;margin-bottom:1rem;box-shadow:0 4px 12px rgba(92,104,222,.3)}.sc-detail-enroll-error{color:var(--danger);font-size:var(--text-sm);text-align:center;margin-bottom:.75rem}.sc-detail-summary{list-style:none;margin:0;padding:.75rem 0 0;border-top:1px solid var(--border-light)}.sc-detail-summary li{display:flex;justify-content:space-between;padding:.6rem 0;border-bottom:1px solid var(--border-light);font-size:13px;color:var(--text-body)}.sc-detail-summary li:last-child{border-bottom:none}.sc-summary-icon{margin-right:6px;display:inline-flex;align-items:center;vertical-align:middle;color:#5c68de}.sc-review-pagination{display:flex;justify-content:center;gap:6px;margin-top:1rem}.sc-review-page-btn{width:36px;height:36px;border-radius:8px;border:1px solid var(--border);background:#fff;color:var(--text-muted);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.sc-review-page-btn:hover{border-color:#5c68de;color:#5c68de}.sc-review-page-btn.active{background:#5c68de;border-color:#5c68de;color:#fff;font-weight:600}.sc-review-like-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid var(--border);border-radius:20px;background:transparent;cursor:pointer;font-size:var(--text-sm);color:var(--text-muted);margin-top:.5rem;transition:all .2s}.sc-review-like-btn.liked,.sc-review-like-btn:hover{border-color:#f87171;color:#f87171}.sc-review-like-btn.liked{background:#fef2f2;font-weight:600}.sc-review-like-icon{color:#f87171}.sc-review-like-count{margin-left:2px;font-variant-numeric:tabular-nums}.sc-mobile-enroll-bar{display:none}@media (max-width:640px){.sc-mobile-enroll-bar{gap:10px;position:fixed;bottom:0;left:0;right:0;z-index:50;padding:10px 16px;box-shadow:0 -2px 12px rgba(0,0,0,.1)}.sc-mobile-bookmark-btn,.sc-mobile-enroll-bar{display:flex;align-items:center;background:var(--white)}.sc-mobile-bookmark-btn{justify-content:center;width:48px;height:48px;border:1px solid var(--border);border-radius:10px;color:var(--text-muted);cursor:pointer;flex-shrink:0;transition:all .15s}.sc-mobile-bookmark-btn.active{color:#5c68de;border-color:#5c68de}.sc-mobile-enroll-btn{flex:1;padding:14px 24px;font-size:15px;font-weight:600;border-radius:10px;box-shadow:0 4px 12px rgba(92,104,222,.3)}.sc-mobile-enroll-btn--compact{flex:0 0 auto;padding:15px 48px;font-size:16px}.sc-mobile-price{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;line-height:1.2}.sc-mobile-price-orig{font-size:12px;color:var(--text-muted);text-decoration:line-through;white-space:nowrap}.sc-mobile-price-final{font-size:17px;font-weight:700;color:var(--text-dark);letter-spacing:-.01em;white-space:nowrap}.sc-detail-sidebar{display:none}.sc-mobile-price-inline{display:block;margin:16px 0 8px}.sc-mobile-price-inline .sc-detail-price-card{background:var(--white);border:1px solid var(--border);border-radius:14px;padding:18px 16px;text-align:center}body.dark .sc-mobile-price-inline .sc-detail-price-card{background:#1f2937;border-color:#374151}.sc-mobile-price-inline .sc-mini-sessions{margin-top:12px;background:var(--white);border:1px solid var(--border);border-radius:14px;padding:14px 12px}body.dark .sc-mobile-price-inline .sc-mini-sessions{background:#1f2937;border-color:#374151}}.sc-mobile-price-inline{display:none}@media (max-width:768px){.sc-detail-layout{grid-template-columns:1fr}.sc-detail-sidebar{position:static}.sc-detail{padding:1.5rem 1rem}}@media (max-width:640px){.sc-detail{padding-bottom:80px}.sc-instructor-card{padding:18px 20px 18px 24px;gap:14px}.sc-instructor-card .sc-instructor-avatar{width:64px;height:64px}.sc-instructor-card .sc-instructor-avatar-fallback{font-size:1.4rem}.sc-instructor-card .sc-instructor-name{font-size:17px}.sc-instructor-info{gap:10px}.sc-instructor-role-label{font-size:10px;padding:3px 8px}}.promo-top{position:fixed;top:var(--header-h,56px);left:0;right:0;z-index:999;background:linear-gradient(90deg,#5c68de,#3d4fc0 50%,#5c68de);padding:10px 32px;display:flex;align-items:center;justify-content:center;gap:24px;border-bottom:none}.promo-top-label{font-size:12px;color:hsla(0,0%,100%,.75);letter-spacing:2px;text-transform:uppercase;font-weight:600}.promo-top-divider{width:1px;height:16px;background:hsla(0,0%,100%,.3);flex-shrink:0}.promo-top-text{font-size:13px;color:#fff;font-weight:700}.promo-top-timer{display:flex;align-items:center;gap:4px;background:rgba(0,0,0,.2);border:1px solid hsla(0,0%,100%,.2);border-radius:6px;padding:4px 12px}.promo-timer-value{color:#fff;font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}.promo-top-cta{background:#fff;color:#5c68de;border:none;padding:6px 18px;border-radius:4px;font-size:12px;font-weight:700;cursor:pointer;letter-spacing:.5px;transition:all .2s ease}.promo-top-cta:hover{background:#eef0fe}.promo-top-close{background:none;border:none;color:hsla(0,0%,100%,.5);font-size:14px;cursor:pointer;padding:4px 8px;transition:color .2s ease}.promo-top-close:hover{color:#fff}.promo-bottom{position:fixed;bottom:0;left:0;right:0;z-index:9999;background:#0a0e1a;padding:16px 32px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid hsla(0,0%,100%,.06)}.promo-bottom-left{display:flex;flex-direction:column;gap:4px}.promo-bottom-label{font-size:11px;color:hsla(0,0%,100%,.4);letter-spacing:2px;text-transform:uppercase}.promo-bottom-price-row{display:flex;align-items:baseline;gap:10px}.promo-bottom-title{font-size:22px;font-weight:800;color:#fff}.promo-bottom-original{font-size:14px;color:hsla(0,0%,100%,.4);text-decoration:line-through}.promo-bottom-sale{font-size:22px;font-weight:800;color:#5c68de}.promo-bottom-right{display:flex;align-items:center;gap:16px}.promo-bottom-timer-wrap{text-align:right}.promo-bottom-timer-label{display:block;font-size:11px;color:hsla(0,0%,100%,.4);margin-bottom:2px}.promo-timer-lg{font-size:20px;font-weight:800}.promo-bottom-cta{background:#5c68de;color:#fff;border:none;padding:14px 32px;border-radius:8px;font-size:15px;font-weight:700;cursor:pointer;white-space:nowrap;transition:all .2s ease;box-shadow:0 4px 16px rgba(92,104,222,.3)}.promo-bottom-cta:hover{background:#3d4fc0;transform:translateY(-1px);box-shadow:0 6px 20px rgba(92,104,222,.4)}.landing-with-promo{padding-top:40px;padding-bottom:80px}body.has-promo-bottom .site-footer{padding-bottom:88px}@media (max-width:768px){.promo-bottom,.promo-top{display:none}.landing-with-promo{padding-top:0;padding-bottom:0}body.has-promo-bottom .site-footer{padding-bottom:0}}.hero-section{text-align:center;padding:100px 24px 60px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(180deg,#06070c,#0a0c16)}.hero-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;border-radius:100px;font-size:11px;font-weight:600;color:#5c68de;background:rgba(92,104,222,.08);border:1px solid rgba(92,104,222,.25);letter-spacing:3px;margin-bottom:16px}.hero-badge-dot{width:4px;height:4px;border-radius:50%;background:#5c68de}.hero-title{font-size:clamp(28px,5vw,40px);font-weight:900;line-height:1.3;margin-bottom:10px;color:#f1f5f9;letter-spacing:-.5px}.hero-eyebrow{font-size:13px;font-weight:600;color:#818cf8;letter-spacing:-.005em;margin-bottom:20px}.hero-subtitle{font-size:15px;color:#64748b;margin:0 0 36px}.hero-cta-row{display:flex;gap:14px;justify-content:center;align-items:center;margin-bottom:48px;flex-wrap:wrap}.hero-cta-primary{padding:13px 32px;font-size:15px;font-weight:700;background:#5c68de;color:#fff;border-radius:14px;text-decoration:none;transition:all .2s ease;border:2px solid #5c68de;display:inline-block}.hero-cta-primary:hover{background:#4a56cc;border-color:#4a56cc}.hero-cta-outline{padding:13px 32px;font-size:15px;font-weight:700;background:transparent;color:hsla(0,0%,100%,.7);border-radius:14px;border:2px solid hsla(0,0%,100%,.18);cursor:pointer;transition:all .2s ease}.hero-cta-outline:hover{border-color:hsla(0,0%,100%,.4);color:#fff}.hero-viewer-wrap{max-width:1200px;width:100%;margin:0 auto 2rem}.us-viewer{display:flex;border-radius:16px;overflow:hidden;border:1px solid rgba(96,165,250,.15);background:#0b0d14;box-shadow:0 0 0 1px rgba(96,165,250,.06),0 0 60px rgba(96,165,250,.06),0 20px 60px rgba(0,0,0,.5)}.us-labels{width:150px;min-width:150px;flex-shrink:0;background:rgba(10,14,24,.95);border-right:1px solid rgba(96,165,250,.12);display:flex;flex-direction:column}.us-labels-header{height:18%;display:flex;align-items:center;justify-content:center;border-bottom:1px solid rgba(96,165,250,.12)}.us-labels-title{font-size:10px;font-weight:700;color:#94a3b8;letter-spacing:1.5px;text-transform:uppercase}.us-labels-body{flex:1;position:relative}.us-label-item{position:absolute;left:0;right:0;transform:translateY(-50%);display:flex;align-items:center;gap:9px;padding:5px 14px;border:none;border-left:2px solid transparent;background:transparent;cursor:pointer;transition:all .15s ease;text-align:left;width:100%}.us-label-item.active,.us-label-item:hover{background:rgba(96,165,250,.08);border-left-color:#60a5fa}.us-label-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;border:1px solid hsla(0,0%,100%,.15);transition:all .15s ease}.us-label-item.active .us-label-dot,.us-label-item:hover .us-label-dot{background:#60a5fa!important;box-shadow:0 0 8px rgba(96,165,250,.5)}.us-label-text{font-size:11.5px;font-weight:600;color:#b0bec5;line-height:1.3;letter-spacing:.2px;transition:all .15s ease;white-space:nowrap}.us-label-item.active .us-label-text,.us-label-item:hover .us-label-text{color:#93c5fd;font-weight:700}.us-scan-area{flex:1;position:relative;height:480px;cursor:none;overflow:hidden}.us-skin-surface{position:absolute;top:0;left:0;right:0;height:18%;background:linear-gradient(180deg,#1a1210,#100c14);z-index:2;border-bottom:1px solid hsla(26,78%,81%,.08)}.us-skin-glow{position:absolute;inset:0}.us-probe{position:absolute;bottom:0;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;transition:left .06s ease-out,opacity .3s,filter .3s;z-index:3}.us-probe-body{width:32px;height:46px;background:linear-gradient(180deg,#b8b8b8,#8a8a8a 30%,#6a6a6a);border-radius:5px 5px 2px 2px;border:1px solid hsla(0,0%,100%,.15);position:relative;box-shadow:0 4px 16px rgba(0,0,0,.6),inset 0 1px 0 hsla(0,0%,100%,.2)}.us-probe-indicator{top:5px;width:16px;height:2px;background:#60a5fa;opacity:.9}.us-probe-indicator,.us-probe-line-1,.us-probe-line-2,.us-probe-line-3{position:absolute;left:50%;transform:translateX(-50%);border-radius:1px}.us-probe-line-1,.us-probe-line-2,.us-probe-line-3{width:14px;height:.5px;background:hsla(0,0%,100%,.15)}.us-probe-line-1{top:10px}.us-probe-line-2{top:13px}.us-probe-line-3{top:16px}.us-probe-tip{position:absolute;bottom:-1px;left:3px;right:3px;height:5px;background:linear-gradient(180deg,#4a4a4a,#2a2a2a);border-radius:0 0 2px 2px}.us-probe-glow{width:50px;height:12px;background:radial-gradient(ellipse,rgba(96,165,250,.35) 0,transparent 70%);margin-top:-3px}.us-canvas{position:absolute;bottom:0;left:0;display:block;width:100%;height:82%;z-index:1}.us-probe-vline{position:absolute;top:18%;bottom:0;width:1.5px;background:linear-gradient(180deg,rgba(96,165,250,.5),rgba(96,165,250,.08) 70%,transparent);transform:translateX(-50%);z-index:3;transition:left .06s ease-out,opacity .2s;pointer-events:none}.us-overlay{position:absolute;inset:0;z-index:10;flex-direction:column;background:rgba(8,9,15,.7);backdrop-filter:blur(2px);pointer-events:none}.us-overlay,.us-overlay-circle{display:flex;align-items:center;justify-content:center}.us-overlay-circle{width:56px;height:56px;border-radius:50%;background:rgba(96,165,250,.08);border:1px solid rgba(96,165,250,.15);margin-bottom:16px}.us-overlay-title{font-size:14px;font-weight:600;color:#94a3b8;margin-bottom:4px}.us-overlay-sub{font-size:12px;color:#334155}.hero-branding{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:32px}.hero-brand-name{font-size:18px;font-weight:800;color:#475569;letter-spacing:1px}.hero-brand-divider{width:1px;height:20px;background:rgba(92,104,222,.2)}.hero-brand-sub{font-size:11px;font-weight:600;color:#64748b;letter-spacing:3px}.hero-brand-anatoview{font-size:14px;font-weight:700;color:#5c68de;letter-spacing:4px;margin-top:1px}@media (max-width:768px){.hero-title{font-size:1.5rem}.hero-subtitle{font-size:.9rem}.us-labels{width:110px;min-width:110px}.us-labels-header{height:14%;padding:6px 8px}.us-labels-title{font-size:8px;letter-spacing:1.5px}.us-label-text{font-size:9px}.us-label-dot{width:4px;height:4px}.us-label-item{padding:2px 0 2px 10px}.us-scan-area{height:300px}.us-overlay-title{font-size:12px}.us-overlay-sub{font-size:10px}.us-overlay-circle{width:40px;height:40px;margin-bottom:10px}.us-overlay-circle svg{width:18px;height:18px}}@media (max-width:480px){.us-labels{width:90px;min-width:90px}.us-labels-header{height:12%;padding:4px 6px}.us-labels-title{font-size:7px;letter-spacing:1px}.us-label-text{font-size:8px}.us-label-item{padding:1px 0 1px 8px}.us-scan-area{height:240px}.us-viewer{border-radius:10px}}.landing{max-width:100%;margin:0 auto;padding:0;background:#f0f4f8}.hero-to-light{height:80px;background:linear-gradient(180deg,#0a0c16,#f0f4f8)}.reveal{opacity:0;transform:translateY(8px);transition:opacity .6s ease,transform .6s ease}.reveal.in{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.reveal,.reveal.in{opacity:1;transform:none;transition:none}}.landing-hero{text-align:center;padding:4rem 1rem 3rem}.landing-hero-title{font-size:2.5rem;font-weight:700;color:var(--text-dark);line-height:1.3;margin-bottom:1rem}.landing-hero-accent{color:var(--orange)}.landing-hero-desc{font-size:var(--text-lg);color:var(--text-body);line-height:1.7;margin-bottom:2rem}.landing-hero-actions{display:flex;justify-content:center;gap:.75rem}.landing-hero-btn{padding:.75rem 2rem;font-size:var(--text-md);font-weight:600}.landing-courses{max-width:1100px;margin:0 auto;padding:2rem 1.5rem;border-top:1px solid #1e293b}.landing-section-title{font-size:var(--text-xl);font-weight:700;color:#f1f5f9;margin-bottom:1.25rem}.landing-courses-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.landing-course-card{background:#111318;border-radius:var(--radius-lg);border:1px solid #1e293b;overflow:hidden;cursor:pointer;transition:box-shadow .2s ease,transform .2s ease}.landing-course-card:hover{box-shadow:0 4px 20px rgba(0,0,0,.4);transform:translateY(-2px);border-color:#334155}.landing-card-thumb{width:100%;aspect-ratio:16/9;background:#0a0e17;display:flex;align-items:center;justify-content:center;overflow:hidden}.landing-card-thumb-img{width:100%;height:100%;object-fit:cover}.landing-card-thumb-placeholder{font-size:3rem;color:var(--text-faint)}.landing-card-body{padding:1rem;display:flex;flex-direction:column;gap:.375rem}.landing-card-title{font-size:var(--text-md);font-weight:700;color:#e2e8f0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.landing-courses-more{text-align:center;margin-top:1.5rem}@media (max-width:1024px){.landing-courses-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.landing-hero-title{font-size:1.75rem}.landing-hero-actions{flex-direction:column;align-items:center}.landing-courses-grid{grid-template-columns:1fr}.landing{padding:1.5rem 1rem}}.lesson-page{max-width:960px;margin:0 auto;padding:1.5rem}.lesson-page-loading{color:var(--text-muted)}.lesson-page-blocked,.lesson-page-loading{text-align:center;padding:4rem 1rem}.lesson-page-blocked-icon{font-size:3rem;margin-bottom:1rem}.lesson-page-blocked h2{font-size:var(--text-xl);margin-bottom:.5rem;color:var(--text-dark)}.lesson-page-blocked p{color:var(--text-muted);margin-bottom:1.5rem}.lesson-page-header{margin-bottom:1rem}.lesson-page-back{display:inline-block;font-size:var(--text-sm);color:#5c68de;text-decoration:none;margin-bottom:.5rem}.lesson-page-back:hover{text-decoration:underline}.lesson-page-title{font-size:var(--text-xl);font-weight:700;letter-spacing:-.02em;color:var(--text-dark);line-height:1.4}.lesson-page-video{position:relative;width:100%;aspect-ratio:16/9;background:#000;border-radius:var(--radius-lg,12px);overflow:hidden;margin-bottom:1rem}.lesson-page-video:after{content:"";z-index:1;pointer-events:none}.lesson-page-iframe-wrap,.lesson-page-video:after{position:absolute;top:0;left:0;width:100%;height:100%}.lesson-page-iframe{width:100%;height:100%;border:none}.lesson-page-no-video{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--text-muted);font-size:var(--text-md)}.lesson-page-resume-info{font-size:var(--text-sm);color:#5c68de;margin-bottom:.75rem}.lesson-page-progress{margin-bottom:1.5rem}.lesson-page-progress-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:var(--text-sm);font-weight:600;border-radius:var(--radius-md,8px);border:2px solid var(--border);background:var(--card-bg);color:var(--text-primary);cursor:pointer;transition:all .15s}.lesson-page-progress-btn:hover{border-color:#5c68de;color:#5c68de}.lesson-page-progress-btn.completed{border-color:#5c68de;background:rgba(92,104,222,.08);color:#5c68de}.lesson-page-progress-btn:disabled{opacity:.6;cursor:not-allowed}.lesson-page-list{margin-bottom:1.5rem}.lesson-page-list-title{font-size:var(--text-md);font-weight:700;color:var(--text-dark);margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.lesson-page-list-items{list-style:none;padding:0;margin:0}.lesson-page-list-item{border-bottom:1px solid var(--border)}.lesson-page-list-item.current{background:rgba(92,104,222,.06);border-left:3px solid #5c68de}.lesson-page-list-item.coming-soon{opacity:.5}.lesson-page-list-item.coming-soon .lesson-page-list-link{cursor:not-allowed}.lesson-page-list-item.coming-soon .lesson-page-list-link:hover{background:transparent}.lesson-page-list-link{display:flex;align-items:center;gap:.5rem;padding:.75rem;text-decoration:none;color:var(--text-primary);font-size:var(--text-sm);transition:background .15s}.lesson-page-list-link:hover{background:var(--hover-bg,rgba(0,0,0,.03))}.lesson-page-list-status{width:20px;text-align:center;font-size:14px;flex-shrink:0}.lesson-page-list-num{font-weight:600;color:var(--text-muted);min-width:24px;flex-shrink:0}.lesson-page-list-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-page-list-duration{font-size:var(--text-xs);color:var(--text-muted);flex-shrink:0}.lesson-page-nav{display:flex;justify-content:space-between;gap:1rem;padding-top:1rem}.lesson-page-nav-btn{text-decoration:none}@media (max-width:640px){.lesson-page{padding:1rem}.lesson-page-title{font-size:var(--text-lg)}.lesson-page-nav{flex-direction:column}.lesson-page-nav-btn{text-align:center}}.learn-page{max-width:1200px;margin:0 auto;padding:1.5rem}.learn-blocked,.learn-loading{text-align:center;padding:4rem 1rem}.learn-blocked-icon{font-size:3rem;margin-bottom:1rem}.learn-blocked h2{font-size:var(--text-xl);margin-bottom:.5rem;color:var(--text-dark)}.learn-blocked p{color:var(--text-muted);margin-bottom:1.5rem}.learn-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.learn-back-link{font-size:var(--text-sm);color:#5c68de;text-decoration:none;font-weight:600}.learn-back-link:hover{text-decoration:underline}.learn-header-progress{font-size:var(--text-sm);font-weight:600;color:#5c68de}.learn-progress-bar{width:100%;height:6px;background:var(--border);border-radius:3px;overflow:hidden;margin-bottom:1.5rem}.learn-progress-fill{height:100%;background:linear-gradient(90deg,#5c68de,#d1f962);border-radius:3px;transition:width .3s ease}.learn-content{display:grid;grid-template-columns:1fr 320px;gap:1.5rem;align-items:start}.learn-player-section{min-width:0}.learn-resume-info{font-size:var(--text-sm);color:#5c68de;margin-top:.5rem;margin-bottom:.5rem}.learn-lesson-info{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--border);margin-bottom:1rem}.learn-lesson-info-left{display:flex;align-items:center;gap:.75rem;min-width:0}.learn-lesson-title{font-size:var(--text-lg);font-weight:700;color:var(--text-dark);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.learn-lesson-duration{font-size:var(--text-xs);color:var(--text-muted);flex-shrink:0}.learn-nav{display:flex;justify-content:space-between;gap:1rem;padding-top:.5rem}.learn-nav-btn{text-decoration:none}.learn-curriculum{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg,12px);overflow:hidden;position:sticky;top:80px;max-height:calc(100vh - 100px);display:flex;flex-direction:column}.learn-curriculum-toggle{display:none}.learn-curriculum-list{list-style:none;padding:0;margin:0;overflow-y:auto;flex:1}.learn-curriculum-item{border-bottom:1px solid var(--border)}.learn-curriculum-item.current{background:rgba(92,104,222,.08);border-left:3px solid #5c68de}.learn-curriculum-item.done{opacity:.75}.learn-curriculum-link{display:flex;align-items:center;gap:.5rem;padding:.75rem;width:100%;border:none;background:transparent;color:var(--text-primary);font-size:var(--text-sm);cursor:pointer;text-align:left;transition:background .15s}.learn-curriculum-link:hover{background:var(--hover-bg,rgba(0,0,0,.03))}.learn-curriculum-status{width:20px;text-align:center;font-size:14px;flex-shrink:0}.learn-curriculum-num{font-weight:600;color:var(--text-muted);min-width:24px;flex-shrink:0}.learn-curriculum-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.learn-curriculum-duration{font-size:var(--text-xs);color:var(--text-muted);flex-shrink:0}.learn-materials-section{margin-top:2rem;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg,12px);padding:1.25rem 1.5rem}.learn-materials-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:1rem}.learn-materials-title{font-size:var(--text-base);font-weight:600;color:var(--text-body);margin:0}.learn-materials-count{font-size:var(--text-xs);color:var(--text-muted)}.learn-materials-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.learn-material-item{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--white);border:1px solid var(--border);border-radius:10px;transition:border-color .15s,background .15s}.learn-material-item:hover{border-color:var(--teal)}.learn-material-icon{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;background:rgba(92,104,222,.08);color:var(--teal);border-radius:8px;flex-shrink:0}.learn-material-info{flex:1;min-width:0}.learn-material-name{font-weight:500;color:var(--text-dark);font-size:14px}.learn-material-desc{color:var(--text-muted);font-size:12px;margin-top:2px;-webkit-line-clamp:unset}.learn-material-meta{display:flex;gap:8px;font-size:11px;color:var(--text-muted);margin-top:4px}.learn-material-download{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;padding:8px 14px;border:1px solid var(--border);border-radius:8px;background:var(--white);color:var(--text-body);font-size:13px;cursor:pointer;transition:border-color .15s,color .15s}.learn-material-download:hover:not(:disabled){border-color:var(--teal);color:var(--teal)}.learn-material-download:disabled{opacity:.6;cursor:not-allowed}.learn-toc-section{margin-top:2rem;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg,12px);overflow:hidden}.learn-toc-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.learn-toc-title{font-size:var(--text-lg);font-weight:700;margin:0}.learn-toc-count{font-size:var(--text-sm);color:var(--text-muted)}.learn-toc-list{list-style:none;padding:0;margin:0}.learn-toc-item{border-bottom:1px solid var(--border)}.learn-toc-item:last-child{border-bottom:none}.learn-toc-item.current{background:rgba(92,104,222,.08);border-left:3px solid #5c68de}.learn-toc-item.done{opacity:.75}.learn-toc-item.coming-soon{opacity:.5}.learn-toc-item.coming-soon .learn-toc-link{cursor:not-allowed}.learn-toc-item.coming-soon .learn-toc-link:hover{background:transparent}.learn-toc-link:disabled{cursor:not-allowed}.learn-curriculum-item.coming-soon{opacity:.5}.learn-curriculum-item.coming-soon .learn-curriculum-link{cursor:not-allowed}.learn-curriculum-item.coming-soon .learn-curriculum-link:hover{background:transparent}.learn-curriculum-link:disabled{cursor:not-allowed}.learn-toc-link{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.25rem;width:100%;border:none;background:transparent;color:var(--text-primary);font-size:var(--text-sm);cursor:pointer;text-align:left;transition:background .15s}.learn-toc-link:hover{background:var(--hover-bg,rgba(0,0,0,.03))}.learn-toc-status{width:20px;text-align:center;font-size:14px;flex-shrink:0}.learn-toc-num{font-weight:600;color:var(--text-muted);min-width:24px;flex-shrink:0}.learn-toc-name{flex:1;min-width:0}.learn-toc-duration{font-size:var(--text-xs);color:var(--text-muted);flex-shrink:0}@media (max-width:768px){.learn-page{padding:1rem}.learn-content{grid-template-columns:1fr}.learn-curriculum{position:static;max-height:none}.learn-curriculum-toggle{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;width:100%;border:none;background:var(--card-bg);cursor:pointer;font-size:var(--text-sm);font-weight:600;color:var(--text-dark)}.learn-curriculum-toggle-count{margin-left:auto;font-weight:400;color:var(--text-muted);font-size:var(--text-xs)}.learn-curriculum-arrow{font-size:10px;transition:transform .2s}.learn-curriculum-arrow.open{transform:rotate(180deg)}.learn-curriculum-list{display:none}.learn-curriculum.open .learn-curriculum-list{display:block}.learn-lesson-info{align-items:flex-start;gap:.5rem}.learn-lesson-info,.learn-nav{flex-direction:column}.learn-nav-btn{text-align:center}}.sc-detail-expired-badge{color:var(--white);background:#e53e3e;padding:2px 8px;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600}.sc-detail-expiring-soon{color:#5c68de;font-weight:700}.sc-detail-paused-badge{color:var(--white);background:#5c68de;padding:2px 8px;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600}.sc-detail-pause-info{display:flex;flex-direction:column;gap:4px;padding:12px;background:#e5e7fd;border:1px solid #c8ccf8;border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--text-dark);margin-bottom:12px}.dark .sc-detail-pause-info{background:rgba(92,104,222,.1)}.sc-detail-pause-badge{color:var(--white);background:#5c68de;padding:2px 8px;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600;width:fit-content}.sc-detail-pause-date{font-size:var(--text-xs);color:var(--text-muted)}.sc-detail-pause-btn{width:100%;margin-top:8px;font-size:var(--text-sm)}.payment-badge-paid{background:#dcfce7;color:#16a34a}.payment-badge-cancelled{background:#fef2f2;color:#dc2626}.payment-badge-pending{background:#fef9c3;color:#a16207}.payment-badge-failed{background:#fee2e2;color:#991b1b}.payment-badge-expired{background:#f3f4f6;color:#6b7280}.my-payments-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600;white-space:nowrap}.my-payments{max-width:800px;margin:0 auto;padding:2rem 1.5rem}.my-payments-loading{text-align:center;padding:4rem 1rem;color:var(--text-muted)}.my-payments-error{background:#fef2f2;color:#dc2626;padding:.75rem 1rem;border-radius:var(--radius-md);margin-bottom:1rem;font-size:var(--text-sm)}.my-payments-empty{text-align:center;padding:4rem 1rem;color:var(--text-muted)}.coupon-wallet-claim-row{display:flex;flex-direction:column;gap:.5rem;padding:1.25rem;margin-bottom:1.5rem;background:var(--card-bg,#fff);border:1px solid var(--border,#e5e7eb);border-radius:.75rem}.coupon-wallet-claim-label{font-size:.875rem;font-weight:600;color:var(--text-primary)}.coupon-wallet-claim-controls{display:flex;gap:.5rem}.coupon-wallet-claim-input{flex:1}.coupon-wallet-claim-btn{flex-shrink:0;min-width:5rem}.coupon-wallet-section-title{display:flex;align-items:center;gap:.5rem;margin:1.5rem 0 .75rem;font-size:1rem;font-weight:600;color:var(--text-primary)}.coupon-wallet-section-title.coupon-wallet-section-used{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border,#e5e7eb)}.coupon-wallet-section-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;padding:0 .5rem;background:var(--accent-bg,#eef2ff);color:var(--accent,#5c68de);border-radius:999px;font-size:.75rem;font-weight:600}.coupon-wallet-list{display:flex;flex-direction:column;gap:.75rem}.coupon-wallet-card{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;background:var(--card-bg,#fff);border:1px solid var(--border,#e5e7eb);border-left:4px solid var(--accent,#5c68de);border-radius:.75rem;transition:box-shadow .15s}.coupon-wallet-card:hover{box-shadow:0 2px 8px rgba(0,0,0,.06)}.coupon-wallet-card.is-expired{opacity:.55;border-left-color:var(--text-muted,#999)}.coupon-wallet-card-main{flex:1;min-width:0}.coupon-wallet-discount{font-size:1.125rem;font-weight:700;color:var(--accent,#5c68de)}.coupon-wallet-code{margin-top:.25rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.875rem;color:var(--text-secondary)}.coupon-wallet-desc{margin-top:.5rem;font-size:.9rem;color:var(--text-primary)}.coupon-wallet-meta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem;font-size:.8rem;color:var(--text-muted,#999)}.coupon-wallet-badges{display:flex;flex-direction:column;gap:.375rem;align-items:flex-end;flex-shrink:0}.coupon-wallet-badge{display:inline-block;padding:.25rem .625rem;font-size:.75rem;font-weight:500;border-radius:999px}.coupon-wallet-badge-restricted{background:#fef3c7;color:#92400e}.coupon-wallet-badge-expired{background:#f3f4f6;color:#6b7280}.my-payments-list{display:flex;flex-direction:column;gap:.75rem}.my-payments-item{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem 1.25rem}.my-payments-item.is-pending{border-color:rgba(245,158,11,.5)}body.dark .my-payments-item.is-pending{border-color:rgba(252,211,77,.55);box-shadow:inset 0 0 0 1px rgba(245,158,11,.08)}.my-payments-item-main{display:flex;align-items:center;justify-content:space-between;gap:1rem}.my-payments-item-info{display:flex;flex-direction:column;gap:.25rem;min-width:0;flex:1}.my-payments-item-title{font-size:var(--text-md);font-weight:600;color:var(--text-dark);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.my-payments-item-date{font-size:var(--text-xs);color:var(--text-muted)}.my-payments-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:4px 16px;margin-top:6px}.my-payments-meta-row{display:flex;align-items:baseline;gap:6px;font-size:var(--text-xs);line-height:1.5;min-width:0}.my-payments-meta-label{color:var(--text-muted);flex-shrink:0}.my-payments-meta-value{color:var(--text-body);font-weight:500;font-feature-settings:"tnum"}.my-payments-item-right{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.my-payments-item-amount{font-size:var(--text-md);font-weight:700;color:var(--text-dark)}.my-payments-item-actions{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border-light)}.my-payments-receipt-link{font-size:var(--text-xs);color:var(--teal);text-decoration:none}.my-payments-receipt-link:hover{text-decoration:underline}.my-payments-refund-btn{font-size:var(--text-xs);color:var(--danger,#dc2626);background:none;border:1px solid var(--danger,#dc2626);border-radius:var(--radius-sm);padding:2px 8px;cursor:pointer;transition:all .15s}.my-payments-refund-btn:hover{background:#fef2f2}.my-payments-cancelled-date{font-size:var(--text-xs);color:var(--text-muted)}.refund-modal-course{font-size:var(--text-md);font-weight:600;color:var(--text-dark);margin-bottom:.25rem}.refund-modal-order{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:1rem}.refund-modal-textarea{resize:vertical;min-height:80px}.refund-coupon-override-block{margin:16px 0 0;padding:14px 16px;background:#fef2f2;border:1px solid #fecaca;border-left:4px solid #dc2626;border-radius:8px}.refund-coupon-warning{margin:0 0 10px;font-size:13px;font-weight:600;color:#b91c1c}.refund-coupon-override-label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--text-dark);cursor:pointer}.refund-coupon-override-hint{margin:6px 0 0;font-size:12px;color:#7f1d1d;line-height:1.5}.my-payments-coupon-refund-block{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.my-payments-coupon-refund-link{font-size:12px;color:var(--accent,#5c68de);text-decoration:underline}.refund-modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.refund-modal-msg{font-size:var(--text-md);color:var(--text-body);line-height:1.7;margin-bottom:1.5rem}.refund-modal-btn{width:100%}.refund-estimate-card{background:var(--bg-light);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1rem;margin-bottom:1rem}.refund-estimate-loading{font-size:var(--text-sm);color:var(--text-muted);text-align:center}.refund-estimate-details{display:flex;flex-direction:column;gap:.5rem}.refund-estimate-row{display:flex;justify-content:space-between;align-items:center;font-size:var(--text-sm)}.refund-estimate-label{color:var(--text-muted)}.refund-estimate-value{font-weight:500;color:var(--text-dark)}.refund-estimate-amount{font-size:var(--text-md);font-weight:700;color:var(--primary)}.refund-estimate-no-refund{color:var(--red);font-weight:600;font-size:var(--text-md)}.admin-refund-requests{margin-bottom:2rem;border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;background:var(--bg-white)}.admin-refund-requests-title{font-size:var(--text-lg);font-weight:700;color:var(--text-dark);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.admin-refund-requests-count{font-size:var(--text-sm);font-weight:500;color:var(--orange);background:var(--orange-bg,#fff3e0);padding:.125rem .5rem;border-radius:var(--radius-sm)}.admin-refund-requests-list{display:flex;flex-direction:column;gap:1rem}.admin-refund-request-card{border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1rem;background:var(--bg-light)}.admin-refund-request-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.admin-refund-request-course{font-weight:600;color:var(--text-dark)}.admin-refund-request-amount{font-weight:700;color:var(--text-dark)}.admin-refund-request-details{display:flex;flex-direction:column;gap:.375rem;margin-bottom:.75rem}.admin-refund-request-row{display:flex;justify-content:space-between;font-size:var(--text-sm);color:var(--text-body)}.admin-refund-request-highlight{font-weight:600;color:var(--primary)}.admin-refund-request-actions{display:flex;justify-content:flex-end;gap:.5rem}.admin-payments{max-width:1100px;margin:0 auto;padding:2rem 1.5rem}.admin-payments-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem}.admin-payments-summary-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;display:flex;flex-direction:column;gap:.25rem}.admin-payments-summary-label{font-size:var(--text-sm);color:var(--text-muted)}.admin-payments-summary-value{font-size:var(--text-xl);font-weight:700}.admin-payments-revenue{color:var(--teal,#00babc)}.admin-payments-refunded{color:var(--danger,#dc2626)}.admin-payments-net{color:var(--text-dark)}.admin-payments-filter{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.admin-payments-filter-btn{padding:.375rem .875rem;border:1px solid var(--border);border-radius:var(--radius-full,999px);background:var(--white);color:var(--text-body);font-size:var(--text-sm);cursor:pointer;transition:all .15s}.admin-payments-filter-btn:hover{border-color:var(--teal);color:var(--teal)}.admin-payments-filter-btn.active{background:var(--teal,#00babc);border-color:var(--teal,#00babc);color:var(--white)}.admin-payments-loading{text-align:center;padding:4rem 1rem;color:var(--text-muted)}.admin-payments-error{background:#fef2f2;color:#dc2626;padding:.75rem 1rem;border-radius:var(--radius-md);margin-bottom:1rem;font-size:var(--text-sm)}.admin-payments-empty{text-align:center;padding:4rem 1rem;color:var(--text-muted)}.admin-payments-table-wrap{overflow-x:auto}.admin-payments-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.admin-payments-table th{text-align:left;padding:.75rem;border-bottom:2px solid var(--border);color:var(--text-muted);font-weight:600;white-space:nowrap}.admin-payments-table td{padding:.75rem;border-bottom:1px solid var(--border-light);color:var(--text-body)}.admin-payments-course-name{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-payments-order-id{font-family:monospace;font-size:var(--text-xs);color:var(--text-muted)}.admin-payments-refund-btn{font-size:var(--text-xs);color:var(--danger,#dc2626);background:none;border:1px solid var(--danger,#dc2626);border-radius:var(--radius-sm);padding:2px 8px;cursor:pointer;transition:all .15s}.admin-payments-refund-btn:hover{background:#fef2f2}.admin-payments-receipt-link{font-size:var(--text-xs);color:var(--teal);text-decoration:none;margin-left:.5rem}.admin-payments-receipt-link:hover{text-decoration:underline}.btn-danger{background:var(--danger,#dc2626);color:var(--white)}.btn-danger:hover{background:#b91c1c}.btn-danger:disabled{opacity:.6}@media (max-width:768px){.admin-payments-summary{grid-template-columns:1fr}.admin-payments,.my-payments{padding:1.5rem 1rem}.my-payments-item-main{flex-direction:column;align-items:stretch}.my-payments-item-right{align-self:flex-end}.my-payments-item-title{white-space:normal;word-break:break-word}.my-courses-tabs{overflow-x:auto}.my-courses-tab{flex:1;padding:.625rem .25rem;font-size:var(--text-sm);white-space:nowrap;text-align:center}}.dark .admin-payments-summary-card,.dark .my-payments-item{background:var(--card-bg)}.dark .admin-payments-error,.dark .my-payments-error{background:rgba(220,38,38,.1)}.dark .payment-badge-paid{background:rgba(22,163,74,.15)}.dark .payment-badge-cancelled{background:rgba(220,38,38,.15)}.dark .payment-badge-pending{background:rgba(161,98,7,.15)}.dark .payment-badge-failed{background:rgba(153,27,27,.15)}.dark .payment-badge-expired{background:hsla(220,9%,46%,.15)}.dark .admin-payments-refund-btn:hover,.dark .my-payments-refund-btn:hover{background:rgba(220,38,38,.1)}.my-courses-page{max-width:960px;margin:0 auto;padding:2rem 1.5rem}.my-courses-loading{text-align:center;padding:4rem 1rem;color:var(--text-muted)}.my-courses-error{background:#fef2f2;color:#dc2626;padding:.75rem 1rem;border-radius:var(--radius-md);margin-bottom:1rem;font-size:var(--text-sm)}.my-courses-empty{text-align:center;padding:4rem 1rem;color:var(--text-muted)}.my-courses-empty .btn{margin-top:1rem}.my-courses-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.my-course-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:box-shadow .2s ease,transform .2s ease}.my-course-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.my-course-card-thumb{position:relative;width:100%;aspect-ratio:16/9;background:var(--bg);display:flex;align-items:center;justify-content:center;overflow:hidden}.my-course-card-thumb-img{width:100%;height:100%;object-fit:cover}.my-course-card-thumb-placeholder{font-size:3rem;color:var(--text-faint)}.my-course-status-badge{position:absolute;top:8px;right:8px;padding:2px 8px;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600}.my-course-status-active{background:#dcfce7;color:#16a34a}.my-course-status-paused{background:#fff8f0;color:var(--orange)}.my-course-status-expired{background:#f3f4f6;color:#6b7280}.my-course-card-body{padding:1rem;display:flex;flex-direction:column;gap:.375rem}.my-course-card-title{font-size:var(--text-md);font-weight:700;color:var(--text-dark);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.my-course-card-meta{display:flex;gap:.5rem}.my-course-card-date,.my-course-card-meta{font-size:var(--text-xs);color:var(--text-muted)}@media (max-width:1024px){.my-courses-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.my-courses-grid{grid-template-columns:1fr}.my-courses-page{padding:1.5rem 1rem}}.dark .my-courses-error{background:rgba(220,38,38,.1)}.dark .my-course-status-active{background:rgba(22,163,74,.15)}.dark .my-course-status-paused{background:rgba(255,165,0,.15)}.dark .my-course-status-expired{background:hsla(220,9%,46%,.15)}.btn-danger{background:var(--danger);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:var(--radius-md,8px);cursor:pointer;font-weight:600}.btn-danger:hover{background:#dc2626}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.sc-reviews{display:flex;flex-direction:column;gap:1.25rem}.sc-reviews-summary{display:flex;align-items:center;gap:.5rem;padding:1rem;background:var(--orange-light);border-radius:var(--radius-md,8px)}.dark .sc-reviews-summary{background:rgba(92,104,222,.1)}.sc-reviews-avg{font-size:1.75rem;font-weight:700;color:var(--orange)}.sc-reviews-stars{color:#f9a825;font-size:1.25rem}.sc-reviews-count{color:var(--text-muted);font-size:var(--text-sm);margin-left:auto}.sc-review-form{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md,8px);padding:1rem}.dark .sc-review-form{background:var(--card-dark,#1e1e2e);border-color:var(--border-dark,#374151)}.sc-review-rating{display:flex;gap:.25rem;margin-bottom:.75rem}.sc-review-star{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-faint);padding:0;line-height:1}.sc-review-star.active{color:#f9a825}.sc-review-textarea{width:100%;border:1px solid var(--border);border-radius:var(--radius-sm,6px);padding:.75rem;font-size:var(--text-sm);resize:vertical;font-family:inherit}.dark .sc-review-textarea{background:var(--bg-dark,#111827);border-color:var(--border-dark,#374151);color:var(--text-dark-mode,#e5e7eb)}.sc-review-form-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.75rem}.sc-review-list{list-style:none;display:flex;flex-direction:column;gap:12px}.sc-review-item{background:#f9fafb;border:none;border-radius:12px;padding:16px 20px}.sc-review-avatar{width:32px;height:32px;border-radius:50%;background:var(--orange);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.dark .sc-review-item{background:var(--card-dark,#1e1e2e);border-color:var(--border-dark,#374151)}.sc-review-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;flex-wrap:wrap}.sc-review-nickname{font-weight:600;font-size:var(--text-sm)}.sc-review-stars-small{color:#f9a825;font-size:var(--text-sm)}.sc-review-date{color:var(--text-muted);font-size:var(--text-xs);margin-left:auto}.sc-review-comment{font-size:var(--text-sm);color:var(--text-body);line-height:1.6;white-space:pre-wrap}.sc-review-actions{display:flex;gap:.5rem;margin-top:.5rem}.sc-review-action-btn{background:none;border:none;font-size:var(--text-xs);color:var(--text-muted);cursor:pointer;padding:.25rem .5rem}.sc-review-action-btn:hover{color:var(--text-body)}.sc-review-delete{color:var(--danger)}.sc-review-delete:hover{color:var(--danger-dark,#dc2626)}.sc-qna{display:flex;flex-direction:column;gap:1rem}.sc-detail-reviews-empty .sc-qna-desc{display:flex;align-items:flex-start;justify-content:center;gap:6px;margin:.75rem 0 0;font-size:.9rem;color:var(--text-muted);text-align:center}.sc-qna-desc svg{flex-shrink:0;margin-top:2px}.sc-refund-card{padding:24px;background:var(--ds-bg-surface);border-radius:12px}.sc-refund-list{font-size:15px;color:var(--ds-ink-secondary);line-height:1.8}.sc-refund-item{margin-bottom:2px}.sc-refund-item.sc-refund-note{margin-top:8px;padding-top:8px;border-top:1px dashed var(--border);font-size:12px;color:var(--text-muted)}.sc-refund-link{margin-top:12px}.sc-refund-link a{font-size:13px;color:var(--orange);text-decoration:none;font-weight:500}.sc-refund-link a:hover{text-decoration:underline}.sc-qna-write-btn{flex-shrink:0}.sc-qna-form{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md,8px);padding:1rem;display:flex;flex-direction:column;gap:.75rem}.dark .sc-qna-form{background:var(--card-dark,#1e1e2e);border-color:var(--border-dark,#374151)}.sc-qna-title-input{font-size:var(--text-sm);padding:.625rem .75rem}.sc-qna-textarea{width:100%;border:1px solid var(--border);border-radius:var(--radius-sm,6px);padding:.75rem;font-size:var(--text-sm);resize:vertical;font-family:inherit}.dark .sc-qna-textarea{background:var(--bg-dark,#111827);border-color:var(--border-dark,#374151);color:var(--text-dark-mode,#e5e7eb)}.sc-qna-form-options{display:flex;align-items:center;justify-content:space-between}.sc-qna-private-label{display:flex;align-items:center;gap:.375rem;font-size:var(--text-sm);color:var(--text-muted);cursor:pointer}.sc-qna-form-actions,.sc-qna-list{display:flex;gap:.5rem}.sc-qna-list{list-style:none;flex-direction:column}.sc-qna-item{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md,8px);overflow:hidden}.dark .sc-qna-item{background:var(--card-dark,#1e1e2e);border-color:var(--border-dark,#374151)}.sc-qna-header{padding:.875rem 1rem;cursor:pointer;transition:background .15s}.sc-qna-header:hover{background:var(--bg)}.dark .sc-qna-header:hover{background:hsla(0,0%,100%,.03)}.sc-qna-title-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.sc-qna-item-title{font-weight:600;font-size:var(--text-sm)}.sc-qna-answered-badge,.sc-qna-private-badge{font-size:var(--text-xs)}.sc-qna-answered-badge{background:var(--success-light);color:var(--success);padding:.125rem .5rem;border-radius:9999px;font-weight:600}.dark .sc-qna-answered-badge{background:rgba(34,197,94,.15)}.sc-qna-meta{display:flex;gap:.75rem;font-size:var(--text-xs);color:var(--text-muted)}.sc-qna-detail{padding:0 1rem 1rem;border-top:1px solid var(--border)}.dark .sc-qna-detail{border-color:var(--border-dark,#374151)}.sc-qna-content{padding:.75rem 0;font-size:var(--text-sm);line-height:1.6;white-space:pre-wrap;color:var(--text-body)}.sc-qna-answer{background:var(--info-light);border-radius:var(--radius-sm,6px);padding:.75rem 1rem;margin-top:.5rem}.dark .sc-qna-answer{background:rgba(59,130,246,.1)}.sc-qna-answer-label{font-size:var(--text-xs);font-weight:700;color:var(--info);margin-bottom:.375rem}.sc-qna-answer p{font-size:var(--text-sm);line-height:1.6;white-space:pre-wrap}.sc-qna-answer-date{font-size:var(--text-xs);color:var(--text-muted);display:block;margin-top:.375rem}.sc-qna-answer-form{margin-top:.75rem;display:flex;flex-direction:column;gap:.5rem}.sc-qna-actions{display:flex;gap:.5rem;margin-top:.5rem}.section-divider{position:absolute;top:0;left:50%;transform:translateX(-50%);width:60px;height:1px;background:linear-gradient(90deg,transparent,rgba(92,104,222,.2),transparent)}.why-section{padding:80px 24px;background:#f0f4f8;position:relative;overflow:hidden}.why-inner{max-width:1100px;margin:0 auto;position:relative}.why-title{font-size:clamp(26px,4vw,38px);font-weight:900;margin:0 0 8px;letter-spacing:-.5px;color:#1a1d23}.why-subtitle{font-size:15px;color:#64748b;margin:0;line-height:1.7}.why-head{max-width:820px;margin:0 0 56px}.why-eyebrow{font-size:13px;font-weight:600;color:#5c68de;letter-spacing:-.005em;margin-bottom:16px}.why-h2{font-family:Pretendard,sans-serif;font-size:clamp(28px,4vw,40px);font-weight:700;letter-spacing:-.025em;color:#0f172a;margin:0 0 18px;line-height:1.2}.why-h2-br{display:block}.why-body-text{font-size:16px;line-height:1.6;color:#64748b;margin:0 0 4px;max-width:720px}.why-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:96px}.why-stat{background:#eef0fd;border:1px solid rgba(92,104,222,.12);border-radius:18px;padding:32px 24px;text-align:center}.why-stat-num{font-family:Pretendard,sans-serif;font-size:44px;font-weight:700;letter-spacing:-.03em;color:#0f172a;line-height:1;margin-bottom:12px}.why-stat-unit{font-size:24px;color:#475569;margin-left:2px;font-weight:700}.why-stat-label{display:flex;flex-direction:column;gap:2px}.why-stat-label-line{font-size:13px;font-weight:500;color:#475569;line-height:1.5;display:block}.why-tl-eyebrow{font-size:13px;font-weight:600;color:#5c68de;letter-spacing:-.005em;margin-bottom:32px}.why-tl{list-style:none;padding:0;margin:0;position:relative}.why-tl-row{display:grid;grid-template-columns:24px 200px 1fr;gap:24px;position:relative;padding-bottom:40px}.why-tl-row:last-child{padding-bottom:0}.why-tl-row:after{content:"";position:absolute;left:11px;top:18px;bottom:-10px;width:2px;background:rgba(92,104,222,.15);z-index:1}.why-tl-row:last-child:after{display:none}.why-tl-marker{position:relative;display:flex;justify-content:center}.why-tl-dot{width:12px;height:12px;border-radius:9999px;background:#5c68de;margin-top:6px;position:relative;z-index:2;display:block}.why-tl-row.why-tl-future .why-tl-dot{background:#fff;border:2px solid #a3cc1a;box-shadow:0 0 0 3px rgba(209,249,98,.4)}.why-tl-date{font-size:13px;font-weight:500;color:#94a3b8;padding-top:4px;font-variant-numeric:tabular-nums}.why-tl-row.why-tl-future .why-tl-date{color:#5c68de;font-weight:600}.why-tl-body{padding-top:0}.why-tl-title{font-size:17px;font-weight:700;color:#0f172a;margin-bottom:8px;line-height:1.4}.why-tl-desc{font-size:14px;color:#64748b;line-height:1.6}.pop-section{padding:80px 24px;background:#fff;position:relative;scroll-margin-top:120px}.pop-inner{max-width:1000px;margin:0 auto}.pop-header{text-align:center;margin-bottom:64px;transition:all .7s ease}.pop-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.pop-card-perspective{perspective:800px;height:310px;cursor:pointer}.pop-card-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.4,0,.2,1)}.pop-card-flipped{transform:rotateY(180deg)}.pop-card-back,.pop-card-front{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:18px;overflow:hidden}.pop-card-front{background:#f8f9fb;border:1px solid #e4e8ee;box-shadow:0 2px 12px rgba(0,0,0,.04)}.pop-card-back,.pop-card-front{display:flex;flex-direction:column}.pop-card-back{transform:rotateY(180deg);background:#fff;justify-content:center;padding:32px 28px;position:relative}.pop-card-back-circle{position:absolute;top:-20px;right:-20px;width:100px;height:100px;border-radius:50%}.pop-card-thumb{height:150px;flex-shrink:0;position:relative}.pop-card-play,.pop-card-thumb{display:flex;align-items:center;justify-content:center}.pop-card-play{width:56px;height:56px;border-radius:14px}.pop-card-rating{position:absolute;top:12px;right:12px;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.06);border-radius:8px;padding:4px 10px;font-size:12px;font-weight:700;color:#f59e0b;display:flex;align-items:center;gap:3px;border:1px solid rgba(245,158,11,.15)}.pop-card-body{padding:18px 20px;flex:1}.pop-card-badges{display:flex;gap:6px;margin-bottom:10px}.pop-badge{font-size:11px;font-weight:700;padding:3px 8px;border-radius:6px;border:1px solid}.pop-badge-lg{padding:3px 10px}.pop-card-title{font-size:15px;font-weight:700;margin:0 0 8px;color:#1e293b}.pop-card-students{font-size:12px;color:#94a3b8}.pop-card-back-title{font-size:17px;font-weight:800;margin:0 0 14px;color:#1a1d23}.pop-card-back-desc{font-size:13px;line-height:1.75;color:#64748b;margin:0 0 20px}.pop-card-back-footer{display:flex;justify-content:space-between;align-items:center;padding-top:14px;border-top:1px solid}.pop-card-back-meta{display:flex;align-items:center;gap:8px}.pop-card-back-star{font-size:12px;color:#f59e0b}.pop-card-back-count{font-size:12px;color:#94a3b8}.pop-card-back-cta{font-size:12px;font-weight:700}.pop-footer{text-align:center;margin-top:40px}.pop-view-all{padding:11px 30px;font-size:13px;font-weight:600;background:#fff;color:#5c68de;border:1px solid #c8ccf8;border-radius:12px;cursor:pointer;transition:all .2s ease}.pop-view-all:hover{background:rgba(92,104,222,.04);border-color:#5c68de}.rv-section{padding:96px 0 64px;background:#fff;position:relative;overflow:hidden}.rv-inner{max-width:1200px;margin:0 auto;padding:0 32px}.rv-header{margin-bottom:56px}.rv-eyebrow{font-size:13px;font-weight:600;color:#5c68de;letter-spacing:-.005em;margin-bottom:16px}.rv-h2{font-family:Pretendard,sans-serif;font-size:clamp(28px,4vw,40px);font-weight:700;letter-spacing:-.025em;color:#0f172a;margin:0 0 16px;line-height:1.2}.rv-sub{margin:0;font-size:16px;line-height:1.6;color:#64748b;max-width:720px}.rv-track-wrap{margin-bottom:16px;overflow:hidden;position:relative;mask-image:linear-gradient(90deg,transparent,#000 80px,#000 calc(100% - 80px),transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 80px,#000 calc(100% - 80px),transparent)}.rv-track-wrap-2{margin-bottom:0}.rv-track{display:flex;gap:16px;width:fit-content}.rv-scroll-left{animation:scrollLeft 60s linear infinite}.rv-scroll-right{animation:scrollRight 70s linear infinite}.rv-track-wrap:hover .rv-track{animation-play-state:paused}.rv-card{transition:border-color .14s ease}.rv-card:hover{border-color:rgba(92,104,222,.4)}@keyframes scrollLeft{0%{transform:translateX(0)}to{transform:translateX(calc(-336px * 4 - 64px))}}@keyframes scrollRight{0%{transform:translateX(calc(-336px * 4 - 64px))}to{transform:translateX(0)}}.rv-card{background:#fff;border-radius:16px;padding:24px;border:1px solid #e4e8ee;box-shadow:0 2px 12px rgba(0,0,0,.04);min-width:320px;max-width:320px;flex-shrink:0;position:relative}.rv-quote{position:absolute;top:16px;right:20px;font-size:36px;line-height:1;color:rgba(92,104,222,.12);font-family:Georgia,serif;font-weight:700}.rv-stars{margin-bottom:12px;color:#f59e0b;font-size:12px;letter-spacing:2px}.rv-text{font-size:13px;line-height:1.75;color:#64748b;margin:0 0 20px;min-height:55px}.rv-author{gap:10px;border-top:1px solid #f0f0f0;padding-top:14px}.rv-author,.rv-avatar{display:flex;align-items:center}.rv-avatar{width:34px;height:34px;border-radius:50%;background:rgba(92,104,222,.08);border:1px solid rgba(92,104,222,.12);justify-content:center;font-size:13px;font-weight:700;color:#5c68de;flex-shrink:0}.rv-name{font-size:12.5px;font-weight:700;color:#1e293b}.rv-role{font-size:10.5px;color:#94a3b8}.faq-section{padding:96px 0;background:#f0f4f8;position:relative}.faq-inner{max-width:1200px;margin:0 auto;padding:0 32px}.faq-head{margin-bottom:56px}.faq-eyebrow{font-size:13px;font-weight:600;color:#5c68de;letter-spacing:-.005em;margin-bottom:16px}.faq-h2{font-family:Pretendard,sans-serif;font-size:clamp(28px,4vw,40px);font-weight:700;letter-spacing:-.025em;color:#0f172a;margin:0;line-height:1.2}.faq-section .faq-list{display:flex;flex-direction:column;gap:0;border:none}.faq-section .faq-item,.faq-section .faq-list{background:transparent;border-radius:0;overflow:visible}.faq-section .faq-item{border:none;border-top:1px solid rgba(15,23,42,.1);padding:32px 0}.faq-section .faq-item:last-child{border-bottom:1px solid rgba(15,23,42,.1)}.faq-section .faq-q{display:flex;align-items:flex-start;gap:12px;width:100%;border:none;background:none;padding:0;cursor:pointer;text-align:left;font-size:18px;font-weight:700;color:#0f172a;line-height:1.5;letter-spacing:-.015em}.faq-section .qmark{color:#5c68de;font-family:Barlow,sans-serif;font-weight:700;flex-shrink:0}.faq-q-text{flex:1}.faq-section .faq-a{padding-left:28px;padding-top:12px;font-size:14.5px;line-height:1.75;color:#64748b;max-width:880px}.faq-a-link{color:#5c68de;font-weight:600;text-decoration:underline;text-underline-offset:2px;transition:color .15s ease}.faq-a-link:hover{color:#4a56cc}.cta-section{padding:80px 24px;background:linear-gradient(135deg,#0f172a,#1e3a6e 50%,#2563eb);text-align:center;position:relative}.cta-inner{max-width:560px;margin:0 auto;transition:all .7s ease}.cta-title{font-size:clamp(24px,3.5vw,34px);font-weight:900;color:#fff;margin:0 0 14px}.cta-desc{font-size:15px;color:hsla(0,0%,100%,.6);margin:0 0 36px;line-height:1.7;white-space:pre-line}.cta-btn{padding:13px 36px;font-size:15px;font-weight:700;background:#fff;color:#2563eb;border:none;border-radius:14px;cursor:pointer;box-shadow:0 4px 20px hsla(0,0%,100%,.2);transition:all .2s ease}.cta-btn:hover{background:#f0f4ff;box-shadow:0 6px 28px hsla(0,0%,100%,.3)}@media (min-width:1024px){.hero-badge{font-size:13px;padding:7px 18px;letter-spacing:4px;margin-bottom:20px}.hero-badge-dot{width:6px;height:6px}.hero-title{font-size:clamp(42px,5vw,56px);margin-bottom:16px;line-height:1.25}.hero-subtitle{font-size:19px;margin-bottom:48px}.us-labels-title{font-size:12px;font-weight:800;letter-spacing:2px}.us-label-text{font-size:13.5px;font-weight:700}.us-label-dot{width:8px;height:8px}.us-overlay-title{font-size:17px;font-weight:700}.us-overlay-sub{font-size:14px;font-weight:500;color:#475569}.hero-branding{gap:20px;margin-top:40px}.hero-brand-name{font-size:24px;font-weight:900}.hero-brand-divider{height:26px}.hero-brand-sub{font-size:13px;letter-spacing:4px}.hero-brand-anatoview{font-size:18px;font-weight:800;letter-spacing:5px}.why-title{font-size:clamp(34px,4vw,48px);margin-bottom:14px}.why-subtitle{font-size:18px;line-height:1.8}.pop-section{padding:100px 24px}.pop-inner{max-width:1100px}.pop-card-perspective{height:340px}.pop-card-body{padding:18px 20px}.pop-badge{font-size:11px;padding:4px 10px}.pop-card-title{font-size:17px;margin-bottom:10px}.pop-card-students{font-size:13px}.pop-card-back{padding:36px 32px}.pop-card-back-title{font-size:20px;margin-bottom:16px}.pop-card-back-desc{font-size:14.5px;line-height:1.8}.pop-card-back-count,.pop-card-back-star{font-size:13px}.pop-card-back-cta{font-size:14px}.pop-view-all{padding:14px 40px;font-size:15px;border-radius:14px}.pop-card-rating{font-size:13px}.rv-section{padding:100px 0}.rv-card{min-width:360px;max-width:360px;padding:28px}.rv-stars{font-size:14px;margin-bottom:14px}.rv-text{font-size:15px;line-height:1.8;margin-bottom:24px}.rv-quote{font-size:42px}.rv-avatar{width:40px;height:40px;font-size:15px}.rv-name{font-size:14px}.rv-role{font-size:12px}.cta-section{padding:100px 24px}.cta-inner{max-width:640px}.cta-title{font-size:clamp(32px,4vw,44px);margin-bottom:18px}.cta-desc{font-size:18px;margin-bottom:44px}.cta-btn{padding:16px 48px;font-size:17px;border-radius:16px}.rv-scroll-left{animation:scrollLeftDesktop 38s linear infinite}.rv-scroll-right{animation:scrollRightDesktop 43s linear infinite}@keyframes scrollLeftDesktop{0%{transform:translateX(0)}to{transform:translateX(calc(-376px * 4 - 64px))}}@keyframes scrollRightDesktop{0%{transform:translateX(calc(-376px * 4 - 64px))}to{transform:translateX(0)}}}.modal-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.7);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:24px;animation:modalFadeIn .3s ease}.modal-content{background:#fff;border-radius:24px;max-width:720px;width:100%;overflow:hidden;box-shadow:0 30px 60px rgba(0,0,0,.3);animation:modalSlideUp .4s cubic-bezier(.16,1,.3,1)}.modal-video{aspect-ratio:16/9;position:relative}.modal-play-btn,.modal-video{display:flex;align-items:center;justify-content:center}.modal-play-btn{width:72px;height:72px;border-radius:50%;cursor:pointer}.modal-free-badge{position:absolute;top:16px;left:16px;padding:6px 14px;border-radius:10px;background:rgba(34,197,94,.15);border:1px solid rgba(34,197,94,.3);font-size:12px;font-weight:700;color:#22c55e;display:flex;align-items:center;gap:5px}.modal-free-dot{width:6px;height:6px;border-radius:50%;background:#22c55e}.modal-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;background:rgba(0,0,0,.05);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;color:#94a3b8}.modal-duration{position:absolute;bottom:16px;left:16px;font-size:12px;color:#475569}.modal-info{padding:28px 32px}.modal-title{font-size:22px;font-weight:800;color:#1a1d23;margin:0 0 12px}.modal-desc{font-size:14px;line-height:1.8;color:#64748b;margin:0 0 24px}.modal-footer{justify-content:space-between;padding-top:20px;border-top:1px solid #f0f0f0}.modal-footer,.modal-meta{display:flex;align-items:center}.modal-meta{gap:16px}.modal-meta-rating{display:flex;align-items:center;gap:4px}.modal-star{font-size:14px;color:#f59e0b}.modal-rating-val{font-size:14px;font-weight:700;color:#1e293b}.modal-meta-students{font-size:13px;color:#64748b}.modal-detail-btn{padding:10px 28px;font-size:14px;font-weight:700;border:1px solid;border-radius:12px;cursor:pointer;transition:all .2s ease}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:768px){.site-header{padding:0 12px 0 4px}.header-left{gap:4px}.hero-section{padding:72px 16px 32px}.hero-subtitle{margin-bottom:20px}.hero-cta-row{gap:10px;margin-bottom:32px}.hero-cta-outline,.hero-cta-primary{padding:11px 22px;font-size:14px}.why-head{margin-bottom:36px}.why-stats{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:56px}.why-stat{padding:24px 16px}.why-stat-num{font-size:32px}.why-stat-unit{font-size:18px}.why-tl-row{grid-template-columns:16px 1fr;gap:16px;padding-bottom:32px}.why-tl-row:after{left:7px}.why-tl-date{padding-top:0;padding-bottom:4px}.why-tl-body,.why-tl-date{grid-column:2}.rv-section{padding:56px 0 40px}.rv-inner{padding:0 16px}.rv-header{margin-bottom:32px}.faq-section{padding:56px 0}.faq-inner{padding:0 16px}.faq-head{margin-bottom:32px}.faq-section .faq-item{padding:24px 0}.faq-section .faq-q{font-size:16px}.faq-section .faq-a{padding-left:24px;font-size:14px}.hero-branding{gap:10px;margin-top:16px}.hero-brand-name{font-size:14px}.hero-brand-sub{font-size:9px;letter-spacing:2px}.hero-brand-anatoview{font-size:12px;letter-spacing:3px}.hero-to-light{height:40px}.pop-section,.why-section{padding:40px 16px}.rv-section{padding:40px 0}.why-title{font-size:22px}.why-subtitle{font-size:13px}.pop-header,.rv-header{margin-bottom:24px}.pop-grid{grid-template-columns:repeat(2,1fr);gap:10px}.pop-card-perspective{height:240px}.pop-card-thumb{height:110px}.pop-card-body{padding:10px 12px}.pop-card-title{font-size:12px;margin-bottom:4px}.pop-card-students{font-size:10px}.pop-badge{font-size:9px;padding:2px 5px}.pop-card-badges{margin-bottom:6px;gap:4px}.pop-card-play{width:40px;height:40px;border-radius:10px}.pop-card-play svg{width:18px;height:18px}.pop-card-rating{font-size:10px;padding:2px 7px;top:8px;right:8px}.pop-card-back{padding:20px 16px}.pop-card-back-title{font-size:14px;margin-bottom:8px}.pop-card-back-desc{font-size:11px;margin-bottom:12px;line-height:1.6}.pop-card-back-count,.pop-card-back-cta,.pop-card-back-star{font-size:10px}.pop-footer{margin-top:24px}.pop-view-all{padding:10px 24px;font-size:12px}.rv-card{padding:18px;min-width:240px;max-width:260px}.rv-text{font-size:12px;min-height:40px;margin-bottom:14px}.rv-quote{font-size:28px}.cta-section{padding:40px 16px}.cta-desc{font-size:13px;margin-bottom:24px}.cta-btn{padding:12px 28px;font-size:14px}.modal-info{padding:20px}.modal-title{font-size:18px}.modal-footer{flex-direction:column;gap:16px}.header-auth-btn{padding:6px 12px;font-size:12px}.section-divider{margin:0 16px}}@media (max-width:480px){.hero-section{padding:64px 12px 24px}.hero-title{font-size:1.25rem;margin-bottom:6px}.hero-subtitle{font-size:.78rem;margin-bottom:16px}.hero-badge{letter-spacing:1.5px;margin-bottom:10px}.hero-branding{gap:6px;margin-top:12px;flex-wrap:wrap;justify-content:center}.hero-brand-name{font-size:12px}.hero-brand-divider{height:12px}.hero-brand-sub{font-size:8px;letter-spacing:1.5px}.hero-brand-anatoview{font-size:10px;letter-spacing:2px}.us-scan-area{height:220px}.us-viewer{border-radius:10px}.hero-to-light{height:28px}.pop-section,.why-section{padding:32px 12px}.why-title{font-size:19px}.why-subtitle{font-size:12px}.pop-header,.rv-header{margin-bottom:20px}.pop-grid{grid-template-columns:repeat(2,1fr);gap:8px}.pop-card-perspective{height:220px}.pop-card-thumb{height:90px}.pop-card-body{padding:8px 10px}.pop-card-title{font-size:11px;margin-bottom:3px}.pop-card-students{font-size:9px}.pop-badge{font-size:8px;padding:1px 4px}.pop-card-badges{margin-bottom:4px;gap:3px}.pop-card-play{width:34px;height:34px;border-radius:8px}.pop-card-play svg{width:16px;height:16px}.pop-card-rating{font-size:9px;padding:2px 5px;top:6px;right:6px;border-radius:6px}.pop-card-back,.pop-card-front{border-radius:12px}.pop-card-back{padding:14px 12px}.pop-card-back-title{font-size:12px;margin-bottom:6px}.pop-card-back-desc{font-size:10px;margin-bottom:8px;line-height:1.5}.pop-card-back-count,.pop-card-back-cta,.pop-card-back-star{font-size:9px}.pop-card-back-footer{padding-top:8px}.pop-footer{margin-top:20px}.pop-view-all{padding:9px 20px;font-size:11px;border-radius:10px}.rv-section{padding:32px 0}.rv-card{padding:14px;min-width:200px;max-width:220px;border-radius:12px}.rv-text{font-size:11px;min-height:36px;margin-bottom:12px;line-height:1.6}.rv-stars{font-size:10px;margin-bottom:8px}.rv-quote{font-size:24px;top:10px;right:14px}.rv-avatar{width:28px;height:28px}.rv-avatar,.rv-name{font-size:11px}.rv-role{font-size:9px}.rv-author{padding-top:10px;gap:8px}.rv-track{gap:10px}.cta-section{padding:36px 12px}.cta-title{font-size:19px}.cta-desc{font-size:12px;margin-bottom:20px}.cta-btn{padding:11px 24px;font-size:13px;width:100%;border-radius:10px}.modal-content{margin:12px;max-height:calc(100vh - 24px)}.modal-video{aspect-ratio:16/9}.modal-info{padding:14px}.header-auth-btn{padding:5px 10px;font-size:11px}.header-hamburger,.header-hamburger-placeholder{width:24px;height:24px}.hero-badge{font-size:8px;padding:3px 8px}}@media (max-width:768px){#main-content{padding-bottom:76px!important}}.mobile-hero{display:none}@media (max-width:768px){.mobile-hero{display:block;border-radius:14px;padding:20px 18px;margin-bottom:20px;color:#fff;position:relative;overflow:hidden}.mobile-hero-pre{background:#252a5c;text-align:center;padding:28px 20px 24px}.mobile-hero-pre .mobile-hero-greeting{font-size:12px;color:hsla(0,0%,100%,.55);display:block;margin-bottom:10px;letter-spacing:.3px}.mobile-hero-pre .mobile-hero-title{font-size:20px;font-weight:700;color:#fff;margin:0 0 8px;line-height:1.35}.mobile-hero-pre .mobile-hero-desc{font-size:13px;color:hsla(0,0%,100%,.5);line-height:1.6;max-width:280px;margin:0 auto 20px}.mobile-hero-browse-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 32px;background:#5c68de;color:#fff;font-size:14px;font-weight:700;border-radius:12px;text-decoration:none;transition:background .15s,transform .15s}.mobile-hero-browse-btn:active{opacity:.85;transform:scale(.97)}.mobile-hero-post{background:#252a5c;padding:18px 16px 16px}.mobile-hero-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:10px}.mobile-hero-post .mobile-hero-greeting{font-size:12px;color:hsla(0,0%,100%,.55);white-space:nowrap;flex-shrink:0}.mobile-hero-course-fixed{padding:6px 12px;border-radius:8px}.mobile-hero-course-fixed,.mobile-hero-course-select{background:hsla(0,0%,100%,.08);font-size:12px;color:#fff;border:1px solid hsla(0,0%,100%,.18);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.mobile-hero-course-select{padding:6px 28px 6px 12px;border-radius:8px;font-family:var(--font);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.mobile-hero-course-select option{background:#252a5c;color:#fff}.mobile-hero-course-select:focus{border-color:#5c68de;outline:none}.mobile-hero-card{padding:16px;border-radius:12px;background:hsla(0,0%,100%,.07);border:1px solid rgba(209,249,98,.5);box-shadow:inset 0 0 0 1px rgba(209,249,98,.08);margin-bottom:10px}.mobile-hero-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.mobile-hero-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;background:rgba(209,249,98,.15);border-radius:20px;font-size:11px;font-weight:600;color:#d1f962}.mobile-hero-badge-dot{width:5px;height:5px;border-radius:50%;background:#d1f962;animation:hero-dot-pulse 2s ease-in-out infinite}.mobile-hero-module-tag{padding:3px 8px;border-radius:6px;font-size:10px;font-weight:500;background:hsla(0,0%,100%,.08);color:hsla(0,0%,100%,.6);border:1px solid hsla(0,0%,100%,.1)}.mobile-hero-course-name{font-size:15px;font-weight:700;color:#fff;margin:0 0 3px}.mobile-hero-current{font-size:12px;color:hsla(0,0%,100%,.5);margin:0 0 12px}.mobile-hero-progress-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.mobile-hero-progress-label{font-size:11px;color:hsla(0,0%,100%,.5)}.mobile-hero-progress-pct{font-size:12px;font-weight:700;color:#d1f962}.mobile-hero-progress-bar{height:5px;border-radius:3px;background:hsla(0,0%,100%,.12);overflow:hidden;margin-bottom:14px}.mobile-hero-progress-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,#5c68de,#d1f962);transition:width .5s ease}.mobile-hero-btns{display:flex;gap:8px}.mobile-hero-btn{flex:1;display:flex;align-items:center;justify-content:center;padding:10px 8px;border-radius:8px;font-size:13px;font-weight:600;text-decoration:none;text-align:center;transition:opacity .15s}.mobile-hero-btn:active{opacity:.8}.mobile-hero-btn-primary{background:#d1f962;color:#131313}.mobile-hero-btn-secondary{background:transparent;color:hsla(0,0%,100%,.7);border:1px solid hsla(0,0%,100%,.2)}.mobile-hero-stats{display:flex;gap:8px;margin-bottom:10px}.mobile-hero-stat{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;border-radius:10px;background:hsla(0,0%,100%,.07);border:1px solid hsla(0,0%,100%,.1);text-align:center}.mobile-hero-stat-num{font-size:20px;font-weight:800;color:#fff}.mobile-hero-stat-info{display:flex;flex-direction:column}.mobile-hero-stat-label{font-size:10px;font-weight:600;color:hsla(0,0%,100%,.85);line-height:1.3}.mobile-hero-stat-sub{font-size:9px;color:hsla(0,0%,100%,.4)}.mobile-hero-recommend{padding:10px 14px;border-radius:10px;border:1px dashed hsla(0,0%,100%,.2);background:hsla(0,0%,100%,.03)}.mobile-hero-recommend-link{text-decoration:none;display:block}.mobile-hero-recommend-link:active{opacity:.85}.mobile-hero-recommend-label{font-size:10px;color:hsla(0,0%,100%,.5);display:block;margin-bottom:3px}.mobile-hero-recommend-name{font-size:12px;font-weight:600;color:#fff;display:block;margin-bottom:2px}.mobile-hero-recommend-desc{font-size:10px;color:hsla(0,0%,100%,.5)}.desktop-only{display:none}}.mobile-tab-bar{display:none}@media (max-width:768px){.mobile-tab-bar{display:flex;gap:0;margin-bottom:16px;border-bottom:1px solid var(--border,#e5e7eb);overflow-x:auto;position:sticky;top:0;z-index:100;background:var(--white,#fff);-webkit-overflow-scrolling:touch;scrollbar-width:none}.mobile-tab-bar::-webkit-scrollbar{display:none}.mobile-tab-item{flex:1;text-align:center;padding:10px 8px;font-size:13px;font-weight:500;color:#9ca3af;text-decoration:none;white-space:nowrap;position:relative;transition:color .2s}.mobile-tab-item.active{color:#0b1f3a;font-weight:600}.mobile-tab-item.active:after{content:"";position:absolute;bottom:-1px;left:16px;right:16px;height:2.5px;background:#5c68de;border-radius:2px 2px 0 0}}body.dark .mobile-hero-pre{background:linear-gradient(145deg,#0a0f1a,#141d2e 50%,#1a2744)}body.dark .mobile-hero-post{background:linear-gradient(150deg,#0a1f1c,#0d3630 40%,#115c4e)}body.dark .mobile-tab-bar{background:#1f2937;border-bottom-color:#374151}body.dark .mobile-tab-item{color:#6b7280}body.dark .mobile-tab-item.active{color:#f9fafb}body.dark .bottom-nav{background:#111827;box-shadow:0 -2px 12px rgba(0,0,0,.3)}body.dark .bottom-nav-item{color:hsla(0,0%,100%,.3)}body.dark .bottom-nav-item.active{color:#5c68de}body.dark .hero-pre{background:linear-gradient(145deg,#0a0f1a,#141d2e 50%,#1a2744)}body.dark .hero-post{background:linear-gradient(150deg,#0a1f1c,#0d3630 40%,#115c4e)}.btn:active:not(:disabled){transform:scale(.97)}.btn-primary{box-shadow:0 2px 8px rgba(92,104,222,.2)}.btn-primary:hover:not(:disabled){box-shadow:0 4px 12px rgba(92,104,222,.3);transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0) scale(.98)}.btn-promo{box-shadow:none}.btn-promo:hover:not(:disabled){box-shadow:0 2px 8px rgba(92,104,222,.15)}.btn-secondary:hover:not(:disabled){border-color:var(--orange);color:var(--orange)}.modal-overlay{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:rgba(11,31,58,.4)}.modal-overlay.open{animation:modalFadeIn .2s ease}.modal-content{border-radius:20px;padding:32px;box-shadow:0 20px 60px rgba(0,0,0,.15);animation:modalSlideUp .3s ease}.modal-title{font-size:18px;letter-spacing:-.3px}body.dark .modal-overlay{background:rgba(0,0,0,.6)}body.dark .modal-content{background:var(--card-bg,#1e293b);color:var(--text-body);box-shadow:0 20px 60px rgba(0,0,0,.5)}body.dark .cm-privacy-notice{background:rgba(255,251,235,.08);border-color:hsla(48,97%,77%,.2);color:#fbbf24}.toast{background:#0b1f3a;font-weight:600;font-size:13px;padding:14px 28px;border-radius:12px;box-shadow:0 8px 32px rgba(11,31,58,.25);letter-spacing:.2px}body.dark .toast{background:#374151;box-shadow:0 8px 32px rgba(0,0,0,.4)}@media (max-width:768px){.toast{bottom:80px;font-size:12px;padding:12px 24px}}.notification-dropdown{border-radius:16px;box-shadow:0 12px 40px rgba(0,0,0,.12);border:1px solid var(--border)}body.dark .notification-dropdown{box-shadow:0 12px 40px rgba(0,0,0,.4)}.pagination-btn,.topic-page-btn{border-radius:8px;font-weight:600;transition:all .15s}.pagination-btn:hover:not(:disabled),.topic-page-btn:hover:not(:disabled){border-color:#5c68de;color:#5c68de;background:rgba(92,104,222,.06)}@media (max-width:768px){.card{border-radius:0;box-shadow:none;border-left:#eef2f7;border-bottom-color:#eef2f7;border-right:#eef2f7;border-top-color:#eef2f7;margin-left:-16px;margin-right:-16px;padding:16px 20px}body.dark .card{border-color:#374151;box-shadow:none}.card-header{margin:-16px -20px 14px;padding:12px 20px;border-radius:0;background:transparent;border-bottom:1px solid #eef2f7}body.dark .card-header{border-bottom-color:#374151}.card-title{font-size:15px;font-weight:700;border-left-width:3px}.row-2,.row-3,.row-challenge{gap:0;margin-bottom:0}.card:hover{box-shadow:none;transform:none}.mobile-hero,.row-2,.row-3,.row-challenge{animation:mobileSlideIn .35s ease forwards}.row-3{animation-delay:.1s}.row-2{animation-delay:.15s}.row-challenge{animation-delay:.2s}}@keyframes mobileSlideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}input:focus,select:focus,textarea:focus{outline:none;border-color:#5c68de;box-shadow:0 0 0 3px rgba(92,104,222,.1)}body.dark input:focus,body.dark select:focus,body.dark textarea:focus{box-shadow:0 0 0 3px rgba(92,104,222,.15)}.cm-avatar{border-radius:50%;object-fit:cover;flex-shrink:0}.cm-avatar-fallback{display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;border-radius:50%}.cm-list-card{background:var(--white);border:1px solid var(--border);border-radius:16px;overflow:hidden;min-height:480px}.cm-loading{text-align:center;padding:40px 20px;color:var(--text-muted);font-size:14px}.cm-empty-wrap{flex-direction:column;text-align:center;padding:60px 20px;background:var(--white);border:1px solid var(--border);border-radius:16px}.cm-empty-icon-circle,.cm-empty-wrap{display:flex;align-items:center;justify-content:center}.cm-empty-icon-circle{width:88px;height:88px;border-radius:50%;background:linear-gradient(135deg,#f5f7ff,#e5e7fd);color:#5c68de;margin-bottom:24px}.cm-empty-title{font-size:17px;font-weight:700;color:var(--text-heading);margin-bottom:8px}.cm-empty-sub{font-size:14px;color:var(--text-muted)}.empty-state-wrap{flex-direction:column;text-align:center;padding:60px 20px;background:var(--white);border:1px solid var(--border);border-radius:16px}.empty-state-icon-circle,.empty-state-wrap{display:flex;align-items:center;justify-content:center}.empty-state-icon-circle{width:88px;height:88px;border-radius:50%;background:linear-gradient(135deg,#f5f7ff,#e5e7fd);color:#5c68de;margin-bottom:24px}.empty-state-title{font-size:17px;font-weight:700;color:var(--text-heading);margin:0 0 8px}.empty-state-sub{font-size:14px;color:var(--text-muted);margin:0}.empty-state-cta{margin-top:20px}.cm-create-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;background:#5c68de;color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;font-family:var(--font);transition:all .2s;box-shadow:0 2px 8px rgba(92,104,222,.2)}.cm-create-btn:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(92,104,222,.3)}.cm-role-pill{padding:2px 8px;font-size:10px;border-radius:10px;letter-spacing:.02em}.cm-role-pill,.cm-role-pill-sm{display:inline-block;background:#5c68de;color:#fff;font-weight:700}.cm-role-pill-sm{padding:1px 6px;font-size:9px;border-radius:8px}.cm-post-list{display:flex;flex-direction:column}.cm-row{display:flex;align-items:center;gap:14px;padding:14px 24px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .12s}.cm-row:hover{background:var(--bg)}.cm-row:last-child{border-bottom:none}.cm-row>.cm-avatar{flex-shrink:0}.cm-row-thumb{position:relative;width:64px;height:64px;border-radius:8px;overflow:hidden;flex-shrink:0}.cm-row-thumb img{width:100%;height:100%;object-fit:cover}.cm-row-summary{font-size:12px;color:var(--text-muted);margin-top:2px;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:400px}.cm-row-main{flex:1;min-width:0}.cm-row-title{font-size:14px;font-weight:700;color:var(--text-heading);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cm-row-meta{font-size:12px;color:var(--text-muted);display:flex;align-items:center;gap:6px}.cm-row-dot{width:2px;height:2px;border-radius:50%;background:var(--text-muted);opacity:.5}.cm-row-stats{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--text-muted);flex-shrink:0}.cm-row-stats span{gap:3px}.cm-opinion-pill,.cm-row-stats span{display:inline-flex;align-items:center}.cm-opinion-pill{flex-shrink:0;gap:4px;padding:4px 10px;background:#f3f4f6;color:#6b7280;font-size:11px;font-weight:700;border-radius:20px;white-space:nowrap}.cm-tag-opinion{background:#fef3c7;color:#b45309}.cm-tag-share{background:#dbeafe;color:#1d4ed8}.cm-tag-tip{background:#d1fae5;color:#065f46}.cm-tag-lesson{background:#fce7f3;color:#9d174d}.cm-tag-selector{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:4px}.cm-tag-chip{padding:5px 12px;border:1px solid var(--border);border-radius:20px;background:var(--white);font-size:12px;font-weight:600;color:var(--text-muted);cursor:pointer;font-family:var(--font);transition:all .15s}.cm-tag-chip:hover{border-color:var(--teal);color:var(--teal)}.cm-tag-chip.active{background:var(--teal);color:#fff;border-color:var(--teal)}.cm-category-row{display:flex;gap:12px;margin-bottom:8px}.cm-cat-field{flex:1;margin-bottom:0!important}.cm-row-title-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:3px}.cm-cat-inline{display:inline-flex;gap:4px;align-items:center}.cm-cat-pill{font-size:11px;padding:2px 8px;border-radius:6px;background:var(--teal);color:#fff;font-weight:600;white-space:nowrap}.cm-cat-pill.cm-cat-sub{background:transparent;border:1px solid var(--teal);color:var(--teal)}.cm-cat-badges{display:flex;gap:6px;margin-bottom:12px}.cm-cat-badge{font-size:12px;padding:4px 12px;border-radius:8px;background:var(--teal);color:#fff;font-weight:600}.cm-cat-badge-sub{background:transparent;border:1.5px solid var(--teal);color:var(--teal)}.cm-study-modal{max-width:560px;max-height:90vh;overflow-y:auto}.cm-study-format-toggle{display:flex;border:1px solid var(--border);border-radius:10px;overflow:hidden}.cm-format-btn{flex:1;padding:10px 0;border:none;background:var(--white);font-size:13px;font-weight:600;color:var(--text-muted);cursor:pointer;font-family:var(--font);transition:all .15s;border-right:1px solid var(--border)}.cm-format-btn:last-child{border-right:none}.cm-format-btn:hover{color:var(--text-body)}.cm-format-btn.active{background:#ecfdf5;color:#065f46}.cm-study-row-2col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cm-study-preview-divider{height:1px;background:var(--border);margin:20px 0 16px}.cm-study-preview-label{font-size:12px;color:var(--text-muted);margin-bottom:10px;font-weight:500}.cm-study-preview-card{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:16px}.cm-study-card-body{display:flex;align-items:flex-start;gap:12px}.cm-study-preview-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#6ee7b7,#2a9d8f);display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;font-weight:700;flex-shrink:0}.cm-study-preview-name{font-size:14px;font-weight:700;color:var(--text-heading);margin:4px 0 2px}.cm-study-preview-badges{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.cm-study-preview-intro{font-size:12px;color:var(--text-muted);line-height:1.5;margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cm-study-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;white-space:nowrap}.cm-badge-format{background:#d1fae5;color:#065f46}.cm-badge-part{background:#ede9fe;color:#6d28d9}.cm-badge-members{background:#ffedd5;color:#c2410c}.cm-badge-duration{background:#ffe4e6;color:#be123c}.cm-study-filter-bar{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.cm-filter-chip{padding:6px 14px;border:1px solid var(--border);border-radius:20px;background:var(--white);font-size:13px;font-weight:500;color:var(--text-muted);cursor:pointer;font-family:var(--font);transition:all .15s}.cm-filter-chip:hover{border-color:var(--teal);color:var(--teal)}.cm-filter-chip.active{background:var(--teal);color:#fff;border-color:var(--teal)}.cm-study-card-list,.cm-study-list{display:flex;flex-direction:column;gap:12px}.cm-study-card{display:flex;align-items:flex-start;gap:16px;padding:20px 24px;background:var(--white);border:1px solid var(--border);border-radius:16px;cursor:pointer;transition:box-shadow .15s,border-color .15s}.cm-study-card:hover{border-color:var(--teal);box-shadow:0 2px 12px rgba(0,0,0,.04)}.cm-study-card.cm-study-closed{opacity:.7}.cm-study-card-avatar-wrap{flex-shrink:0;display:flex;align-items:center;align-self:center}.cm-study-card-center{flex:1;min-width:0}.cm-study-card-title{font-size:15px;font-weight:700;color:var(--text-heading);margin:6px 0 4px;line-height:1.4}.cm-study-card-intro{font-size:13px;color:var(--text-muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:8px}.cm-study-card-meta{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-faint)}.cm-study-card-meta span{display:inline-flex;align-items:center;gap:3px}.cm-study-card-right{flex-shrink:0;display:flex;align-items:center;gap:8px;align-self:center}.cm-study-status{display:inline-flex;align-items:center;font-size:11px;font-weight:600;padding:2px 10px;border-radius:12px;white-space:nowrap}.cm-status-open{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.cm-status-closed{background:#f3f4f6;color:#9ca3af;border:1px solid #e5e7eb}.cm-study-apply-btn{padding:8px 20px;border:1px solid var(--border);border-radius:10px;background:var(--white);font-size:13px;font-weight:600;color:var(--text-heading);cursor:pointer;font-family:var(--font);transition:all .15s;white-space:nowrap}.cm-study-apply-btn:hover:not(.disabled){border-color:var(--teal);color:var(--teal);background:rgba(14,165,233,.04)}.cm-study-apply-btn.disabled{opacity:.4;cursor:default;color:var(--text-faint)}.cm-study-apply-btn.applied{border-color:#f87171;color:#ef4444;background:#fef2f2}.cm-study-apply-btn.applied:hover{background:#fee2e2}.cm-badge-offline{background:#f3f4f6;color:#4b5563}.cm-card-images{border-radius:12px;overflow:hidden;margin-bottom:14px;display:grid;gap:3px}.cm-card-images.single{grid-template-columns:1fr}.cm-card-images.multi{grid-template-columns:repeat(2,1fr)}.cm-card-img-wrap{position:relative;overflow:hidden;background:var(--bg);aspect-ratio:16/10}.cm-card-images.single .cm-card-img-wrap{max-height:200px}.cm-card-images.multi .cm-card-img-wrap{aspect-ratio:1}.cm-card-images .cm-card-img-wrap:first-child{border-radius:12px 12px 0 0}.cm-card-images.single .cm-card-img-wrap:first-child{border-radius:12px}.cm-card-images.multi .cm-card-img-wrap:first-child{border-radius:12px 0 0 0}.cm-card-images.multi .cm-card-img-wrap:nth-child(2){border-radius:0 12px 0 0}.cm-card-images.multi .cm-card-img-wrap:nth-child(3){border-radius:0 0 0 12px}.cm-card-images.multi .cm-card-img-wrap:nth-child(4){border-radius:0 0 12px 0}.cm-card-images.multi.count-2 .cm-card-img-wrap:first-child{border-radius:12px 0 0 12px}.cm-card-images.multi.count-2 .cm-card-img-wrap:nth-child(2){border-radius:0 12px 12px 0}.cm-card-images.multi.count-3 .cm-card-img-wrap:nth-child(3){grid-column:span 2;aspect-ratio:2/1;border-radius:0 0 12px 12px}.cm-card-img-wrap img{width:100%;height:100%;object-fit:cover;display:block}.cm-card-img-more{position:absolute;inset:0;background:rgba(0,0,0,.45);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700}.cm-card-stats{display:flex;align-items:center;gap:14px;font-size:12px;color:var(--text-muted);padding-top:8px}.cm-card-stats span{display:inline-flex;align-items:center;gap:4px;transition:color .15s}.cm-card-stats span:hover{color:var(--teal)}.cm-card-img-count{margin-left:auto}.cm-pagination{display:flex;align-items:center;justify-content:center;gap:16px;padding:20px 0 8px}.cm-page-btn{padding:8px 20px;border:1px solid var(--border);border-radius:10px;background:var(--white);font-size:13px;font-weight:600;cursor:pointer;font-family:var(--font);color:var(--text-heading);transition:all .15s}.cm-page-btn:hover:not(:disabled){border-color:var(--teal);color:var(--teal);background:rgba(42,157,143,.04)}.cm-page-btn:disabled{opacity:.35;cursor:default}.cm-page-info{font-size:13px;color:var(--text-muted);font-weight:500}.cm-detail-gallery{margin-bottom:20px}.cm-detail-gallery .sd-image-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.cm-detail-gallery .sd-image-grid.cm-images-1{grid-template-columns:1fr}.cm-detail-gallery .sd-image-grid.cm-images-1 .sd-image-cell{aspect-ratio:16/10}.cm-detail-gallery .sd-image-grid.cm-images-2{grid-template-columns:1fr 1fr}.cm-detail-gallery .sd-image-grid.cm-images-3{grid-template-columns:1fr 1fr 1fr}.cm-detail-gallery .sd-image-cell{aspect-ratio:1;border-radius:10px;overflow:hidden;background:var(--bg);display:flex;align-items:center;justify-content:center}.cm-detail-gallery .sd-image-cell img{width:100%;height:100%;object-fit:cover;display:block}.cm-detail-gallery .sd-image-cell:hover{opacity:.85}.cm-detail-gallery .sd-image-empty{color:var(--text-muted);opacity:.4}.cm-detail-modal{max-width:680px;max-height:85vh;overflow-y:auto;padding:28px 32px;border-radius:20px;position:relative}.cm-detail-top-actions{position:absolute;top:16px;right:16px;display:flex;align-items:center;gap:4px;z-index:2}.cm-detail-close{position:static!important;top:auto!important;right:auto!important}.cm-more-wrap{position:relative}.cm-more-btn{width:36px;height:36px;border-radius:50%;border:none;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:all .15s}.cm-more-btn:hover{background:var(--bg);color:var(--text-heading)}.cm-more-backdrop{position:fixed;inset:0;z-index:10}.cm-more-dropdown{position:absolute;top:100%;right:0;margin-top:4px;background:var(--white);border:1px solid var(--border);border-radius:10px;box-shadow:0 4px 16px rgba(0,0,0,.12);min-width:140px;padding:4px;z-index:11;overflow:hidden}.cm-more-dropdown button{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;border:none;background:none;font-size:13px;font-weight:500;cursor:pointer;font-family:var(--font);color:var(--text-heading);border-radius:8px;transition:background .12s}.cm-more-dropdown button:hover{background:var(--bg)}.cm-more-danger{color:#dc2626!important}.cm-more-danger:hover{background:#fef2f2!important}.cm-comment-bar{gap:10px}.cm-comment-bar,.cm-like-heart{display:flex;align-items:center}.cm-like-heart{flex-shrink:0;flex-direction:column;gap:2px;background:none;border:none;cursor:pointer;color:var(--text-muted);transition:all .2s;padding:4px}.cm-like-heart:hover{color:#ef4444;transform:scale(1.1)}.cm-like-heart.cm-liked{color:#ef4444}.cm-like-count{font-size:11px;font-weight:600;line-height:1}.cm-detail-meta{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border)}.cm-detail-author-info{flex:1}.cm-detail-author-row{display:flex;align-items:center;gap:6px;margin-bottom:2px}.cm-detail-author{font-size:15px;font-weight:700;color:var(--text-heading)}.cm-detail-sub-meta{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--text-muted)}.cm-detail-sub-meta span{display:inline-flex;align-items:center;gap:3px}.cm-opinion-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:#fef3c7;color:#b45309;font-size:11px;font-weight:600;border-radius:10px;margin-bottom:12px}.cm-detail-images{margin-bottom:20px}.cm-detail-img{width:100%;border-radius:12px;margin-bottom:10px}.cm-detail-content{font-size:15px;color:var(--text-body);line-height:1.8;margin-bottom:20px;white-space:pre-wrap}.cm-detail-actions{display:flex;gap:8px;margin-bottom:20px}.cm-edit-btn{display:inline-flex;align-items:center;gap:4px;padding:7px 14px;background:none;border:1px solid var(--border);border-radius:8px;color:var(--text-heading);font-size:12px;font-weight:600;cursor:pointer;font-family:var(--font);transition:all .15s}.cm-edit-btn:hover{background:var(--bg)}.cm-delete-btn{display:inline-flex;align-items:center;gap:4px;padding:7px 14px;background:none;border:1px solid #fca5a5;border-radius:8px;color:#dc2626;font-size:12px;font-weight:600;cursor:pointer;font-family:var(--font);transition:all .15s}.cm-delete-btn:hover{background:#fef2f2}.cm-comments-section{border-top:1px solid var(--border);padding-top:20px;margin-top:8px}.cm-comments-title{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:700;color:var(--text-heading);margin-bottom:16px}.cm-no-comments{font-size:13px;color:var(--text-muted);text-align:center;padding:24px 0}.cm-comments-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.cm-comment{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;background:var(--bg);border-radius:12px}.cm-comment-content{flex:1;min-width:0}.cm-comment-header{display:flex;align-items:center;gap:6px;font-size:12px;margin-bottom:4px}.cm-comment-author{font-weight:700;color:var(--text-heading)}.cm-comment-date{color:var(--text-muted)}.cm-comment-body{font-size:14px;color:var(--text-body);line-height:1.6;margin:0}.cm-comment-form{display:flex;gap:6px;align-items:center;background:var(--bg);padding:4px 4px 4px 14px;border-radius:50px;flex:1;min-width:0;border:1px solid var(--border)}.cm-comment-input{flex:1;padding:6px 0;border:none;font-size:13px;font-family:var(--font);background:transparent;color:var(--text-body);outline:none}.cm-comment-submit{width:32px;height:32px;background:var(--teal);color:#fff;border:none;border-radius:50%;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.cm-comment-submit:disabled{opacity:.3;cursor:not-allowed}.cm-comment-submit:hover:not(:disabled){transform:scale(1.05)}.cm-create-modal{max-width:580px;padding:28px 32px 36px;border-radius:20px;max-height:88vh;overflow-y:auto}.cm-scan-worry-modal{max-height:88vh;overflow-y:auto;margin:auto}.cm-sw-title{font-size:20px;font-weight:800;margin-bottom:4px;color:var(--text-heading)}.cm-sw-sub{font-size:13px;color:var(--text-muted);margin-bottom:20px}.cm-sw-section-title{font-size:14px;font-weight:700;color:var(--text-heading);margin-bottom:10px}.cm-sw-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.cm-sw-card{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:14px 16px;border-radius:12px;border:1px solid var(--border);background:var(--bg);cursor:pointer;text-align:left;font-family:var(--font);transition:all .15s}.cm-sw-card:hover{border-color:var(--teal)}.cm-sw-card.active{border-color:#2a9d8f;background:rgba(42,157,143,.08)}.cm-sw-card.active .cm-sw-card-title{color:#2a9d8f}.cm-sw-card.active .cm-sw-card-desc{color:#2a9d8f;opacity:.8}.cm-sw-card-title{font-size:14px;font-weight:700;color:var(--text-heading)}.cm-sw-card-desc{font-size:11px;color:var(--text-muted)}.cm-sw-example{background:rgba(0,0,0,.03);border-radius:12px;padding:14px 16px;margin-bottom:20px;font-size:12px;line-height:1.7;color:var(--text-muted)}body.dark .cm-sw-example{background:hsla(0,0%,100%,.05)}.cm-sw-example-title{font-size:11px;font-weight:700;color:var(--text-body);display:block;margin-bottom:6px}.cm-sw-example p{margin:0}.cm-sw-arrow{color:#1d9e75!important;font-weight:700;margin-right:4px}.cm-sw-textarea{min-height:80px;resize:vertical}.cm-sw-divider{border-top:1px solid var(--border);margin:20px 0 12px}.cm-sw-encourage{text-align:center;font-size:12px;color:var(--text-muted);margin-bottom:16px}.cm-sw-actions{display:flex;align-items:center;justify-content:flex-end}.cm-sw-actions-right{display:flex;gap:8px}.cm-sw-anon-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:10px;border:1px solid var(--border);background:none;font-size:13px;font-weight:600;cursor:pointer;font-family:var(--font);color:var(--text-muted);transition:all .15s}.cm-sw-anon-btn.active{border-color:var(--teal);color:var(--teal);background:rgba(14,165,233,.06)}.cm-sw-anon-dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted);transition:background .15s}.cm-sw-anon-btn.active .cm-sw-anon-dot{background:var(--teal)}.cm-btn-cancel{padding:8px 20px;border-radius:10px;border:1px solid var(--border);background:none;font-size:13px;font-weight:600;cursor:pointer;font-family:var(--font);color:var(--text-body);transition:all .15s}.cm-btn-cancel:hover{background:var(--bg)}.cm-btn-submit{padding:8px 20px;border-radius:10px;border:none;background:var(--teal);font-size:13px;font-weight:600;cursor:pointer;font-family:var(--font);color:#fff;transition:all .15s}.cm-btn-submit:disabled{opacity:.4;cursor:not-allowed}.cm-btn-submit:hover:not(:disabled){opacity:.9}.cm-lm-modal{max-height:88vh;overflow-y:auto;margin:auto}.cm-lm-title{font-size:20px;font-weight:800;margin-bottom:4px;color:var(--text-heading)}.cm-lm-sub{font-size:13px;color:var(--text-muted);margin-bottom:20px}.cm-lm-section-title{font-size:14px;font-weight:700;color:var(--text-heading);margin-bottom:10px}.cm-lm-type-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:20px}.cm-lm-type-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 8px;border-radius:12px;border:1.5px solid var(--border);background:var(--white);cursor:pointer;transition:all .15s;text-align:center}.cm-lm-type-card:hover{border-color:var(--teal)}.cm-lm-type-card.active{border-color:#2a9d8f;background:rgba(42,157,143,.08)}.cm-lm-type-card.active .cm-lm-type-title{color:#2a9d8f}.cm-lm-type-icon{font-size:22px}.cm-lm-type-title{font-size:13px;font-weight:700;color:var(--text-heading)}.cm-lm-type-desc{font-size:10px;color:var(--text-muted);line-height:1.3}.cm-lm-upload-hint{font-size:11px;color:var(--text-muted);margin:-4px 0 8px}.cm-lm-file-list{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.cm-lm-file-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg);border-radius:8px;font-size:13px;color:var(--text-body)}.cm-lm-file-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cm-lm-file-remove{border:none;background:none;color:var(--text-muted);cursor:pointer;padding:2px;border-radius:4px;display:flex;align-items:center}.cm-lm-file-remove:hover{color:#dc2626}.cm-lm-image-thumb{padding:4px}.cm-lm-image-thumb img{width:48px;height:48px;object-fit:cover;border-radius:6px}.cm-lm-upload-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;border:1.5px dashed var(--border);background:var(--white);font-size:13px;color:var(--text-muted);cursor:pointer;font-family:var(--font);transition:all .15s}.cm-lm-upload-btn:hover{border-color:var(--teal);color:var(--teal)}.cm-lm-link-row{display:flex;gap:8px}.cm-lm-link-row .form-input{flex:1}.cm-lm-link-fetch{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;border:1px solid var(--border);background:var(--white);color:var(--text-muted);cursor:pointer;transition:all .15s;flex-shrink:0}.cm-lm-link-fetch:hover{border-color:var(--teal);color:var(--teal)}.cm-lm-preview-loading{font-size:12px;color:var(--text-muted);margin-top:6px}.cm-lm-link-preview{display:flex;gap:12px;margin-top:8px;padding:10px;background:var(--bg);border-radius:10px;border:1px solid var(--border)}.cm-lm-preview-img{width:80px;height:56px;object-fit:cover;border-radius:6px;flex-shrink:0}.cm-lm-preview-text{display:flex;flex-direction:column;gap:2px;min-width:0}.cm-lm-preview-title{font-size:13px;font-weight:600;color:var(--text-heading);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cm-lm-preview-desc{font-size:11px;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cm-lm-tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.cm-lm-tag{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;border-radius:20px;font-size:12px;font-weight:500;border:1px solid var(--border);background:var(--white);color:var(--text-body);font-family:var(--font);transition:all .15s}.cm-lm-tag.active{border-color:#2a9d8f;background:rgba(42,157,143,.1);color:#2a9d8f;font-weight:600}.cm-lm-tag-x{display:inline-flex;align-items:center;justify-content:center;border:none;background:none;color:inherit;cursor:pointer;padding:0;margin-left:2px;opacity:.6;border-radius:50%;transition:opacity .15s}.cm-lm-tag-x:hover{opacity:1}.cm-lm-tag-add{cursor:pointer;border-style:dashed;color:var(--text-muted);background:transparent}.cm-lm-tag-add:hover{border-color:var(--teal);color:var(--teal)}.cm-lm-tag-input-wrap{display:inline-flex;align-items:center;gap:4px;padding:3px 6px 3px 10px;border-radius:20px;border:1.5px solid var(--teal);background:var(--white)}.cm-lm-tag-input{border:none;outline:none;background:transparent;font-size:12px;font-family:var(--font);color:var(--text-body);width:80px}.cm-lm-tag-add-cancel,.cm-lm-tag-add-confirm{display:inline-flex;align-items:center;justify-content:center;border:none;background:none;cursor:pointer;padding:2px;border-radius:50%}.cm-lm-tag-add-confirm{color:var(--teal)}.cm-lm-tag-add-confirm:hover{background:rgba(42,157,143,.1)}.cm-lm-tag-add-cancel{color:var(--text-muted)}.cm-lm-tag-add-cancel:hover{color:#dc2626}.cm-lm-access-row{display:flex;gap:8px}.cm-lm-access-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:10px;font-size:13px;font-weight:500;border:1.5px solid var(--border);background:var(--white);color:var(--text-body);cursor:pointer;font-family:var(--font);transition:all .15s}.cm-lm-access-btn:hover{border-color:var(--teal)}.cm-lm-access-btn.active{border-color:#2a9d8f;background:rgba(42,157,143,.08);color:#2a9d8f;font-weight:600}.cm-lm-select{appearance:auto;cursor:pointer}.cm-lm-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}body.dark .cm-lm-access-btn,body.dark .cm-lm-link-fetch,body.dark .cm-lm-tag,body.dark .cm-lm-tag-input-wrap,body.dark .cm-lm-type-card,body.dark .cm-lm-upload-btn{background:var(--card-bg,#1e293b)}body.dark .cm-lm-tag-input{color:var(--text-body)}.cm-lm-detail{display:flex;flex-direction:column;gap:12px;margin:16px 0}.cm-lm-detail-link{display:flex;gap:12px;padding:12px;border-radius:12px;border:1px solid var(--border);background:var(--bg);text-decoration:none;color:inherit;transition:border-color .15s}.cm-lm-detail-link:hover{border-color:var(--teal)}.cm-lm-detail-link-img{width:100px;height:70px;object-fit:cover;border-radius:8px;flex-shrink:0}.cm-lm-detail-link-text{display:flex;flex-direction:column;gap:3px;min-width:0}.cm-lm-detail-link-title{font-size:14px;font-weight:600;color:var(--text-heading);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cm-lm-detail-link-desc{font-size:12px;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cm-lm-detail-link-url{font-size:11px;color:var(--teal);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cm-lm-detail-files{display:flex;flex-direction:column;gap:6px}.cm-lm-detail-file{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;border:1px solid var(--border);background:var(--bg);font-size:13px;color:var(--text-body);text-decoration:none;transition:border-color .15s}.cm-lm-detail-file:hover{border-color:var(--teal);color:var(--teal)}.cm-lm-detail-tags{display:flex;flex-wrap:wrap;gap:6px}.cm-lm-detail-tag{padding:4px 10px;border-radius:16px;font-size:11px;font-weight:500;background:rgba(42,157,143,.1);color:#2a9d8f}.cm-lm-detail-badges{display:flex;flex-wrap:wrap;gap:6px}.cm-lm-detail-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:16px;font-size:11px;font-weight:500;background:var(--bg);color:var(--text-muted);border:1px solid var(--border)}.cm-lm-badge-lock{background:rgba(245,158,11,.08);color:#d97706;border-color:rgba(245,158,11,.2)}.cm-access-blocked{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 24px;text-align:center;color:var(--text-muted)}.cm-access-blocked h3{font-size:16px;font-weight:700;color:var(--text-heading);margin:0}.cm-access-blocked p{font-size:13px;color:var(--text-muted);margin:0}.cm-error{padding:12px 16px;background:#fef2f2;color:#dc2626;border-radius:12px;font-size:13px;font-weight:500;margin-bottom:16px;border:1px solid #fecaca}.cm-checkbox{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text-body);margin-bottom:14px;cursor:pointer;padding:12px 16px;background:var(--bg);border-radius:12px;transition:all .15s}.cm-checkbox:hover{background:rgba(42,157,143,.06)}.cm-checkbox input{accent-color:var(--teal);width:18px;height:18px}.cm-privacy-notice{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fffbeb;border:1px solid #fde68a;border-radius:12px;font-size:13px;line-height:1.5;color:#92400e;margin-bottom:20px}.cm-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px;padding-top:16px;border-top:1px solid var(--border)}.cm-image-upload-area{display:flex;flex-wrap:wrap;gap:10px;padding:14px;background:var(--bg);border-radius:12px}.cm-uploaded-thumb{position:relative;width:90px;height:90px;border-radius:10px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.1)}.cm-uploaded-thumb img{width:100%;height:100%;object-fit:cover}.cm-thumb-remove{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.cm-thumb-remove:hover{background:#dc2626}.cm-upload-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:90px;height:90px;background:var(--white);border:2px dashed var(--border);border-radius:10px;cursor:pointer;font-family:var(--font);color:var(--text-muted);transition:all .2s}.cm-upload-btn:hover{border-color:var(--teal);color:var(--teal);background:rgba(42,157,143,.04)}.cm-hidden-input{display:none}@media (max-width:768px){.cm-row{padding:12px 16px;gap:8px;flex-wrap:wrap;position:relative}.cm-row>.cm-avatar{width:32px!important;height:32px!important;font-size:12px!important}.cm-row-main{flex:1;min-width:0}.cm-row-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px;margin-bottom:2px}.cm-row-meta,.cm-row-stats{font-size:11px}.cm-row-stats{gap:8px;order:3;width:100%;padding-left:40px;margin-top:-2px}.cm-opinion-pill{font-size:10px;padding:3px 8px;order:4;margin-left:40px}.cm-list-card{border-radius:12px;min-height:300px}.cm-detail-modal{max-height:92vh;border-radius:16px;padding:8px 16px 16px}.cm-detail-top-actions{position:sticky;top:0;right:0;display:flex;justify-content:flex-end;align-items:center;gap:4px;z-index:10;margin:-8px -8px 4px 0}.cm-detail-close{background:rgba(0,0,0,.45)!important;color:#fff!important;width:32px!important;height:32px!important;border-radius:50%!important;backdrop-filter:blur(4px)}.cm-more-btn{background:rgba(0,0,0,.45);color:#fff;border-radius:50%;width:32px;height:32px;backdrop-filter:blur(4px)}.cm-create-modal{padding:16px;border-radius:16px}.cm-empty-wrap{padding:40px 16px;border-radius:14px}.cm-comment-form{padding:4px 4px 4px 14px}.cm-tag-selector{gap:4px}.cm-tag-chip{font-size:11px;padding:4px 10px}.cm-study-row-2col{grid-template-columns:1fr 1fr;gap:12px}.cm-format-btn{font-size:12px;padding:8px 0}.cm-study-badge{font-size:10px;padding:2px 6px}.cm-study-filter-bar{gap:4px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.cm-study-filter-bar::-webkit-scrollbar{display:none}.cm-filter-chip{white-space:nowrap;flex-shrink:0;font-size:12px;padding:5px 10px}.cm-study-card{flex-wrap:wrap;padding:16px;gap:12px}.cm-study-card-avatar-wrap{align-self:center}.cm-study-preview-badges{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.cm-study-preview-badges::-webkit-scrollbar{display:none}.cm-study-card-right{flex-direction:row;width:100%;justify-content:flex-end;gap:8px;padding-top:4px;border-top:1px solid var(--border-light)}.cm-study-card-title{font-size:14px}.cm-study-card-intro{font-size:12px}.cm-study-apply-btn{padding:6px 14px;font-size:12px}.cm-lm-type-grid{grid-template-columns:repeat(2,1fr)}.cm-lm-modal{padding:16px}}.rte-wrapper{border:1px solid var(--border-light,#e2e8f0);border-radius:12px;overflow:hidden;background:#fff}.rte-toolbar{display:flex;align-items:center;gap:4px;padding:8px 12px;border-bottom:1px solid var(--border-light,#e2e8f0);background:#fafbfc;flex-wrap:wrap}.rte-toolbar-group{display:flex;align-items:center;gap:2px}.rte-toolbar-divider{width:1px;height:20px;background:var(--border-light,#e2e8f0);margin:0 4px}.rte-toolbar-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:6px;background:transparent;color:#475569;cursor:pointer;transition:background .15s,color .15s}.rte-toolbar-btn:hover{background:#e2e8f0;color:#1e293b}.rte-toolbar-btn.active{background:#dbeafe;color:#2563eb}.rte-toolbar-btn:disabled{opacity:.3;cursor:default}.rte-hidden-input{display:none}.rte-content{min-height:400px;padding:20px 24px}.rte-content .tiptap{outline:none;min-height:380px;font-size:15px;line-height:1.75;color:#1e293b;cursor:text;white-space:pre-wrap;word-wrap:break-word}.rte-content .tiptap p{margin:0 0 8px}.rte-content .tiptap h2{font-size:22px;font-weight:700;margin:24px 0 12px}.rte-content .tiptap h3{font-size:18px;font-weight:600;margin:20px 0 8px}.rte-content .tiptap ol,.rte-content .tiptap ul{padding-left:24px;margin:8px 0}.rte-content .tiptap ul{list-style:disc}.rte-content .tiptap ol{list-style:decimal}.rte-content .tiptap li{margin:4px 0}.rte-content .tiptap blockquote{border-left:3px solid #60a5fa;padding:8px 16px;margin:12px 0;background:#f0f9ff;border-radius:0 8px 8px 0;color:#334155}.rte-content .tiptap hr{border:none;border-top:1px solid var(--border-light,#e2e8f0);margin:20px 0}.rte-content .tiptap img{max-width:100%;height:auto;border-radius:8px;margin:12px 0}.rte-inline-media-btn{display:flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid var(--border-light,#e2e8f0);border-radius:4px;background:#f8fafc;color:#475569;font-size:12px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s}.rte-inline-media-btn:hover{background:#e2e8f0;border-color:#cbd5e1}body.dark .rte-inline-media-btn{background:#1e293b;border-color:#374151;color:#d1d5db}body.dark .rte-inline-media-btn:hover{background:#334155;border-color:#4b5563}.rte-content .tiptap a{color:#2563eb;text-decoration:underline}.rte-content .tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:#94a3b8;pointer-events:none;height:0}.rte-viewer{font-size:15px;line-height:1.75;color:#1e293b}.rte-viewer p{margin:0 0 8px}.rte-viewer h2{font-size:22px;font-weight:700;margin:24px 0 12px}.rte-viewer h3{font-size:18px;font-weight:600;margin:20px 0 8px}.rte-viewer ol,.rte-viewer ul{padding-left:24px;margin:8px 0}.rte-viewer li{margin:4px 0}.rte-viewer blockquote{border-left:3px solid #60a5fa;padding:8px 16px;margin:12px 0;background:#f0f9ff;border-radius:0 8px 8px 0;color:#334155}.rte-viewer hr{border:none;border-top:1px solid var(--border-light,#e2e8f0);margin:20px 0}.rte-viewer img{max-width:100%;height:auto;border-radius:8px;margin:12px 0;cursor:pointer}.rte-viewer a{color:#2563eb;text-decoration:underline}.editor-page{max-width:920px;margin:0 auto;padding:32px 48px 80px}.editor-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.editor-page-back{display:flex;align-items:center;gap:8px;background:none;border:none;color:#64748b;font-size:14px;cursor:pointer;padding:8px 12px;border-radius:8px;transition:background .15s}.editor-page-back:hover{background:#f1f5f9;color:#1e293b}.editor-page-actions{display:flex;gap:8px}.editor-btn-draft,.editor-btn-submit{padding:10px 20px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s,opacity .15s;border:none}.editor-btn-draft{background:#f1f5f9;color:#475569}.editor-btn-draft:hover{background:#e2e8f0}.editor-btn-submit{background:#5c68de;color:#fff}.editor-btn-submit:hover{opacity:.9}.editor-btn-draft:disabled,.editor-btn-submit:disabled{opacity:.4;cursor:default}.editor-title-input{width:100%;font-size:28px;font-weight:700;border:none;outline:none;padding:12px 0;color:#1e293b;background:transparent;margin-bottom:4px}.editor-title-input::placeholder{color:#9ca3af}.editor-thumbnail-section{margin-bottom:20px}.editor-thumbnail-label{font-size:13px;font-weight:600;color:#64748b;margin-bottom:8px}.editor-thumbnail-area{display:flex;align-items:center;gap:16px}.editor-thumbnail-upload{width:160px;height:100px;border:2px dashed var(--border-light,#e2e8f0);border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#94a3b8;font-size:12px;cursor:pointer;transition:border-color .15s,background .15s;background:#fafbfc}.editor-thumbnail-upload:hover{border-color:var(--teal,#14b8a6);background:#f0fdfa}.editor-thumbnail-preview{position:relative;width:160px;height:100px;border-radius:10px;overflow:hidden}.editor-thumbnail-preview img{width:100%;height:100%;object-fit:cover}.editor-thumbnail-remove{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px}.editor-thumbnail-hint{font-size:12px;color:#94a3b8;line-height:1.5}.editor-meta-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--border-light,#e2e8f0);display:flex;flex-direction:column;gap:16px}.editor-meta-row{display:flex;gap:16px;flex-wrap:wrap}.editor-meta-field{flex:1;min-width:180px}.editor-meta-label{font-size:13px;font-weight:600;color:#475569;margin-bottom:6px}.editor-meta-select{width:100%;padding:8px 12px;border:1px solid var(--border-light,#e2e8f0);border-radius:8px;font-size:14px;color:#1e293b;background:#fff}.editor-tab-indicator{font-size:13px;color:#94a3b8;margin-bottom:8px}body.dark .editor-tab-indicator{color:var(--text-muted)}.editor-privacy-warning{padding:12px 16px;background:#fef9c3;border:1px solid #fde68a;border-radius:8px;font-size:13px;color:#92400e;line-height:1.5}body.dark .editor-privacy-warning{background:hsla(55,97%,88%,.1);border-color:hsla(48,97%,77%,.3);color:#fbbf24}.editor-meta-top{display:flex;gap:48px;margin-bottom:8px}.editor-meta-top .editor-meta-field{flex:1;min-width:0}.editor-meta-top .editor-meta-label{font-size:12px;font-weight:600}.editor-meta-top .editor-meta-select{border:1px solid #e5e7eb;border-radius:8px;padding:8px 12px;background:#fff}body.dark .editor-page{color:var(--text-body)}body.dark .editor-title-input{color:#f3f4f6}body.dark .editor-title-input::placeholder{color:#6b7280}body.dark .editor-page-back{color:#9ca3af}body.dark .editor-page-back:hover{background:#1f2937;color:#f3f4f6}body.dark .editor-btn-draft{background:#1f2937;color:#d1d5db}body.dark .editor-btn-draft:hover{background:#334155}body.dark .editor-meta-label{color:#9ca3af}body.dark .editor-meta-select{color:#f3f4f6}body.dark .editor-meta-select,body.dark .editor-meta-top .editor-meta-select{background:#111827;border-color:#4b5563}body.dark .rte-wrapper{background:var(--white);border-color:#374151}body.dark .rte-toolbar{background:#111827;border-bottom-color:#374151}body.dark .rte-toolbar-btn{color:#9ca3af}body.dark .rte-toolbar-btn:hover{background:#1f2937;color:#f3f4f6}body.dark .rte-toolbar-btn.active{background:rgba(59,130,246,.2);color:#60a5fa}body.dark .rte-toolbar-divider{background:#374151}body.dark .rte-content .tiptap{color:#e2e8f0}body.dark .rte-content .tiptap blockquote{background:rgba(59,130,246,.1);border-left-color:#60a5fa;color:#d1d5db}.editor-page-bg{background:#f5f0eb;min-height:calc(100vh - var(--header-h))}body.dark .editor-page-bg{background:#0f172a}.editor-monocard-card{background:#fff;border-radius:18px;overflow:hidden;border:1px solid #e7e5e4;box-shadow:0 2px 8px rgba(0,0,0,.04),0 8px 32px rgba(0,0,0,.03)}body.dark .editor-monocard-card{background:#1e293b;border-color:#334155}.editor-monocard-title{padding:32px 32px 20px;border-bottom:1px solid #f0eeec;transition:border-color .2s}.editor-monocard-title.focused{border-bottom-color:#a7c4bc}body.dark .editor-monocard-title{border-bottom-color:#334155}body.dark .editor-monocard-title.focused{border-bottom-color:#115e59}.editor-monocard-title-input{width:100%;border:none;outline:none;font-size:30px;font-weight:800;color:#0f172a;background:transparent;padding:0;letter-spacing:-.03em;box-sizing:border-box}.editor-monocard-title-input::placeholder{color:#d4d4d8}body.dark .editor-monocard-title-input{color:#f3f4f6}body.dark .editor-monocard-title-input::placeholder{color:#4b5563}.rte-monocard{border:none;border-radius:0;background:transparent;box-shadow:none;overflow:visible}.editor-monocard-card .rte-toolbar{padding:8px 20px;background:#fafaf9;border-bottom:1px solid #f0eeec;position:sticky;top:var(--header-h,56px);z-index:20}body.dark .editor-monocard-card .rte-toolbar{background:#0f172a;border-bottom-color:#1e293b}.editor-monocard-card .rte-content{padding:28px 32px 36px;min-height:40vh}.editor-monocard-card .rte-content .tiptap{font-size:15.5px;line-height:1.9;color:#374151;min-height:38vh}body.dark .editor-monocard-card .rte-content .tiptap{color:#e2e8f0}.editor-monocard-card .rte-content .tiptap p.is-editor-empty:first-child:before{color:#c0c8d0}body.dark .editor-monocard-card .rte-content .tiptap p.is-editor-empty:first-child:before{color:#4b5563}.editor-monocard-divider{height:1px;background:#f5f5f4;margin:0 32px}body.dark .editor-monocard-divider{background:#334155}.editor-monocard-upload-section{padding:24px 32px 28px}.editor-upload-zone{width:100%;border-radius:12px;padding:42px 20px;text-align:center;cursor:pointer;background:linear-gradient(135deg,#f5f7ff,#eef0fe);border:2px dashed #c8ccf8;transition:all .3s ease}.editor-upload-zone.hover,.editor-upload-zone:hover{border:2px solid #5c68de;transform:translateY(-1px);box-shadow:0 4px 16px rgba(92,104,222,.12)}body.dark .editor-upload-zone{background:linear-gradient(135deg,rgba(92,104,222,.06),rgba(92,104,222,.04));border:2px dashed rgba(92,104,222,.25)}body.dark .editor-upload-zone.hover,body.dark .editor-upload-zone:hover{border:2px solid rgba(92,104,222,.6)}.editor-upload-zone-icon{display:flex;justify-content:center;margin-bottom:10px;color:#94a3b8;transition:color .2s}.editor-upload-zone.hover .editor-upload-zone-icon,.editor-upload-zone:hover .editor-upload-zone-icon{color:#5c68de}.editor-upload-zone-text{font-size:14px;font-weight:600;color:#4b5563;margin-bottom:4px;transition:color .2s}.editor-upload-zone.hover .editor-upload-zone-text,.editor-upload-zone:hover .editor-upload-zone-text{color:#5c68de}body.dark .editor-upload-zone-text{color:#94a3b8}body.dark .editor-upload-zone.hover .editor-upload-zone-text,body.dark .editor-upload-zone:hover .editor-upload-zone-text{color:#2dd4bf}.editor-upload-zone-hint{font-size:12.5px;color:#94a3b8}body.dark .editor-upload-zone-hint{color:#64748b}.editor-draft-saved{font-size:12px;font-weight:500;color:#0d9488;align-self:center;animation:editor-draft-fade-in .2s ease}@keyframes editor-draft-fade-in{0%{opacity:0;transform:translateX(4px)}to{opacity:1;transform:translateX(0)}}.editor-files-section{margin-top:16px}.editor-file-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.editor-file-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f8fafc;border-radius:8px;font-size:13px;color:#475569}.editor-file-item button{margin-left:auto;background:none;border:none;color:#ef4444;cursor:pointer}.editor-file-add{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:#f1f5f9;border:1px dashed var(--border-light,#e2e8f0);border-radius:8px;font-size:13px;color:#64748b;cursor:pointer;margin-top:8px}.editor-file-add:hover{background:#e2e8f0}.viewer-page{max-width:860px;margin:0 auto;padding:32px 24px 80px}.viewer-page-header{margin-bottom:24px}.viewer-page-title{font-size:28px;font-weight:700;letter-spacing:-.02em;color:#1e293b;margin-bottom:12px}.viewer-page-meta{display:flex;align-items:center;gap:12px;font-size:13px;color:#94a3b8;flex-wrap:wrap}.viewer-page-author{display:flex;align-items:center;gap:8px}.viewer-page-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff}.viewer-page-badges{display:flex;gap:6px;margin:16px 0;flex-wrap:wrap}.viewer-page-badge{padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500;background:#f1f5f9;color:#475569}.viewer-thumbnail{width:100%;max-height:400px;object-fit:cover;border-radius:12px;margin-bottom:24px}.viewer-content{margin-bottom:32px}.viewer-actions{display:flex;align-items:center;gap:12px;padding:16px 0;border-top:1px solid var(--border-light,#e2e8f0);border-bottom:1px solid var(--border-light,#e2e8f0);margin-bottom:24px}.viewer-like-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;border:1px solid var(--border-light,#e2e8f0);background:#fff;color:#64748b;font-size:14px;cursor:pointer;transition:all .15s}.viewer-like-btn.liked{background:#fef2f2;border-color:#fca5a5;color:#ef4444}.viewer-delete-btn,.viewer-edit-btn{padding:8px 14px;border-radius:8px;font-size:13px;cursor:pointer;border:1px solid var(--border-light,#e2e8f0);background:#fff;color:#475569;transition:background .15s}.viewer-edit-btn:hover{background:#f1f5f9}.viewer-delete-btn{color:#ef4444;border-color:#fca5a5}.viewer-delete-btn:hover{background:#fef2f2}.viewer-comments{margin-top:24px}.viewer-comments-title{font-size:16px;font-weight:600;color:#1e293b;margin-bottom:16px}.viewer-comment{display:flex;gap:12px;padding:16px 0;border-bottom:1px solid #f1f5f9}.viewer-comment-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff;flex-shrink:0}.viewer-comment-body{flex:1}.viewer-comment-name{font-size:14px;font-weight:600;color:#1e293b}.viewer-comment-role{font-size:11px;padding:1px 6px;border-radius:4px;margin-left:6px;background:#dbeafe;color:#2563eb}.viewer-comment-date{font-size:12px;color:#94a3b8;margin-left:8px}.viewer-comment-text{font-size:14px;color:#475569;margin-top:4px;line-height:1.6}.viewer-comment-input{display:flex;gap:8px;margin-top:16px}.viewer-comment-input textarea{flex:1;padding:10px 14px;border:1px solid var(--border-light,#e2e8f0);border-radius:10px;font-size:14px;resize:none;min-height:44px;outline:none}.viewer-comment-input textarea:focus{border-color:var(--teal,#14b8a6)}.viewer-comment-submit{padding:10px 16px;background:var(--teal,#14b8a6);color:#fff;border:none;border-radius:10px;cursor:pointer;font-size:14px;font-weight:600;white-space:nowrap}.viewer-comment-submit:disabled{opacity:.4;cursor:default}.viewer-lightbox{position:fixed;inset:0;z-index:500;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center;cursor:zoom-out}.viewer-lightbox img{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:4px}.viewer-lightbox-close{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;background:hsla(0,0%,100%,.15);color:#fff;border:none;cursor:pointer;font-size:20px;display:flex;align-items:center;justify-content:center}@media (max-width:640px){.editor-page{padding:16px 12px 60px}.editor-title-input{font-size:22px}.rte-content{min-height:280px;padding:14px 16px}.rte-content .tiptap{min-height:260px;font-size:14px}.editor-page-header{flex-direction:column;gap:12px;align-items:stretch}.editor-page-actions{justify-content:flex-end}.editor-thumbnail-area{flex-direction:column;align-items:flex-start}.editor-meta-row,.editor-meta-top{flex-direction:column}.editor-meta-top{gap:12px}.viewer-page{padding:16px 12px 60px}.viewer-page-title{font-size:22px}.rte-toolbar{gap:2px;padding:6px 8px}.rte-toolbar-btn{width:28px;height:28px}.editor-monocard-title{padding:20px 16px 16px}.editor-monocard-title-input{font-size:22px}.editor-monocard-card .rte-content{padding:16px 16px 24px}.editor-monocard-divider{margin:0 16px}.editor-monocard-upload-section{padding:16px 16px 20px}.editor-upload-zone{padding:28px 16px}.editor-monocard-card .rte-toolbar{padding:6px 10px}}.cm-empty-wrap,.cm-list-card,.cm-study-list,.empty-state-wrap,.lib-materials-section,.my-courses-page,.uni-section-card{min-height:calc(100vh - 260px)}.lib-gallery .empty-state-wrap{flex:1;min-height:0;padding:24px;border:none;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}.lib-gallery .empty-state-wrap .empty-state-icon-circle{margin-bottom:0}.lib-gallery .empty-state-wrap .empty-state-sub{margin:0;font-size:13px}.cm-empty-wrap,.cm-list-card,.cm-study-list,.empty-state-wrap,.uni-section-card{box-shadow:0 1px 2px rgba(0,0,0,.03)}@media (max-width:768px){.cm-empty-wrap,.cm-list-card,.cm-study-list,.empty-state-wrap,.lib-layout,.lib-materials-section,.my-courses-page,.uni-section-card{min-height:auto}}.admin-payments-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.admin-payments-search{flex:0 0 280px;max-width:100%}.admin-payments-table-compact td{vertical-align:top;padding:10px 12px}.admin-payments-table-compact .payments-row-compact{cursor:pointer;transition:background-color .12s}.admin-payments-table-compact .payments-row-compact:hover{background-color:rgba(0,0,0,.03)}.admin-payments-table-compact .payments-row-compact.expanded{background-color:rgba(96,165,250,.06)}.admin-payments-table-compact .refund-requested-row{background-color:rgba(251,191,36,.06)}.payment-cell-muted{color:var(--text-muted);font-size:.85em}.payment-cell-orderid{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78em}.payment-cell-refundable{font-weight:600;color:#16a34a}.payment-elapsed{display:inline-block;font-size:.85em;font-weight:500}.payment-elapsed-ok{color:#16a34a}.payment-elapsed-over{color:#dc2626}.payment-virtual-badge{font-size:.9em}.payments-row-expand td{background-color:rgba(0,0,0,.02);padding:16px 20px}.payments-expand-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px 24px;font-size:.9em}.payments-expand-grid strong{color:var(--text-secondary)}@media (max-width:1024px){.admin-payments-table-compact{min-width:960px}}.kakao-chat-fab{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border:none;background-color:transparent;background-image:url(/kakao/talk-button.png);background-size:cover;background-position:50%;background-repeat:no-repeat;border-radius:18px;box-shadow:0 4px 12px rgba(0,0,0,.18);cursor:pointer;z-index:990;padding:0;transition:transform .15s ease,box-shadow .15s ease}.kakao-chat-fab:hover:not(:disabled){background-image:url(/kakao/talk-button-hover.png);transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.22)}.kakao-chat-fab:active:not(:disabled){transform:translateY(0)}.kakao-chat-fab:disabled{opacity:.6;cursor:not-allowed}@media (max-width:768px){.kakao-chat-fab{bottom:80px;right:16px;width:52px;height:52px}}@font-face{font-family:Pretendard Variable;font-weight:45 920;font-style:normal;font-display:swap;src:url(/fonts/pretendard/PretendardVariable.woff2) format("woff2-variations")}@font-face{font-family:Pretendard;font-weight:100;font-display:swap;src:url(/fonts/pretendard/Pretendard-Thin.woff2) format("woff2")}@font-face{font-family:Pretendard;font-weight:200;font-display:swap;src:url(/fonts/pretendard/Pretendard-ExtraLight.woff2) format("woff2")}@font-face{font-family:Pretendard;font-weight:300;font-display:swap;src:url(/fonts/pretendard/Pretendard-Light.woff2) format("woff2")}@font-face{font-family:Pretendard;font-weight:400;font-display:swap;src:url(/fonts/pretendard/Pretendard-Regular.woff2) format("woff2")}@font-face{font-family:Pretendard;font-weight:500;font-display:swap;src:url(/fonts/pretendard/Pretendard-Medium.woff2) format("woff2")}@font-face{font-family:Pretendard;font-weight:600;font-display:swap;src:url(/fonts/pretendard/Pretendard-SemiBold.woff2) format("woff2")}@font-face{font-family:Pretendard;font-weight:700;font-display:swap;src:url(/fonts/pretendard/Pretendard-Bold.woff2) format("woff2")}@font-face{font-family:Pretendard;font-weight:800;font-display:swap;src:url(/fonts/pretendard/Pretendard-ExtraBold.woff2) format("woff2")}@font-face{font-family:Pretendard;font-weight:900;font-display:swap;src:url(/fonts/pretendard/Pretendard-Black.woff2) format("woff2")}.v2-page{--v2-font-sans:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,system-ui,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;--v2-font-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;--v2-ink-900:#0b1220;--v2-ink-800:#1a2433;--v2-ink-700:#2c374a;--v2-ink-500:#5a6573;--v2-ink-400:#8189a0;--v2-ink-300:#a8aebd;--v2-ink-200:#d8dbe2;--v2-ink-100:#ebedf1;--v2-line:#e6e8ee;--v2-teal-50:#f2f3fe;--v2-teal-200:#c8ccf8;--v2-teal-500:#5c68de;--v2-teal-700:#3d4fc0;--v2-warn:#b8860b;--v2-danger:#c33c1f;--v2-bg:transparent;--v2-card:#fff;--v2-card-mute:#fafaf8;--v2-shadow-card:0 1px 2px rgba(11,18,32,.04);--v2-shadow-pop:0 1px 2px rgba(11,18,32,.04),0 8px 24px rgba(11,18,32,.06);--v2-rad:12px;font-family:var(--v2-font-sans);font-size:15px;background:var(--v2-bg);color:var(--v2-ink-900);font-feature-settings:"ss01","tnum";-webkit-font-smoothing:antialiased}.v2-page *{box-sizing:border-box}body.dark .v2-page{--v2-ink-900:#f0f2ff;--v2-ink-800:#e2e8f0;--v2-ink-700:#c8ccf8;--v2-ink-500:#a0a9f2;--v2-ink-400:#7780a8;--v2-ink-300:#6870a8;--v2-ink-200:#4a5070;--v2-ink-100:#353b55;--v2-line:#353b55;--v2-card:#1f2440;--v2-card-mute:#1a1f35}.v2-page .v2-card{background:var(--v2-card);border:1px solid var(--v2-line);border-radius:var(--v2-rad);box-shadow:var(--v2-shadow-card)}.v2-page .v2-card-pop{box-shadow:var(--v2-shadow-pop)}.v2-page .v2-mono{font-family:var(--v2-font-mono);font-feature-settings:"tnum"}.v2-page .v2-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px;flex-wrap:wrap;gap:16px}.v2-page .v2-page-title h1{font-size:28px;font-weight:700;letter-spacing:-.025em;line-height:1.2;color:var(--v2-ink-900);margin:0}.v2-page .v2-page-title .v2-meta{margin-top:6px;font-size:13.5px;color:var(--v2-ink-500)}.v2-page .v2-page-title .v2-meta strong{color:var(--v2-ink-900);font-weight:600}.v2-page .v2-search{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;background:#fff;border:1px solid var(--v2-line);border-radius:8px;min-width:280px;color:var(--v2-ink-400);font-size:13px;cursor:text;transition:border-color .12s}.v2-page .v2-search:focus-within{border-color:var(--v2-ink-300)}.v2-page .v2-search-input{flex:1;min-width:0;background:transparent;border:0;outline:0;font:inherit;color:var(--v2-ink-900);font-family:inherit}.v2-page .v2-search-input::placeholder{color:var(--v2-ink-400)}.v2-page .v2-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-bottom:32px;padding:24px 28px}@media (max-width:768px){.v2-page .v2-summary{grid-template-columns:repeat(2,1fr);gap:20px;padding:20px}.v2-page .v2-sm-stat+.v2-sm-stat{padding-left:0;border-left:0}}.v2-page .v2-sm-stat+.v2-sm-stat{padding-left:28px;border-left:1px solid var(--v2-line)}.v2-page .v2-sm-stat .v2-v{font-size:26px;font-weight:700;letter-spacing:-.025em;color:var(--v2-ink-900);font-feature-settings:"tnum";line-height:1;display:inline-flex;align-items:baseline;gap:4px}.v2-page .v2-sm-stat .v2-v small{font-size:14px;font-weight:500;color:var(--v2-ink-400)}.v2-page .v2-sm-stat .v2-l{margin-top:8px;font-size:12.5px;color:var(--v2-ink-500)}.v2-page .v2-filter-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.v2-page .v2-tabs{display:inline-flex;gap:0;border-bottom:1px solid var(--v2-line);width:100%;flex-wrap:wrap}.v2-page .v2-tab{padding:12px 20px 14px;font-size:14px;font-weight:500;color:var(--v2-ink-500);margin-bottom:-1px;transition:all .12s;display:inline-flex;align-items:center;gap:8px;background:transparent;border:0;border-bottom:2px solid transparent;cursor:pointer;font-family:inherit}.v2-page .v2-tab:hover{color:var(--v2-ink-900)}.v2-page .v2-tab.active{color:var(--v2-ink-900);font-weight:600;border-bottom-color:var(--v2-ink-900)}.v2-page .v2-tab .v2-count{font-size:11.5px;padding:1px 7px;border-radius:999px;background:var(--v2-ink-100);color:var(--v2-ink-500);font-weight:600;font-feature-settings:"tnum"}.v2-page .v2-tab.active .v2-count{background:var(--v2-ink-900);color:#fff}.v2-page .v2-tools{display:flex;gap:8px;align-items:center;margin-left:auto;padding-left:24px}.v2-page .v2-select-mini{height:34px;padding:0 30px 0 12px;border:1px solid var(--v2-line);border-radius:7px;background:#fff;font-size:13px;color:var(--v2-ink-700);appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235a6573' stroke-width='2'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right 10px center;font-family:inherit}.v2-page .v2-course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:40px}@media (max-width:1024px){.v2-page .v2-course-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.v2-page .v2-course-grid{grid-template-columns:1fr}}.v2-page .v2-course-card{background:#fff;border:1px solid var(--v2-line);border-radius:var(--v2-rad);overflow:hidden;box-shadow:var(--v2-shadow-card);display:flex;flex-direction:column;transition:all .2s;text-decoration:none;color:inherit}.v2-page .v2-course-card:hover{border-color:var(--v2-ink-300);box-shadow:var(--v2-shadow-pop);transform:translateY(-2px)}.v2-page .v2-cc-img{aspect-ratio:16/9;position:relative;overflow:hidden;background:linear-gradient(135deg,#0b1220,#1a2433)}.v2-page .v2-cc-img svg.v2-fan{position:absolute;inset:0;margin:auto;width:70%;height:70%}.v2-page .v2-cc-img-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:14px}.v2-page .v2-cc-cat-pill{align-self:flex-start;padding:4px 10px;border-radius:999px;background:rgba(0,0,0,.55);color:#fff;backdrop-filter:blur(8px);font-size:11px;font-weight:600;letter-spacing:-.005em}.v2-page .v2-cc-progress-overlay{position:absolute;left:0;right:0;bottom:0;height:3px;background:hsla(0,0%,100%,.15)}.v2-page .v2-cc-progress-overlay>div{height:100%;background:var(--v2-teal-500)}.v2-page .v2-course-card.done .v2-cc-progress-overlay>div{background:var(--v2-ink-300)}.v2-page .v2-course-card.done .v2-cc-img:after{content:"완강";position:absolute;top:14px;right:14px;background:var(--v2-teal-500)}.v2-page .v2-cc-expired-badge,.v2-page .v2-course-card.done .v2-cc-img:after{padding:4px 10px;border-radius:999px;color:#fff;font-size:11px;font-weight:700;letter-spacing:.02em}.v2-page .v2-cc-expired-badge{align-self:flex-end;background:rgba(0,0,0,.7);backdrop-filter:blur(8px)}.v2-page .v2-course-card.expired{opacity:.65}.v2-page .v2-course-card.expired:hover{opacity:.85}.v2-page .v2-course-card.expired .v2-cc-progress-overlay>div{background:var(--v2-ink-300)}body.dark .v2-page .v2-course-card.in-progress{border-color:rgba(209,249,98,.5);box-shadow:inset 0 0 0 1px rgba(209,249,98,.08)}body.dark .v2-page .v2-course-card.in-progress:hover{border-color:#d1f962}.v2-page .v2-cc-body{padding:18px 18px 20px;flex:1;display:flex;flex-direction:column}.v2-page .v2-cc-title{font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--v2-ink-900);line-height:1.4;text-wrap:pretty}.v2-page .v2-cc-instr{margin-top:6px;font-size:12.5px;color:var(--v2-ink-500)}.v2-page .v2-cc-progress-row{margin-top:14px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--v2-ink-500);font-feature-settings:"tnum"}.v2-page .v2-cc-progress-row strong{color:var(--v2-ink-900);font-weight:600}.v2-page .v2-cc-foot{margin-top:16px;padding-top:14px;border-top:1px solid var(--v2-line);display:flex;align-items:center;justify-content:space-between}.v2-page .v2-cc-meta{font-size:12px;color:var(--v2-ink-400);display:inline-flex;align-items:center;gap:10px}.v2-page .v2-cc-cont{font-size:12.5px;font-weight:600;color:var(--v2-ink-900);display:inline-flex;align-items:center;gap:4px}.v2-page .v2-course-card.new .v2-cc-cont,.v2-page .v2-course-card:hover .v2-cc-cont{color:var(--v2-teal-700)}.v2-page .v2-browse-row{background:#fff;border:1px dashed var(--v2-line);border-radius:var(--v2-rad);padding:24px 28px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.v2-page .v2-browse-row .v2-lbl{font-size:14px;color:var(--v2-ink-700)}.v2-page .v2-browse-row .v2-lbl strong{color:var(--v2-ink-900);font-weight:600}.v2-page .v2-btn-ghost-lg{height:44px;padding:0 20px;border-radius:8px;background:#fff;color:var(--v2-ink-700);border:1px solid var(--v2-line);font-size:14px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;cursor:pointer;font-family:inherit}.v2-page .v2-btn-ghost-lg:hover{border-color:var(--v2-ink-300)}.v2-page-container{padding:36px 48px 96px;max-width:1280px;margin:0 auto}@media (max-width:768px){.v2-page-container{padding:24px 20px 80px}.v2-page .v2-page-title h1{font-size:22px}}.last\:border-r-0:last-child{border-right-width:0}.hover\:border-indigo-400:hover{--tw-border-opacity:1;border-color:rgb(129 140 248/var(--tw-border-opacity,1))}.hover\:border-primary-300:hover{--tw-border-opacity:1;border-color:rgb(160 169 242/var(--tw-border-opacity,1))}.hover\:border-primary-500:hover{--tw-border-opacity:1;border-color:rgb(92 104 222/var(--tw-border-opacity,1))}.hover\:border-stroke:hover{border-color:var(--ds-stroke)}.hover\:bg-\[rgba\(0\2c 0\2c 0\2c 0\.04\)\]:hover{background-color:rgba(0,0,0,.04)}.hover\:bg-bg-canvas:hover{background-color:var(--ds-bg-canvas)}.hover\:bg-bg-card:hover{background-color:var(--ds-bg-card)}.hover\:bg-bg-surface:hover{background-color:var(--ds-bg-surface)}.hover\:bg-error-bg:hover{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-primary-50:hover{--tw-bg-opacity:1;background-color:rgb(242 243 254/var(--tw-bg-opacity,1))}.hover\:bg-primary-600:hover{--tw-bg-opacity:1;background-color:rgb(61 79 192/var(--tw-bg-opacity,1))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.hover\:text-ink-primary:hover{color:var(--ds-ink-primary)}.hover\:text-primary-500:hover{--tw-text-opacity:1;color:rgb(92 104 222/var(--tw-text-opacity,1))}.hover\:text-red-600:hover{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-primary-100:disabled{--tw-bg-opacity:1;background-color:rgb(229 231 253/var(--tw-bg-opacity,1))}.disabled\:text-primary-300:disabled{--tw-text-opacity:1;color:rgb(160 169 242/var(--tw-text-opacity,1))}.disabled\:opacity-50:disabled{opacity:.5}.dark\:block:is(.dark *){display:block}.dark\:hidden:is(.dark *){display:none}.dark\:border:is(.dark *){border-width:1px}.dark\:border-\[rgba\(252\2c 211\2c 77\2c 0\.3\)\]:is(.dark *){border-color:rgba(252,211,77,.3)}.dark\:border-primary-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(42 54 144/var(--tw-border-opacity,1))}.dark\:bg-\[rgba\(245\2c 158\2c 11\2c 0\.18\)\]:is(.dark *){background-color:rgba(245,158,11,.18)}.dark\:bg-bg-surface-dark:is(.dark *){--tw-bg-opacity:1;background-color:rgb(20 24 58/var(--tw-bg-opacity,1))}.dark\:bg-primary-700:is(.dark *){--tw-bg-opacity:1;background-color:rgb(42 54 144/var(--tw-bg-opacity,1))}.dark\:bg-primary-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(26 34 104/var(--tw-bg-opacity,1))}.dark\:bg-primary-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(19 19 19/var(--tw-bg-opacity,1))}.dark\:text-\[\#FCD34D\]:is(.dark *){--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.dark\:text-ink-hint-dark:is(.dark *){--tw-text-opacity:1;color:rgb(74 80 112/var(--tw-text-opacity,1))}.dark\:text-ink-inverse:is(.dark *){--tw-text-opacity:1;color:rgb(240 242 255/var(--tw-text-opacity,1))}.dark\:text-ink-inverse-muted:is(.dark *){--tw-text-opacity:1;color:rgb(160 169 242/var(--tw-text-opacity,1))}.dark\:text-ink-tertiary-dark:is(.dark *){--tw-text-opacity:1;color:rgb(139 149 192/var(--tw-text-opacity,1))}.dark\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:shadow-\[0_1px_4px_rgba\(0\2c 0\2c 0\2c 0\.2\)\]:is(.dark *){--tw-shadow:0 1px 4px rgba(0,0,0,.2);--tw-shadow-colored:0 1px 4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.dark\:hover\:border-primary-700:hover:is(.dark *){--tw-border-opacity:1;border-color:rgb(42 54 144/var(--tw-border-opacity,1))}.dark\:hover\:bg-bg-surface-dark:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(20 24 58/var(--tw-bg-opacity,1))}.dark\:hover\:bg-primary-800:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(26 34 104/var(--tw-bg-opacity,1))}.dark\:hover\:text-ink-inverse:hover:is(.dark *){--tw-text-opacity:1;color:rgb(240 242 255/var(--tw-text-opacity,1))}@media not all and (min-width:768px){.max-md\:flex{display:flex}}@media (min-width:640px){.sm\:block{display:block}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:768px){.md\:col-span-2{grid-column:span 2/span 2}.md\:mx-0{margin-left:0;margin-right:0}.md\:mb-8{margin-bottom:2rem}.md\:w-56{width:14rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:flex-col{flex-direction:column}.md\:items-end{align-items:flex-end}.md\:gap-0\.5{gap:.125rem}.md\:gap-8{gap:2rem}.md\:self-end{align-self:flex-end}.md\:overflow-visible{overflow:visible}.md\:px-0{padding-left:0;padding-right:0}.md\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.md\:pb-0{padding-bottom:0}}