@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";@import"https://fonts.googleapis.com/css2?family=Caveat:wght@500;600;700&display=swap";*,:before,:after{--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: rgb(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: rgb(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: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:Inter,system-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{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{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,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.\!visible{visibility:visible!important}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.-top-1{top:-.25rem}.bottom-0{bottom:0}.bottom-3{bottom:.75rem}.bottom-full{bottom:100%}.left-0{left:0}.left-1{left:.25rem}.left-2{left:.5rem}.left-4{left:1rem}.left-\[15px\]{left:15px}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.top-1\/2{top:50%}.top-2{top:.5rem}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.mx-auto{margin-left:auto;margin-right:auto}.mb-2{margin-bottom:.5rem}.mb-2\.5{margin-bottom:.625rem}.mb-3{margin-bottom:.75rem}.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-2{margin-top:.5rem}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-full{height:100%}.h-screen{height:100vh}.max-h-\[40vh\]{max-height:40vh}.min-h-0{min-height:0px}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-16{width:4rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-32{width:8rem}.w-4{width:1rem}.w-40{width:10rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-\[45\%\]{width:45%}.w-\[55\%\]{width:55%}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.max-w-\[1400px\]{max-width:1400px}.max-w-\[80\%\]{max-width:80%}.max-w-\[85\%\]{max-width:85%}.flex-1{flex:1 1 0%}.flex-\[0_0_85\%\]{flex:0 0 85%}.flex-shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-full{--tw-translate-y: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@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-none{resize:none}.resize{resize:both}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.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}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.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-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * 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))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.whitespace-nowrap{white-space:nowrap}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-accent{--tw-border-opacity: 1;border-color:rgb(129 140 248 / var(--tw-border-opacity, 1))}.border-accent\/30{border-color:#818cf84d}.border-blue-400\/30{border-color:#60a5fa4d}.border-primary\/40{border-color:#818cf866}.border-transparent{border-color:transparent}.border-white\/10{border-color:#ffffff1a}.border-white\/20{border-color:#fff3}.border-white\/\[0\.04\]{border-color:#ffffff0a}.border-white\/\[0\.05\]{border-color:#ffffff0d}.border-white\/\[0\.06\]{border-color:#ffffff0f}.border-white\/\[0\.08\]{border-color:#ffffff14}.bg-\[\#1A3A32\]{--tw-bg-opacity: 1;background-color:rgb(26 58 50 / var(--tw-bg-opacity, 1))}.bg-\[\#2A5A4A\]\/80{background-color:#2a5a4acc}.bg-accent{--tw-bg-opacity: 1;background-color:rgb(129 140 248 / var(--tw-bg-opacity, 1))}.bg-accent\/10{background-color:#818cf81a}.bg-accent\/15{background-color:#818cf826}.bg-accent\/20{background-color:#818cf833}.bg-accent\/60{background-color:#818cf899}.bg-accent\/70{background-color:#818cf8b3}.bg-accent\/80{background-color:#818cf8cc}.bg-background-dark{--tw-bg-opacity: 1;background-color:rgb(10 10 11 / var(--tw-bg-opacity, 1))}.bg-black\/10{background-color:#0000001a}.bg-black\/30{background-color:#0000004d}.bg-black\/40{background-color:#0006}.bg-blue-900\/30{background-color:#1e3a8a4d}.bg-gray-400{--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity, 1))}.bg-primary\/20{background-color:#818cf833}.bg-success{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-surface-0{--tw-bg-opacity: 1;background-color:rgb(10 10 11 / var(--tw-bg-opacity, 1))}.bg-surface-1{--tw-bg-opacity: 1;background-color:rgb(17 17 19 / var(--tw-bg-opacity, 1))}.bg-surface-1\/80{background-color:#111113cc}.bg-surface-2{--tw-bg-opacity: 1;background-color:rgb(28 28 30 / var(--tw-bg-opacity, 1))}.bg-surface-3{--tw-bg-opacity: 1;background-color:rgb(37 37 40 / var(--tw-bg-opacity, 1))}.bg-text-tertiary{--tw-bg-opacity: 1;background-color:rgb(86 86 90 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-white\/10{background-color:#ffffff1a}.bg-white\/20{background-color:#fff3}.bg-white\/5{background-color:#ffffff0d}.bg-white\/\[0\.03\]{background-color:#ffffff08}.bg-white\/\[0\.04\]{background-color:#ffffff0a}.bg-white\/\[0\.06\]{background-color:#ffffff0f}.bg-white\/\[0\.08\]{background-color:#ffffff14}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.px-1{padding-left:.25rem;padding-right:.25rem}.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-8{padding-left:2rem;padding-right:2rem}.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-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-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-0{padding-bottom:0}.pb-2{padding-bottom:.5rem}.pt-3{padding-top:.75rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.text-accent{--tw-text-opacity: 1;color:rgb(129 140 248 / var(--tw-text-opacity, 1))}.text-accent\/70{color:#818cf8b3}.text-amber-300\/90{color:#fcd34de6}.text-blue-200{--tw-text-opacity: 1;color:rgb(191 219 254 / var(--tw-text-opacity, 1))}.text-gray-100{--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity, 1))}.text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / 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-primary{--tw-text-opacity: 1;color:rgb(129 140 248 / var(--tw-text-opacity, 1))}.text-text-primary{--tw-text-opacity: 1;color:rgb(236 236 239 / var(--tw-text-opacity, 1))}.text-text-secondary{--tw-text-opacity: 1;color:rgb(139 139 142 / var(--tw-text-opacity, 1))}.text-text-tertiary{--tw-text-opacity: 1;color:rgb(86 86 90 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/70{color:#ffffffb3}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-50{opacity:.5}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -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)}.shadow-accent\/20{--tw-shadow-color: rgb(129 140 248 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-black\/40{--tw-shadow-color: rgb(0 0 0 / .4);--tw-shadow: var(--tw-shadow-colored)}.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);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-white\/10{--tw-ring-color: rgb(255 255 255 / .1)}.invert{--tw-invert: invert(100%);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)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur: blur(8px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-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-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\[discuss\:other\]{discuss:other}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,system-ui,sans-serif;background-color:#0a0a0b;color:#ececef;overflow:hidden;height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100vh;display:flex;flex-direction:column}.scrollbar-none{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-none::-webkit-scrollbar{display:none}@keyframes node-appear{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes node-flash{0%,to{box-shadow:0 0 #818cf800}50%{box-shadow:0 0 10px 3px #818cf866}}@keyframes node-flash-red{0%,to{box-shadow:0 0 #ef444400}50%{box-shadow:0 0 10px 3px #ef444480}}.node-appear{animation:node-appear .4s ease-out forwards}.node-highlight-yellow{animation:node-flash 1.2s ease-in-out infinite;border-color:#818cf8!important}.node-highlight-red{animation:node-flash-red 1s ease-in-out infinite;border-color:#ef4444!important}.node-highlight-blue{animation:node-flash 1.2s ease-in-out infinite;border-color:#60a5fa!important}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-shimmer{background:linear-gradient(90deg,#ffffff05,#ffffff0d,#ffffff05);background-size:200% 100%;animation:shimmer 2s ease-in-out infinite}@keyframes thinking-dot{0%,60%,to{transform:translateY(0);opacity:.35}30%{transform:translateY(-3px);opacity:1}}.thinking-dot{animation:thinking-dot 1.4s ease-in-out infinite}button,a,[role=button]{transition:all .2s cubic-bezier(.16,1,.3,1)}button:active,[role=button]:active{transform:scale(.99)}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:#111113}::-webkit-scrollbar-thumb{background:#333;border-radius:2px}.placeholder\:text-gray-600::placeholder{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.placeholder\:text-text-tertiary::placeholder{--tw-text-opacity: 1;color:rgb(86 86 90 / var(--tw-text-opacity, 1))}.hover\:border-accent\/30:hover{border-color:#818cf84d}.hover\:border-accent\/40:hover{border-color:#818cf866}.hover\:border-accent\/50:hover{border-color:#818cf880}.hover\:border-amber-400\/30:hover{border-color:#fbbf244d}.hover\:border-white\/50:hover{border-color:#ffffff80}.hover\:border-white\/\[0\.10\]:hover{border-color:#ffffff1a}.hover\:bg-\[\#2A5A4A\]:hover{--tw-bg-opacity: 1;background-color:rgb(42 90 74 / var(--tw-bg-opacity, 1))}.hover\:bg-accent-muted:hover{--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity, 1))}.hover\:bg-accent\/10:hover{background-color:#818cf81a}.hover\:bg-accent\/20:hover{background-color:#818cf833}.hover\:bg-accent\/5:hover{background-color:#818cf80d}.hover\:bg-primary\/30:hover{background-color:#818cf84d}.hover\:bg-surface-2\/80:hover{background-color:#1c1c1ecc}.hover\:bg-white\/10:hover{background-color:#ffffff1a}.hover\:bg-white\/20:hover{background-color:#fff3}.hover\:bg-white\/40:hover{background-color:#fff6}.hover\:bg-white\/5:hover,.hover\:bg-white\/\[0\.05\]:hover{background-color:#ffffff0d}.hover\:text-accent:hover{--tw-text-opacity: 1;color:rgb(129 140 248 / var(--tw-text-opacity, 1))}.hover\:text-gray-300:hover{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.hover\:text-text-primary:hover{--tw-text-opacity: 1;color:rgb(236 236 239 / var(--tw-text-opacity, 1))}.hover\:text-text-secondary:hover{--tw-text-opacity: 1;color:rgb(139 139 142 / var(--tw-text-opacity, 1))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.focus\:border-accent\/40:focus{border-color:#818cf866}.focus\:border-primary\/50:focus{border-color:#818cf880}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.active\:scale-\[0\.98\]:active{--tw-scale-x: .98;--tw-scale-y: .98;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-25:disabled{opacity:.25}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}:root{--bg: #f4f3ef;--surface: #fbfaf7;--surface2: #edece7;--t1: #1c1c1a;--t2: #5c5b56;--t3: #9c9a92;--border: rgba(28, 28, 26, .07);--border-strong: rgba(28, 28, 26, .14);--blue: #1a5fa0;--blue-bg: #e4eff8;--green: #2d6612;--green-bg: #e6f2dc;--amber: #7a4d0e;--amber-bg: #f6edda;--red: #942929;--red-bg: #f8e6e6;--purple: #3a3185;--purple-bg: #eceafe;--teal: #0d5245;--teal-bg: #ddf1eb;--coral: #6b2a14;--coral-bg: #f7ebe5;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--r-pill: 3px;--r-input: 6px;--r-input-lg: 8px;--r-card: 10px;--r-card-lg: 12px;--sidebar-w: 232px;--topbar-h: 48px;--fs-hero: 26px;--fs-h1: 22px;--fs-h2: 16px;--fs-h3: 14px;--fs-body: 13px;--fs-body-sm: 12px;--fs-meta: 11px;--fs-badge: 10px;--fs-label: 10px;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--lh-tight: 1.3;--lh-body: 1.6;--lh-prose: 1.8;--focus: rgba(58, 49, 133, .3);--font-body: "Plus Jakarta Sans", -apple-system, "PingFang SC", "Hiragino Sans GB", sans-serif;--font-hand: "Caveat", cursive}[data-surface=board]{--bg: #1c1c1a;--surface: #2a2a28;--surface2: #3a3a38;--t1: rgba(240, 239, 232, .85);--t2: rgba(240, 239, 232, .5);--t3: rgba(240, 239, 232, .2);--border: rgba(240, 239, 232, .08);--border-strong: rgba(240, 239, 232, .14);--board-accent: #5dcaa5}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2) format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff) format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff) format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff) format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2) format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff) format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2) format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff) format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2) format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff) format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2) format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff) format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2) format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff) format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2) format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff) format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff) format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff) format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff) format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2) format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff) format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2) format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff) format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2) format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff) format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC) format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff) format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2) format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff) format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2) format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff) format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;position:relative;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.46"}.katex .katex-mathml{border:0;clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{display:inline;line-height:0}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}:root{--bg: #f4f3ef;--surface: #fbfaf7;--surface2: #edece7;--t1: #1c1c1a;--t2: #5c5b56;--t3: #9c9a92;--border: rgba(28,28,26,.08);--border-strong: rgba(28,28,26,.14);--amber: #7a4d0e;--amber-soft: #f6edda;--amber-dot: #c48a1e;--green: #2d6612;--green-soft: #e6f2dc;--green-dot: #5a9a3a;--red: #942929;--red-soft: #f8e6e6;--blue: #1a5fa0;--blue-soft: #e4eff8;--done-dot: #8a8a80;--idle: #bcbab2;--ai: #4a4387;--ai-soft: #ecebf5;--ai-dot: #7a72b5;--teal: #0d5245;--teal-soft: #ddf1eb;--lecture: #6b5b3a;--lecture-soft: #f3eed8;--gold: #c48a1e;--gold-bg: #fdf6e3;--gold-border: #d4a534;--gold-glow: rgba(196,138,30,.15);--silver: #6b7280;--silver-bg: #f3f4f6;--silver-border: #9ca3af;--bronze: #92400e;--bronze-bg: #fef3e2;--bronze-border: #b45309}.teacher-root{display:flex;flex-direction:column;height:100vh;background:var(--bg);color:var(--t1);font-family:Plus Jakarta Sans,-apple-system,PingFang SC,sans-serif;-webkit-font-smoothing:antialiased;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;overflow:hidden}.band{display:flex;align-items:center;height:44px;padding:0 24px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;gap:12px}.band-mark{width:22px;height:22px;border-radius:6px;background:var(--t1);color:var(--surface);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.band-title{font-size:13px;font-weight:600;letter-spacing:-.1px}.band-mode{font-size:10px;font-weight:600;color:var(--teal);background:var(--teal-soft);padding:2px 8px;border-radius:3px;letter-spacing:.3px}.band-self{font-size:10px;font-weight:600;color:var(--ai);background:var(--ai-soft);padding:2px 8px;border-radius:3px;letter-spacing:.3px}.band-class{font-size:12px;color:var(--t2);padding-left:12px;border-left:1px solid var(--border-strong);margin-left:2px}.band-right{margin-left:auto;display:flex;align-items:center;gap:16px}.band-end-btn{font-size:11px;font-weight:600;padding:4px 12px;border-radius:5px;border:1px solid var(--border-strong);background:transparent;color:var(--t2);cursor:pointer;transition:all .15s;font-family:inherit}.band-end-btn:hover{border-color:var(--red);color:var(--red)}.band-end-btn.confirming{border-color:var(--red);background:var(--red);color:#fff}.band-end-btn:disabled{opacity:.5;cursor:wait}.band-live{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:var(--green)}.band-live:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--green-dot);animation:pulse-dot 2s infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.timeline{display:flex;align-items:center;height:40px;padding:0 24px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;gap:12px}.tl-time{font-size:12px;font-weight:700;color:var(--t1);min-width:42px;text-align:center}.tl-track-wrap{flex:1;position:relative;height:24px;display:flex;align-items:center;cursor:pointer}.tl-track{width:100%;height:6px;background:var(--surface2);border-radius:3px;position:relative;overflow:visible}.tl-fill{height:100%;border-radius:3px;background:var(--t1);position:absolute;top:0;left:0;transition:width .15s}.tl-thumb{width:14px;height:14px;border-radius:50%;background:var(--t1);border:2px solid var(--surface);box-shadow:0 1px 4px #0003;position:absolute;top:50%;transform:translate(-50%,-50%);cursor:grab;z-index:2;transition:left .15s}.tl-marker{position:absolute;top:50%;transform:translate(-50%,-50%);width:2px;height:12px;border-radius:1px;z-index:1}.tl-marker.task{background:var(--t1);opacity:.2}.tl-total{font-size:12px;color:var(--t3);min-width:42px;text-align:center}.tl-label{font-size:10px;color:var(--t2);background:var(--surface2);padding:2px 8px;border-radius:3px;white-space:nowrap;font-weight:500}.tl-btn{width:24px;height:24px;border-radius:6px;border:1px solid var(--border);background:var(--surface);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--t2);flex-shrink:0;font-family:inherit}.tl-btn:hover{background:var(--surface2);color:var(--t1)}.tl-btn:disabled{opacity:.3;cursor:not-allowed}.timeline.replay{background:var(--surface2)}.tl-label.live{color:var(--green);font-weight:600}.tl-label.replay{color:var(--amber);cursor:pointer;font-weight:600}.tl-label.replay:hover{background:var(--amber-soft);color:var(--amber)}.tl-thumb.dragging{cursor:grabbing;transform:translate(-50%,-50%) scale(1.2)}.tl-hover-tip{position:absolute;top:-22px;transform:translate(-50%);font-size:9px;color:var(--t2);background:var(--surface);border:1px solid var(--border);padding:1px 5px;border-radius:3px;white-space:nowrap;pointer-events:none;z-index:3}.replay-banner{background:var(--amber-soft);color:var(--amber);text-align:center;padding:4px 12px;font-size:11px;font-weight:600;flex-shrink:0;border-bottom:1px solid rgba(122,77,14,.15)}.body{flex:1;display:grid;grid-template-columns:1fr 340px;min-height:0}.focus{padding:18px 24px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.health{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.hcard{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:11px 13px;display:flex;flex-direction:column;gap:4px}.hcard.warn{border-color:#7a4d0e33;background:var(--amber-soft)}.hcard.good{border-color:#2d661226;background:var(--green-soft)}.hcard-lb{font-size:9px;font-weight:600;color:var(--t3);text-transform:uppercase;letter-spacing:.5px}.hcard.warn .hcard-lb{color:var(--amber)}.hcard.good .hcard-lb{color:var(--green)}.hcard-v{font-size:22px;font-weight:700;letter-spacing:-.5px;line-height:1;color:var(--t1)}.hcard-sub{font-size:10px;color:var(--t2);line-height:1.4}.hcard-sub strong{color:var(--t1);font-weight:600}.sh{display:flex;align-items:baseline;gap:10px}.sh-lb{font-size:10px;font-weight:600;color:var(--t3);text-transform:uppercase;letter-spacing:.6px}.sh-meta{font-size:11px;color:var(--t3);margin-left:auto}.step-cards{display:flex;flex-direction:column;gap:6px}.step-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;transition:all .15s}.step-card:hover{border-color:var(--border-strong);box-shadow:0 2px 8px #1c1c1a0f}.step-card.expanded{border-color:#1a5fa04d;box-shadow:0 2px 8px #1c1c1a0f}.step-card.has-alert{border-color:#7a4d0e40}.sc-head{display:flex;align-items:center;gap:10px;padding:10px 14px 0}.sc-chevron{font-size:9px;color:var(--t3);transition:transform .2s;flex-shrink:0}.sc-chevron.open{transform:rotate(90deg)}.sc-sn{width:22px;height:22px;border-radius:50%;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sc-sn.task{background:var(--t1);color:var(--surface)}.sc-name{font-size:13px;font-weight:700;color:var(--t1)}.sc-type{font-size:9px;color:var(--t2);font-weight:500}.sc-badges{display:flex;gap:5px;margin-left:auto;flex-shrink:0;align-items:center}.sc-badge{font-size:9px;font-weight:600;padding:2px 7px;border-radius:3px;white-space:nowrap;display:flex;align-items:center;gap:3px}.sc-badge.student-count{background:var(--surface2);color:var(--t2)}.sc-badge.student-count.major{background:var(--blue-soft);color:var(--blue)}.sc-badge.ai-rounds{background:var(--ai-soft);color:var(--ai)}.sc-badge.ai-rounds.hot{background:#9429291a;color:var(--red)}.sc-badge.alert-tag{background:var(--amber-soft);color:var(--amber)}.sc-badge .pip{width:5px;height:5px;border-radius:50%;flex-shrink:0}.sc-metrics{display:flex;align-items:center;gap:14px;padding:6px 14px;font-size:10px;color:var(--t3)}.sc-metric{display:flex;align-items:center;gap:3px}.sc-metric strong{color:var(--t2);font-weight:600}.sc-dots{padding:4px 14px 10px;display:flex;flex-wrap:wrap;gap:3px;align-items:flex-start;align-content:flex-start;min-height:0}.sc-dots:empty{display:none}.sdot{min-width:42px;height:24px;border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;cursor:pointer;position:relative;transition:transform .1s;padding:0 4px;letter-spacing:-.1px}.sdot:hover{transform:scale(1.06);z-index:1}.sdot.done{background:var(--green-dot);color:#fff}.sdot.prog{background:var(--blue);color:#fff}.sdot.stuck{background:var(--amber-dot);color:#fff}.sdot.reading{background:var(--lecture);color:#fff}.sdot .ai-pip{position:absolute;top:-2px;right:-2px;width:6px;height:6px;border-radius:50%;background:var(--ai-dot);border:1.5px solid var(--surface)}.sdot .bonus-pip{position:absolute;bottom:-2px;left:-2px;width:6px;height:6px;border-radius:50%;background:var(--amber-dot);border:1.5px solid var(--surface)}.swim-legend{display:flex;gap:12px;flex-wrap:wrap;padding:0 2px}.swim-legend-item{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--t2)}.swim-legend-item .dot{width:10px;height:10px;border-radius:3px;flex-shrink:0}.patterns{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pat{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:11px 13px}.pat.alert{border-color:#7a4d0e33}.pat-h{font-size:9px;font-weight:600;color:var(--t3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px;display:flex;align-items:center;gap:5px}.pat-h .dot{width:5px;height:5px;border-radius:50%}.pat-h.warn{color:var(--amber)}.pat-h.warn .dot{background:var(--amber-dot)}.pat-h.info{color:var(--blue)}.pat-h.info .dot{background:var(--blue)}.pat-body{font-size:11px;line-height:1.5;color:var(--t2)}.pat-body strong{color:var(--t1);font-weight:600}.pat-metric{display:flex;align-items:baseline;gap:5px;margin-top:5px;padding-top:5px;border-top:1px solid var(--border)}.pat-metric .n{font-size:15px;font-weight:700;color:var(--t1)}.pat-metric .unit{font-size:10px;color:var(--t3)}.coaching{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}.coaching-toggle{display:flex;align-items:center;gap:10px;padding:9px 14px;cursor:pointer;font-size:10px;font-weight:600;color:var(--t3);text-transform:uppercase;letter-spacing:.5px;user-select:none}.coaching-toggle:hover{background:var(--surface2)}.coaching-toggle .arrow{transition:transform .2s;font-size:9px}.coaching-toggle.open .arrow{transform:rotate(90deg)}.coaching-body{display:none;padding:0 14px 14px;flex-direction:column;gap:8px}.coaching-body.open{display:flex}.coach-line{background:var(--t1);color:#f0efe8;border-radius:8px;padding:10px 12px}.coach-line-lb{font-size:8px;font-weight:600;color:#f0efe866;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.coach-line-text{font-size:12px;line-height:1.5;color:#f0efe8e0}.step-expanded{padding:4px 14px 10px;display:flex;flex-direction:column;gap:2px}.subtask-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;font-size:11px;color:var(--t2);transition:background .12s}.subtask-row.clickable{cursor:pointer}.subtask-row.clickable:hover{background:var(--surface2)}.subtask-row.completed{color:var(--t3)}.str-icon{font-size:12px;flex-shrink:0;width:18px;text-align:center}.str-label{font-weight:600;min-width:60px;color:var(--t1)}.str-count{font-size:10px;font-weight:700;color:var(--t1);min-width:20px}.str-score{font-size:10px;font-weight:600}.str-arrow{font-size:10px;color:var(--t3);margin-left:auto}.str-dots{display:flex;gap:2px;flex-wrap:wrap;margin-left:auto;max-width:260px}.sdot.sm{min-width:32px;height:20px;font-size:9px;border-radius:4px}.sdot-more{font-size:9px;color:var(--t3);display:flex;align-items:center;padding:0 4px}.phase-bar{display:flex;height:4px;border-radius:2px;overflow:hidden;margin:2px 14px 4px}.pb-seg{height:100%;min-width:2px;transition:width .3s;background:var(--t3)}.pb-seg.listen{background:var(--lecture)}.pb-seg.practice{background:var(--blue)}.pb-seg.discuss{background:var(--ai-dot)}.pb-seg.takeaway{background:var(--teal)}.pb-seg.completed{background:var(--green-dot)}.pb-seg.discovery{background:var(--purple, #9b59b6)}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--t2)}.empty-icon{font-size:48px;opacity:.6}.empty-state h2{font-size:18px;font-weight:700;color:var(--t1)}.empty-state p{font-size:13px;color:var(--t3);line-height:1.6}.empty-state strong{color:var(--t1);font-weight:700;font-size:16px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c1c1a80;display:flex;align-items:center;justify-content:center;padding:32px;z-index:200;backdrop-filter:blur(2px)}.modal{background:var(--bg);border-radius:14px;width:100%;max-width:1060px;height:680px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px -10px #1c1c1a4d}.mod-hd{display:flex;align-items:center;gap:14px;padding:16px 24px;border-bottom:1px solid var(--border);background:var(--surface)}.mod-av{width:36px;height:36px;border-radius:8px;background:var(--t1);color:var(--surface);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}.mod-ti{flex:1}.mod-ti-n{font-size:15px;font-weight:600}.mod-ti-m{font-size:11px;color:var(--t3);margin-top:2px}.mod-cls{cursor:pointer;padding:6px 12px;font-size:12px;color:var(--t2);border-radius:6px}.mod-cls:hover{background:var(--surface2);color:var(--t1)}.mod-body{flex:1;overflow-y:auto;display:flex;flex-direction:column}.journey{padding:16px 24px 12px;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}.journey-strip{display:flex;align-items:stretch;gap:0;position:relative}.journey-node{flex:1;display:flex;flex-direction:column;padding:10px 12px;border-radius:8px;cursor:pointer;border:1.5px solid var(--border);position:relative;transition:all .12s;background:var(--surface)}.journey-node:hover{border-color:var(--border-strong);background:var(--surface2)}.journey-node.act{border-color:var(--blue);background:var(--blue-soft);box-shadow:0 0 0 2px #1a5fa01f}.journey-node.needs-attn{border-color:var(--amber-dot)}.journey-node.needs-attn .jn-attn{display:flex}.journey-node.future{opacity:.45;border-style:dashed}.journey-connector{width:16px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.journey-connector:before{content:"";width:12px;height:2px;background:var(--border-strong);border-radius:1px}.journey-connector.future:before{background:var(--surface2);border:none;height:1px;border-top:1px dashed var(--border-strong)}.jn-top{display:flex;align-items:center;gap:6px;margin-bottom:6px}.jn-sn{width:18px;height:18px;border-radius:50%;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.jn-sn.task{background:var(--t1);color:var(--surface)}.journey-node.act .jn-sn.task{background:var(--blue)}.jn-name{font-size:11px;font-weight:700;color:var(--t1)}.jn-status{font-size:9px;font-weight:600;display:flex;align-items:center;gap:3px;margin-bottom:4px}.jn-status.done{color:var(--green)}.jn-status.prog{color:var(--blue)}.jn-status.partial{color:var(--amber)}.jn-status.future{color:var(--t3)}.jn-status .ico{font-size:10px}.jn-meta{display:flex;gap:10px;font-size:9px;color:var(--t3)}.jn-meta strong{color:var(--t2);font-weight:600}.jn-attn{display:none;position:absolute;top:-6px;right:-4px;font-size:7px;font-weight:700;color:var(--amber);background:var(--amber-soft);border:1px solid rgba(196,138,30,.3);padding:1px 5px;border-radius:3px;white-space:nowrap;align-items:center;gap:2px;animation:attn-pulse 2s infinite}@keyframes attn-pulse{0%,to{opacity:1}50%{opacity:.6}}.mod-step-content{flex:1;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;min-height:0}.mod-col{padding:20px 24px;overflow-y:auto}.mod-col.right{background:var(--surface);border-left:1px solid var(--border)}.mod-h{font-size:10px;font-weight:600;color:var(--t3);text-transform:uppercase;letter-spacing:.6px;margin-bottom:12px}.mod-empty{padding:40px 24px;text-align:center;color:var(--t3);font-size:12px;grid-column:1 / -1;display:flex;align-items:center;justify-content:center}.result-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:600;padding:3px 8px;border-radius:4px}.result-badge.correct{background:var(--green-soft);color:var(--green)}.result-badge.partial{background:var(--amber-soft);color:var(--amber)}.result-badge.wrong{background:var(--red-soft);color:var(--red)}.result-badge.empty{background:var(--surface2);color:var(--t3)}.chat-row{margin-bottom:12px}.chat-row .who{font-size:10px;color:var(--t3);margin-bottom:4px;font-weight:500;text-transform:uppercase;letter-spacing:.3px}.chat-bubble{padding:9px 13px;border-radius:10px;font-size:12.5px;line-height:1.55}.chat-row.stu .chat-bubble{background:var(--t1);color:var(--surface);display:inline-block;max-width:90%}.chat-row.ai .chat-bubble{background:var(--bg);border:1px solid var(--border);color:var(--t2)}.class-compare{display:flex;flex-direction:column;gap:10px}.cc-row{display:flex;align-items:center;gap:8px}.cc-label{font-size:10px;color:var(--t3);width:56px;flex-shrink:0}.cc-bar-wrap{flex:1;position:relative;height:20px;display:flex;align-items:center}.cc-bar-bg{position:absolute;width:100%;height:6px;background:var(--surface2);border-radius:3px}.cc-bar-class{position:absolute;height:6px;border-radius:3px;background:var(--border-strong);opacity:.5}.cc-bar-student{position:absolute;height:6px;border-radius:3px}.cc-marker{position:absolute;width:2px;height:14px;border-radius:1px;background:var(--t3);top:3px}.cc-val{font-size:10px;font-weight:600;color:var(--t1);width:40px;text-align:right;flex-shrink:0}.cc-legend{display:flex;gap:12px;margin-top:4px}.cc-legend-item{display:flex;align-items:center;gap:4px;font-size:9px;color:var(--t3)}.cc-legend-item .d{width:8px;height:4px;border-radius:2px}.overlay2{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c1c1a80;display:flex;align-items:center;justify-content:center;padding:32px;z-index:90;backdrop-filter:blur(2px)}.modal2{background:var(--bg);border-radius:14px;width:100%;max-width:720px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px -10px #1c1c1a4d}.m2-hd{display:flex;align-items:center;gap:10px;padding:14px 20px;border-bottom:1px solid var(--border);background:var(--surface)}.m2-hd .sc-sn{width:24px;height:24px;font-size:11px}.m2-title{font-size:14px;font-weight:700;flex:1}.m2-desc{font-size:11px;color:var(--t2)}.m2-cls{cursor:pointer;padding:6px 12px;font-size:12px;color:var(--t2);border-radius:6px}.m2-cls:hover{background:var(--surface2);color:var(--t1)}.m2-body{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:14px}.m2-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.m2-stat{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:10px 12px;text-align:center}.m2-stat-n{font-size:18px;font-weight:700;color:var(--t1);line-height:1}.m2-stat-lb{font-size:8px;color:var(--t3);text-transform:uppercase;letter-spacing:.3px;margin-top:3px}.m2-section{margin-bottom:2px}.m2-section-h{font-size:9px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.m2-students{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.m2-students .sdot{min-width:44px}.obs-tab{background:none;border:1px solid var(--border);border-radius:5px;padding:2px 8px;font-size:10px;font-weight:500;color:var(--t3);cursor:pointer;display:inline-flex;align-items:center;gap:4px}.obs-tab:hover{background:var(--surface2)}.obs-tab.active{background:var(--t1);color:var(--surface);border-color:var(--t1)}.obs-badge{display:inline-flex;align-items:center;justify-content:center;min-width:14px;height:14px;border-radius:7px;font-size:9px;font-weight:700;padding:0 3px}.obs-badge.urgent{background:var(--red);color:#fff}.obs-dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin:2px}.obs-dot-ok{background:var(--green-dot, #22c55e)}.obs-dot-warn{background:var(--amber-dot, #f59e0b)}.obs-dot-alert{background:var(--red, #ef4444)}.obs-anchor-bar{height:6px;border-radius:3px;background:var(--surface2, #e5e7eb)}.obs-anchor-fill{height:100%;border-radius:3px;background:var(--blue, #3b82f6)}.obs-alert-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;border-radius:9px;font-size:11px;font-weight:600}.obs-alert-urgent{background:var(--red, #ef4444);color:#fff}.obs-alert-warning{background:var(--amber-dot, #f59e0b);color:#fff}.obs-alert-info{background:var(--blue, #3b82f6);color:#fff}.observe-band{display:flex;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}.observe-band-title{font-size:14px;font-weight:700;flex:1;color:var(--t1)}.observe-band-sub{font-size:11px;color:var(--t3)}.observe-band-close{cursor:pointer;padding:6px 12px;font-size:12px;color:var(--t2);border-radius:6px;background:none;border:none;font-family:inherit}.observe-band-close:hover{background:var(--surface2);color:var(--t1)}.obs-view-toggle{display:flex;gap:2px;margin-left:auto;margin-right:8px}.obs-vt-btn{font-size:10px;padding:2px 8px;border-radius:3px;border:1px solid var(--border);background:transparent;color:var(--t3);cursor:pointer;font-weight:500;font-family:inherit}.obs-vt-btn.active{background:var(--blue);color:#fff;border-color:var(--blue)}.observe-band-nav{cursor:pointer;padding:4px 10px;font-size:16px;font-weight:600;color:var(--t2);border-radius:6px;background:none;border:1px solid var(--border);font-family:inherit;line-height:1}.observe-band-nav:hover:not(:disabled){background:var(--surface2);color:var(--t1)}.observe-band-nav:disabled{opacity:.3;cursor:default}.observe-body{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:16px}.obs-health{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}.obs-table{width:100%;border-collapse:collapse;font-size:11px}.obs-table th{text-align:left;padding:6px 8px;font-size:9px;font-weight:600;color:var(--t3);text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid var(--border)}.obs-table td{padding:6px 8px;border-bottom:1px solid var(--border);color:var(--t2)}.obs-table tr:hover td{background:var(--surface2)}.obs-table tr{cursor:pointer}.observe-split{display:grid;grid-template-columns:1fr 1fr;gap:0;flex:1;min-height:0}.observe-split-left{overflow-y:auto;padding:16px 20px;border-right:1px solid var(--border)}.observe-split-right{overflow-y:auto;padding:16px 20px;background:var(--surface)}.opt-bar{display:flex;align-items:center;gap:6px;margin-bottom:4px}.opt-label{font-size:10px;color:var(--t2);width:24px;flex-shrink:0;font-weight:600}.opt-fill{height:16px;border-radius:3px;display:flex;align-items:center;padding:0 6px;font-size:9px;font-weight:600;color:#fff;min-width:2px;transition:width .3s}.opt-fill.correct{background:var(--green-dot)}.opt-fill.wrong{background:var(--red-soft);color:var(--red)}.opt-pct{font-size:9px;color:var(--t3);width:30px;text-align:right;flex-shrink:0}.misc-card{background:var(--amber-soft);border:1px solid rgba(122,77,14,.15);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}.misc-card.high{border-color:#94292933;background:var(--red-soft)}.misc-label{font-size:11px;font-weight:600;color:var(--t1)}.misc-count{font-size:10px;color:var(--amber)}.misc-card.high .misc-count{color:var(--red)}.misc-students{display:flex;flex-wrap:wrap;gap:3px;margin-top:2px}.qc-step-group{margin-bottom:4px}.qc-cluster{padding:6px 8px;margin:2px 0;border-radius:6px;border:1px solid transparent;transition:background .12s}.qc-cluster:hover{background:var(--bg)}.qc-cluster.qc-hot{background:var(--amber-soft);border-color:#7a4d0e1f}.qc-head{display:flex;flex-direction:column;gap:3px}.qc-cluster .qc-head{cursor:pointer}.qc-question{font-size:11px;font-weight:500;color:var(--t1);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.qc-meta{display:flex;align-items:center;gap:5px}.qc-count{font-size:10px;font-weight:600;color:var(--t2);white-space:nowrap}.qc-count.hot{color:var(--amber);font-weight:700}.qc-students{display:flex;flex-wrap:wrap;gap:3px;margin-top:4px}.qc-student-tag{font-size:9px;font-weight:500;color:var(--t2);background:var(--surface2);padding:1px 6px;border-radius:3px}.qc-expanded{margin-top:6px;padding-top:6px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.qc-item{display:flex;flex-direction:column;gap:2px}.qc-item-head{display:flex;align-items:center;gap:6px}.qc-item .q-student{font-size:10px;font-weight:600;color:var(--t2)}.qc-item .qq{font-size:10px;color:var(--t1);line-height:1.35}.qc-item .q-answer{padding:4px 8px;font-size:10px;color:var(--t2);line-height:1.5;background:var(--bg);border-radius:4px;margin-top:2px}.qc-cluster-stats{display:flex;flex-direction:column;gap:4px}.qc-cluster-card{padding:6px 8px;margin:2px 0;border-radius:6px;border:1px solid var(--border);transition:background .12s,border-color .12s}.qc-cluster-card:hover{background:var(--bg)}.qc-cluster-card.other{background:transparent;border-color:transparent}.qc-other-label{font-size:10px;color:var(--t3);font-weight:500}.qc-student-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.qc-cluster-card .qc-student-tag{font-size:10px;font-weight:600;padding:2px 8px;border-radius:4px;cursor:pointer;transition:background .12s,color .12s}.qc-cluster-card .qc-student-tag:hover{background:var(--t1);color:var(--surface)}.obs-panel{display:flex;flex-direction:column;gap:12px}.obs-section{display:flex;flex-direction:column;gap:6px}.obs-section-h{font-size:10px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.5px}.obs-section-h.warn{color:var(--amber)}.obs-chip-grid{display:flex;flex-wrap:wrap;gap:4px}.obs-student-chip{padding:3px 8px;border-radius:5px;font-size:11px;font-weight:600;color:#fff;cursor:default;white-space:nowrap;border-left:3px solid transparent;max-width:80px;overflow:hidden;text-overflow:ellipsis}.obs-student-chip.active{background:var(--blue);border-left-color:var(--blue)}.obs-student-chip.ok{background:var(--green-dot);border-left-color:var(--green)}.obs-student-chip.warn{background:var(--amber-dot);border-left-color:var(--amber)}.obs-student-chip.alert{background:var(--red);border-left-color:var(--red)}.obs-student-chip.idle{background:var(--t3);border-left-color:var(--idle)}.obs-legend{display:flex;gap:8px;flex-wrap:wrap;margin-top:2px}.obs-legend-item{display:flex;align-items:center;gap:3px;font-size:9px;color:var(--t3)}.obs-legend-dot{width:7px;height:7px;border-radius:2px;flex-shrink:0}.obs-legend-dot.active{background:var(--blue)}.obs-legend-dot.ok{background:var(--green-dot)}.obs-legend-dot.warn{background:var(--amber-dot)}.obs-legend-dot.alert{background:var(--red)}.obs-legend-dot.idle{background:var(--t3)}.obs-indicators{display:flex;flex-direction:column;gap:5px}.obs-indicator-row{display:flex;align-items:center;gap:6px}.obs-ind-id{font-size:10px;font-weight:700;color:var(--t2);width:22px;flex-shrink:0}.obs-ind-label{font-size:11px;color:var(--t2);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.obs-ind-bar{flex:1;min-width:40px;height:7px;background:var(--surface2);border-radius:4px;overflow:hidden}.obs-ind-fill{height:100%;background:var(--green-dot);border-radius:4px;transition:width .3s}.obs-ind-count{font-size:11px;font-weight:600;color:var(--t2);width:34px;text-align:right;flex-shrink:0}.obs-misconceptions{display:flex;flex-direction:column;gap:6px}.obs-misconception-card{background:var(--amber-soft);border:1px solid rgba(122,77,14,.15);border-left:3px solid var(--amber);border-radius:6px;padding:8px 10px}.obs-mc-head{display:flex;align-items:center;gap:6px}.obs-mc-id{font-size:10px;font-weight:700;color:var(--amber);flex-shrink:0}.obs-mc-label{font-size:11px;font-weight:600;color:var(--t1);flex:1}.obs-mc-count{font-size:11px;font-weight:700;color:var(--amber);flex-shrink:0}.obs-mc-gist{font-size:10px;color:var(--t3);margin-top:3px;margin-left:28px}.obs-discuss-list{display:flex;flex-direction:column;gap:6px}.obs-discuss-entry{display:flex;flex-direction:column;gap:3px;padding:6px 8px;border-radius:6px;background:var(--surface)}.obs-discuss-head{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.obs-discuss-name{font-size:12px;font-weight:700;color:var(--t1)}.obs-discuss-anchor{font-size:9px;font-weight:600;padding:1px 5px;border-radius:3px}.obs-discuss-anchor.knowledge{background:#22c55e26;color:var(--green-dot)}.obs-discuss-anchor.misconception{background:#f59e0b26;color:var(--amber)}.obs-discuss-depth{font-size:9px;font-weight:600;padding:1px 5px;border-radius:3px;margin-left:auto}.obs-discuss-depth.deep{background:#22c55e26;color:var(--green-dot)}.obs-discuss-depth.partial{background:#3b82f61f;color:var(--blue)}.obs-discuss-depth.surface{background:#9ca3af1f;color:var(--t3)}.obs-discuss-msg{font-size:11px;color:var(--t3);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.obs-alerts{display:flex;flex-direction:column;gap:6px}.obs-alert-card{padding:8px 12px;border-radius:8px;border-left:3px solid var(--border);font-size:11px;line-height:1.5;color:var(--t2)}.obs-alert-card.urgent{background:#dc26260f;border-left-color:var(--red)}.obs-alert-card.warn{background:#f59e0b0f;border-left-color:var(--amber)}.obs-alert-card.info{background:#3b82f60f;border-left-color:var(--blue)}.obs-alert-head{display:flex;align-items:center;gap:6px}.obs-alert-icon{font-weight:600}.obs-alert-card.urgent .obs-alert-icon{color:var(--red)}.obs-alert-card.warn .obs-alert-icon{color:var(--amber)}.obs-alert-card.info .obs-alert-icon{color:var(--blue)}.obs-alert-msg{flex:1}.obs-alert-indicator{font-size:9px;color:var(--t3);margin-top:2px;margin-left:18px}.hcard.green{border-color:#2d661226;background:var(--green-soft)}.hcard.green .hcard-lb{color:var(--green)}.hcard.purple{border-color:#4a438726;background:var(--ai-soft)}.hcard.purple .hcard-lb{color:var(--ai)}.hcard.red{border-color:#94292926;background:var(--red-soft)}.hcard.red .hcard-lb{color:var(--red)}.obs-status-card{border-radius:8px;padding:10px 12px;border:1px solid;display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.obs-status-card .obs-sc-title{font-size:12px;font-weight:700;color:inherit}.obs-status-card .obs-sc-body{font-size:10px;line-height:1.4}.obs-status-card.green{border-color:#2d661233;background:var(--green-soft);color:var(--green)}.obs-status-card.blue{border-color:#1a5fa033;background:var(--blue-soft);color:var(--blue)}.obs-status-card.amber{border-color:#7a4d0e33;background:var(--amber-soft);color:var(--amber)}.obs-status-card.red{border-color:#94292933;background:var(--red-soft);color:var(--red)}.coord-plane{position:relative;aspect-ratio:1;border:1px solid var(--border);border-radius:8px;background:var(--surface);overflow:hidden}.coord-dot{position:absolute;transform:translate(-50%,-50%);width:8px;height:8px;border-radius:50%;cursor:pointer;transition:opacity .15s;z-index:2}.coord-dot:hover{z-index:3;box-shadow:0 0 0 2px #1c1c1a33}.coord-expected{position:absolute;transform:translate(-50%,-50%);width:32px;height:32px;border-radius:50%;background:radial-gradient(circle,rgba(196,138,30,.25) 0%,rgba(196,138,30,.05) 70%,transparent 100%);z-index:1}.coord-exp-label{position:absolute;transform:translate(-50%,-50%);font-size:7px;font-weight:700;color:var(--amber);z-index:1;pointer-events:none}.coord-label{position:absolute;font-size:8px;font-weight:600;color:var(--t3)}.coord-grid-line{position:absolute;background:var(--border)}.coord-axis{position:absolute;background:var(--border-strong)}.coord-tooltip{position:absolute;z-index:10;background:var(--t1);color:var(--surface);font-size:9px;font-weight:600;padding:2px 6px;border-radius:3px;white-space:nowrap;pointer-events:none;transform:translate(-50%,-100%);margin-top:-6px}.obs-funnel{display:flex;height:24px;border-radius:4px;overflow:hidden}.obs-funnel-seg{height:100%;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:600;color:#fff;min-width:2px;transition:width .3s}.obs-funnel-seg.reached{background:var(--green-dot)}.obs-funnel-seg.fallback{background:var(--amber-dot)}.obs-funnel-seg.failed{background:var(--red)}.obs-funnel-legend{display:flex;gap:12px;margin-top:6px}.obs-funnel-legend-item{display:flex;align-items:center;gap:4px;font-size:9px;color:var(--t3)}.obs-funnel-legend-item .dot{width:8px;height:4px;border-radius:2px}.obs-q-card{border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-bottom:6px}.obs-q-head{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;transition:background .12s}.obs-q-head:hover{background:var(--surface2)}.obs-q-rate{font-size:11px;font-weight:700;margin-left:auto}.obs-q-chevron{font-size:9px;color:var(--t3);transition:transform .2s;flex-shrink:0}.obs-q-chevron.open{transform:rotate(90deg)}.obs-q-tag{font-size:8px;font-weight:600;padding:1px 5px;border-radius:3px;background:var(--surface2);color:var(--t2)}.obs-q-body{padding:6px 12px 10px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:4px}.obs-q-students{display:flex;flex-wrap:wrap;gap:3px;margin-top:4px}.obs-round-marker{display:flex;align-items:center;gap:8px;padding:4px 0;margin:4px 0}.obs-round-marker:before,.obs-round-marker:after{content:"";flex:1;height:1px;background:var(--border)}.obs-round-marker span{font-size:9px;font-weight:600;color:var(--t3);white-space:nowrap}.obs-goal-reached{background:var(--green-soft);border:1px solid rgba(45,102,18,.2);border-radius:8px;padding:8px 12px;text-align:center;font-size:11px;font-weight:600;color:var(--green);margin:4px 0}.obs-severity{font-size:9px;font-weight:600;padding:1px 5px;border-radius:3px;color:#fff;display:inline-block}.obs-severity.high{background:var(--red)}.obs-severity.medium{background:var(--amber-dot)}.obs-severity.low{background:var(--t3)}.obs-item-filters{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.obs-item-btn{font-size:10px;padding:2px 8px;border-radius:4px;border:1px solid var(--border);background:var(--surface);cursor:pointer;font-family:inherit;color:var(--t2);transition:all .12s}.obs-item-btn:hover{border-color:var(--border-strong)}.obs-item-btn.active{background:var(--t1);color:var(--surface);border-color:var(--t1)}.obs-stats-grid{display:grid;gap:8px;margin-bottom:12px}.obs-stats-grid.cols-3{grid-template-columns:repeat(3,1fr)}.obs-stats-grid.cols-4{grid-template-columns:repeat(4,1fr)}.obs-stat-cell{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px 10px;text-align:center}.obs-stat-cell .obs-stat-v{font-size:18px;font-weight:700;color:var(--t1);line-height:1}.obs-stat-cell .obs-stat-lb{font-size:8px;color:var(--t3);text-transform:uppercase;letter-spacing:.3px;margin-top:3px}.obs-time-bars{display:flex;flex-direction:column;gap:4px}.obs-time-bar-row{display:flex;align-items:center;gap:6px}.obs-time-bar-label{font-size:10px;font-weight:600;color:var(--t2);width:24px;flex-shrink:0}.obs-time-bar{height:14px;border-radius:3px;min-width:2px;display:flex;align-items:center;padding:0 4px;font-size:8px;font-weight:600;color:#fff}.obs-time-bar-val{font-size:9px;color:var(--t3);width:30px;flex-shrink:0}.obs-item-spread{display:flex;flex-direction:column;gap:4px}.obs-item-spread-row{display:flex;align-items:center;gap:6px}.obs-item-spread-label{font-size:10px;font-weight:600;color:var(--t2);width:60px;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.obs-item-spread-bar{flex:1;height:6px;background:var(--surface2);border-radius:3px;overflow:hidden}.obs-item-spread-fill{height:100%;border-radius:3px;transition:width .3s}.obs-item-spread-val{font-size:9px;color:var(--t3);width:40px;text-align:right;flex-shrink:0}.sc-observe-btn{display:flex;align-items:center;justify-content:center;width:24px;height:20px;border-radius:4px;border:1px solid var(--border);background:var(--surface);cursor:pointer;font-size:11px;transition:all .12s;flex-shrink:0;padding:0}.sc-observe-btn:hover{background:var(--blue-soft);border-color:#1a5fa04d;color:var(--blue)}.obs-section-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}.obs-section-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}.obs-section-tag{font-size:9px;font-weight:600;padding:1px 6px;border-radius:3px;background:var(--teal-soft);color:var(--teal);display:inline-block;width:-moz-fit-content;width:fit-content}.obs-section-func{font-size:10px;color:var(--t2)}.obs-section-metrics{font-size:10px;color:var(--t2);display:flex;flex-direction:column;gap:3px}.obs-section-bar{height:5px;background:var(--surface2);border-radius:3px;overflow:hidden}.obs-section-bar-fill{height:100%;border-radius:3px;transition:width .3s}.obs-accuracy-dist{display:flex;height:20px;border-radius:4px;overflow:hidden;margin-bottom:4px}.obs-accuracy-seg{height:100%;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:600;color:#fff;min-width:2px}.obs-accuracy-seg.high{background:var(--green-dot)}.obs-accuracy-seg.mid{background:var(--blue)}.obs-accuracy-seg.low{background:var(--red)}.obs-cluster-grid{display:flex;flex-direction:column;gap:6px}.obs-cluster-bar{display:flex;align-items:center;gap:8px}.obs-cb-label{font-size:11px;color:var(--t2);width:80px;flex-shrink:0;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.obs-cb-track{flex:1;height:8px;background:var(--surface2);border-radius:4px;position:relative;overflow:hidden}.obs-cb-fill{height:100%;background:var(--teal);border-radius:4px;transition:width .3s ease}.obs-cb-val{font-size:10px;color:var(--t3);width:36px;flex-shrink:0;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.obs-cluster-overall{font-size:11px;color:var(--t3);margin-top:6px;text-align:right}.obs-stu-clusters{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:12px}.obs-sc-dot{font-size:10px;padding:2px 8px;border-radius:4px;background:var(--surface2);color:var(--t3);font-weight:500}.obs-sc-dot.hit{background:var(--teal-soft);color:var(--teal)}.overview{border-left:1px solid var(--border);background:var(--surface);display:flex;flex-direction:column;overflow:hidden}.ov-body{flex:1;overflow-y:auto;display:flex;flex-direction:column}.queue-section{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.queue-h{display:flex;align-items:center;gap:6px;padding:10px 14px;border-bottom:1px solid var(--border);flex-shrink:0}.queue-h .lb{font-size:10px;font-weight:700;color:var(--t2);letter-spacing:.3px}.queue-h .cnt{font-size:9px;color:var(--t3);background:var(--surface2);padding:1px 5px;border-radius:8px;font-weight:600;margin-left:auto}.queue{flex:1;overflow-y:auto;padding:4px 8px 8px}.q-step-h{display:flex;align-items:center;gap:6px;padding:8px 6px 4px;font-size:9px;font-weight:700;color:var(--t2);position:sticky;top:0;background:var(--surface);z-index:1}.q-step-h .sn{width:14px;height:14px;border-radius:50%;font-size:8px;font-weight:700;display:flex;align-items:center;justify-content:center}.q-step-h .sn.task{background:var(--t1);color:var(--surface)}.q-step-h .step-name{flex:1}.q-step-h .tot{font-weight:500;color:var(--t3)}.qrow{display:flex;align-items:flex-start;gap:5px;padding:4px 6px 4px 26px;border-radius:4px;cursor:pointer}.qrow:hover{background:var(--bg)}.qrow .qn{font-size:11px;font-weight:700;color:var(--t1);min-width:16px;text-align:right;flex-shrink:0}.qrow.hi .qn{color:var(--amber)}.qrow .qq{font-size:10px;font-weight:500;color:var(--t1);line-height:1.35;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.qrow .qmeta{font-size:8px;color:var(--t3);flex-shrink:0}.qrow .trend{color:var(--amber);font-weight:700}.qrow .hi-tag{font-size:7px;font-weight:700;color:var(--amber);background:var(--amber-soft);padding:1px 4px;border-radius:2px;flex-shrink:0;margin-top:1px}.qrow .q-student{font-size:10px;font-weight:600;color:var(--t2);flex-shrink:0;min-width:48px}.cat-badge{display:inline-block;padding:1px 6px;border-radius:4px;font-size:11px;font-weight:500}.cat-badge.concept{background:var(--blue-soft);color:var(--blue)}.cat-badge.strategy{background:var(--green-soft);color:var(--green)}.cat-badge.content{background:var(--ai-soft);color:var(--ai)}.cat-badge.task-help{background:var(--amber-soft);color:var(--amber)}.cat-badge.other{background:var(--surface2);color:var(--t3)}.q-answer{padding:6px 12px 8px 26px;font-size:11px;color:var(--t2);line-height:1.55;background:var(--bg);border-radius:0 0 4px 4px;margin:-2px 6px 4px}.q-answer-label{font-size:9px;font-weight:600;color:var(--ai);text-transform:uppercase;letter-spacing:.3px;display:block;margin-bottom:3px}.right-tab-bar{display:flex;gap:0;border-bottom:1px solid var(--border);flex-shrink:0;padding:0 8px}.right-tab{background:none;border:none;border-bottom:2px solid transparent;padding:8px 10px;font-size:10px;font-weight:600;color:var(--t3);cursor:pointer;display:flex;align-items:center;gap:4px;white-space:nowrap;font-family:inherit}.right-tab:hover{color:var(--t2)}.right-tab.active{color:var(--t1);border-bottom-color:var(--t1)}.right-tab-cnt{font-size:9px;background:var(--surface2);padding:1px 5px;border-radius:8px;font-weight:600}.right-tab-cnt.depth{background:var(--gold-bg);color:var(--gold)}.summary-expand-btn{width:100%;padding:7px 12px;font-size:11px;font-weight:600;color:var(--blue);background:var(--blue-soft);border:1px solid rgba(26,95,160,.15);border-radius:6px;cursor:pointer;text-align:center;transition:all .15s;font-family:inherit}.summary-expand-btn:hover{background:#1a5fa01f;border-color:#1a5fa04d}.summary-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sm-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}.sm-label{font-size:9px;font-weight:600;color:var(--t3);text-transform:uppercase;letter-spacing:.4px}.sm-value{font-size:20px;font-weight:700;line-height:1.2;letter-spacing:-.3px}.sm-sub{font-size:9px;color:var(--t3)}.quadrant-group{display:flex;flex-direction:column;gap:6px}.qg-header{font-size:10px;font-weight:600;color:var(--t3);display:flex;align-items:center;gap:5px}.qg-dot{width:6px;height:6px;border-radius:2px;flex-shrink:0}.qg-students{display:flex;flex-wrap:wrap;gap:3px}.kp-section{display:flex;flex-direction:column;gap:6px}.kp-header{font-size:10px;font-weight:600;color:var(--t3);text-transform:uppercase;letter-spacing:.4px}.kp-bar-row{display:flex;align-items:center;gap:8px}.kp-label{font-size:10px;color:var(--t2);width:90px;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kp-bar-track{flex:1;height:6px;background:var(--surface2);border-radius:3px;overflow:hidden}.kp-bar-fill{height:100%;border-radius:3px;transition:width .3s}.kp-pct{font-size:10px;font-weight:600;color:var(--t2);width:32px;text-align:right}.qc-recommend-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:10px 12px;cursor:pointer;transition:border-color .15s}.qc-recommend-card:hover{border-color:var(--border-strong)}.qcr-head{display:flex;align-items:center;gap:8px;margin-bottom:4px}.qcr-name{font-size:12px;font-weight:600;color:var(--t1)}.qcr-intent{font-size:9px;font-weight:600;padding:1px 6px;border-radius:3px}.qcr-intent.showcase{background:var(--green-soft);color:var(--green)}.qcr-intent.verify{background:var(--blue-soft);color:var(--blue)}.qcr-intent.expose{background:var(--amber-soft);color:var(--amber)}.qcr-reason{font-size:10px;color:var(--t2);line-height:1.5}.so-root{display:flex;flex-direction:column;height:100%;padding:20px 28px;overflow-y:auto;gap:18px}.so-header,.so-header-left{display:flex;align-items:center;gap:12px}.so-title{font-size:16px;font-weight:700;color:var(--t1)}.so-progress{font-size:11px;color:var(--t3);font-weight:500;margin-left:auto}.so-close{width:28px;height:28px;border-radius:6px;border:1px solid var(--border);background:var(--surface);cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;color:var(--t2)}.so-close:hover{background:var(--surface2);color:var(--t1)}.so-metrics-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.so-matrix-row{display:grid;grid-template-columns:1.55fr 1fr;gap:16px;min-height:320px}.so-matrix-wrap{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;padding:12px}.so-matrix-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.so-matrix-label{font-size:12px;font-weight:600;color:var(--t2)}.so-zoom-controls{display:flex;align-items:center;gap:4px}.so-zoom-controls button{height:22px;padding:0 8px;border-radius:5px;border:1px solid var(--border);background:var(--surface);cursor:pointer;font-size:11px;color:var(--t2);font-family:inherit}.so-zoom-controls button:hover{background:var(--surface2);color:var(--t1)}.so-zoom-level{font-size:10px;color:var(--t3);min-width:32px;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.so-matrix-chart{position:relative;flex:1;min-height:260px}.so-matrix-svg{width:100%;height:100%;user-select:none}.so-matrix-hints{display:flex;justify-content:space-between;padding:6px 2px 0;font-size:10px;color:var(--t3)}.so-quadrant-zones{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;pointer-events:none}.so-qzone{pointer-events:auto;cursor:zoom-in}.so-qzone-star{grid-column:2;grid-row:1}.so-qzone-struggling{grid-column:1;grid-row:1}.so-qzone-coasting{grid-column:2;grid-row:2}.so-qzone-at-risk{grid-column:1;grid-row:2}.so-detail{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px;display:flex;flex-direction:column}.so-detail-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1}.so-detail-content{display:flex;flex-direction:column;gap:14px}.so-detail-head{display:flex;align-items:center;gap:8px}.so-detail-name{font-size:15px;font-weight:700;color:var(--t1)}.so-detail-name:hover{text-decoration:underline}.so-detail-tag{font-size:9px;font-weight:600;padding:2px 7px;border-radius:4px}.so-detail-section{display:flex;flex-direction:column;gap:6px}.so-detail-section-h{font-size:10px;font-weight:600;color:var(--t3);letter-spacing:.3px}.so-weak-list{display:flex;flex-direction:column;gap:6px}.so-weak-item{padding-left:2px}.so-weak-name{font-size:11px;font-weight:600;color:var(--t1)}.so-weak-name:before{content:"• ";color:var(--red)}.so-weak-detail{font-size:10px;color:var(--t3);padding-left:10px;margin-top:1px}.so-detail-reason{font-size:11px;color:var(--t2);line-height:1.6}.so-detail-open-btn{margin-top:auto;padding:8px 12px;font-size:11px;font-weight:600;color:var(--t1);background:transparent;border:1px solid var(--border);border-radius:6px;cursor:pointer;text-align:center}.so-detail-open-btn:hover{background:var(--surface2)}.so-action-row{display:grid;grid-template-columns:1.3fr 1fr;gap:16px}.so-action-col{display:flex;flex-direction:column;gap:8px}.so-section-h{font-size:10px;font-weight:600;color:var(--t3);text-transform:uppercase;letter-spacing:.4px;margin-bottom:2px}.so-empty-hint{font-size:11px;color:var(--t3)}.so-reteach-card{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:8px 12px;border-radius:6px;border:1px solid var(--border)}.so-reteach-card.danger{background:var(--red-soft);border-color:#94292926}.so-reteach-card.warn{background:var(--amber-soft);border-color:#7a4d0e26}.so-reteach-dim{font-size:11px;font-weight:600;color:var(--t1)}.so-reteach-pct{font-size:10px;font-weight:600}.so-reteach-card.danger .so-reteach-pct{color:var(--red)}.so-reteach-card.warn .so-reteach-pct{color:var(--amber)}.so-kp-section{display:flex;flex-direction:column;gap:8px}.so-kp-list{display:flex;flex-direction:column;gap:5px}.st-transition{display:flex;flex-direction:column;gap:6px;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:8px}.st-transition-row{display:flex;align-items:baseline;gap:6px;font-size:11px;color:var(--t2);line-height:1.5}.st-transition-icon{flex-shrink:0;width:16px;height:16px;border-radius:3px;display:inline-flex;align-items:center;justify-content:center;font-size:8px;font-weight:700;color:#fff}.st-icon-timing{background:var(--red)}.st-icon-timing:before{content:"T"}.st-icon-question{background:var(--blue)}.st-icon-question:before{content:"Q"}.st-icon-ai{background:var(--ai)}.st-icon-ai:before{content:"AI";font-size:7px}.st-transition-btn{margin-top:4px;padding:6px 10px;font-size:10px;font-weight:600;color:var(--t3);background:var(--surface2);border:1px solid var(--border);border-radius:5px;cursor:not-allowed;opacity:.6}.so-transition-section{display:flex;flex-direction:column;gap:10px}.so-transition-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:12px 14px;display:flex;flex-direction:column;gap:6px}.so-transition-label{font-size:10px;font-weight:600;color:var(--t3);letter-spacing:.3px}.so-transition-main{font-size:13px;font-weight:600;color:var(--t1)}.so-transition-detail{font-size:11px;color:var(--t2)}.so-transition-quote{display:flex;align-items:baseline;gap:8px;font-size:11px;color:var(--t2);line-height:1.6;padding:4px 0}.so-transition-step{flex-shrink:0;font-size:10px;font-weight:600;color:var(--t3);min-width:46px}.so-transition-q{font-style:italic;color:var(--t1)}.so-ai-heat-row{display:flex;align-items:center;gap:8px}.so-ai-heat-name{font-size:10px;font-weight:600;color:var(--t2);width:50px;flex-shrink:0}.so-ai-heat-bar{height:100%;border-radius:3px;background:var(--ai);transition:width .3s}.so-ai-heat-stat{font-size:10px;color:var(--t3);white-space:nowrap;min-width:70px;text-align:right}.so-depth-row{display:flex;align-items:center;gap:8px;padding:4px 6px;cursor:pointer;border-radius:4px}.so-depth-row:hover{background:var(--surface2)}.so-depth-rank{width:18px;height:18px;border-radius:50%;background:var(--amber-soft);color:var(--amber);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.so-depth-name{font-size:12px;font-weight:600;color:var(--t1);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.so-depth-stats{display:flex;gap:6px;flex-shrink:0}.so-depth-hl{font-size:10px;color:var(--amber);font-weight:600}.so-depth-tp{font-size:10px;color:var(--green);font-weight:600}.coach-panel{padding:8px 14px;display:flex;flex-direction:column;gap:16px}.coach-section-h{font-size:11px;font-weight:700;color:var(--t2);letter-spacing:.3px;margin-bottom:6px;display:flex;align-items:center;gap:8px}.coach-llm-ts{font-weight:400;font-size:10px;color:var(--t3)}.coach-tips{display:flex;flex-direction:column;gap:6px}.coach-tip{padding:8px 10px;border-radius:6px;border-left:3px solid var(--t3);background:var(--surface)}.coach-tip.urgent{border-left-color:var(--red);background:var(--red-soft)}.coach-tip.important{border-left-color:var(--amber);background:var(--amber-soft)}.coach-tip.info{border-left-color:var(--t3);background:var(--surface)}.coach-tip-title{font-size:12px;font-weight:600;color:var(--t1);margin-bottom:2px}.coach-tip-detail{font-size:11px;color:var(--t2);line-height:1.4}.coach-tip-action{font-size:11px;color:var(--blue);margin-top:4px;font-weight:500}.coach-highlights{display:flex;flex-direction:column;gap:6px}.coach-highlight{padding:8px 10px;border-radius:6px;border-left:3px solid var(--amber-dot);background:#c48a1e0f;cursor:pointer;transition:background .15s}.coach-highlight:hover{background:#c48a1e1a}.coach-highlight-top{display:flex;align-items:center;gap:6px;margin-bottom:3px}.coach-highlight-name{font-size:11px;font-weight:600;color:var(--amber);cursor:pointer}.coach-highlight-name:hover{text-decoration:underline}.coach-highlight-step{font-size:10px;color:var(--t3)}.coach-highlight-gist{font-size:12px;color:var(--t1);line-height:1.4}.coach-highlight-msg{font-size:11px;color:var(--t2);margin-top:4px;padding:6px 8px;background:#00000008;border-radius:4px;font-style:italic;line-height:1.4}.coach-llm-section{display:flex;flex-direction:column;gap:6px}.coach-llm-card{padding:8px 10px;border-radius:6px;border-left:3px solid var(--blue);background:var(--blue-soft)}.coach-candidates{display:flex;flex-direction:column;gap:6px}.coach-candidate{padding:8px 10px;border-radius:6px;background:var(--surface);cursor:pointer;transition:background .15s}.coach-candidate:hover{background:var(--surface2)}.coach-candidate-top{display:flex;align-items:center;gap:6px;margin-bottom:3px}.coach-candidate-name{font-size:11px;font-weight:600;color:var(--t1)}.coach-candidate-intent{font-size:10px;font-weight:600;padding:1px 6px;border-radius:3px}.coach-candidate-intent.showcase{color:var(--green);background:var(--green-soft)}.coach-candidate-intent.verify{color:var(--blue);background:var(--blue-soft)}.coach-candidate-intent.expose{color:var(--amber);background:var(--amber-soft)}.coach-candidate-reason{font-size:11px;color:var(--t2);line-height:1.4}.coach-candidate-step{font-size:10px;font-weight:600;color:var(--t3)}.coach-candidate-cat{font-size:10px;color:var(--t3)}.coach-candidate-question{font-size:12px;color:var(--t1);font-style:italic;line-height:1.4;margin-top:2px}.qc-student-tag.highlight{border-color:var(--amber-dot);color:var(--amber);font-weight:600}.qc-student-tag.highlight:after{content:" ✦";color:var(--amber-dot);font-size:9px}.qc-cluster-card.beyond{border-left:3px solid var(--amber-dot);background:var(--amber-soft)}.beyond-label{font-size:10px;font-weight:700;color:var(--amber);display:flex;align-items:center;gap:4px}.beyond-label:before{content:"✦";font-size:12px}.hl-gist{font-size:11px;color:var(--t2);line-height:1.5;font-style:italic}.hl-meta{font-size:10px;color:var(--t3);margin-bottom:2px;display:flex;gap:6px}.hl-meta .name{font-weight:600;color:var(--amber)}.discuss-feed{display:flex;flex-direction:column;gap:4px;margin-top:8px}.discuss-feed-h{font-size:11px;font-weight:700;color:var(--t2);padding:6px 0 4px}.df-entry{padding:5px 0;border-bottom:1px solid var(--border)}.df-entry:last-child{border-bottom:none}.df-meta{font-size:10px;color:var(--t3);display:flex;gap:6px;margin-bottom:2px}.df-meta .name{font-weight:600;color:var(--t1)}.df-msg{font-size:11px;color:var(--t2);line-height:1.5}.status-alert-list{display:flex;flex-direction:column;gap:2px}.alert-item{display:flex;gap:8px;padding:7px 0;border-bottom:1px solid var(--border);align-items:flex-start}.alert-item:last-child{border-bottom:none}.alert-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:3px}.alert-dot.urgent{background:var(--red)}.alert-dot.warn{background:var(--amber-dot)}.alert-dot.info{background:var(--green-dot)}.alert-text{flex:1}.alert-title{font-size:11px;font-weight:600}.alert-source{font-size:10px;color:var(--t3);margin-top:1px}.insight-section{padding-top:8px;border-top:1px solid var(--border);margin-top:8px}.insight-card{background:var(--ai-soft);border-radius:8px;padding:8px 10px;margin-bottom:6px}.insight-header{font-size:10px;font-weight:700;color:var(--ai);margin-bottom:4px;display:flex;justify-content:space-between}.insight-body{font-size:11px;color:var(--t2);line-height:1.5}.insight-action{font-size:10px;font-weight:600;color:var(--ai);margin-top:4px}.indicator-section{padding-top:8px;border-top:1px solid var(--border);margin-top:8px}.indicator-bar{display:flex;align-items:center;gap:6px;padding:4px 0}.indicator-label{font-size:10px;font-weight:600;width:88px;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.indicator-label.knowledge{color:var(--green)}.indicator-label.misconception{color:var(--red)}.bar-track{flex:1;height:6px;background:var(--surface2);border-radius:3px;overflow:hidden}.bar-fill{height:100%;border-radius:3px}.bar-fill.knowledge{background:var(--green)}.bar-fill.misconception{background:var(--red)}.indicator-pct{font-size:10px;font-weight:600;color:var(--t3);width:32px;text-align:right}.weak-dim-section{margin-top:10px}.weak-dim{display:flex;align-items:center;gap:6px;padding:4px 0}.weak-dim .dim-label{font-size:10px;font-weight:600;width:72px;flex-shrink:0}.weak-dim .dim-bar{flex:1;height:6px;background:var(--surface2);border-radius:3px;overflow:hidden}.weak-dim .dim-fill{height:100%;background:var(--amber);border-radius:3px}.weak-dim .dim-pct{font-size:10px;font-weight:600;color:var(--amber);width:28px;text-align:right}.status-section{margin-bottom:12px}.status-section-h{font-size:11px;font-weight:700;color:var(--t2);padding:6px 0 4px;display:flex;justify-content:space-between;align-items:center}.status-section-h .cnt{font-size:10px;color:var(--t3);font-weight:500}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;border-bottom:1px solid var(--border);background:var(--surface)}.panel-header .title{font-size:13px;font-weight:700;display:flex;align-items:center;gap:4px}.expand-btn{font-size:11px;color:var(--blue);cursor:pointer;display:flex;align-items:center;gap:3px;background:none;border:none;font-family:inherit;font-weight:500;padding:4px 8px;border-radius:4px;transition:background .12s}.expand-btn:hover{background:var(--surface2)}.df-entry.is-highlight{background:var(--amber-soft);border-radius:4px;padding:5px 6px;margin:2px -6px}.df-entry.is-highlight .df-msg{color:var(--amber);font-weight:600}.df-entry.is-highlight .df-msg:after{content:" ✦";color:var(--amber-dot);font-weight:700}.df-time{font-size:10px;color:var(--t3);font-weight:500;flex-shrink:0}.feed-more{font-size:10px;font-weight:600;color:var(--blue);text-align:right;padding-top:6px;cursor:pointer}.feed-more:hover{text-decoration:underline}.quadrant-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:6px 0}.quadrant{background:var(--surface2);border-radius:8px;padding:6px 8px;min-height:48px}.quadrant-title{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:3px}.quadrant.star .quadrant-title{color:var(--green)}.quadrant.struggling .quadrant-title{color:var(--amber)}.quadrant.coasting .quadrant-title{color:var(--blue)}.quadrant.atrisk .quadrant-title{color:var(--red)}.quadrant-names{font-size:10px;color:var(--t2);display:flex;flex-wrap:wrap;gap:3px}.quadrant-names .q-chip{padding:1px 6px;border-radius:4px;background:var(--surface);cursor:pointer;font-weight:500}.quadrant-names .q-chip:hover{color:var(--t1);box-shadow:0 0 0 1px var(--border-strong)}.summary-row{display:flex;justify-content:space-around;align-items:center;padding:8px 0;border-bottom:1px solid var(--border);margin-bottom:6px}.summary-stat{text-align:center}.summary-stat .val{font-size:18px;font-weight:800}.summary-stat .lbl{font-size:10px;color:var(--t3);font-weight:500}.q-candidate{display:flex;gap:8px;align-items:flex-start;padding:5px 0;border-bottom:1px solid var(--border);cursor:pointer}.q-candidate:last-child{border-bottom:none}.q-candidate:hover{background:var(--surface2);border-radius:4px}.q-tag{font-size:9px;font-weight:700;padding:2px 6px;border-radius:4px;flex-shrink:0;text-transform:uppercase;letter-spacing:.3px}.q-tag.clarify,.q-tag.expose{background:var(--amber-soft);color:var(--amber)}.q-tag.push,.q-tag.verify{background:#1a5fa01a;color:var(--blue)}.q-tag.showcase{background:var(--green-soft);color:var(--green)}.q-info .q-name{font-size:11px;font-weight:600}.q-info .q-reason{font-size:10px;color:var(--t3)}.indicator-note{font-size:9px;color:var(--t3);margin-top:6px;line-height:1.4}.drawer-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--border);background:var(--surface2);flex-shrink:0}.drawer-header .title{font-size:15px;font-weight:700}.drawer-close{font-size:11px;color:var(--t3);cursor:pointer;background:none;border:none;font-family:inherit;padding:4px 8px;border-radius:4px}.drawer-close:hover{background:var(--surface);color:var(--t1)}.drawer-body{padding:16px 20px;overflow-y:auto;flex:1}.drawer-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px}.subsection{font-size:10px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.5px;padding:8px 0 4px;display:flex;align-items:center;gap:6px}.subsection .icon{font-size:12px}.evidence{font-size:10px;color:var(--t2);background:var(--surface);border-left:2px solid var(--ai-dot);padding:3px 8px;margin:3px 0;line-height:1.4}.beyond-gist{font-size:10px;color:var(--t2);font-style:italic;padding:2px 0 2px 8px;border-left:2px solid var(--amber-dot);margin:3px 0;line-height:1.4}.highlight-full-card{background:var(--amber-soft);border-radius:8px;padding:10px 12px;margin-bottom:8px;border:1px solid rgba(196,138,30,.15)}.highlight-full-card .hf-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.highlight-full-card .hf-name{font-size:11px;font-weight:700;color:var(--amber)}.highlight-full-card .hf-time{font-size:10px;color:var(--t3)}.highlight-full-card .hf-gist{font-size:11px;font-weight:600;color:var(--t1);margin-bottom:4px}.highlight-full-card .hf-evidence{font-size:10px;color:var(--t2);background:var(--surface);border-left:2px solid var(--amber-dot);padding:4px 8px;margin:4px 0;line-height:1.4}.highlight-full-card .hf-message{font-size:10px;color:var(--t3);margin-top:4px;line-height:1.4}.matrix-table{width:100%;border-collapse:collapse;font-size:11px}.matrix-table th{text-align:left;font-weight:700;padding:6px 8px;border-bottom:1px solid var(--border-strong);font-size:10px;color:var(--t3)}.matrix-table td{padding:5px 8px;border-bottom:1px solid var(--border)}.matrix-table .hit{color:var(--green);font-weight:600}.matrix-table .miss{color:var(--t3)}.matrix-table .hit-highlight{color:var(--amber);font-weight:700}.matrix-table .student-name{font-weight:600;cursor:pointer}.matrix-table .student-name:hover{color:var(--blue)}.rel-diagram{background:var(--surface2);border-radius:8px;padding:12px;margin:12px 0;font-size:11px}.rel-diagram .rel-title{font-size:10px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.rel-path{display:flex;align-items:center;gap:6px;padding:4px 0;font-size:10px;flex-wrap:wrap}.rel-path .rel-arrow{color:var(--t3);flex-shrink:0}.rel-path .rel-cond{font-weight:600;padding:1px 6px;border-radius:4px;flex-shrink:0}.rel-path .rel-cond.normal{background:#4a43871a;color:var(--ai)}.rel-path .rel-cond.cluster-hl{background:var(--green-soft);color:var(--green)}.rel-path .rel-cond.beyond{background:var(--amber-soft);color:var(--amber)}.rel-path .rel-result{color:var(--t2)}.drawer-timeline{position:relative;padding-left:16px;border-left:2px solid var(--border-strong)}.drawer-tl-item{position:relative;padding:6px 0 6px 12px}.drawer-tl-item:before{content:"";position:absolute;left:-21px;top:10px;width:8px;height:8px;border-radius:50%;background:var(--surface2);border:2px solid var(--border-strong)}.drawer-tl-item.discuss:before{background:#4a438726;border-color:var(--ai)}.drawer-tl-item.exercise:before{background:var(--green-soft);border-color:var(--green)}.drawer-tl-item.alert:before{background:var(--red-soft);border-color:var(--red)}.drawer-tl-item.highlight:before{background:var(--amber-soft);border-color:var(--amber-dot)}.drawer-tl-item.highlight .drawer-tl-text{color:var(--amber);font-weight:600}.drawer-tl-time{font-size:10px;color:var(--t3)}.drawer-tl-text{font-size:11px}.drawer-tl-text strong{color:var(--t1)}.tl-gist-tag{display:inline-block;font-size:9px;font-weight:600;color:var(--amber);background:var(--amber-soft);padding:1px 6px;border-radius:4px;margin-left:4px}.status-chips{display:flex;flex-wrap:wrap;gap:4px}.s-chip{font-size:10px;font-weight:600;padding:2px 8px;border-radius:6px;cursor:pointer}.s-chip:hover{opacity:.8}.s-chip.active{background:var(--green-soft);color:var(--green)}.s-chip.struggling{background:var(--amber-soft);color:var(--amber)}.s-chip.stuck{background:var(--red-soft);color:var(--red)}.s-chip.cruising{background:#1a5fa01a;color:var(--blue)}.s-chip.idle{background:var(--surface2);color:var(--idle)}.highlight-badge{font-size:10px;font-weight:700;color:var(--amber);background:var(--amber-soft);padding:1px 7px;border-radius:8px;margin-left:6px}.drawer-divider{height:1px;background:var(--border);margin:12px 0}.dl-header{display:flex;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid var(--border);background:var(--surface)}.dl-header-icon{font-size:14px}.dl-header-title{font-size:14px;font-weight:700;color:var(--t1)}.dl-header-count{font-size:11px;color:var(--t3);margin-left:auto}.dl-stat-legend{font-size:10px;color:var(--t3);display:inline-flex;align-items:center;gap:8px}.dl-stat-legend-item{display:inline-flex;align-items:center;gap:3px}.dl-stat-hl{font-size:10px;font-weight:600;display:inline-flex;align-items:center;gap:2px;padding:2px 6px;border-radius:8px;color:var(--amber);background:var(--amber-soft)}.dl-stat-tp{font-size:10px;font-weight:600;display:inline-flex;align-items:center;gap:2px;padding:2px 6px;border-radius:8px;color:var(--green);background:var(--green-soft)}.dl-stat-hl.legend,.dl-stat-tp.legend{font-size:9px;padding:1px 4px}.dl-list{padding:4px 12px 8px}.dl-row{display:flex;align-items:center;gap:10px;padding:8px 6px;border-radius:6px;cursor:pointer}.dl-row:hover{background:var(--surface2)}.dl-rank{width:22px;height:22px;border-radius:50%;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.dl-rank--1{background:var(--gold);color:#fff}.dl-rank--2{background:var(--silver);color:#fff}.dl-rank--3{background:var(--bronze);color:#fff}.dl-rank--4{background:#7a8fb5;color:#fff}.dl-rank--5{background:#7d9e6a;color:#fff}.dl-rank--default{background:var(--surface2);color:var(--t2)}.dl-avatar{width:32px;height:32px;border-radius:50%;font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}.dl-avatar--1{background:linear-gradient(135deg,#d4a534,#c48a1e);border:2px solid var(--gold-border)}.dl-avatar--2{background:linear-gradient(135deg,#9ca3af,#6b7280);border:2px solid var(--silver-border)}.dl-avatar--3{background:linear-gradient(135deg,#d97706,#92400e);border:2px solid var(--bronze-border)}.dl-avatar--4{background:linear-gradient(135deg,#8b9dc3,#5b7ba5);border:2px solid #7a8fb5}.dl-avatar--5{background:linear-gradient(135deg,#a3b18a,#6b8e5a);border:2px solid #7d9e6a}.dl-avatar--default{background:var(--surface2);color:var(--t2)}.dl-name{font-size:13px;font-weight:600;color:var(--t1);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-stats{display:flex;gap:6px;flex-shrink:0}.dl-expand-arrow{font-size:10px;color:var(--t3);transition:transform .15s;flex-shrink:0}.dl-expand-arrow.open{transform:rotate(90deg)}.dl-expand{background:var(--bg);border-radius:6px;padding:10px;margin:4px 6px 8px}.dl-ai-tag{display:inline-block;font-size:9px;font-weight:700;color:var(--ai);background:var(--ai-soft);padding:1px 5px;border-radius:3px;margin-right:3px;vertical-align:middle}.dl-ai-summary{font-size:11px;color:var(--t2);line-height:1.5;margin-bottom:6px}.dl-convo{display:flex;flex-direction:column;gap:6px}.dl-convo-bubble{font-size:11px;line-height:1.5;max-width:85%;padding:6px 10px;border-radius:8px;word-break:break-word}.dl-convo-bubble--ai{align-self:flex-start;background:var(--ai-soft);color:var(--t1)}.dl-convo-bubble--student{align-self:flex-end;background:var(--amber-soft);color:var(--t1)}.dl-convo-role{font-size:9px;font-weight:700;color:var(--t3);margin-bottom:2px}.dl-convo-role--ai{text-align:left}.dl-convo-role--student{text-align:right}.dl-convo-hl-badge{display:inline-block;font-size:9px;font-weight:700;color:var(--amber);background:var(--amber-soft);border:1px solid rgba(196,138,30,.2);padding:0 4px;border-radius:3px;margin-right:4px;vertical-align:middle}.dl-convo-insight{border-left:2px solid var(--amber-dot);background:var(--surface);padding:4px 8px;margin-top:6px;border-radius:0 4px 4px 0;font-size:10px;color:var(--t2);line-height:1.5}.dl-convo-insight-label{font-size:9px;font-weight:700;color:var(--amber);margin-bottom:2px}.dl-refresh-hint{font-size:9px;color:var(--t3);text-align:center;padding:2px 0 6px}.dl-expand-btn{width:100%;padding:7px 12px;font-size:11px;font-weight:600;color:var(--blue);background:var(--blue-soft);border:1px solid rgba(26,95,160,.15);border-radius:6px;cursor:pointer;text-align:center;font-family:inherit;margin-top:4px}.dl-expand-btn:hover{background:#1a5fa01f;border-color:#1a5fa04d}.dl-empty{padding:40px 24px;text-align:center}.dl-empty-icon{font-size:32px;margin-bottom:12px;opacity:.4}.dl-empty-title{font-size:14px;font-weight:600;color:var(--t2);margin-bottom:4px}.dl-empty-desc{font-size:12px;color:var(--t3);line-height:1.6}.dl-few-list{padding:12px}.dl-few-row{display:flex;align-items:center;gap:10px;padding:10px 8px;border-radius:8px;margin-bottom:8px}.dl-few-row:last-child{margin-bottom:0}.dl-few-row:first-child{background:var(--gold-bg)}.dl-few-row:nth-child(2){background:var(--silver-bg)}.dl-few-summary{font-size:11px;color:var(--t2);line-height:1.5;padding:2px 8px 0}.dl-drawer-root{display:flex;flex-direction:column;height:100%}.dl-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--border);background:var(--surface2);flex-shrink:0}.dl-drawer-title{font-size:15px;font-weight:700;color:var(--t1);display:flex;align-items:center;gap:8px}.dl-drawer-meta{font-size:11px;color:var(--t3);font-weight:400}.dl-drawer-close{font-size:11px;color:var(--t3);cursor:pointer;background:none;border:1px solid var(--border);border-radius:6px;padding:4px 10px;font-family:inherit}.dl-drawer-close:hover{background:var(--surface);color:var(--t1)}.dl-drawer-body{padding:16px 20px;overflow-y:auto;flex:1}.dl-drawer-list{display:flex;flex-direction:column;gap:4px}.dl-drawer-row{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:8px;cursor:pointer;transition:background .12s}.dl-drawer-row:hover{background:var(--surface2)}.dl-drawer-row--active{background:var(--gold-bg);border:1px solid rgba(196,138,30,.15)}.dl-drawer-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;color:#fff;flex-shrink:0}.dl-drawer-info{flex:1;min-width:0}.dl-drawer-name-row{display:flex;align-items:center;gap:6px}.dl-drawer-rank-num{font-size:11px;font-weight:800;color:#fff;width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.dl-drawer-name{font-size:14px;font-weight:700;color:var(--t1)}.dl-drawer-summary{font-size:12px;color:var(--t2);margin-top:3px;line-height:1.5}.dl-drawer-stats{display:flex;gap:6px;flex-shrink:0;padding-top:2px}.dl-d1-root{display:flex;flex-direction:column;height:100%}.dl-d1-header{display:flex;align-items:center;gap:10px;padding:12px 20px;border-bottom:1px solid var(--border);background:var(--surface2);flex-shrink:0}.dl-d1-title{font-size:15px;font-weight:700;color:var(--t1);flex:1;display:flex;align-items:center;gap:8px}.dl-d1-back{font-size:12px;color:var(--t2);cursor:pointer;background:none;border:1px solid var(--border);border-radius:6px;padding:4px 10px;display:flex;align-items:center;gap:4px;font-family:inherit}.dl-d1-back:hover{background:var(--surface);color:var(--t1)}.dl-d1-body{padding:16px 20px;overflow-y:auto;flex:1}.dl-d1-student-bar{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--gold-bg);border-radius:8px;margin-bottom:16px}.dl-d1-student-summary{font-size:12px;color:var(--t2);line-height:1.5;flex:1}.dl-d1-student-name{font-weight:700;font-size:14px;margin-bottom:2px}.dl-d1-student-meta{font-size:11px;font-weight:400;color:var(--t3)}.dl-d1-tp-label{font-size:11px;font-weight:700;color:var(--t2);margin-bottom:6px}.dl-d1-tp-checklist{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.dl-d1-tp-item{display:flex;align-items:center;gap:4px;font-size:11px;padding:3px 8px;border-radius:4px;border:1px solid var(--border)}.dl-d1-tp-item--hit{background:var(--green-soft);border-color:#2d661226;color:var(--green)}.dl-d1-tp-item--miss{background:var(--surface);color:var(--t3)}.dl-d1-discuss-section{margin-bottom:16px;background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;padding:14px 16px}.dl-d1-discuss-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid var(--amber-soft)}.dl-d1-discuss-step{font-size:10px;font-weight:700;color:#fff;background:var(--amber-dot);padding:1px 6px;border-radius:3px;flex-shrink:0}.dl-d1-discuss-title{font-size:13px;font-weight:700;color:var(--t1);flex:1}.dl-d1-discuss-meta{font-size:11px;color:var(--t3)}.dl-d1-convo .dl-convo-bubble{font-size:13px;padding:8px 12px;border-radius:10px}.dl-d1-convo .dl-convo-role{font-size:10px}.dl-d1-convo .dl-convo-insight{font-size:12px;padding:8px 12px}.dl-d1-convo .dl-convo-hl-badge{font-size:10px}.dl-msg-badges{display:flex;flex-wrap:wrap;gap:3px;margin-top:4px}.dl-badge-tp{display:inline-flex;align-items:center;gap:2px;font-size:9px;font-weight:600;color:var(--green);background:var(--green-soft);padding:1px 5px;border-radius:3px}.dl-badge-cluster{display:inline-flex;align-items:center;gap:2px;font-size:9px;font-weight:600;color:#4338ca;background:#eef2ff;padding:1px 5px;border-radius:3px}.dl-badge-evidence{font-size:10px;color:var(--t3);font-style:italic;margin-top:2px;padding-left:2px;border-left:2px solid var(--border-strong);line-height:1.4}.orch-conductor{position:fixed;top:0;left:0;right:0;z-index:50;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:16px;padding:10px 20px;height:64px}.orch-cnd-mark{width:28px;height:28px;border-radius:7px;background:var(--t1);color:#f0efe8;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;letter-spacing:-.3px;flex-shrink:0}.orch-cnd-title{display:flex;flex-direction:column;gap:1px;margin-right:8px;flex-shrink:0}.orch-cnd-title-a{font-size:12px;font-weight:700;letter-spacing:-.2px;white-space:nowrap}.orch-cnd-title-b{font-size:10px;color:var(--t3);font-weight:500;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}.orch-cnd-rail{display:flex;align-items:center;gap:2px;background:var(--bg);padding:4px;border-radius:8px;border:1px solid var(--border);flex-shrink:0}.orch-cnd-step{display:flex;align-items:center;gap:7px;padding:6px 11px;font-size:11px;font-weight:600;color:var(--t3);border-radius:6px;cursor:pointer;transition:all .15s;font-family:inherit;border:none;background:transparent;white-space:nowrap}.orch-cnd-step:hover{color:var(--t1);background:var(--surface2)}.orch-cnd-step .n{width:16px;height:16px;border-radius:50%;background:var(--surface2);color:var(--t3);font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center}.orch-cnd-step.done{color:var(--t2)}.orch-cnd-step.done .n{background:var(--t2);color:var(--surface)}.orch-cnd-step.act{background:var(--t1);color:#f0efe8}.orch-cnd-step.act .n{background:#f0efe8;color:var(--t1)}.orch-cnd-step .dur{font-size:9px;color:inherit;opacity:.6;font-weight:500}.orch-cnd-sep{width:1px;height:22px;background:var(--border)}.orch-cnd-btn{font-family:inherit;font-size:12px;font-weight:500;padding:7px 12px;border-radius:7px;border:1px solid rgba(28,28,26,.14);background:var(--surface);color:var(--t1);cursor:pointer;display:inline-flex;align-items:center;gap:5px;flex-shrink:0;white-space:nowrap}.orch-cnd-btn:hover{background:var(--surface2)}.orch-cnd-btn.pri{background:var(--t1);color:var(--surface);border-color:var(--t1)}.orch-cnd-btn.pri:hover{opacity:.88}.orch-cnd-btn.ghost{border-color:transparent;background:transparent;color:var(--t2)}.orch-cnd-btn.ghost:hover{background:var(--surface2);color:var(--t1)}.orch-cnd-time{display:inline-flex;align-items:baseline;gap:4px;font-size:13px;font-weight:700;color:var(--t1);padding-left:14px;margin-left:auto}.orch-cnd-time .lb{font-size:9px;font-weight:600;color:var(--t3);text-transform:uppercase;letter-spacing:.4px;margin-right:4px}.orch-cnd-time .sl{color:var(--t3);font-weight:400}.orch-cnd-time .tot{color:var(--t2);font-weight:600;font-size:12px}.orch-stage{position:fixed;top:64px;left:0;right:0;bottom:0;background:radial-gradient(ellipse at 20% 30%,rgba(28,28,26,.035) 0,transparent 55%),radial-gradient(ellipse at 80% 70%,rgba(28,28,26,.04) 0,transparent 55%),#e8e6df;display:grid;grid-template-columns:1fr 240px;grid-template-rows:1fr;gap:20px;padding:24px 28px;overflow:hidden}.orch-featured{grid-column:1;grid-row:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:0}.orch-featured-label{display:flex;align-items:center;gap:10px;margin-bottom:12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px}.orch-featured-label .dot{width:7px;height:7px;border-radius:50%}.orch-featured-label.student .dot{background:#4a78b6}.orch-featured-label.teacher .dot{background:#4a8e72}.orch-featured-label.board .dot{background:#b78840}.orch-featured-label .role{color:var(--t1)}.orch-featured-label .role-en{color:var(--t3);font-weight:500;letter-spacing:.3px}.orch-featured-label .pulse{width:6px;height:6px;border-radius:50%;background:#0d5245;animation:orch-pulse 2s ease infinite}@keyframes orch-pulse{0%,to{opacity:1}50%{opacity:.35}}.orch-featured-box{flex:1;width:100%;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;position:relative}.orch-dev-large{position:relative;background:#2a2826;border-radius:14px;padding:14px;box-shadow:0 30px 60px -20px #1c1c1a80,0 0 0 1px #1c1c1a40;transform-origin:center center;flex-shrink:0}.orch-dev-large.board{background:#1c1c1a}.orch-dev-large.teacher{background:#2e2c2a}.orch-dev-large iframe{width:100%;height:100%;border:none;border-radius:10px;background:var(--bg);display:block}.orch-dev-large.board iframe{border-radius:4px}.orch-strip{grid-column:2;grid-row:1;display:flex;flex-direction:column;gap:14px;min-height:0;overflow:hidden}.orch-strip-h{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--t2);padding:0 2px}.orch-thumb{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px;cursor:pointer;display:flex;flex-direction:column;gap:8px;transition:all .15s;flex:1;min-height:0;font-family:inherit;text-align:left;color:inherit}.orch-thumb:hover{border-color:#1c1c1a24;background:var(--surface2)}.orch-thumb-head{display:flex;align-items:center;gap:7px;flex-shrink:0}.orch-thumb-dot{width:6px;height:6px;border-radius:50%}.orch-thumb.student .orch-thumb-dot{background:#4a78b6}.orch-thumb.teacher .orch-thumb-dot{background:#4a8e72}.orch-thumb.board .orch-thumb-dot{background:#b78840}.orch-thumb-role{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--t1)}.orch-thumb-en{font-size:9px;color:var(--t3);font-weight:500;margin-left:auto}.orch-thumb-view{flex:1;min-height:0;border:1px solid var(--border);border-radius:5px;overflow:hidden;position:relative;background:var(--bg)}.orch-thumb-view iframe{border:none;transform-origin:top left;pointer-events:none;background:var(--bg)}.orch-thumb-cover{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent}.orch-thumb.active{border-color:var(--t1);box-shadow:0 0 0 2px var(--t1) inset}.orch-tweaks{position:fixed;bottom:20px;right:20px;z-index:100;background:var(--surface);border:1px solid rgba(28,28,26,.14);border-radius:10px;padding:14px 16px;width:240px;font-size:12px;box-shadow:0 20px 40px -20px #1c1c1a4d}.orch-tw-hd{display:flex;align-items:center;gap:6px;margin-bottom:12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.orch-tw-hd .dot{width:5px;height:5px;border-radius:50%;background:var(--t1)}.orch-tw-hd .sp{flex:1}.orch-tw-hd .cls{font-size:11px;color:var(--t3);cursor:pointer;text-transform:none;letter-spacing:0;background:none;border:none;font-family:inherit;padding:0}.orch-tw-hd .cls:hover{color:var(--t1)}.orch-tw-row{margin-bottom:10px}.orch-tw-row:last-child{margin-bottom:0}.orch-tw-lb{font-size:10px;font-weight:600;color:var(--t3);text-transform:uppercase;letter-spacing:.4px;margin-bottom:5px}.orch-tw-opts{display:flex;gap:3px;background:var(--bg);padding:2px;border-radius:5px;border:1px solid var(--border)}.orch-tw-opts button{flex:1;font-family:inherit;font-size:10px;font-weight:600;padding:5px 6px;border-radius:4px;border:none;background:transparent;color:var(--t3);cursor:pointer;white-space:nowrap}.orch-tw-opts button:hover{color:var(--t1)}.orch-tw-opts button.act{background:var(--t1);color:var(--surface)}.orch-stage.triptych{grid-template-columns:1fr 1fr 1fr}.orch-stage.triptych .orch-strip{display:contents}.orch-stage.triptych .orch-strip-h{display:none}.orch-stage.triptych .orch-thumb{flex:none}.orch-stage.triptych .orch-thumb-view{aspect-ratio:16/10}.orch-dev-large.minimal{background:transparent;padding:0;box-shadow:none}.orch-dev-large.minimal iframe{box-shadow:0 20px 50px -15px #1c1c1a4d}.stu-root{display:flex;flex-direction:column;height:100vh;background:var(--bg);color:var(--t1);font-family:Plus Jakarta Sans,-apple-system,PingFang SC,sans-serif}.stu-top{display:flex;align-items:center;gap:12px;padding:0 20px;height:44px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}.stu-top-title{font-size:15px;font-weight:700;letter-spacing:-.2px}.stu-top-sub{font-size:11px;color:var(--t3);flex:1}.stu-prog-row{display:flex;align-items:flex-start;gap:0;padding:10px 20px 8px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}.stu-prog-item{display:flex;flex-direction:column;align-items:center;gap:0}.stu-prog-dot{width:26px;height:26px;border-radius:50%;background:var(--surface2);color:var(--t3);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1.5px solid var(--border);transition:all .15s}.stu-prog-dot.active{background:var(--t1);color:var(--surface);border-color:var(--t1)}.stu-prog-dot.done{background:var(--green);color:#fff;border-color:var(--green)}.stu-prog-line{flex:1;height:1px;background:var(--border);margin:12px 4px 0}.stu-prog-name{font-size:9px;color:var(--t3);max-width:62px;text-align:center;margin-top:3px;line-height:1.2}.stu-prog-name.active{color:var(--t1);font-weight:600}.stu-main-wrap{flex:1;display:flex;min-height:0;position:relative}.stu-left-col{flex:1 1 50%;display:flex;flex-direction:column;min-width:0;min-height:0}.stu-task-inner{max-width:640px;margin:0 auto;padding:0 24px 80px;width:100%;flex:1}.stu-phase-nav{position:sticky;top:0;z-index:10;display:flex;gap:0;padding:0 24px;background:var(--bg);border-bottom:1px solid var(--border)}.stu-phase-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:10px 0;cursor:pointer;font-size:11px;font-weight:500;color:var(--t3);position:relative;transition:all .15s;border-bottom:2px solid transparent}.stu-phase-tab.active{color:var(--t1);font-weight:600;border-bottom-color:var(--t1)}.stu-phase-tab.locked{opacity:.3;cursor:default}[id^=phase-]{scroll-margin-top:48px}.stu-section-label{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--t1);padding:28px 0 10px;display:flex;align-items:center;gap:8px}.stu-section-line{flex:1;height:2px;background:var(--t3)}.stu-phase-locked-msg{padding:40px 0;text-align:center;color:var(--t3);font-size:12px}.stu-instr-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card-lg,12px);padding:20px 22px 18px;margin-bottom:16px}.stu-instr-badge{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-badge,10px);font-weight:var(--fw-semibold,600);text-transform:uppercase;letter-spacing:.6px;color:var(--purple);background:var(--purple-bg);padding:3px 10px;border-radius:var(--r-pill,99px);margin-bottom:10px}.stu-instr-title{font-size:17px;font-weight:var(--fw-bold,700);color:var(--t1);line-height:var(--lh-tight,1.25);margin-bottom:14px}.stu-instr-body{font-size:var(--fs-h3,14px);line-height:var(--lh-prose,1.85);color:var(--t2)}.stu-instr-body p{margin:0 0 10px}.stu-instr-body p:last-child{margin-bottom:0}.stu-instr-body strong{color:var(--t1);font-weight:var(--fw-semibold,600)}.stu-instr-body ul,.stu-instr-body ol{margin:8px 0 12px;padding-left:20px}.stu-instr-body li{margin-bottom:5px}.stu-instr-body code{font-family:SF Mono,ui-monospace,monospace;font-size:12px;background:var(--purple-bg);color:var(--purple);padding:1px 5px;border-radius:3px}.stu-instr-body blockquote{margin:10px 0;padding:10px 14px;border-left:3px solid var(--amber);background:var(--amber-bg);border-radius:0 6px 6px 0;font-style:italic;color:var(--amber)}.stu-instr-body pre{margin:10px 0;padding:12px 14px;background:var(--surface2);border-radius:var(--r-input,6px);font-family:SF Mono,ui-monospace,monospace;font-size:12px;line-height:1.7;color:var(--t2);white-space:pre-wrap;overflow-x:auto}.stu-instr-body .hl{background:var(--amber-bg);color:var(--amber);padding:0 4px;border-radius:3px;font-weight:var(--fw-semibold,600)}.stu-instr-body table{width:100%;border-collapse:collapse;font-size:13px;margin:10px 0}.stu-instr-body th,.stu-instr-body td{padding:8px 10px;border-bottom:1px solid var(--border);text-align:left}.stu-instr-body tr:nth-child(2n){background:var(--surface2)}.stu-instr-body img{max-width:100%;height:auto;border-radius:var(--r-input,6px);margin:10px 0;display:block}.stu-instr-kp{margin-top:14px;padding:12px 14px;background:var(--teal-bg);border-left:3px solid var(--teal);border-radius:0 8px 8px 0}.stu-instr-kp-label{font-size:var(--fs-meta,10px);font-weight:var(--fw-semibold,600);color:var(--teal);text-transform:uppercase;letter-spacing:.4px;margin-bottom:6px}.stu-instr-kp ul{margin:0;padding-left:16px;list-style:disc}.stu-instr-kp li{font-size:var(--fs-body-sm,12px);color:var(--t2);line-height:1.6;margin-bottom:3px}.stu-instr-kp li:last-child{margin-bottom:0}.stu-quiz-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:12px 14px;margin-bottom:8px}.stu-quiz-card.correct{border-color:var(--green);background:var(--green-bg)}.stu-quiz-opt{padding:8px 12px;border-radius:6px;border:1.5px solid var(--border);margin-bottom:4px;font-size:12px;cursor:pointer;background:var(--surface);transition:all .1s;display:flex;align-items:center;gap:8px;width:100%;text-align:left;font-family:inherit}.stu-quiz-opt:hover:not(:disabled){border-color:var(--t3)}.stu-quiz-opt.selected{border-color:var(--teal);background:var(--teal-bg);color:var(--teal);font-weight:500}.stu-quiz-opt.opt-correct{border-color:var(--green);background:var(--green-bg);color:var(--green)}.stu-quiz-opt:disabled{cursor:default}.stu-quiz-radio{width:16px;height:16px;border-radius:50%;border:2px solid var(--border);flex-shrink:0;transition:all .15s}.stu-quiz-opt.selected .stu-quiz-radio{border:5px solid var(--teal)}.stu-quiz-opt.opt-correct .stu-quiz-radio{border:5px solid var(--green)}.stu-match-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.stu-match-left{font-size:14px;font-weight:700;width:48px;text-align:center;flex-shrink:0}.stu-match-opt{font-size:11px;padding:5px 10px;border-radius:5px;border:1.5px solid var(--border);background:var(--surface);cursor:pointer;font-family:inherit;color:var(--t2);font-weight:500;transition:all .15s}.stu-match-opt:hover{border-color:var(--t3);color:var(--t1)}.stu-match-opt.selected{border-color:var(--teal);background:var(--teal-bg);color:var(--teal)}.stu-match-opt.correct{border-color:var(--green);background:var(--green-bg);color:var(--green)}.stu-mat-wrap{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:10px;margin-bottom:10px;overflow-x:auto}.stu-mat-th{text-align:left;padding:6px 7px;background:var(--surface2);font-weight:500;color:var(--t2);border-bottom:1px solid var(--border);font-size:10px;text-transform:uppercase}.stu-mat-td{padding:4px 6px;border-bottom:1px solid var(--border);vertical-align:top}.stu-mat-in{width:100%;border:1px solid var(--border);border-radius:4px;padding:5px 7px;font-size:12px;font-family:inherit;background:var(--bg)}.stu-mat-in:focus{outline:none;border-color:#3a31854d}.stu-mat-row-ok{background:var(--green-bg)}.stu-mat-row-ok>td:first-child{border-left:3px solid var(--green)}.stu-mat-row-wrong{background:var(--amber-bg)}.stu-mat-row-wrong>td:first-child{border-left:3px solid var(--amber)}.stu-locate-btn{width:20px;height:20px;font-size:12px;border:none;background:none;cursor:pointer;opacity:.6;border-radius:4px;padding:0;display:inline-flex;align-items:center;justify-content:center}.stu-locate-btn:hover{opacity:1;background:var(--surface2)}.stu-stance-btn{flex:1;padding:10px 8px;border-radius:8px;border:1.5px solid var(--border);background:var(--surface);font-size:12px;font-weight:500;cursor:pointer;font-family:inherit;color:var(--t2);text-align:center;transition:all .15s}.stu-stance-btn:hover{border-color:var(--t3)}.stu-stance-btn.selected{border-color:var(--teal);background:var(--teal-bg);color:var(--teal)}.stu-order-slot{display:flex;align-items:center;gap:4px;padding:7px 10px;border-radius:5px;border:1.5px solid var(--teal);background:var(--teal-bg);font-size:12px;color:var(--teal);font-weight:500;margin-bottom:3px}.stu-order-choice{padding:7px 10px;border-radius:5px;border:1.5px solid var(--border);background:var(--surface);font-size:12px;cursor:pointer;margin-bottom:3px;color:var(--t2);transition:all .15s}.stu-order-choice:hover{border-color:var(--t3);background:var(--surface2)}.stu-probe-box{border:1px solid rgba(58,49,133,.15);border-radius:10px;padding:14px 16px;margin-bottom:10px;background:var(--surface)}.stu-ai-dot{width:7px;height:7px;border-radius:50%;background:var(--purple);flex-shrink:0;margin-top:5px}.stu-ai-reply{display:flex;gap:10px;padding:14px 16px;background:var(--purple-bg);border-radius:10px;margin-bottom:10px;border:1px solid rgba(58,49,133,.12)}.stu-insight-box{background:var(--amber-bg);border:1px solid rgba(122,77,14,.15);border-radius:8px;padding:12px 14px;font-size:13px;line-height:1.6;color:var(--amber);margin-bottom:10px}.stu-free-input{width:100%;border:1px solid var(--border);border-radius:6px;padding:8px 10px;font-size:13px;font-family:inherit;background:var(--bg);min-height:50px;resize:vertical;line-height:1.6;box-sizing:border-box}.stu-extra-q{font-size:12px;background:var(--t1);color:var(--surface);padding:6px 10px;border-radius:7px;margin-left:40px;margin-bottom:5px}.stu-extra-a{font-size:12px;background:var(--bg);border:1px solid var(--border);border-radius:7px;padding:8px 12px;margin-bottom:5px;line-height:1.6;color:var(--t2)}.stu-hint-banner{font-size:12px;color:var(--amber);padding:8px 12px;background:var(--amber-bg);border-radius:6px;margin-top:6px;line-height:1.5;border:1px solid rgba(122,77,14,.12)}.stu-help-btn{font-size:10px;color:var(--t3);cursor:pointer;padding:3px 8px;border-radius:4px;border:1px solid var(--border);background:var(--surface);font-family:inherit;display:inline-flex;align-items:center;gap:3px}.stu-help-btn:hover{border-color:var(--t2);color:var(--t2)}.stu-help-drop{background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 20px #00000014;padding:8px;min-width:220px;font-size:12px}.stu-btn{font-size:13px;padding:13px 20px;border-radius:8px;cursor:pointer;border:none;font-family:inherit;font-weight:600;width:100%}.stu-btn.pri{background:var(--t1);color:var(--surface)}.stu-btn.pri:hover{opacity:.85}.stu-btn.done{background:var(--green-bg);color:var(--green);cursor:default}.board-inline-wrap{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px 20px;margin-bottom:16px}.board-inline-title{font-size:13px;font-weight:700;color:var(--t1);margin-bottom:12px;display:flex;align-items:center;gap:8px}.board-inline-dot{width:7px;height:7px;border-radius:50%;background:var(--teal)}.board-flow-row{display:flex;align-items:center;gap:0}.board-flow-item{flex:1;background:var(--surface2);border-radius:8px;padding:10px;text-align:center}.board-flow-arrow{padding:0 4px;color:var(--t3);font-size:12px}.board-flow-label{font-size:12px;font-weight:700;color:var(--t1)}.board-flow-sub{font-size:10px;color:var(--t3);margin-top:2px}.board-compare-row{display:flex;gap:8px;align-items:stretch}.board-compare-card{flex:1;border-radius:8px;padding:12px 14px}.board-compare-amber{background:var(--amber-bg);border:1px solid rgba(122,77,14,.15)}.board-compare-teal{background:var(--teal-bg);border:1px solid rgba(13,82,69,.15)}.board-compare-vs{display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--t3);width:24px}.board-matrix-table{width:100%;border-collapse:collapse;font-size:11px}.board-matrix-table th{text-align:left;padding:5px 8px;border-bottom:1px solid var(--border);color:var(--t3);font-size:9px;text-transform:uppercase;letter-spacing:.3px;background:var(--surface2)}.board-matrix-table td{padding:4px 8px;border-bottom:1px solid var(--border);color:var(--t2)}.board-chain-item{padding:8px 12px;border-radius:6px;background:var(--surface2);margin-bottom:4px;font-size:12px;color:var(--t1);border-left:3px solid var(--teal)}.stu-text-area{flex:1;min-width:0;background:var(--surface);display:flex;flex-direction:column;border-left:1px solid var(--border);padding-top:0}.stu-text-inner{display:flex;flex-direction:column;flex:1;min-height:0}.stu-text-hd{display:flex;align-items:center;gap:6px;padding:10px 14px;border-bottom:1px solid var(--border);flex-shrink:0}.stu-text-hd-badge{font-size:10px;padding:2px 8px;border-radius:3px;background:var(--teal-bg);color:var(--teal);font-weight:500}.stu-text-scroll{flex:1;overflow-y:auto;padding:8px 14px}.stu-tp{padding:8px 2px;border-bottom:1px solid var(--border);font-size:13px;line-height:1.85;transition:opacity .3s}.stu-tp:last-child{border:none}.stu-tp-n{font-size:9px;font-weight:600;color:var(--teal);background:var(--teal-bg);padding:2px 5px;border-radius:3px;margin-right:4px;vertical-align:middle}.stu-tp-key{color:var(--t1);font-weight:500}.stu-tp-key .sig{background:var(--blue-bg);color:var(--blue);padding:0 2px;border-radius:2px;font-weight:500}.stu-tp-detail{color:var(--t2)}.stu-tp.flash{background:#0d524526;border-radius:4px;margin:0 -4px;padding:8px 6px;animation:para-flash 1.8s ease-out forwards}@keyframes para-flash{0%,30%{background:#0d52452e}to{background:transparent}}.seg-heading{font-weight:700;font-size:14px;color:var(--t1);margin:8px 0 4px}.seg-math{margin:6px 0;text-align:center}.seg-figure{margin:8px 0;text-align:center}.seg-figure img{max-width:100%;border-radius:4px}.seg-figure figcaption{font-size:11px;color:var(--t3);margin-top:4px}.stu-text-rail{width:36px;flex-shrink:0;background:var(--surface);border-left:1px solid var(--border);display:flex;flex-direction:column;align-items:center;padding:16px 0;gap:8px;cursor:pointer;transition:background .15s}.stu-text-rail:hover{background:var(--surface2)}.stu-text-rail-icon{width:22px;height:22px;border-radius:4px;background:var(--teal-bg);color:var(--teal);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}.stu-text-rail-label{writing-mode:vertical-rl;font-size:10px;color:var(--t2);font-weight:600;letter-spacing:.6px}.stu-text-rail-badge{font-size:9px;color:var(--teal);font-weight:600;margin-top:auto}.stu-text-overlay{flex:1 1 50%;min-width:0;min-height:0;border-left:1px solid var(--border);box-shadow:none;position:relative}.stu-text-close{width:24px;height:24px;border-radius:4px;border:none;background:transparent;color:var(--t3);cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;margin-left:auto}.stu-text-close:hover{background:var(--surface2);color:var(--t1)}@media(max-width:768px){.stu-text-overlay{position:absolute;top:0;bottom:0;right:0;width:100%;z-index:10;flex:none}}.stu-para-link{color:var(--teal);cursor:pointer;font-weight:600;border-bottom:1.5px dashed var(--teal);transition:opacity .15s}.stu-para-link:hover{opacity:.7}.stu-toolbar-h{position:fixed;bottom:16px;right:16px;display:flex;align-items:center;gap:8px;padding:6px 8px;background:#fbfaf7d9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:28px;box-shadow:0 4px 20px #00000014;z-index:50;transition:background .4s ease,border-color .4s ease}.stu-toolbar-h.translate{background:#f6eddaeb;border-color:var(--amber);z-index:55}.stu-ai-fab{width:40px;height:40px;border-radius:50%;background:var(--purple);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #3a318540;font-size:16px;transition:transform .2s,box-shadow .2s;flex-shrink:0}.stu-ai-fab:hover{box-shadow:0 6px 22px #3a318566}.stu-ai-fab:before{content:"";display:block;width:16px;height:16px;background:currentColor;clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}.stu-ai-fab.open:before{clip-path:none;content:"×";background:none;width:auto;height:auto;font-size:20px;font-weight:300;line-height:1}.stu-ai-fab:not(.open){animation:ai-pulse-shadow 2.5s ease-out infinite}@keyframes ai-pulse-shadow{0%{box-shadow:0 4px 16px #3a318540,0 0 #3a31854d}80%{box-shadow:0 4px 16px #3a318540,0 0 0 10px #3a318500}to{box-shadow:0 4px 16px #3a318540,0 0 0 10px #3a318500}}.stu-toolbar-h .stu-ai-fab-ring{display:none}@media(prefers-reduced-motion:reduce){.stu-ai-fab{animation:none!important}}.stu-ai-panel{position:fixed;bottom:76px;right:16px;width:340px;max-height:420px;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:0 12px 40px #00000026;z-index:49;display:flex;flex-direction:column;overflow:hidden;animation:ai-panel-in .2s ease-out}@supports (backdrop-filter:blur(8px)){.stu-ai-panel{background:rgba(var(--surface-rgb,255,255,255),.92);backdrop-filter:blur(8px)}}@keyframes ai-panel-in{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:640px){.stu-ai-panel{bottom:0;right:0;left:0;width:100%;max-height:70vh;border-radius:16px 16px 0 0}}.stu-ai-hd{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border)}.stu-ai-avatar{width:24px;height:24px;border-radius:50%;background:var(--purple-bg);color:var(--purple);display:flex;align-items:center;justify-content:center;font-size:11px;flex-shrink:0}.stu-ai-avatar:before{content:"";display:block;width:12px;height:12px;background:currentColor;clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}.stu-ai-title{font-size:13px;font-weight:600;color:var(--t1);flex:1}.stu-ai-phase-badge{font-size:10px;font-weight:500;color:var(--t3);background:var(--surface2);padding:2px 8px;border-radius:10px}.stu-ai-close{width:24px;height:24px;border-radius:6px;border:none;background:transparent;color:var(--t3);cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stu-ai-close:hover{background:var(--surface2);color:var(--t1)}.stu-ai-chips{display:flex;gap:6px;padding:10px 14px;overflow-x:auto;border-bottom:1px solid var(--border);flex-shrink:0}.stu-ai-chips::-webkit-scrollbar{display:none}.stu-ai-chip{flex-shrink:0;font-size:11px;padding:5px 12px;border-radius:14px;border:1.5px solid var(--border);background:var(--surface);cursor:pointer;font-family:inherit;color:var(--t2);font-weight:500;white-space:nowrap;transition:all .12s}.stu-ai-chip:hover{border-color:var(--purple);color:var(--purple);background:var(--purple-bg)}.stu-ai-chip:active{transform:scale(.97)}.stu-ai-chat{flex:1;overflow-y:auto;padding:12px 14px;max-height:220px}.stu-ai-empty{font-size:12px;color:var(--t3);text-align:center;padding:20px 16px;line-height:1.6}.stu-ai-msg{animation:ai-msg-enter .2s ease-out;margin-bottom:8px;display:flex;gap:8px;align-items:flex-start}@keyframes ai-msg-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.stu-ai-msg.student{flex-direction:row-reverse}.stu-ai-msg-avatar{width:22px;height:22px;border-radius:50%;background:var(--purple-bg);color:var(--purple);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.stu-ai-msg-avatar:before{content:"";display:block;width:10px;height:10px;background:currentColor;clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}.stu-ai-bubble{font-size:13px;line-height:1.65;padding:8px 12px;max-width:85%}.stu-ai-bubble.ai{background:var(--purple-bg);color:var(--t1);border-radius:12px 12px 12px 4px;border-left:2px solid var(--purple)}.stu-ai-bubble.student{background:var(--t1);color:var(--surface);border-radius:12px 12px 4px;margin-left:auto}.stu-ai-typing{display:flex;align-items:center;gap:8px;margin-bottom:8px}.stu-ai-typing-dots{display:flex;gap:3px;padding:10px 12px;background:var(--purple-bg);border-radius:12px 12px 12px 4px;border-left:2px solid var(--purple)}.stu-ai-typing-dots span{width:5px;height:5px;border-radius:50%;background:var(--purple);opacity:.3;animation:ai-typing-dot .6s infinite alternate}.stu-ai-typing-dots span:nth-child(2){animation-delay:.15s}.stu-ai-typing-dots span:nth-child(3){animation-delay:.3s}@keyframes ai-typing-dot{0%,60%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.stu-ai-input{display:flex;gap:8px;padding:10px 14px;border-top:1px solid var(--border)}.stu-ai-input textarea{flex:1;padding:8px 10px;border:1px solid var(--border);border-radius:8px;font-size:13px;font-family:inherit;background:var(--bg);resize:none;min-height:36px;max-height:80px;line-height:1.5;box-sizing:border-box}.stu-ai-input textarea:focus{outline:none;border-color:#3a31854d}.stu-ai-input textarea:disabled{opacity:.5;cursor:not-allowed}.stu-ai-send{width:36px;height:36px;border-radius:8px;border:none;background:var(--purple);color:#fff;cursor:pointer;font-size:14px;font-weight:600;flex-shrink:0;transition:opacity .15s}.stu-ai-send:disabled{opacity:.35;cursor:default}.stu-ai-send:hover:not(:disabled){opacity:.85}.stu-ai-discuss-hint{font-size:12px;color:var(--purple);background:var(--purple-bg);padding:10px 14px;text-align:center;line-height:1.5;border-top:1px solid var(--border)}.stu-join-overlay{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:24px;overflow:auto}.stu-join-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:32px 28px;box-shadow:0 2px 12px #0000000f;color:var(--t1)}.stu-join-title{font-size:22px;font-weight:700;letter-spacing:-.3px;color:var(--t1);margin-bottom:6px}.stu-join-sub{font-size:13px;color:var(--t3);margin-bottom:18px;line-height:1.5}.stu-join-input{width:100%;border:1px solid var(--border);border-radius:8px;padding:10px 12px;font-size:13px;font-family:inherit;background:var(--bg);margin-bottom:14px;box-sizing:border-box}.stu-join-input:focus{outline:none;border-color:#3a31854d}.stu-join-input:not(.stu-join-code){text-align:center;font-size:18px;font-weight:500}.stu-join-code{font-family:SF Mono,ui-monospace,monospace;font-size:22px;font-weight:600;letter-spacing:.35em;text-align:center;text-transform:uppercase}.session-code-sm{font-family:SF Mono,ui-monospace,monospace;font-size:12px;font-weight:600;letter-spacing:.1em;background:var(--surface2);padding:2px 7px;border-radius:4px;color:var(--t1)}.stu-btn.ghost{background:none;color:var(--t3);font-weight:400}.stu-btn.ghost:hover{color:var(--t1);background:var(--surface2)}.stu-join-guide-toggle{text-align:center;color:var(--t3);font-size:12px;cursor:pointer;padding:8px 0;background:none;border:none;width:100%;font-family:inherit;transition:color .15s}.stu-join-guide-toggle:hover{color:var(--t2)}.stu-join-guide-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#00000059;display:flex;align-items:center;justify-content:center;padding:24px;animation:jg-fade-in .15s ease-out}@keyframes jg-fade-in{0%{opacity:0}to{opacity:1}}.stu-join-guide-modal{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:28px;box-shadow:0 16px 48px #0000002e;max-width:1100px;width:100%;max-height:calc(100vh - 48px);overflow-y:auto;animation:jg-modal-in .2s ease-out}@keyframes jg-modal-in{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.stu-join-guide-modal-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.stu-join-guide-modal-title{font-size:16px;font-weight:700;color:var(--t1)}.stu-join-guide-dismiss{margin-top:16px}.stu-join-guide-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stu-join-guide-step{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:8px}.stu-join-guide-num{width:22px;height:22px;border-radius:50%;background:var(--teal);color:#f0efe8;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;flex-shrink:0}.stu-join-guide-hd{display:flex;align-items:center;gap:7px}.stu-join-guide-title{font-size:13px;font-weight:700;letter-spacing:-.1px;color:var(--t1)}.stu-join-guide-illust{width:100%;min-height:120px;aspect-ratio:16/9;background:var(--surface);border-radius:6px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;padding:8px;overflow:hidden}.stu-join-guide-illust svg{width:100%;height:100%;display:block}.stu-join-guide-desc{font-size:11px;color:var(--t2);line-height:1.5}.stu-join-guide-desc b{color:var(--t1);font-weight:600}@media(max-width:760px){.stu-join-guide-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.stu-join-guide-grid{grid-template-columns:1fr}}@keyframes jg-cursor-blink{0%,to{opacity:1}50%{opacity:0}}@keyframes jg-type-reveal{0%,10%{clip-path:inset(0 100% 0 0)}20%{clip-path:inset(0 83% 0 0)}30%{clip-path:inset(0 66% 0 0)}40%{clip-path:inset(0 50% 0 0)}50%{clip-path:inset(0 33% 0 0)}60%{clip-path:inset(0 16% 0 0)}70%,to{clip-path:inset(0 0 0 0)}}@keyframes jg-type-reveal-zh{0%,15%{clip-path:inset(0 100% 0 0)}35%{clip-path:inset(0 50% 0 0)}55%,to{clip-path:inset(0 0 0 0)}}@keyframes jg-check-in{0%,70%{opacity:0;transform:scale(.5)}80%{opacity:1;transform:scale(1.2)}90%,to{opacity:1;transform:scale(1)}}@keyframes jg-btn-activate{0%,40%{fill:#9c9a92}50%,to{fill:#1c1c1a}}@keyframes jg-btn-text-activate{0%,40%{fill:#9c9a92}50%,to{fill:#f0efe8}}@keyframes jg-expand{0%,10%{transform:scale(.3);opacity:0}30%{transform:scale(1);opacity:1}to{transform:scale(1);opacity:1}}@keyframes jg-dot-light{0%,20%{fill:#e4e2d8}30%,to{fill:var(--teal)}}@keyframes jg-pulse{0%,to{opacity:.6}50%{opacity:1}}.jg-s1 .jg-code{animation:jg-type-reveal 3.5s ease infinite}.jg-s1 .jg-cursor{animation:jg-cursor-blink .6s step-end infinite}.jg-s1 .jg-check{animation:jg-check-in 3.5s ease infinite}.jg-s2 .jg-name{animation:jg-type-reveal-zh 3s ease infinite}.jg-s2 .jg-btn{animation:jg-btn-activate 3s ease infinite}.jg-s2 .jg-btn-text{animation:jg-btn-text-activate 3s ease infinite}.jg-s3 .jg-pulse-dot{animation:jg-pulse 1.5s ease-in-out infinite}.jg-s4 .jg-expand{animation:jg-expand 3.5s ease infinite}.jg-s4 .jg-dot1{animation:jg-dot-light 3.5s ease infinite}.jg-s4 .jg-dot2{animation:jg-dot-light 3.5s ease infinite;animation-delay:.15s}.jg-s4 .jg-dot3{animation:jg-dot-light 3.5s ease infinite;animation-delay:.3s}@media(prefers-reduced-motion:reduce){.jg-s1 .jg-code,.jg-s2 .jg-name{clip-path:none;animation:none}.jg-s1 .jg-cursor,.jg-s1 .jg-check,.jg-s2 .jg-btn,.jg-s2 .jg-btn-text,.jg-s3 .jg-pulse-dot,.jg-s4 .jg-expand,.jg-s4 .jg-dot1,.jg-s4 .jg-dot2,.jg-s4 .jg-dot3{animation:none}}.stu-help-guide-btn{font-size:11px;color:var(--t3);cursor:pointer;padding:4px 10px;border-radius:5px;border:1px solid var(--border);background:var(--surface);font-family:inherit;font-weight:500;transition:all .15s;margin-left:auto;flex-shrink:0}.stu-help-guide-btn:hover{border-color:var(--t2);color:var(--t1);background:var(--surface2)}.stu-help-guide-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#00000059;display:flex;align-items:center;justify-content:center;padding:24px;animation:jg-fade-in .15s ease-out}.stu-help-guide-modal{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:28px;box-shadow:0 16px 48px #0000002e;max-width:1100px;width:100%;max-height:calc(100vh - 48px);overflow-y:auto;animation:jg-modal-in .2s ease-out}.stu-help-guide-hd{display:flex;align-items:center;margin-bottom:18px}.stu-help-guide-title{font-size:18px;font-weight:700;color:var(--t1)}.stu-help-guide-footer{display:flex;gap:8px;justify-content:flex-end;margin-top:20px}.stu-hg-accordion{display:flex;flex-direction:column;gap:0}.stu-hg-item{overflow:hidden;transition:border-color .15s}.stu-hg-item+.stu-hg-item{border-top:1px solid var(--border)}.stu-hg-item-hd{display:flex;align-items:baseline;justify-content:space-between;width:100%;padding:16px 0;cursor:pointer;border:none;background:none;font-family:inherit;text-align:left}.stu-hg-item-hd:hover .stu-hg-item-title{color:var(--teal)}.stu-hg-item-left{display:flex;align-items:baseline;gap:10px}.stu-hg-num{font-family:Fraunces,Georgia,serif;font-size:13px;color:var(--t3);font-weight:500;font-style:italic;flex-shrink:0}.stu-hg-item-title{font-size:18px;font-weight:700;letter-spacing:-.3px;color:var(--t1);transition:color .15s}.stu-hg-item-en{font-size:12px;color:var(--t3);font-weight:500;margin-left:4px}.stu-hg-item-hint{font-size:12px;color:var(--t3);font-weight:500;flex-shrink:0}.stu-hg-item-body{padding:0 16px 16px}.stu-hg-steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stu-hg-scard{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:10px;transition:all .15s}.stu-hg-scard:hover{border-color:var(--border-strong);transform:translateY(-1px);box-shadow:0 8px 20px -8px #1c1c1a1f}.stu-hg-scard-hd{display:flex;align-items:center;gap:8px}.stu-hg-scard-num{width:24px;height:24px;border-radius:50%;color:#f0efe8;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;flex-shrink:0}.stu-hg-scard-num.amber{background:var(--amber)}.stu-hg-scard-num.purple{background:var(--purple)}.stu-hg-scard-num.teal{background:var(--teal)}.stu-hg-scard-title{font-size:13px;font-weight:700;color:var(--t1);line-height:1.2}.stu-hg-scard-illust{width:100%;min-height:120px;aspect-ratio:16/9;background:var(--bg);border-radius:6px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;padding:8px;overflow:hidden}.stu-hg-scard-illust svg{width:100%;height:100%;display:block}.stu-hg-scard-desc{font-size:12px;color:var(--t2);line-height:1.5}@media(max-width:760px){.stu-hg-steps-grid{grid-template-columns:1fr}}@keyframes hg-fab-pulse{0%,to{transform:scale(1)}30%{transform:scale(1.15)}60%{transform:scale(1)}}@keyframes hg-word-hl{0%,2%{opacity:0;width:0}6%{opacity:.22;width:8px}10%{opacity:.22;width:39.1px}40%{opacity:.22;width:39.1px}46%{opacity:0;width:39.1px}47%,to{opacity:0;width:0}}@keyframes hg-word-pop{0%,12%{opacity:0;transform:translateY(4px)}16%,38%{opacity:1;transform:translateY(0)}44%,to{opacity:0;transform:translateY(4px)}}@keyframes hg-phrase-hl{0%,50%{opacity:0;width:0}54%{opacity:.22;width:30px}58%{opacity:.22;width:191.5px}88%{opacity:.22;width:191.5px}94%{opacity:0;width:191.5px}95%,to{opacity:0;width:0}}@keyframes hg-phrase-pop{0%,60%{opacity:0;transform:translateY(4px)}64%,86%{opacity:1;transform:translateY(0)}92%,to{opacity:0;transform:translateY(4px)}}@keyframes hg-chip-press{0%,60%{fill:#edece7}70%{fill:var(--teal-bg)}80%,to{fill:#edece7}}@keyframes hg-bubble{0%,5%{opacity:0;transform:translateY(6px)}15%,85%{opacity:1;transform:translateY(0)}95%,to{opacity:0;transform:translateY(6px)}}@keyframes hg-panel-slide{0%,15%{transform:translateY(100%);opacity:0}30%,90%{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:0}}@keyframes hg-type-reveal{0%,10%{clip-path:inset(0 100% 0 0)}20%{clip-path:inset(0 83% 0 0)}30%{clip-path:inset(0 66% 0 0)}40%{clip-path:inset(0 50% 0 0)}50%{clip-path:inset(0 33% 0 0)}60%{clip-path:inset(0 16% 0 0)}70%,to{clip-path:inset(0 0 0 0)}}@keyframes hg-typing-dots{0%,20%{opacity:0}30%{opacity:1}60%{opacity:1}70%,to{opacity:0}}@keyframes hg-ai-reply{0%,55%{opacity:0;transform:translateY(4px)}65%,90%{opacity:1;transform:translateY(0)}to{opacity:0}}.anim-trans-1 .anim-fab{animation:hg-fab-pulse 3s ease infinite}.anim-trans-2 .anim-word-hl{animation:hg-word-hl 8s ease infinite}.anim-trans-2 .anim-word-pop{animation:hg-word-pop 8s ease infinite}.anim-trans-2 .anim-phrase-hl{animation:hg-phrase-hl 8s ease infinite}.anim-trans-2 .anim-phrase-pop{animation:hg-phrase-pop 8s ease infinite}.anim-trans-3 .anim-chip{animation:hg-chip-press 5s ease infinite}.anim-trans-3 .ab1{animation:hg-bubble 6s ease infinite}.anim-ai-1 .anim-panel{animation:hg-panel-slide 7s ease infinite}.anim-ai-2 .anim-code{animation:hg-type-reveal 6s ease infinite}.anim-ai-3 .anim-dots{animation:hg-typing-dots 6s ease infinite}.anim-ai-3 .anim-reply{animation:hg-ai-reply 6s ease infinite}@media(prefers-reduced-motion:reduce){.anim-trans-1 .anim-fab,.anim-trans-2 .anim-word-hl,.anim-trans-2 .anim-word-pop,.anim-trans-2 .anim-phrase-hl,.anim-trans-2 .anim-phrase-pop,.anim-trans-3 .anim-chip,.anim-trans-3 .ab1,.anim-ai-1 .anim-panel,.anim-ai-2 .anim-code,.anim-ai-3 .anim-dots,.anim-ai-3 .anim-reply{animation:none}}.stu-lobby-pulse{width:40px;height:40px;border-radius:50%;background:var(--teal);margin:0 auto;animation:stu-pulse 2s ease-in-out infinite}@keyframes stu-pulse{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.3);opacity:1}}@media(prefers-reduced-motion:reduce){.stu-lobby-pulse{animation:none;opacity:.8}}.stu-restore-list{margin-bottom:20px;display:flex;flex-direction:column;gap:8px}.stu-restore-card{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface2)}.stu-restore-info{display:flex;flex-direction:column;gap:2px;min-width:0}.stu-restore-title{font-size:13px;font-weight:600;color:var(--t1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stu-restore-name{font-size:11px;color:var(--t3)}.stu-btn-sm{font-size:12px;padding:6px 14px;border-radius:6px;cursor:pointer;border:none;font-family:inherit;font-weight:600;white-space:nowrap;flex-shrink:0}.stu-btn-sm.pri{background:var(--t1);color:var(--surface)}.stu-btn-sm.pri:hover{opacity:.85}.stu-audio-btn{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:var(--teal-bg);color:var(--teal);border-radius:50%;cursor:pointer;font-size:10px;margin-right:4px;vertical-align:middle;transition:background .2s;padding:0;font-family:inherit;line-height:1;flex-shrink:0}.stu-audio-btn:hover,.stu-audio-btn.playing{background:var(--teal);color:#fff}.se-strip{display:flex;gap:6px;margin-bottom:16px;padding:4px;background:var(--surface2);border-radius:8px}.se-strip-btn{flex:1;padding:8px 4px;border-radius:6px;border:none;background:transparent;font-size:11px;font-weight:500;cursor:pointer;font-family:inherit;color:var(--t2);transition:all .15s;display:flex;flex-direction:column;align-items:center;gap:2px}.se-strip-btn.active{background:var(--surface);color:var(--t1);font-weight:600;box-shadow:0 1px 2px #0000000d}.se-strip-btn.done{color:var(--green);background:var(--green-bg)}.se-strip-btn.done.active{background:var(--green-bg);box-shadow:0 1px 3px #2d66121f}.se-strip-func{font-size:9px;color:var(--t3);font-weight:500}.se-strip-btn.done .se-strip-func{color:var(--green)}.se-card{margin-bottom:16px}.se-range{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--teal);background:var(--teal-bg);padding:3px 8px;border-radius:3px;margin-bottom:10px}.se-title{font-size:18px;font-weight:700;letter-spacing:-.2px;line-height:1.4;color:var(--t1);margin-bottom:4px}.se-help{font-size:12px;color:var(--t2);line-height:1.6;margin-bottom:14px}.se-step-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--t3);margin-bottom:8px;display:flex;align-items:center;gap:6px}.se-step-num{width:16px;height:16px;border-radius:50%;background:var(--t1);color:var(--surface);font-size:9px;display:inline-flex;align-items:center;justify-content:center;font-weight:700}.se-step-num.done{background:var(--green)}.se-func-row{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:18px}.se-func-btn{padding:10px 8px;border-radius:8px;border:1.5px solid var(--border);background:var(--surface);font-size:12px;font-weight:500;cursor:pointer;font-family:inherit;color:var(--t2);text-align:center;transition:all .12s}.se-func-btn:hover:not(:disabled):not(.dim):not(.wrong):not(.correct-flash){border-color:var(--t3)}.se-func-btn.selected{border-color:var(--teal);background:var(--teal-bg);color:var(--teal);font-weight:600}.se-func-btn.locked{border-color:var(--green);background:var(--green-bg);color:var(--green);font-weight:600;cursor:default}.se-func-btn.wrong{border-color:var(--red);background:var(--red-bg);color:var(--red)}.se-func-btn.dim{opacity:.4;cursor:default}.se-func-btn.correct-flash{border-color:var(--green);background:var(--green-bg);color:var(--green);font-weight:600;cursor:default;transform:scale(1.03)}@keyframes se-shake{0%,to{transform:translate(0)}15%{transform:translate(-4px)}30%{transform:translate(4px)}45%{transform:translate(-3px)}60%{transform:translate(3px)}75%{transform:translate(-1px)}90%{transform:translate(1px)}}.se-func-btn.shake{animation:se-shake .35s ease-out}.se-wrong-hint{font-size:11px;color:var(--red);font-weight:500;margin-top:-10px;margin-bottom:14px;padding-left:2px}@keyframes se-step2-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.se-step2-enter{animation:se-step2-enter .25s ease-out}.se-guide-btn{width:24px;height:24px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--teal);font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}.se-guide-btn:hover{border-color:var(--teal);background:var(--teal-bg)}.se-guide-btn.pulse{animation:se-guide-pulse 1.8s ease-in-out infinite}@keyframes se-guide-pulse{0%,to{box-shadow:0 0 #0d524573}50%{box-shadow:0 0 0 7px #0d524500;border-color:var(--teal);color:var(--teal)}}@media(prefers-reduced-motion:reduce){.se-func-btn.shake,.se-step2-enter,.se-guide-btn.pulse{animation:none}.se-func-btn.correct-flash{transform:none}}.se-ev-callout{padding:14px 16px;background:var(--bg);border:1px dashed rgba(28,28,26,.14);border-radius:10px;margin-bottom:12px;display:flex;gap:10px;align-items:flex-start}.se-ev-arrow{font-size:18px;color:var(--teal);flex-shrink:0;margin-top:1px}.se-ev-text{font-size:13px;line-height:1.6;color:var(--t2)}.se-ev-count{font-size:11px;color:var(--t3);margin-top:6px}.se-action-row{display:flex;gap:10px;align-items:center;margin-top:8px}.se-tally{font-size:11px;color:var(--t3);flex:1}.se-tally.ok{color:var(--green);font-weight:600}.se-btn{padding:10px 16px;border-radius:8px;border:none;background:var(--t1);color:var(--surface);font-size:13px;font-weight:600;cursor:pointer;font-family:inherit}.se-btn.off{opacity:.35;cursor:default}.se-btn-ghost{padding:9px 14px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--t2);font-size:12px;font-weight:500;cursor:pointer;font-family:inherit}.se-hint-toggle{font-size:11px;color:var(--t3);cursor:pointer;padding:4px 8px;border-radius:4px;background:transparent;border:1px solid var(--border);font-family:inherit;align-self:flex-start}.se-hint-box{padding:10px 14px;background:var(--amber-bg);border:1px solid rgba(122,77,14,.15);border-radius:8px;font-size:12px;color:var(--amber);line-height:1.6;margin-top:8px}.se-ai-box{padding:14px 16px;background:var(--purple-bg);border-radius:10px;border:1px solid rgba(58,49,133,.12);margin-top:14px}.se-ai-head{display:flex;gap:10px;align-items:flex-start;margin-bottom:8px}.se-ai-dot{width:7px;height:7px;border-radius:50%;background:var(--purple);flex-shrink:0;margin-top:6px}.se-ai-opener{font-size:12px;line-height:1.7;color:var(--purple);font-weight:500}.se-ai-note{font-size:12px;line-height:1.65;color:var(--purple);padding:8px 0 8px 16px;border-left:2px solid rgba(58,49,133,.25);margin-bottom:6px;margin-left:2px}.se-ai-quote{font-weight:600;color:var(--t1)}.se-why-list{margin-top:10px;padding:10px 14px;background:var(--surface);border-radius:8px;border:1px solid var(--border)}.se-why-header{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--t3);margin-bottom:6px}.se-why-item{font-size:12px;line-height:1.6;padding:5px 0;display:flex;gap:8px;color:var(--t2);border-bottom:1px dashed var(--border)}.se-why-item.last{border-bottom:none}.se-why-dot{flex-shrink:0;font-size:11px;margin-top:1px;font-weight:700}.se-why-dot.good{color:var(--green)}.se-why-dot.bad{color:var(--red)}.se-tk{transition:all .12s}.se-tk-idle{cursor:pointer;padding:2px 4px;margin:0 -2px;border-radius:3px;background:#00968812;border-bottom:1.5px dashed rgba(0,150,136,.35);transition:background .15s}.se-tk-idle:hover{background:#00968824}.se-tk-picked{background:#fef6c8;color:var(--t1);padding:3px 5px;margin:0 -2px;border-radius:3px;box-shadow:inset 0 -8px #fce98a;font-weight:500;cursor:pointer}.se-tk-good{background:var(--green-bg);color:var(--green);padding:3px 5px;margin:0 -2px;border-radius:3px;font-weight:600}.se-tk-bad{background:var(--red-bg);color:var(--red);padding:3px 5px;margin:0 -2px;border-radius:3px;text-decoration:line-through;text-decoration-color:#94292966}.se-tk-missed{background:#2d661212;padding:3px 5px;margin:0 -2px;border-radius:3px;border-bottom:1px dashed var(--green);color:var(--t2)}.stu-typing{display:flex;align-items:center;gap:4px;padding:8px 0}.stu-typing-dot{width:6px;height:6px;border-radius:50%;background:var(--purple);opacity:.4;animation:stu-bounce .6s infinite alternate}.stu-typing-dot:nth-child(2){animation-delay:.2s}.stu-typing-dot:nth-child(3){animation-delay:.4s}@keyframes stu-bounce{to{opacity:1;transform:translateY(-3px)}}.sd-chat-area{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;margin-bottom:12px}.sd-chat-header{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--surface)}.sd-ai-dot{width:8px;height:8px;border-radius:50%;background:var(--purple);flex-shrink:0}.sd-chat-title{font-size:12px;font-weight:600;color:var(--purple);flex:1}.sd-msg-list{padding:12px 16px}.sd-msg-row{display:flex;gap:10px;margin-bottom:14px;align-items:flex-start}.sd-msg-row.student{flex-direction:row-reverse}.sd-avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.sd-avatar.ai{background:var(--purple-bg);color:var(--purple)}.sd-bubble{padding:10px 14px;border-radius:14px;font-size:13px;line-height:1.7;max-width:85%}.sd-bubble.ai{background:var(--bg);border:1px solid var(--border);border-radius:2px 14px 14px;color:var(--t1)}.sd-bubble.student{background:var(--teal);color:#fff;border-radius:14px 2px 14px 14px;max-width:80%}.sd-img-preview{display:flex;align-items:flex-start;gap:6px;padding:8px 16px 0;background:var(--surface)}.sd-img-dismiss{width:22px;height:22px;border-radius:50%;border:none;background:var(--bg);color:var(--t2);cursor:pointer;font-size:14px;line-height:1;flex-shrink:0;display:flex;align-items:center;justify-content:center}.sd-camera-btn{width:42px;height:42px;border-radius:8px;border:1px solid var(--border);background:var(--bg);cursor:pointer;font-size:18px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.sd-input-row{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--border);background:var(--surface)}.sd-input{flex:1;padding:10px 14px;border:1px solid var(--border);border-radius:8px;font-size:13px;font-family:inherit;background:var(--bg);resize:none;min-height:42px;line-height:1.5;box-sizing:border-box}.sd-send-btn{width:42px;height:42px;border-radius:8px;border:none;background:var(--t1);color:var(--surface);cursor:pointer;font-size:14px;font-weight:600;font-family:inherit;flex-shrink:0}.sd-status-bar{display:flex;align-items:center;gap:12px;padding:8px 16px;font-size:10px;color:var(--t3);border-bottom:1px solid var(--border)}.sd-status-pill{padding:2px 8px;border-radius:10px;font-weight:600;font-size:10px}.sd-scaffold-wrap{display:flex;gap:6px;padding:8px 16px;overflow-x:auto;border-top:1px solid var(--border);background:var(--surface2)}.sd-scaffold-chip{padding:5px 10px;border-radius:6px;border:1px solid var(--border);background:var(--surface);font-size:11px;color:var(--t2);cursor:pointer;white-space:nowrap;font-family:inherit;transition:all .1s}.sd-scaffold-chip:hover{border-color:var(--t3);color:var(--t1)}.sd-mc-wrap{background:var(--amber-bg);border:1px solid rgba(122,77,14,.15);border-radius:10px;padding:16px 20px;margin-bottom:4px}.sd-mc-option{padding:10px 14px;border-radius:8px;border:1.5px solid var(--border);margin-bottom:6px;font-size:13px;cursor:pointer;background:var(--surface);transition:all .12s;display:flex;align-items:center;gap:10px}.sd-mc-option.selected{border-color:var(--teal);background:var(--teal-bg);color:var(--teal);font-weight:500}.sd-mc-option.correct{border-color:var(--green);background:var(--green-bg);color:var(--green)}.sd-mc-option.wrong{border-color:var(--red);background:var(--red-bg);color:var(--red)}.sd-mc-radio{width:18px;height:18px;border-radius:50%;border:2px solid var(--border);flex-shrink:0;transition:all .12s;display:inline-block;box-sizing:border-box}.sd-celebration{background:var(--green-bg);border:1px solid rgba(13,82,69,.15);border-radius:2px 14px 14px;max-width:92%}.sd-insight-card{margin-top:10px;padding:8px 12px;background:var(--amber-bg);border-radius:6px;border:1px solid rgba(122,77,14,.12)}.sd-unlock-notice{display:flex;align-items:center;gap:10px;margin:16px 0 8px}.sd-unlock-pill{font-size:11px;font-weight:600;color:var(--green);padding:4px 12px;border-radius:20px;background:var(--green-bg);border:1px solid rgba(13,82,69,.15);white-space:nowrap}.sd-unlock-pill.sd-continue-action{cursor:pointer;border:none;padding:10px 24px;font-size:14px;font-weight:700;background:var(--green);color:#fff;border-radius:10px;box-shadow:0 2px 8px #2d66122e;transition:background .15s,box-shadow .15s,transform .1s}.sd-unlock-pill.sd-continue-action:hover{background:var(--teal);color:#fff;box-shadow:0 4px 12px #2d661240;transform:translateY(-1px)}.sd-continue-btn{padding:6px 14px;border-radius:8px;border:none;background:transparent;font-size:11px;font-weight:500;cursor:pointer;color:var(--t3);font-family:inherit;transition:color .15s}.sd-continue-btn:hover{color:var(--purple)}.sd-continue-area{max-height:260px;overflow-y:auto;padding:12px 16px}.stu-tr-fab{width:40px;height:40px;border-radius:50%;background:var(--amber);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 12px #7a4d0e33;font-size:13px;font-weight:700;font-family:inherit;transition:transform .2s,box-shadow .2s;flex-shrink:0}.stu-tr-fab:hover{box-shadow:0 4px 16px #7a4d0e59}.stu-tr-fab.active{background:var(--t1);color:var(--surface);z-index:55}.stu-tr-fab:disabled{opacity:.4;cursor:default}.stu-tr-inline{display:inline-flex;align-items:center;gap:5px;padding:0 8px 0 4px;font-size:11px;font-weight:600;white-space:nowrap;color:var(--amber)}.stu-tr-inline-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0;animation:stu-tr-dot-pulse 1.5s ease-in-out infinite}@keyframes stu-tr-dot-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.6}}.stu-tr-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:54;background:#7a4d0e0f;pointer-events:none;animation:ai-panel-in .15s ease-out}.stu-tr-banner{position:fixed;top:0;left:0;right:0;z-index:60;padding:8px 16px;background:var(--amber-bg);color:var(--amber);font-size:13px;font-weight:500;text-align:center;border-bottom:1px solid rgba(122,77,14,.15);animation:ai-panel-in .15s ease-out}.stu-tr-banner.warn{background:var(--red-bg);color:var(--red);border-bottom-color:#94292926}.stu-tr-popover{position:fixed;z-index:55;width:340px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 28px #0000001f;animation:ai-panel-in .15s ease-out;overflow:hidden;display:flex;flex-direction:column;max-height:420px}.stu-tr-popover-hd{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border);flex-shrink:0}.stu-tr-popover-icon{width:22px;height:22px;border-radius:4px;background:var(--amber-bg);color:var(--amber);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.stu-tr-popover-title{font-size:12px;font-weight:600;color:var(--t1);flex:1}.stu-tr-popover-close{width:22px;height:22px;border-radius:4px;border:none;background:transparent;color:var(--t3);cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stu-tr-popover-close:hover{background:var(--surface2);color:var(--t1)}.stu-tr-popover-body{padding:12px 14px;font-size:13px;line-height:1.7;color:var(--t1);flex-shrink:0;max-height:140px;overflow-y:auto}.stu-tr-def{font-weight:600;color:var(--t1);margin-bottom:6px}.stu-tr-ctx{font-size:12px;color:var(--t2);line-height:1.6}.stu-tr-skel{height:14px;border-radius:4px;background:linear-gradient(90deg,var(--surface2) 25%,var(--bg) 50%,var(--surface2) 75%);background-size:200% 100%;animation:stu-tr-shimmer 1.2s ease-in-out infinite;margin-bottom:8px}.stu-tr-skel.short{width:60%}@keyframes stu-tr-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.stu-tr-chips{display:flex;flex-wrap:wrap;gap:6px;padding:10px 14px;border-top:1px solid var(--border);flex-shrink:0}.stu-tr-chip{font-size:11px;padding:5px 10px;border-radius:14px;border:1.5px solid var(--amber);background:transparent;cursor:pointer;font-family:inherit;color:var(--amber);font-weight:500;transition:all .12s;text-align:left}.stu-tr-chip:hover{background:var(--amber-bg);color:var(--amber)}.stu-tr-chip:active{transform:scale(.97)}.stu-tr-chat{max-height:160px;overflow-y:auto;padding:10px 14px;border-top:1px solid var(--border);flex-shrink:1;min-height:0}.stu-tr-msg{margin-bottom:6px;display:flex;align-items:flex-start}.stu-tr-msg.student{flex-direction:row-reverse}.stu-tr-bubble{font-size:12px;line-height:1.6;padding:6px 10px;max-width:85%;border-radius:10px}.stu-tr-bubble.ai{background:var(--purple-bg);color:var(--t1);border-radius:10px 10px 10px 2px;border-left:2px solid var(--purple)}.stu-tr-bubble.student{background:var(--t1);color:var(--surface);border-radius:10px 10px 2px;margin-left:auto}.stu-tr-typing{display:flex;gap:3px;padding:8px 10px;background:var(--purple-bg);border-radius:10px 10px 10px 2px;border-left:2px solid var(--purple)}.stu-tr-typing span{width:4px;height:4px;border-radius:50%;background:var(--purple);opacity:.3;animation:ai-typing-dot .6s infinite alternate}.stu-tr-typing span:nth-child(2){animation-delay:.15s}.stu-tr-typing span:nth-child(3){animation-delay:.3s}.stu-tr-input{display:flex;gap:6px;padding:8px 14px;border-top:1px solid var(--border);flex-shrink:0}.stu-tr-input input{flex:1;padding:6px 10px;border:1px solid var(--border);border-radius:6px;font-size:12px;font-family:inherit;background:var(--bg);box-sizing:border-box}.stu-tr-input input:focus{outline:none;border-color:#3a31854d}.stu-tr-input input:disabled{opacity:.5;cursor:not-allowed}.stu-tr-send{width:28px;height:28px;border-radius:6px;border:none;background:var(--amber);color:#fff;cursor:pointer;font-size:12px;font-weight:600;flex-shrink:0;transition:opacity .15s}.stu-tr-send:disabled{opacity:.35;cursor:default}.stu-tr-send:hover:not(:disabled){opacity:.85}@media(prefers-reduced-motion:reduce){.stu-tr-skel,.stu-tr-inline-dot{animation:none}}.stu-guide-mission{padding:16px 28px 12px}.stu-guide-mission-box{padding:14px 16px;background:var(--surface2);border-radius:10px;border:1px solid var(--border)}.stu-guide-mission-title{font-size:11px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.stu-guide-mission-topic{font-size:15px;font-weight:800;color:var(--t1);line-height:1.5;margin-bottom:6px}.stu-guide-mission-meta{font-size:12px;color:var(--t2);line-height:1.6}.stu-guide-mission-meta strong{color:var(--t1)}.stu-guide-mission-steps{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}.stu-guide-step-tag{font-size:10px;font-weight:700;padding:3px 10px;border-radius:100px;background:var(--surface);border:1px solid var(--border);color:var(--t2);white-space:nowrap}.stu-guide-step-tag .num{color:var(--teal)}.stu-guide-card-num{width:22px;height:22px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;flex-shrink:0}.stu-guide-card-num.teal{background:var(--teal-bg);color:var(--teal)}.stu-guide-card-num.blue{background:var(--blue-bg);color:var(--blue)}.stu-guide-card-num.amber{background:var(--amber-bg);color:var(--amber)}.stu-guide-strip{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:0 28px 16px}.stu-guide-callout{padding:10px 14px;border-radius:10px;display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.6}.stu-guide-callout-icon{flex-shrink:0;font-size:16px;margin-top:-1px}.stu-guide-callout.purple{background:var(--purple-bg);color:var(--purple);border:1px solid rgba(58,49,133,.15)}.stu-guide-callout.purple strong{color:var(--purple)}.stu-guide-callout.amber{background:var(--amber-bg);color:var(--amber);border:1px solid rgba(122,77,14,.15)}.stu-guide-callout.amber strong{color:var(--amber)}.stu-guide-callout.teal{background:var(--teal-bg);color:var(--teal);border:1px solid rgba(26,110,94,.15)}.stu-guide-callout.teal strong{color:var(--teal)}@media(max-width:768px){.stu-guide-strip{grid-template-columns:1fr}}.sd-guide-btn{width:24px;height:24px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--t3);font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}.sd-guide-btn:hover{border-color:var(--purple);color:var(--purple);background:var(--purple-bg)}.sd-guide-btn.pulse{animation:sd-guide-pulse 1.8s ease-in-out infinite}@keyframes sd-guide-pulse{0%,to{box-shadow:0 0 #3a318573}50%{box-shadow:0 0 0 7px #3a318500;border-color:var(--purple);color:var(--purple)}}.sd-guide-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#00000059;display:flex;align-items:center;justify-content:center;padding:24px;animation:sd-guide-fade-in .2s ease-out}.sd-guide-backdrop.closing{animation:sd-guide-fade-out .15s ease-in forwards}.sd-guide-popup{width:100%;max-width:820px;max-height:90vh;overflow-y:auto;scrollbar-width:none;background:var(--surface);border-radius:14px;box-shadow:0 16px 48px #0000001f,0 0 0 1px #0000000a;display:flex;flex-direction:column;animation:sd-guide-scale-up .25s cubic-bezier(.34,1.56,.64,1)}.sd-guide-popup::-webkit-scrollbar{display:none}.sd-guide-popup.closing{animation:sd-guide-scale-down .15s ease-in forwards}.sd-guide-header{display:flex;align-items:baseline;gap:12px;padding:24px 28px 18px;border-bottom:1px solid var(--border)}.sd-guide-header h3{font-size:18px;font-weight:700;color:var(--t1)}.sd-guide-intro{padding:20px 28px;border-bottom:1px solid var(--border)}.sd-guide-intro p{font-size:14px;line-height:1.8;color:var(--t2);margin-bottom:8px}.sd-guide-intro p:last-child{margin-bottom:0}.sd-guide-intro strong{color:var(--t1);font-weight:600}.sd-guide-callout{display:flex;align-items:flex-start;gap:10px;margin-top:14px;padding:12px 16px;background:var(--purple-bg);border-radius:8px;border:1px solid rgba(58,49,133,.12);font-size:13px;line-height:1.65;color:var(--purple)}.sd-guide-callout-icon{flex-shrink:0;font-size:15px;margin-top:1px}.sd-guide-section-label{padding:20px 28px 0;font-size:11px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.8px}.sd-guide-cards{padding:16px 28px 28px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.sd-guide-card{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:12px;min-width:0;animation:sd-guide-slide-up .3s ease-out both}.sd-guide-card:hover{border-color:#1c1c1a24;transform:translateY(-2px);box-shadow:0 12px 28px -10px #1c1c1a26;transition:all .18s}.sd-guide-card-hd{display:flex;align-items:center;gap:10px}.sd-guide-card-num{width:28px;height:28px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:#f0efe8}.sd-guide-card-num.green{background:var(--green)}.sd-guide-card-num.amber{background:var(--amber)}.sd-guide-card-num.purple{background:var(--purple)}.sd-guide-card-num.teal{background:var(--teal)}.sd-guide-card-hd h4{font-size:15px;font-weight:700;color:var(--t1);letter-spacing:-.2px}.sd-guide-card-illust{width:100%;min-height:120px;aspect-ratio:16/9;background:var(--surface);border-radius:6px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;padding:10px;overflow:hidden}.sd-guide-card-illust svg{width:100%;height:100%;display:block}.sd-guide-card-desc{font-size:13px;color:var(--t2);line-height:1.65}.sd-guide-footer{padding:14px 28px 22px;display:flex;justify-content:center}@keyframes sd-guide-fade-in{0%{opacity:0}to{opacity:1}}@keyframes sd-guide-fade-out{0%{opacity:1}to{opacity:0}}@keyframes sd-guide-scale-up{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes sd-guide-scale-down{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes sd-guide-slide-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.sd-guide-cards{grid-template-columns:1fr}}.sd-tracker{padding:10px 16px;background:var(--surface);border-bottom:1px solid var(--border)}.sd-tracker-label{font-size:10px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px;transition:color .3s}.sd-tracker-bar{display:flex;gap:6px;align-items:center}.sd-tracker-point{flex:1;height:6px;border-radius:3px;background:var(--surface2);transition:background .4s ease}.sd-tracker-point.hit{background:var(--green)}.sd-star-slot{flex-shrink:0;width:0;height:24px;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:width .35s cubic-bezier(.34,1.56,.64,1),opacity .3s ease;opacity:0;position:relative}.sd-star-slot.visible{width:44px;opacity:1;overflow:visible}.sd-star-count{display:flex;align-items:center;gap:2px;font-size:12px;font-weight:700;color:var(--amber);white-space:nowrap;background:var(--amber-bg);border:1px solid rgba(122,77,14,.12);padding:2px 8px;border-radius:100px}.sd-star-slot.collect .sd-star-count{animation:sd-slot-collect .4s cubic-bezier(.34,1.56,.64,1)}@keyframes sd-slot-collect{0%{transform:scale(1)}40%{transform:scale(1.25)}to{transform:scale(1)}}.count-num{display:inline-block}.count-num.bump{animation:sd-count-bump .35s cubic-bezier(.34,1.56,.64,1)}@keyframes sd-count-bump{0%{transform:scale(1) translateY(0);opacity:1}25%{transform:scale(.5) translateY(4px);opacity:.3}50%{transform:scale(1.4) translateY(-2px);opacity:1}to{transform:scale(1) translateY(0);opacity:1}}.sd-plus-indicator{position:absolute;top:-4px;right:-4px;font-size:10px;font-weight:700;color:var(--amber);pointer-events:none;animation:sd-plus-float .6s ease-out forwards}@keyframes sd-plus-float{0%{opacity:1;transform:translateY(0) scale(.8)}to{opacity:0;transform:translateY(-16px) scale(1)}}.sd-flying-star{position:fixed;font-size:16px;font-weight:700;color:var(--amber);pointer-events:none;z-index:1000;filter:drop-shadow(0 0 6px rgba(122,77,14,.4));will-change:transform,opacity}.sd-point-discovered{text-align:center;margin:-8px 0 14px}.sd-notif{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--green);background:var(--green-bg);padding:5px 16px;border-radius:100px;position:relative;overflow:hidden;animation:sd-notif-enter .6s cubic-bezier(.34,1.56,.64,1) forwards}.sd-notif .point-num{font-weight:800;font-size:12px}.sd-notif-star{font-size:10px;display:inline-block;animation:sd-star-twinkle 1.5s ease-in-out .3s infinite}.sd-notif-star.right{animation-delay:.6s}@keyframes sd-notif-enter{0%{opacity:0;transform:translateY(20px) scale(.8)}50%{opacity:1;transform:translateY(-4px) scale(1.03)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes sd-star-twinkle{0%,to{opacity:.4;transform:scale(.8) rotate(0)}50%{opacity:1;transform:scale(1.2) rotate(20deg)}}.sd-bubble.student.flash{animation:sd-bubble-flash .6s ease-out}@keyframes sd-bubble-flash{0%{box-shadow:0 0 #7a4d0e4d}40%{box-shadow:0 0 0 6px #7a4d0e26}to{box-shadow:0 0 #7a4d0e00}}.sd-tracker-point.animating{animation:sd-dot-nudge .4s cubic-bezier(.34,1.56,.64,1)}@keyframes sd-dot-nudge{0%{transform:scaleY(1)}40%{transform:scaleY(1.15) scaleX(1.03)}to{transform:scaleY(1)}}.sd-highlight-badge{position:absolute;top:-8px;right:-6px;padding:2px 6px;border-radius:8px;background:var(--amber-bg);border:1px solid rgba(122,77,14,.15);color:var(--amber);font-size:10px;font-weight:700;white-space:nowrap;animation:sd-badge-pop-shrink .7s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes sd-badge-pop-shrink{0%{transform:scale(0);opacity:0}25%{transform:scale(1.3);opacity:1}50%{transform:scale(1);opacity:1}75%{transform:scale(1);opacity:1}to{transform:scale(.5);opacity:0}}.sd-nudge-chip{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--amber-bg);border-top:1px solid rgba(122,77,14,.12);font-size:13px;color:var(--amber);animation:sd-nudge-in .3s ease-out}.sd-nudge-text{flex:1;line-height:1.5}.sd-nudge-close{width:20px;height:20px;border-radius:50%;border:none;background:#7a4d0e1f;color:var(--amber);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:inherit;line-height:1}.sd-nudge-close:hover{background:#7a4d0e33}@keyframes sd-nudge-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.sd-guide-card,.sd-guide-popup,.sd-guide-backdrop,.sd-nudge-chip,.sum-section{animation:none}.sd-star-slot{transition:none}.sd-star-slot.collect .sd-star-count,.count-num.bump{animation:none}.sd-plus-indicator{animation:none;opacity:0}.sd-flying-star{display:none}.sd-notif{animation:none;opacity:1;transform:none}.sd-notif-star{animation:none;opacity:.6}.sd-bubble.student.flash,.sd-tracker-point.animating{animation:none}.sd-highlight-badge{animation:none;opacity:1;transform:scale(1)}}.sum-header{margin-bottom:24px;animation:sd-guide-slide-up .3s ease-out both}.sum-tier{display:inline-flex;align-items:center;gap:6px;padding:4px 14px;border-radius:99px;font-size:12px;font-weight:700;border:2px solid var(--t3);background:var(--bg1)}.sum-tier.gold{border-color:#d4a017;color:#d4a017}.sum-tier.teal{border-color:var(--teal);color:var(--teal)}.sum-tier.neutral{border-color:var(--t3);color:var(--t3)}.sum-section{animation:sd-guide-slide-up .3s ease-out both}.sum-hl-card{background:var(--amber-bg);border-left:3px solid var(--amber);border-radius:0 8px 8px 0;padding:12px 14px;margin-bottom:8px}.sum-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.sum-stat{text-align:center;padding:16px 8px;border-radius:10px;border:1px solid var(--border);background:var(--surface)}.sum-stat .num{font-size:28px;font-weight:800;line-height:1}.sum-stat .label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;margin-top:6px}.sum-stat.amber .num{color:var(--amber)}.sum-stat.amber{border-color:#7a4d0e26}.sum-stat.purple .num{color:var(--purple)}.sum-stat.purple{border-color:#3a318526}.sum-stat.teal .num{color:var(--teal)}.sum-stat.teal{border-color:#00808026}.ic-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#000;display:flex;flex-direction:column;align-items:center;justify-content:center}.ic-video-wrap{flex:1;width:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}.ic-video-wrap video{width:100%;height:100%;object-fit:cover}.ic-controls{display:flex;align-items:center;justify-content:center;gap:24px;padding:20px;background:#0009;width:100%}.ic-shutter{width:64px;height:64px;border-radius:50%;border:4px solid #fff;background:transparent;cursor:pointer;position:relative;display:flex;align-items:center;justify-content:center}.ic-shutter:after{content:"";width:52px;height:52px;border-radius:50%;background:#fff;display:block}.ic-shutter:active:after{background:#ccc}.ic-ctrl-btn{width:44px;height:44px;border-radius:50%;border:none;background:#ffffff26;color:#fff;cursor:pointer;font-size:20px;display:flex;align-items:center;justify-content:center}.ic-denied-msg{color:#fff;text-align:center;padding:32px;font-size:14px;line-height:1.6}.ic-denied-msg button{margin-top:12px;padding:8px 20px;border-radius:8px;border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;cursor:pointer;font-size:13px}.ic-gallery{display:flex;flex-wrap:wrap;gap:8px}.ic-thumb-wrap{position:relative;width:80px;height:80px;border-radius:8px;overflow:hidden;border:1px solid var(--border)}.ic-thumb-wrap img{width:100%;height:100%;object-fit:cover;cursor:pointer}.ic-thumb-remove{position:absolute;top:2px;right:2px;width:20px;height:20px;border-radius:50%;border:none;background:#0009;color:#fff;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.ic-count{font-size:12px;color:var(--t3);margin-top:4px}.ic-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9998;background:#000000d9;display:flex;align-items:center;justify-content:center;cursor:pointer}.ic-lightbox img{max-width:90vw;max-height:90vh;border-radius:8px}.ic-capture-btn{display:flex;align-items:center;gap:6px}.ic-file-link{font-size:12px;color:var(--t3);text-decoration:underline;cursor:pointer;background:none;border:none;padding:0;margin-top:4px}.hw-input-methods{display:flex;gap:10px;margin-bottom:16px}.hw-im-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 16px;background:var(--surface);border:1.5px solid var(--border);border-radius:10px;cursor:pointer;font-size:13px;font-weight:500;color:var(--t2);font-family:inherit;transition:all .15s}.hw-im-btn:hover{border-color:var(--t3);color:var(--t1);background:var(--surface2)}.hw-im-btn:disabled{opacity:.4;cursor:default}.hw-area{margin-bottom:16px;border-radius:10px;border:1px solid var(--border);overflow:hidden;background:var(--surface);animation:hw-slideDown .3s ease;transition:border-color .15s,background .15s}@keyframes hw-slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.hw-toolbar{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border)}.hw-tools{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.hw-btn{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border-radius:6px;border:1px solid transparent;background:transparent;font-size:11px;font-weight:500;color:var(--t2);cursor:pointer;font-family:inherit;transition:all .12s}.hw-btn:hover{background:var(--surface2);color:var(--t1)}.hw-btn.active{background:var(--t1);color:var(--surface);border-color:var(--t1)}.hw-btn:disabled{opacity:.35;cursor:default}.hw-sep{width:1px;height:18px;background:var(--border);margin:0 4px}.hw-active-hint{font-size:10px;color:var(--teal);font-weight:500;margin-left:8px;padding:2px 8px;background:var(--teal-bg);border-radius:3px}.hw-pages-scroll{max-height:420px;overflow-y:auto;background:var(--bg);scroll-behavior:smooth}.hw-page-block{border-left:3px solid transparent;transition:border-color .15s}.hw-page-block.active{border-left-color:var(--teal)}.hw-page-block+.hw-page-block{border-top:1px dashed var(--border)}.hw-page-hd{display:flex;align-items:center;gap:6px;padding:6px 14px;background:var(--surface)}.hw-page-num{font-size:10px;font-weight:600;color:var(--t3);text-transform:uppercase;letter-spacing:.3px;flex:1}.hw-page-block.active .hw-page-num{color:var(--teal)}.hw-page-del{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:4px;border:none;background:transparent;font-size:10px;color:var(--t3);cursor:pointer;font-family:inherit;opacity:0;transition:all .12s}.hw-page-block:hover .hw-page-del{opacity:1}.hw-page-del:hover{background:var(--red-bg);color:var(--red)}.hw-page-del svg{stroke:currentColor}.hw-page-type-badge{font-size:9px;font-weight:500;padding:1px 6px;border-radius:3px;margin-left:4px}.hw-page-type-badge.type-canvas{background:var(--teal-bg);color:var(--teal)}.hw-page-type-badge.type-photo{background:var(--blue-bg);color:var(--blue)}.hw-canvas-wrap{background-color:#fbfaf7;background-image:linear-gradient(rgba(28,28,26,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(28,28,26,.04) 1px,transparent 1px);background-size:24px 24px}.hw-canvas-wrap canvas{display:block;width:100%;height:auto;cursor:crosshair}.hw-photo-wrap{position:relative;padding:12px 14px;background:var(--bg);min-height:120px;display:flex;align-items:center;justify-content:center}.hw-photo-wrap img{max-width:100%;max-height:400px;border-radius:8px;border:1px solid var(--border);object-fit:contain;display:block}.hw-photo-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;padding:32px 20px;border:1.5px dashed var(--border);border-radius:10px;cursor:pointer;transition:all .15s;background:var(--surface)}.hw-photo-empty:hover{border-color:var(--teal);background:var(--teal-bg)}.hw-photo-empty-text{font-size:12px;color:var(--t3);font-weight:500}.hw-photo-empty:hover .hw-photo-empty-text{color:var(--teal)}.hw-add-row{display:flex;gap:8px;padding:8px 14px 14px}.hw-add-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:14px 8px;border:1.5px dashed var(--border);border-radius:8px;cursor:pointer;transition:all .15s;background:transparent;font-family:inherit}.hw-add-btn:hover{border-color:var(--teal);background:var(--teal-bg)}.hw-add-btn svg{color:var(--t3)}.hw-add-btn:hover svg{color:var(--teal);stroke:var(--teal)}.hw-add-btn span{font-size:12px;color:var(--t3);font-weight:500}.hw-add-btn:hover span{color:var(--teal)}.rcq-problem-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card-lg,12px);padding:20px 24px;margin-bottom:16px}.rcq-problem-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.rcq-problem-num{font-size:14px;font-weight:600}.rcq-problem-badge{font-size:10px;font-weight:500;padding:2px 8px;border-radius:3px;background:var(--teal-bg);color:var(--teal)}.rcq-problem-badge.rcq-badge--retry{background:var(--amber-bg);color:var(--amber)}.rcq-problem-badge.rcq-badge--done{background:var(--green-bg);color:var(--green)}.rcq-problem-text{font-size:14px;color:var(--t2);line-height:1.7}.rcq-problem-expr{font-size:32px;font-weight:700;letter-spacing:-.5px;text-align:center;padding:20px 0 12px}.rcq-part-dots{display:flex;align-items:center;gap:6px;margin-bottom:12px}.rcq-part-dot{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;background:var(--surface2);color:var(--t3);transition:all .15s}.rcq-part-dot--done{background:var(--green);color:#fff}.rcq-part-dot--current{background:var(--teal);color:#fff}.rcq-part-dots-label{font-size:12px;color:var(--t3);margin-left:4px}.rcq-checking-card{display:flex;align-items:center;gap:10px;padding:14px 18px;border-radius:10px;background:var(--purple-bg);border:1px solid rgba(58,49,133,.12);font-size:13px;font-weight:500;color:var(--purple);margin-bottom:16px;animation:rcq-slideDown .3s ease}.rcq-checking-dot{width:8px;height:8px;border-radius:50%;background:var(--purple);animation:rcq-pulse 1.2s infinite}.rcq-result-card{display:flex;align-items:flex-start;gap:12px;padding:16px 18px;border-radius:10px;margin-bottom:12px;animation:rcq-slideDown .3s ease}.rcq-result-wrong{background:var(--red-bg);border:1px solid rgba(148,41,41,.12)}.rcq-result-final{background:var(--amber-bg);border:1px solid rgba(122,77,14,.12)}.rcq-result-icon{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0;color:#fff}.rcq-result-wrong .rcq-result-icon{background:var(--red)}.rcq-result-final .rcq-result-icon{background:var(--amber)}.rcq-result-title{font-size:13px;font-weight:600;color:var(--t1);margin-bottom:2px}.rcq-result-wrong .rcq-result-title{color:var(--red)}.rcq-result-final .rcq-result-title{color:var(--amber)}.rcq-result-desc{font-size:12px;color:var(--t2);line-height:1.5}.rcq-result-hint{font-size:12px;color:var(--t3);margin-top:6px}.rcq-submit-btn{width:100%;padding:12px;border-radius:8px;border:none;background:var(--t1);color:var(--surface);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s}.rcq-submit-btn:hover{opacity:.85}.rcq-retry-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;border-radius:8px;border:1.5px solid var(--border);background:var(--surface);font-size:13px;font-weight:600;color:var(--t1);cursor:pointer;font-family:inherit;transition:all .15s}.rcq-retry-btn:hover{background:var(--surface2);border-color:var(--t3)}.rcq-next-btn{width:100%;padding:12px;border-radius:8px;border:none;background:var(--t1);color:var(--surface);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:opacity .15s}.rcq-next-btn:hover{opacity:.85}.rcq-passed-card{display:flex;align-items:center;justify-content:center;padding:16px;border-radius:10px;background:var(--green-bg);border:1px solid rgba(45,102,18,.15);color:var(--green);font-size:14px;font-weight:600;animation:rcq-slideDown .3s ease}.rcq-prompt-images{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.rcq-prompt-images img{max-width:300px;border-radius:8px;border:1px solid var(--border)}.rcq-review-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card-lg,12px);padding:16px 20px;animation:rcq-slideDown .3s ease both}.rcq-review-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.rcq-review-num{font-size:13px;font-weight:600;color:var(--t1)}.rcq-review-badge{font-size:10px;font-weight:500;padding:2px 8px;border-radius:3px}.rcq-review-badge--correct{background:var(--green-bg);color:var(--green)}.rcq-review-badge--passed{background:var(--amber-bg);color:var(--amber)}.rcq-review-images{display:flex;flex-direction:column;gap:8px;margin-top:12px}.rcq-review-images img{max-width:100%;border-radius:8px;border:1px solid var(--border)}.rcq-ocr-feedback{font-size:12px;color:var(--teal,#0d7377);line-height:1.6;padding:8px 12px;margin-top:4px;background:var(--teal-bg,#e0f2f1);border-radius:8px}.rcq-solution{background:var(--teal-bg,#e8f5f0);border-radius:8px;padding:10px 14px;margin-top:4px}.rcq-solution-label{font-size:12px;font-weight:600;color:var(--green,#2e7d32);margin-bottom:6px}.rcq-solution-body{font-size:14px;line-height:1.8;color:var(--t1)}@keyframes rcq-slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes rcq-pulse{0%,to{opacity:1}50%{opacity:.3}}.scaffold-panel{display:flex;flex-direction:column;background:var(--surface);height:100%;animation:scaffold-panelIn .35s ease}.scaffold-panel-hd{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.scaffold-panel-icon{width:22px;height:22px;border-radius:5px;background:var(--purple-bg);color:var(--purple);display:flex;align-items:center;justify-content:center;flex-shrink:0}.scaffold-panel-title{font-size:12px;font-weight:600;color:var(--purple);flex:1}.scaffold-panel-badge{font-size:10px;padding:2px 8px;border-radius:3px;background:var(--purple-bg);color:var(--purple);font-weight:500}.scaffold-panel-close{font-size:12px;color:var(--t3);cursor:pointer;padding:4px 8px;border-radius:3px;background:transparent;border:none;font-family:inherit}.scaffold-panel-close:hover{color:var(--t1);background:var(--surface2)}.scaffold-panel-scroll{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.scaffold-hint-card{background:var(--purple-bg);border:1px solid rgba(58,49,133,.12);border-radius:10px;padding:16px 18px}.scaffold-hint-enter{animation:scaffold-hintIn .4s ease both}.scaffold-hint-hd{display:flex;align-items:center;gap:8px;margin-bottom:10px}.scaffold-step-badge{width:22px;height:22px;border-radius:6px;background:var(--purple);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.scaffold-hint-title{font-size:12px;font-weight:600;color:var(--purple)}.scaffold-hint-body{font-size:13px;color:var(--t2);line-height:1.7}.scaffold-hint-body p{margin:0 0 6px;color:var(--t2)}.scaffold-hint-body p:last-child{margin-bottom:0}.scaffold-hint-body strong{color:var(--t1);font-weight:600}.scaffold-hint-img{max-width:100%;border-radius:6px;margin-top:8px;cursor:zoom-in}.scaffold-zoom-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#0009;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;cursor:zoom-out}.scaffold-zoom-img{max-width:90vw;max-height:90vh;border-radius:8px;object-fit:contain}.scaffold-hint-card--solution{background:var(--amber-bg);border-color:#7a4d0e1f}.scaffold-hint-card--solution .scaffold-step-badge{background:var(--amber)}.scaffold-hint-card--solution .scaffold-hint-title{color:var(--amber)}.scaffold-empty{font-size:13px;color:var(--t3);padding:16px 0}@keyframes scaffold-panelIn{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.hl-expr{display:inline-block;background:var(--teal-bg);color:var(--teal);padding:1px 6px;border-radius:4px;font-weight:600}@media(prefers-reduced-motion:reduce){.scaffold-panel,.scaffold-hint-enter{animation:none}}.sw-formula-box{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px;margin:4px 0}.sw-formula-label-row{margin-bottom:8px}.sw-formula-rule-label{font-size:10px;font-weight:600;color:var(--t3);text-transform:uppercase;letter-spacing:.4px}.sw-formula-main{font-size:22px;font-weight:600;text-align:center;padding:6px 0;letter-spacing:.5px}.sw-fp{color:var(--t3);font-weight:400}.sw-fo{color:var(--t3);font-weight:400;margin:0 2px}.sw-fv{display:inline-block;padding:1px 4px;border-radius:4px;transition:all .35s ease;font-style:italic}.sw-fv.fv-dim{opacity:.25}.sw-fv.fv-done{opacity:1}.sw-fv.pair-blue{background:var(--blue-bg);color:var(--blue)}.sw-fv.pair-green{background:var(--green-bg);color:var(--green)}.sw-fv.pair-amber{background:var(--amber-bg);color:var(--amber)}.sw-fv.pair-coral{background:var(--coral-bg);color:var(--coral)}.sw-formula-expand{text-align:center;font-size:18px;font-weight:600;padding:8px 0 4px;min-height:32px}.sw-feq{color:var(--t3);font-weight:400;margin-right:4px}.sw-fplus{color:var(--t3);font-weight:400;opacity:0;transition:opacity .35s ease}.sw-fplus.vis{opacity:1}.sw-ft{display:inline-block;padding:2px 5px;border-radius:4px;font-style:italic;font-size:16px;opacity:0;transform:translateY(6px);transition:all .4s ease}.sw-ft.vis{opacity:1;transform:translateY(0)}.sw-ft.pair-blue{background:var(--blue-bg);color:var(--blue)}.sw-ft.pair-green{background:var(--green-bg);color:var(--green)}.sw-ft.pair-amber{background:var(--amber-bg);color:var(--amber)}.sw-ft.pair-coral{background:var(--coral-bg);color:var(--coral)}.sw-formula-subst{text-align:center;padding:6px 0 2px;animation:scaffold-hintIn .4s ease}.sw-formula-subst-label{font-size:11px;color:var(--teal);font-weight:500;background:var(--teal-bg);display:inline-block;padding:3px 10px;border-radius:6px}.sw-formula-play{display:flex;align-items:center;gap:6px;margin:10px auto 0;padding:5px 12px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--t2);font-size:11px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .15s}.sw-formula-play:hover{border-color:var(--purple);color:var(--purple);background:var(--purple-bg)}.sw-formula-playing{color:var(--t3)}.sw-solution{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px 20px}.sw-sol-line{font-size:15px;line-height:2;color:var(--t1);font-weight:500;opacity:0;transform:translate(-8px);transition:all .4s ease}.sw-sol-line.vis{opacity:1;transform:translate(0)}.sw-sol-prefix{color:var(--t3);font-weight:400;margin-right:4px}.sw-sol-final{font-weight:700}.sw-sol-answer{display:inline-block;background:var(--green-bg);color:var(--green);padding:2px 10px;border-radius:6px;font-weight:700;font-size:17px}@keyframes scaffold-hintIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.sw-proc{padding:8px 0}.sw-proc-step{display:flex;align-items:flex-start;gap:10px;padding:8px 0;opacity:0;transform:translateY(12px);transition:opacity .4s ease,transform .4s ease}.sw-proc-step.vis{opacity:1;transform:translateY(0)}.sw-proc-badge{flex-shrink:0;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px;font-weight:700;margin-top:1px}.sw-proc-label{font-size:14px;line-height:1.5;color:var(--t1)}.sw-proc-label strong{font-weight:700;color:var(--purple)}@media(prefers-reduced-motion:reduce){.sw-fv,.sw-ft,.sw-fplus,.sw-sol-line,.sw-proc-step{transition:none}.sw-formula-subst{animation:none}}.demo-card{--demo-teal: #0d9488;--demo-teal-bg: #ccfbf1;--demo-coral: #e85d5d;--demo-coral-bg: #ffe4e6;--demo-green: #16a34a;--demo-green-bg: #dcfce7;--demo-purple: #7c3aed;--demo-purple-bg: #eceafe;display:flex;flex-direction:column;gap:16px}.demo-expr-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px 28px;text-align:center}.demo-expr-label{font-size:10px;font-weight:600;color:var(--t3);text-transform:uppercase;letter-spacing:.4px;margin-bottom:8px}.demo-expr-tokens{font-size:38px;font-weight:600;letter-spacing:-.5px;display:inline-flex;align-items:baseline;gap:0}.demo-tok{display:inline-block;position:relative;padding:2px;transition:color .4s ease}.demo-tok-var{font-style:italic}.demo-tok-op{color:var(--t3);font-weight:400;font-style:normal}.demo-ann{position:absolute;bottom:-6px;left:0;right:0;height:6px;overflow:visible}.demo-ann svg{display:block;width:100%;height:6px}.demo-ann-path{fill:none;stroke-width:2;stroke-dasharray:40;stroke-dashoffset:40;transition:stroke-dashoffset .6s ease}.demo-ann-path.vis{stroke-dashoffset:0}.demo-tok.demo-hl-same{color:var(--demo-teal)}.demo-ann-same{stroke:var(--demo-teal)}.demo-tok.demo-hl-opp{color:var(--demo-coral)}.demo-ann-opp{stroke:var(--demo-coral)}.demo-legend{display:flex;gap:14px;justify-content:center;margin-top:10px;font-size:11px}.demo-legend-chip{display:inline-flex;align-items:center;padding:3px 10px;border-radius:4px;font-weight:600;opacity:0;transition:opacity .4s ease}.demo-legend-chip.vis{opacity:1}.demo-legend-chip.same{background:var(--demo-teal-bg);color:var(--demo-teal)}.demo-legend-chip.opp{background:var(--demo-coral-bg);color:var(--demo-coral)}.demo-walkthrough{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.demo-hd{display:flex;align-items:center;gap:10px;padding:12px 18px;background:var(--demo-purple-bg);border-bottom:1px solid rgba(124,58,237,.08)}.demo-avatar{width:22px;height:22px;border-radius:6px;background:var(--demo-purple);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:12px}.demo-title{font-size:12px;font-weight:600;color:var(--demo-purple);flex:1}.demo-stage{font-size:10px;font-weight:500;color:var(--demo-purple);background:#ffffff8c;padding:2px 8px;border-radius:3px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.demo-body{padding:4px 0}.demo-steps{display:flex;flex-direction:column}.demo-step{display:flex;gap:14px;padding:14px 20px;border-top:1px solid var(--border);opacity:0;transform:translateY(6px);transition:opacity .35s ease,transform .35s ease}.demo-step:first-child{border-top:0}.demo-step.vis{opacity:1;transform:translateY(0)}.demo-step-tag{flex-shrink:0;width:56px;padding-top:2px;font-size:10px;font-weight:600;color:var(--t3);text-transform:uppercase;letter-spacing:.4px}.demo-step.active .demo-step-tag{color:var(--demo-purple)}.demo-step-body{flex:1;min-width:0;font-size:13px;line-height:1.7;color:var(--t1)}.demo-step-desc{color:var(--t2)}.demo-map{margin:8px 0 0}.demo-map-grid{display:inline-grid;gap:0;align-items:center;font-size:24px;font-weight:600;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:14px 22px}.demo-map-cell{text-align:center;padding:2px 3px;opacity:0;border-radius:4px;transition:opacity .35s ease,color .35s ease,background .35s ease,padding .35s ease}.demo-map-cell.vis{opacity:1}.demo-map-cell.demo-map-var{font-style:italic}.demo-map-cell.demo-map-op{color:var(--t3);font-weight:400;font-style:normal}.demo-map-cell.demo-map-paren{color:var(--t3);font-weight:400}.demo-map-cell.demo-hl-same{color:var(--demo-teal);background:var(--demo-teal-bg);padding:2px 6px}.demo-map-cell.demo-hl-opp{color:var(--demo-coral);background:var(--demo-coral-bg);padding:2px 6px}.demo-map-bridge{text-align:center;padding:0;position:relative;height:20px}.demo-map-bridge:before{content:"";display:block;position:absolute;left:50%;top:0;width:2px;height:100%;border-left:2px dashed var(--demo-teal);transform-origin:top;transform:scaleY(0);transition:transform .4s ease}.demo-map-bridge.vis:before{transform:scaleY(1)}.demo-map-bridge.opp:before{border-left-color:var(--demo-coral)}.demo-map-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px;font-size:12.5px;color:var(--t2)}.demo-map-legend-item{padding:4px 10px;border-radius:6px;background:var(--surface2);opacity:0;transform:translate(-6px);transition:opacity .35s ease,transform .35s ease}.demo-map-legend-item.vis{opacity:1;transform:translate(0)}.demo-map-legend-item .demo-ref-same{font-style:italic;font-weight:700;padding:0 5px;color:var(--demo-teal)}.demo-map-legend-item .demo-ref-opp{font-style:italic;font-weight:700;padding:0 5px;color:var(--demo-coral)}.demo-solution{margin:8px 0 0;display:inline-grid;grid-template-columns:auto auto 1fr;gap:0 4px;align-items:baseline;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:12px 16px}.demo-sol-cell{font-size:16px;line-height:2;font-weight:500;font-style:italic;color:var(--t1);opacity:0;transform:translate(-8px);transition:opacity .4s ease,transform .4s ease;white-space:nowrap}.demo-sol-cell.vis{opacity:1;transform:translate(0)}.demo-sol-prefix,.demo-sol-eq{color:var(--t3);font-weight:400;font-style:normal}.demo-sol-final{display:inline-block;background:var(--demo-green-bg);color:var(--demo-green);padding:2px 10px;border-radius:6px;font-weight:700;font-size:17px}.demo-actions{display:flex;gap:10px;justify-content:center;padding:12px 20px 16px;opacity:0;transform:translateY(8px);transition:opacity .4s ease,transform .4s ease}.demo-actions.vis{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){.demo-step,.demo-legend-chip,.demo-map-cell,.demo-map-bridge:before,.demo-map-legend-item,.demo-sol-cell,.demo-actions,.demo-tok,.demo-ann-path{transition:none}}
