@import"https://fonts.googleapis.com/css2?family=Varela+Round&family=Kosugi+Maru&family=Noto+Sans+TC:wght@400;500;700;900&family=Patrick+Hand&family=Zen+Maru+Gothic:wght@500;700;900&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;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";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]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,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::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}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}:root{--background: 0 0% 100%;--foreground: 0 0% 3.9%;--card: 0 0% 100%;--card-foreground: 0 0% 3.9%;--popover: 0 0% 100%;--popover-foreground: 0 0% 3.9%;--primary: 0 0% 9%;--primary-foreground: 0 0% 98%;--secondary: 0 0% 96.1%;--secondary-foreground: 0 0% 9%;--muted: 0 0% 96.1%;--muted-foreground: 0 0% 45.1%;--accent: 0 0% 96.1%;--accent-foreground: 0 0% 9%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 0 0% 98%;--border: 0 0% 89.8%;--input: 0 0% 89.8%;--ring: 0 0% 3.9%;--chart-1: 12 76% 61%;--chart-2: 173 58% 39%;--chart-3: 197 37% 24%;--chart-4: 43 74% 66%;--chart-5: 27 87% 67%;--radius: .5rem }*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0px}.inset-x-0{left:0px;right:0px}.bottom-2{bottom:.5rem}.left-0{left:0px}.left-1\/2{left:50%}.left-2{left:.5rem}.right-0{right:0px}.right-2{right:.5rem}.top-14{top:3.5rem}.top-3{top:.75rem}.top-6{top:1.5rem}.top-full{top:100%}.z-10{z-index:10}.z-\[100000000\]{z-index:100000000}.z-\[100000010\]{z-index:100000010}.z-\[100000020\]{z-index:100000020}.z-\[150000000\]{z-index:150000000}.z-\[200000000\]{z-index:200000000}.z-\[200000005\]{z-index:200000005}.z-\[200000010\]{z-index:200000010}.z-\[200000015\]{z-index:200000015}.z-\[200000040\]{z-index:200000040}.z-\[200000050\]{z-index:200000050}.z-\[9999999999\]{z-index:9999999999}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.block{display:block}.inline-block{display:inline-block}.\!inline{display:inline!important}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.hidden{display:none}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-full{height:100%}.h-min{height:-moz-min-content;height:min-content}.max-h-\[85vh\]{max-height:85vh}.max-h-\[88vh\]{max-height:88vh}.w-1{width:.25rem}.w-10{width:2.5rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-8{width:2rem}.w-\[100px\]{width:100px}.w-\[72px\]{width:72px}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-\[60px\]{min-width:60px}.max-w-\[460px\]{max-width:460px}.max-w-\[560px\]{max-width:560px}.max-w-\[600px\]{max-width:600px}.max-w-\[640px\]{max-width:640px}.max-w-\[92vw\]{max-width:92vw}.max-w-\[calc\(100vw-5rem\)\]{max-width:calc(100vw - 5rem)}.max-w-\[min\(100vw-2rem\,400px\)\]{max-width:min(100vw - 2rem,400px)}.max-w-full{max-width:100%}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -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))}.-rotate-90{--tw-rotate: -90deg;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))}.rotate-90{--tw-rotate: 90deg;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 ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.list-decimal{list-style-type:decimal}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.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-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-scroll{overflow-y:scroll}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-t{border-top-width:1px}.border-none{border-style:none}.border-amber-200{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity, 1))}.border-amber-300{--tw-border-opacity: 1;border-color:rgb(252 211 77 / var(--tw-border-opacity, 1))}.border-emerald-100{--tw-border-opacity: 1;border-color:rgb(209 250 229 / var(--tw-border-opacity, 1))}.border-emerald-500{--tw-border-opacity: 1;border-color:rgb(16 185 129 / var(--tw-border-opacity, 1))}.border-input{border-color:hsl(var(--input))}.border-sky-500{--tw-border-opacity: 1;border-color:rgb(14 165 233 / var(--tw-border-opacity, 1))}.border-slate-100{--tw-border-opacity: 1;border-color:rgb(241 245 249 / var(--tw-border-opacity, 1))}.border-slate-100\/20{border-color:#f1f5f933}.border-slate-100\/30{border-color:#f1f5f94d}.border-slate-200{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.border-white\/10{border-color:#ffffff1a}.border-white\/20{border-color:#fff3}.bg-amber-100{--tw-bg-opacity: 1;background-color:rgb(254 243 199 / var(--tw-bg-opacity, 1))}.bg-amber-400{--tw-bg-opacity: 1;background-color:rgb(251 191 36 / var(--tw-bg-opacity, 1))}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.bg-background{background-color:hsl(var(--background))}.bg-black\/40{background-color:#0006}.bg-black\/50{background-color:#00000080}.bg-black\/60{background-color:#0009}.bg-blue-400{--tw-bg-opacity: 1;background-color:rgb(96 165 250 / var(--tw-bg-opacity, 1))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-emerald-100{--tw-bg-opacity: 1;background-color:rgb(209 250 229 / var(--tw-bg-opacity, 1))}.bg-emerald-50{--tw-bg-opacity: 1;background-color:rgb(236 253 245 / var(--tw-bg-opacity, 1))}.bg-emerald-500{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity, 1))}.bg-green-700\/40{background-color:#15803d66}.bg-indigo-600{--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity, 1))}.bg-neutral-900{--tw-bg-opacity: 1;background-color:rgb(23 23 23 / var(--tw-bg-opacity, 1))}.bg-primary{background-color:hsl(var(--primary))}.bg-red-500\/40{background-color:#ef444466}.bg-rose-100{--tw-bg-opacity: 1;background-color:rgb(255 228 230 / var(--tw-bg-opacity, 1))}.bg-rose-500\/90{background-color:#f43f5ee6}.bg-secondary{background-color:hsl(var(--secondary))}.bg-slate-100{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.bg-slate-100\/20{background-color:#f1f5f933}.bg-slate-200{--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}.bg-slate-300{--tw-bg-opacity: 1;background-color:rgb(203 213 225 / var(--tw-bg-opacity, 1))}.bg-slate-50{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.bg-slate-50\/80{background-color:#f8fafccc}.bg-slate-700\/20{background-color:#33415533}.bg-slate-900\/40{background-color:#0f172a66}.bg-slate-900\/55{background-color:#0f172a8c}.bg-slate-950{--tw-bg-opacity: 1;background-color:rgb(2 6 23 / var(--tw-bg-opacity, 1))}.bg-teal-600{--tw-bg-opacity: 1;background-color:rgb(13 148 136 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/10{background-color:#ffffff1a}.bg-white\/15{background-color:#ffffff26}.bg-white\/80{background-color:#fffc}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-tr{background-image:linear-gradient(to top right,var(--tw-gradient-stops))}.from-amber-400{--tw-gradient-from: #fbbf24 var(--tw-gradient-from-position);--tw-gradient-to: rgb(251 191 36 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-emerald-50{--tw-gradient-from: #ecfdf5 var(--tw-gradient-from-position);--tw-gradient-to: rgb(236 253 245 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-emerald-500{--tw-gradient-from: #10b981 var(--tw-gradient-from-position);--tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-indigo-500{--tw-gradient-from: #6366f1 var(--tw-gradient-from-position);--tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-rose-400{--tw-gradient-from: #fb7185 var(--tw-gradient-from-position);--tw-gradient-to: rgb(251 113 133 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-sky-500{--tw-gradient-from: #0ea5e9 var(--tw-gradient-from-position);--tw-gradient-to: rgb(14 165 233 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-slate-300\/30{--tw-gradient-from: rgb(203 213 225 / .3) var(--tw-gradient-from-position);--tw-gradient-to: rgb(203 213 225 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-slate-50{--tw-gradient-from: #f8fafc var(--tw-gradient-from-position);--tw-gradient-to: rgb(248 250 252 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-slate-900\/60{--tw-gradient-from: rgb(15 23 42 / .6) var(--tw-gradient-from-position);--tw-gradient-to: rgb(15 23 42 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-gray-400\/30{--tw-gradient-to: rgb(156 163 175 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(156 163 175 / .3) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-slate-800\/60{--tw-gradient-to: rgb(30 41 59 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(30 41 59 / .6) var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-emerald-50\/60{--tw-gradient-to: rgb(236 253 245 / .6) var(--tw-gradient-to-position)}.to-indigo-500{--tw-gradient-to: #6366f1 var(--tw-gradient-to-position)}.to-orange-400{--tw-gradient-to: #fb923c var(--tw-gradient-to-position)}.to-purple-600{--tw-gradient-to: #9333ea var(--tw-gradient-to-position)}.to-red-500{--tw-gradient-to: #ef4444 var(--tw-gradient-to-position)}.to-slate-900\/60{--tw-gradient-to: rgb(15 23 42 / .6) var(--tw-gradient-to-position)}.to-teal-400{--tw-gradient-to: #2dd4bf var(--tw-gradient-to-position)}.to-teal-50{--tw-gradient-to: #f0fdfa var(--tw-gradient-to-position)}.to-teal-500{--tw-gradient-to: #14b8a6 var(--tw-gradient-to-position)}.bg-cover{background-size:cover}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.bg-center{background-position:center}.bg-no-repeat{background-repeat:no-repeat}.stroke-amber-500{stroke:#f59e0b}.stroke-emerald-500{stroke:#10b981}.stroke-rose-500{stroke:#f43f5e}.stroke-slate-400{stroke:#94a3b8}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.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-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-16{padding-bottom:4rem}.pb-2{padding-bottom:.5rem}.pb-24{padding-bottom:6rem}.pl-1{padding-left:.25rem}.pl-2{padding-left:.5rem}.pl-5{padding-left:1.25rem}.pr-4{padding-right:1rem}.pt-0{padding-top:0}.pt-3{padding-top:.75rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-widest{letter-spacing:.1em}.text-amber-300\/80{color:#fcd34dcc}.text-amber-700{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.text-amber-950{--tw-text-opacity: 1;color:rgb(69 26 3 / var(--tw-text-opacity, 1))}.text-blue-300\/90{color:#93c5fde6}.text-card-foreground{color:hsl(var(--card-foreground))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-emerald-300{--tw-text-opacity: 1;color:rgb(110 231 183 / var(--tw-text-opacity, 1))}.text-emerald-500{--tw-text-opacity: 1;color:rgb(16 185 129 / var(--tw-text-opacity, 1))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-emerald-700{--tw-text-opacity: 1;color:rgb(4 120 87 / var(--tw-text-opacity, 1))}.text-emerald-800{--tw-text-opacity: 1;color:rgb(6 95 70 / var(--tw-text-opacity, 1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-rose-300{--tw-text-opacity: 1;color:rgb(253 164 175 / var(--tw-text-opacity, 1))}.text-rose-700{--tw-text-opacity: 1;color:rgb(190 18 60 / var(--tw-text-opacity, 1))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-slate-200{--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.text-slate-800{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/45{color:#ffffff73}.text-white\/50{color:#ffffff80}.text-white\/55{color:#ffffff8c}.text-white\/65{color:#ffffffa6}.text-white\/70{color:#ffffffb3}.text-white\/75{color:#ffffffbf}.text-white\/80{color:#fffc}.text-white\/85{color:#ffffffd9}.text-white\/90{color:#ffffffe6}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.accent-emerald-500{accent-color:#10b981}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.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-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-indigo-500\/30{--tw-shadow-color: rgb(99 102 241 / .3);--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-offset-background{--tw-ring-offset-color: hsl(var(--background))}.blur{--tw-blur: blur(8px);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-md{--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-none{--tw-backdrop-blur: ;-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-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-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-500{transition-duration:.5s}.duration-75{transition-duration:75ms}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.duration-500{animation-duration:.5s}.duration-75{animation-duration:75ms}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.running{animation-play-state:running}.paused{animation-play-state:paused}*{font-family:Grandstander,cursive}.three-container{width:100vw;height:100vh;background-color:#31273e}body{margin:0;overflow-x:hidden}@media (-webkit-device-pixel-ratio: 3){.content-3,.content-2,.content-1,.content-4{transform:translateY(-134px)}}.hologram-ui-overlay{position:fixed;bottom:48px;left:0;right:0;display:flex;justify-content:center;z-index:100;pointer-events:none}.hologram-ui-overlay>*{pointer-events:auto}.hologram-btn{background-color:var(--btn-bg);color:#fff;border-style:solid;border-width:4px;border-top-color:#fff;border-bottom-color:#9b9b9b;border-left-color:#9e9e9e;border-right-color:#9e9e9e;padding:18px 60px 14px;font-size:1.5rem;font-weight:900;text-transform:uppercase;letter-spacing:.15em;border-radius:999px;cursor:pointer;box-shadow:0 4px 6px #0000004d,0 0 0 1px #0009;text-shadow:2px 3px 0 rgba(0,0,0,.4);transition:transform .1s}.hologram-btn:active{transform:translateY(3px);box-shadow:0 1px 2px #0000004d,0 0 0 1px #0009;border-top-color:#9e9e9e;border-bottom-color:#fff}:root{--wood-dark: #5D4037;--wood-medium: #8D6E63;--wood-light: #D7CCC8;--paper-bg: #FFF8E1;--grass-green: #AED581;--sky-blue: #4FC3F7;--text-brown: #4E342E;--school-radius: 24px}html,body,#root{width:100%;min-height:100%}body{background-color:#81d4fa;background-image:none;overflow:hidden}.school-app-shell,.school-app-shell *{box-sizing:border-box;font-family:Zen Maru Gothic,Kosugi Maru,Varela Round,Noto Sans TC,sans-serif;-webkit-user-select:none;-moz-user-select:none;user-select:none}.school-app-shell{width:100vw;height:100dvh;position:relative;background:#81D4FA;overflow:hidden;--joystick-size: 148px;--joystick-gap: 28px;--ui-safe-bottom: 0px;--ui-safe-top: 0px;--ui-dock-height: 94px;--ui-dock-stack-gap: 10px;--ui-callout-offset: 132px}.school-canvas{position:absolute!important;inset:0;width:100%!important;height:100%!important;z-index:1}.scene-error-fallback{position:absolute;inset:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;background:rgba(1,36,58,.82);color:#fff;text-align:center}.scene-error-fallback pre{max-width:min(720px,92vw);padding:12px;border-radius:8px;background:rgba(255,255,255,.08);white-space:pre-wrap;word-break:break-word;font-size:12px}.school-ui-layer{position:absolute;inset:0;z-index:100;pointer-events:none}.school-ui-layer>*{pointer-events:auto}.school-ui-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:inherit;font:inherit;padding:0;margin:0;text-align:inherit}.start-screen{position:absolute;inset:0;background:rgba(0,0,0,.4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;transition:opacity .8s,transform .8s}.start-screen.is-hidden{opacity:0;transform:scale(1.1);pointer-events:none}.open-notebook{width:min(800px,calc(100% - 64px));height:min(550px,calc(100% - 64px));min-height:430px;background:var(--wood-dark);border-radius:16px;position:relative;display:flex;overflow:hidden;box-shadow:0 30px 60px #00000080,inset 0 0 20px #0000004d;padding:10px 15px}.page{flex:1 1 50%;min-width:0;background-color:#fff;position:relative;background-image:radial-gradient(#CFD8DC 1.5px,transparent 1.5px);background-size:20px 20px;box-shadow:inset 0 0 30px #00000008}.page.left{border-radius:8px 0 0 8px;border-right:1px solid #E0E0E0;box-shadow:-2px 2px #f5f5f5,-4px 4px #eee,-6px 6px #e0e0e0,-7px 7px 5px #0000001a;z-index:1}.page.right{border-radius:0 8px 8px 0;border-left:1px solid #E0E0E0;overflow:hidden;box-shadow:2px 2px #f5f5f5,4px 4px #eee,6px 6px #e0e0e0,7px 7px 5px #0000001a;z-index:1}.spiral-binding{position:absolute;left:50%;top:25px;bottom:25px;width:50px;transform:translate(-50%);display:flex;flex-direction:column;justify-content:space-between;z-index:10;pointer-events:none}.spiral-ring{height:14px;background:linear-gradient(90deg,#607D8B,#CFD8DC,#B0BEC5,#546E7A);border-radius:7px;box-shadow:0 2px 4px #0000004d;margin:0 2px;position:relative}.spiral-ring:after{content:"";position:absolute;left:5px;right:5px;top:4px;height:4px;background:rgba(255,255,255,.4);border-radius:2px}.scrapbook-layout{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:26px 46px 26px 24px;transform:rotate(-2deg)}.polaroid{width:min(260px,78%);background:#fff;padding:12px 12px 50px;box-shadow:0 10px 20px #00000026;transform:rotate(3deg);position:relative;margin-bottom:20px}.polaroid-img{width:100%;height:180px;background:linear-gradient(145deg,rgba(79,195,247,.55),rgba(174,213,129,.5));background-image:url(https://i.postimg.cc/1PKjcyZp/ying-mu-jie-tu-2026-02-26-shang-wu9-35-02.png);background-size:cover;background-position:center;filter:sepia(.2) contrast(1.1);border:1px solid #eee}.polaroid-caption{position:absolute;bottom:15px;left:0;width:100%;text-align:center;font-family:Patrick Hand,cursive;font-size:24px;color:#555}.tape-strip{position:absolute;width:80px;height:25px;background:rgba(144,164,174,.7);top:-10px;left:50%;transform:translate(-50%) rotate(-2deg);box-shadow:0 1px 2px #0000001a}.title-sticker-group{position:relative;margin-top:10px;display:flex;flex-direction:column;align-items:center;gap:14px}.main-title{font-weight:900;font-size:clamp(22px,2.6vw,32px);color:#3e2723;background:#FFECB3;padding:8px 18px;border-radius:4px;box-shadow:2px 2px #0000001a;transform:rotate(-2deg);display:inline-block;border:2px dashed #FF6F00;letter-spacing:2px;max-width:100%;text-align:center;text-wrap:balance}html:not([lang^="en"]) .main-title{font-size:clamp(24px,3vw,38px)}.sub-title{font-weight:700;font-size:18px;color:var(--wood-dark);background:#fff;padding:6px 16px;border:1px solid var(--wood-light);box-shadow:2px 2px #0000000d;position:relative;align-self:flex-end;transform:rotate(3deg);max-width:100%;text-align:center;z-index:2}.deco-badge{position:absolute;width:50px;height:50px;background:#546E7A;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;box-shadow:0 4px 6px #0003;border:2px solid white;top:20px;right:20px;transform:rotate(10deg)}.todo-layout{padding:26px 28px 22px 46px;height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}.date-stamp{align-self:flex-end;font-family:Courier New,monospace;font-weight:700;color:#90a4ae;border:2px solid #90A4AE;padding:5px 10px;border-radius:4px;transform:rotate(-3deg);margin-bottom:12px;font-size:14px;opacity:.8}.list-header{font-family:Patrick Hand,cursive;font-size:28px;color:#455a64;border-bottom:2px solid #CFD8DC;padding-bottom:5px;margin-bottom:14px;width:100%}.character-picker{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.character-picker-label{font-family:Patrick Hand,cursive;font-size:20px;color:#607d8b;letter-spacing:1px}.character-picker-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.character-option{display:flex;align-items:center;gap:12px;padding:10px;border:2px dashed #CFD8DC;border-radius:12px;background:rgba(255,255,255,.6);cursor:pointer;text-align:left;transition:all .2s ease}.character-option:hover{border-color:#90a4ae;transform:translateY(-2px)}.character-option.is-selected{border-style:solid;border-color:#455a64;background:rgba(207,216,220,.45);box-shadow:0 2px #455a6440}.character-option-portrait{width:52px;height:52px;border-radius:50%;-o-object-fit:cover;object-fit:cover;background:#ECEFF1;flex-shrink:0}.character-option-text{display:flex;flex-direction:column;line-height:1.25;min-width:0}.character-option-text strong{font-size:17px;font-weight:700;color:#37474f}.character-option-text em{font-style:normal;font-size:12px;color:#78909c}.language-picker{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px;margin-bottom:14px}.language-picker-options{display:flex;gap:8px}.language-option{border:2px dashed #CFD8DC;border-radius:999px;padding:6px 14px;font-size:14px;font-weight:700;color:#607d8b;background:rgba(255,255,255,.6);cursor:pointer;transition:all .2s ease}.language-option:hover{border-color:#90a4ae;color:#37474f}.language-option.is-selected{border-style:solid;border-color:#455a64;background:#455A64;color:#fff}.menu-list-v2{display:flex;flex-direction:column;gap:10px;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:6px;padding-bottom:8px;scrollbar-gutter:stable}.menu-list-v2::-webkit-scrollbar{width:8px}.menu-list-v2::-webkit-scrollbar-thumb{background:rgba(120,144,156,.5);border-radius:99px}.menu-list-v2::-webkit-scrollbar-track{background:transparent}.menu-item-v2{display:flex;align-items:center;gap:15px;cursor:pointer;padding:10px 12px;border-radius:8px;transition:all .2s ease;font-weight:700;font-size:20px;color:#455a64;letter-spacing:1px}.menu-item-v2:hover{background:rgba(207,216,220,.3);transform:translate(5px);color:#263238}.checkbox-circle{width:24px;height:24px;border:2px solid #78909C;border-radius:6px;display:flex;align-items:center;justify-content:center;background:#fff;box-shadow:inset 1px 1px 2px #0000001a}.menu-item-v2:hover .checkbox-circle:after{content:"\2713";color:#37474f;font-size:20px;font-weight:700}.auth-welcome{margin:-10px 0 12px;font-size:14px;color:#607d8b}.auth-form{display:flex;flex-direction:column;gap:14px;width:100%;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:4px}.auth-field{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:700;color:#546e7a}.auth-field input{border:2px solid #CFD8DC;border-radius:8px;padding:10px 12px;font-size:16px;font-family:inherit;color:#37474f;background:#fff;box-shadow:inset 1px 1px 2px #0000000f}.auth-field input:focus{outline:none;border-color:#90a4ae}.auth-error{margin:0;padding:8px 10px;border-radius:8px;background:#FFEBEE;color:#c62828;font-size:13px;font-weight:600}.auth-actions{display:flex;flex-direction:column;gap:8px;margin-top:4px}.auth-actions .auth-submit,.auth-actions .auth-switch,.auth-actions .auth-back{display:flex;align-items:center;justify-content:center;width:100%;border:none;border-radius:8px;padding:10px 14px;font-weight:700;font-size:15px;cursor:pointer;text-align:center}.auth-submit{background:#455A64;color:#fff}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-switch{background:rgba(207,216,220,.45);color:#37474f}.auth-back{background:transparent;color:#78909c;text-decoration:underline}.hud-logout{margin-left:auto;border:none;background:rgba(120,144,156,.18);color:#455a64;font-size:11px;font-weight:700;padding:2px 8px;border-radius:8px;cursor:pointer}.paper-clip{position:absolute;top:-15px;right:40px;width:20px;height:50px;border:4px solid #78909C;border-radius:10px;border-bottom:none;z-index:10}.paper-clip:after{content:"";position:absolute;bottom:0;left:-4px;width:20px;height:35px;border:4px solid #78909C;border-radius:10px;border-top:none;z-index:-1}.pencil-prop{position:absolute;bottom:20px;right:-30px;width:30px;height:250px;background:#FFCA28;border-radius:15px;box-shadow:5px 10px 15px #0003;transform:rotate(-15deg);z-index:20;background-image:linear-gradient(90deg,transparent 0%,transparent 20%,rgba(255,255,255,.4) 20%,rgba(255,255,255,.4) 40%,transparent 40%)}.pencil-prop:before{content:"";position:absolute;top:-40px;left:0;width:0;height:0;border-left:15px solid transparent;border-right:15px solid transparent;border-bottom:40px solid #FFE0B2}.pencil-prop:after{content:"";position:absolute;top:-40px;left:10px;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:15px solid #333}.eraser-head{position:absolute;bottom:-10px;left:0;width:100%;height:30px;background:#F48FB1;border-radius:5px;border-top:5px solid #CFD8DC}.deco-sticker{position:absolute;bottom:40px;left:40px;transform:rotate(10deg);opacity:.8;font-size:24px}.player-hud{position:absolute;top:25px;left:25px;display:flex;align-items:center;background:#FFF8E1;padding:6px 16px 6px 6px;border-radius:50px;border:4px solid var(--wood-medium);box-shadow:0 6px #3e27234d,inset 0 -4px #0000000d;z-index:110;transform:rotate(-2deg);min-width:300px;animation:popIn .5s cubic-bezier(.175,.885,.32,1.275) forwards}.player-hud:after{content:"";position:absolute;right:-10px;top:-10px;width:30px;height:30px;background:#FF7043;border-radius:50%;border:2px solid #fff;box-shadow:0 2px 4px #0003}.player-hud:before{content:"\2605";position:absolute;right:-10px;top:-10px;width:30px;height:30px;display:grid;place-items:center;color:#fff;font-size:17px;line-height:1;z-index:1}.avatar-frame{width:72px;height:72px;padding:0;background:#E1F5FE;border-radius:50%;border:4px solid #fff;overflow:hidden;display:flex;justify-content:center;align-items:center;margin-right:12px;box-shadow:0 0 0 3px var(--sky-blue),0 4px 6px #0000001a;cursor:default}.avatar-frame.is-signin{cursor:pointer}.avatar-frame.is-signin:hover{box-shadow:0 0 0 3px #ff7043,0 4px 6px #0000001f}.avatar-menu-anchor{position:relative;display:flex}.avatar-frame[aria-haspopup=menu]{cursor:pointer}.avatar-frame[aria-haspopup=menu]:hover,.avatar-frame[aria-expanded=true]{box-shadow:0 0 0 3px #ff7043,0 4px 6px #0000001f}.avatar-menu{position:absolute;z-index:60;top:calc(100% + 10px);left:0;min-width:218px;max-width:78vw;display:grid;gap:4px;padding:8px;background:#fff;border:3px solid #fff;border-radius:18px;box-shadow:0 0 0 3px var(--sky-blue),0 10px 24px #0000002e}.avatar-menu-head{display:grid;gap:2px;padding:6px 10px 10px;border-bottom:2px dashed #E0E0E0;margin-bottom:4px;min-width:0}.avatar-menu-head strong{color:var(--wood-dark);font-size:15px}.avatar-menu-head span{color:#8d6e63;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;background:transparent;border:0;border-radius:12px;color:var(--wood-dark);font-size:14px;text-align:left;text-decoration:none;cursor:pointer;transition:background .16s ease}.avatar-menu-item:hover{background:#FFF3E0}.avatar-menu-item.is-logout{color:#d84315}.avatar-menu-item.is-logout:hover{background:#FFEBEE}.player-avatar{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center top;object-position:center top;display:block}.player-info{flex:1;min-width:180px;display:flex;flex-direction:column;justify-content:center}.player-name-row{display:flex;align-items:baseline;gap:6px;margin-bottom:4px}.player-info h2{font-size:18px;color:var(--wood-dark);margin:0;font-weight:800}.role-badge{font-size:10px;background:#C5E1A5;color:#33691e;padding:2px 6px;border-radius:8px;font-weight:700}.exp-bar-container{width:100%;height:16px;background:var(--wood-light);border-radius:8px;overflow:hidden;position:relative;box-shadow:inset 0 2px 4px #0000001a}.exp-bar-fill{height:100%;width:0%;background:repeating-linear-gradient(45deg,#FFCA28,#FFCA28 10px,#FFB300 10px,#FFB300 20px);border-radius:7px;box-shadow:inset 0 2px #ffffff4d;transition:width .35s ease}.interaction-callouts{position:fixed;left:50%;bottom:var(--ui-callout-offset);transform:translate(-50%);z-index:120;display:flex;flex-direction:column;align-items:stretch;gap:12px;width:min(92vw,560px);pointer-events:none}.interaction-callouts>*{pointer-events:auto}.classroom-minigame-prompt{position:relative;left:auto;bottom:auto;transform:none;z-index:1;display:flex;align-items:center;gap:14px;width:100%;padding:14px 16px;border-radius:18px;background:rgba(255,252,245,.96);border:3px solid var(--room-accent, #C084FC);box-shadow:0 14px 36px #0f172a2e}.classroom-minigame-icons{display:flex;gap:8px}.handbook-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:#E5E7EB;filter:grayscale(1);opacity:.55;font-size:22px;transition:filter .25s ease,opacity .25s ease,transform .25s ease}.handbook-icon.is-lit{filter:none;opacity:1;transform:translateY(-2px);box-shadow:0 0 0 2px #ffca2873}.classroom-minigame-copy strong{display:block;color:#1e293b;margin-bottom:4px}.classroom-minigame-copy p{margin:0;color:#64748b;font-size:.92rem;line-height:1.45}.classroom-minigame-copy small{display:block;margin-top:6px;color:#94a3b8;font-size:.82rem}.classroom-minigame-copy small kbd{display:inline-block;min-width:1.2em;padding:1px 6px;border-radius:6px;background:#E2E8F0;color:#334155;font-size:.78rem;text-align:center}.minigame-handbook-section{margin-bottom:22px;padding:16px;border-radius:18px;background:rgba(248,250,252,.92);border:2px solid rgba(129,212,250,.45)}.minigame-handbook-head{display:flex;flex-direction:column;gap:4px;margin-bottom:14px}.minigame-handbook-head strong{color:#0f172a;font-size:1.02rem}.minigame-handbook-head small{color:#64748b}.minigame-handbook-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.minigame-handbook-card{padding:14px;border-radius:16px;background:#FFFFFF;border:2px solid #E2E8F0}.minigame-handbook-card-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.minigame-handbook-badge{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;border-radius:12px;background:#E0F2FE;color:#0369a1;font-weight:800}.minigame-handbook-card-head strong{display:block;color:#1e293b}.minigame-handbook-card-head small{color:#64748b}.minigame-handbook-card p{margin:10px 0 0;color:#64748b;font-size:.88rem}.classroom-minigame-play{margin-left:auto;white-space:nowrap;padding:10px 14px;border-radius:999px;background:var(--room-accent, #C084FC);color:#fff;font-weight:700}.badge-card.is-locked{opacity:.72;filter:grayscale(.85)}.badge-card.is-unlocked{box-shadow:inset 0 0 0 2px #ffca288c}.badge-status{display:inline-block;margin-top:8px;font-size:.82rem;font-weight:700;color:#64748b}.badge-card.is-unlocked .badge-status{color:#2e7d32}.exp-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:-moz-max-content;width:max-content;font-size:10px;line-height:1;color:var(--wood-dark);font-weight:700;white-space:nowrap;text-shadow:0 1px 0 rgba(255,255,255,.5)}.stats-container{position:absolute;top:25px;right:25px;display:flex;gap:15px;z-index:110;animation:popIn .5s .2s cubic-bezier(.175,.885,.32,1.275) both}.sticky-note{width:100px;height:90px;background:#FFF9C4;padding:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:2px 4px 6px #0000001a;transform:rotate(2deg);position:relative}.sticky-note:before{content:"";position:absolute;top:-10px;left:50%;transform:translate(-50%);width:30px;height:15px;background:rgba(255,255,255,.4);border:1px solid rgba(0,0,0,.05);box-shadow:0 1px 2px #0000001a}.sticky-note:nth-child(2){background:#E1BEE7;transform:rotate(-3deg)}.note-val{font-size:24px;font-weight:800;color:var(--wood-dark)}.note-label{font-size:12px;color:#795548;margin-top:4px;text-align:center}.clipboard-hint{position:absolute;right:25px;top:140px;width:220px;background:#fff;border-radius:10px;padding:40px 20px 20px;box-shadow:0 4px 8px #00000026;z-index:109;transform:rotate(1deg);animation:slideInRight .6s .35s ease-out both}.clipboard-clip{position:absolute;top:-10px;left:50%;transform:translate(-50%);width:80px;height:30px;background:#607D8B;border-radius:5px;border-bottom:4px solid #455A64}.hint-title{font-size:14px;font-weight:700;color:#d84315;margin-bottom:8px;border-bottom:2px dashed #FFCCBC;padding-bottom:4px}.hint-content{font-size:12px;color:var(--wood-dark);line-height:1.6;margin-bottom:10px}.crayon-progress{height:12px;background:#EFEFEF;border-radius:6px;border:2px solid var(--wood-dark);overflow:hidden}.crayon-fill{height:100%;width:40%;background:repeating-linear-gradient(-45deg,#FFAB91,#FFAB91 5px,#FF8A65 5px,#FF8A65 10px);border-right:2px solid var(--wood-dark)}.inventory-dock{position:absolute;bottom:25px;left:50%;width:-moz-max-content;width:max-content;max-width:calc(100vw - 24px);transform:translate(-50%);display:flex;gap:12px;background:rgba(255,255,255,.9);padding:12px;border-radius:24px;border:4px solid var(--wood-medium);box-shadow:0 8px #3e27234d;z-index:120;animation:slideInUp .6s .5s ease-out both}.inv-slot{width:70px;height:70px;background:#FFF8E1;border:3px solid var(--wood-light);border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;position:relative}.inv-slot:hover{transform:translateY(-5px);background:#fff;border-color:#ffb74d;box-shadow:0 5px #0000001a}.inv-slot:active{transform:translateY(0);box-shadow:none}.inv-icon{font-size:32px;margin-bottom:2px;filter:drop-shadow(2px 2px 0 rgba(0,0,0,.1))}.inv-label{font-size:10px;font-weight:700;color:var(--wood-medium)}.inv-slot.has-notif:after{content:"!";position:absolute;top:-5px;right:-5px;width:20px;height:20px;background:#FF5252;color:#fff;border-radius:50%;border:2px solid white;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;animation:bounce 1s infinite}.joystick-controls{position:absolute;bottom:calc(var(--joystick-gap) + var(--ui-safe-bottom));left:calc(var(--joystick-gap) + env(safe-area-inset-left,0px));width:var(--joystick-size);height:var(--joystick-size);background-color:#fff8e1f0;background-image:radial-gradient(rgba(141,110,99,.2) 1.6px,transparent 1.6px),linear-gradient(135deg,rgba(255,255,255,.58),rgba(255,224,178,.22));background-size:16px 16px,100% 100%;border:4px solid rgba(141,110,99,.88);border-radius:50%;box-shadow:0 8px #3e27233d,0 14px 24px #0000002e,inset 0 0 0 3px #ffffffb8;transform:rotate(-3deg);z-index:130;touch-action:none;box-sizing:border-box}.joystick-controls__clip{position:absolute;top:-12px;left:50%;width:58px;height:18px;background:rgba(144,164,174,.62);border:1px solid rgba(69,90,100,.18);box-shadow:0 2px 4px #0000001f;transform:translate(-50%) rotate(2deg);pointer-events:none}.joystick-controls__ring{position:absolute;inset:18px;border:3px dashed rgba(141,110,99,.42);border-radius:50%;pointer-events:none}.joystick-controls__knob{position:absolute;top:50%;left:50%;width:calc(var(--joystick-size) * .38);height:calc(var(--joystick-size) * .38);background:radial-gradient(circle at 35% 30%,#8BDDFD 0%,#4FC3F7 58%,#29A9E8 100%);border:4px solid #fff;border-radius:50%;box-shadow:0 5px #0277bd6b,0 8px 14px #00000038,inset 0 4px 8px #ffffff59;pointer-events:none}.dock-hamburger-btn{display:none;position:absolute;bottom:calc(var(--joystick-gap) + var(--ui-safe-bottom));right:max(10px,env(safe-area-inset-right,0px));width:52px;height:52px;place-items:center;border-radius:16px;border:3px solid var(--wood-medium);background:rgba(255,255,255,.94);box-shadow:0 5px #3e272347;z-index:129;padding:0;cursor:pointer}.dock-hamburger-icon{display:flex;flex-direction:column;gap:5px;width:22px}.dock-hamburger-icon span{display:block;height:3px;border-radius:2px;background:var(--wood-dark);transition:transform .2s ease,opacity .2s ease}.dock-hamburger-btn.is-open .dock-hamburger-icon span:nth-child(1){transform:translateY(8px) rotate(45deg)}.dock-hamburger-btn.is-open .dock-hamburger-icon span:nth-child(2){opacity:0}.dock-hamburger-btn.is-open .dock-hamburger-icon span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.dock-hamburger-btn.has-notif:after{content:"!";position:absolute;top:-5px;right:-5px;width:18px;height:18px;background:#ff5252;color:#fff;border-radius:50%;border:2px solid #fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:11px;animation:bounce 1s infinite}.dock-flyout-backdrop{position:absolute;inset:0;z-index:127;background:transparent;border:0;padding:0;cursor:default}.dock-flyout{position:absolute;right:max(10px,env(safe-area-inset-right,0px));bottom:calc(var(--joystick-gap) + var(--ui-safe-bottom) + 60px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;background:rgba(255,255,255,.97);border:3px solid var(--wood-medium);border-radius:18px;box-shadow:0 8px #3e27233d,0 14px 28px #0000001f;z-index:131;animation:dockFlyoutIn .22s cubic-bezier(.16,1,.3,1) both}@keyframes dockFlyoutIn{0%{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.dock-flyout .inv-slot{width:64px;height:58px;min-width:0}@media (max-width: 560px){.inventory-dock--bar{display:none!important}.dock-hamburger-btn{display:grid}.school-app-shell{--ui-dock-height: 0px;--ui-callout-offset: calc( var(--joystick-size) + var(--joystick-gap) + var(--ui-safe-bottom) + 14px )}}.modal-overlay{position:absolute;inset:0;background:rgba(0,0,0,.4);z-index:400;display:flex;justify-content:center;align-items:center;opacity:0;pointer-events:none;transition:opacity .3s}.modal-overlay.active{opacity:1;pointer-events:all}.notebook-modal{width:min(94vw,1280px);height:min(92dvh,920px);max-width:1280px;background:#fff;border-radius:20px;display:flex;position:relative;box-shadow:inset 10px 0 20px #0000000d,0 20px 40px #0000004d;border:8px solid #FFCC80;transform:scale(.9) rotate(-1deg);transition:transform .4s cubic-bezier(.175,.885,.32,1.275);overflow:hidden}.modal-overlay.active .notebook-modal{transform:scale(1) rotate(0)}.notebook-modal.game-modal{width:100vw;height:100dvh;max-width:none;border:0;border-radius:0;background:transparent;box-shadow:none}.notebook-modal.game-modal .notebook-rings{display:none}.notebook-modal.game-modal .modal-content-wrapper{padding:0;overflow:hidden;background:transparent}.notebook-modal.game-modal .close-sticker{top:18px;right:18px;z-index:30}.notebook-modal.location-prompt-modal{width:min(92vw,680px);height:auto;min-height:0;border:0;border-radius:26px;background:radial-gradient(circle at 12% 14%,rgba(255,236,179,.95),transparent 28%),linear-gradient(145deg,rgba(255,255,255,.98),rgba(255,248,225,.96));box-shadow:0 22px 55px #3e272352,0 0 0 4px #ffcc80e6,8px 8px #79554838;overflow:visible}.notebook-modal.location-prompt-modal .notebook-rings{display:none}.notebook-modal.location-prompt-modal .modal-content-wrapper{padding:0;overflow:visible;background:transparent}.notebook-modal.location-prompt-modal .close-sticker{top:-14px;right:-14px;width:42px;height:42px;border-width:3px}.notebook-rings{position:absolute;left:20px;top:0;bottom:0;width:30px;display:flex;flex-direction:column;justify-content:space-evenly;z-index:5}.ring{width:40px;height:12px;background:#B0BEC5;border-radius:6px;box-shadow:1px 1px 2px #0000004d;margin-left:-20px}.modal-content-wrapper{flex:1;padding:34px 44px 34px 56px;overflow-y:auto;background:linear-gradient(#E1F5FE 1px,transparent 1px),linear-gradient(90deg,#E1F5FE 1px,transparent 1px);background-size:20px 20px;background-color:#fff}.modal-header-ribbon{background:#7CB342;color:#fff;display:inline-block;padding:8px 30px;font-size:24px;font-weight:700;border-radius:4px;box-shadow:2px 2px #0003;margin-bottom:20px;position:relative;left:-10px;transform:rotate(-1deg)}.modal-header-ribbon:before{content:"";position:absolute;left:-10px;top:8px;border-style:solid;border-width:0 10px 10px 0;border-color:transparent #33691E transparent transparent}.sen-ribbon{background:#29B6F6}.ai-ribbon{background:#FF5722}.games-ribbon{background:#BA68C8}.report-ribbon{background:#7CB342}.close-sticker{position:absolute;top:15px;right:15px;width:40px;height:40px;background:#FF5252;border-radius:50%;color:#fff;font-size:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;border:3px solid #fff;box-shadow:2px 2px 5px #0003;z-index:10;transition:transform .2s}.close-sticker:hover{transform:scale(1.1) rotate(90deg)}.modal-intro{margin-bottom:20px;color:var(--wood-dark)}.grid-layout{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.game-card{background:#fff;border:3px solid var(--wood-medium);border-radius:16px;padding:15px;text-align:center;cursor:pointer;transition:all .2s;box-shadow:4px 4px 0 var(--wood-light)}.game-card:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--wood-light);background:#FFFDE7}.game-card:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--wood-light)}.card-icon-bg{width:60px;height:60px;background:#E0F7FA;border-radius:50%;margin:0 auto 10px;display:flex;align-items:center;justify-content:center;font-size:30px;border:2px dashed #4DD0E1}.game-card h4{color:var(--wood-dark);font-size:16px;margin:0 0 5px}.game-card p{color:var(--wood-medium);font-size:12px;line-height:1.4;margin:0}.theme-blue .card-icon-bg{background:#E1F5FE;border-color:#29b6f6}.theme-green .card-icon-bg{background:#E8F5E9;border-color:#66bb6a}.theme-pink .card-icon-bg{background:#FCE4EC;border-color:#ec407a}.theme-orange .card-icon-bg{background:#FFF3E0;border-color:#ffa726}.game-iframe{width:100%;height:100%;overflow:hidden;border:0;background:#E0F2F1}.scenario-header-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:20px}.scenario-header-row .modal-header-ribbon{margin-bottom:0}.ai-back-links{display:flex;flex-wrap:wrap;gap:10px;margin:0}.ai-back-link{display:inline-flex;cursor:pointer;color:var(--wood-dark);font-weight:900;background:#FFF3E0;border:2px dashed #FFAB91;border-radius:12px;padding:8px 12px}.scenario-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.scenario-card,.ai-choice-card{cursor:pointer;background:#fff;border:3px solid var(--wood-medium);border-radius:16px;color:var(--wood-dark);box-shadow:4px 4px 0 var(--wood-light);transition:transform .2s,box-shadow .2s,background .2s}.scenario-card{min-height:112px;padding:16px;display:flex;flex-direction:column;gap:8px}.scenario-card strong{font-size:18px;font-weight:900}.scenario-card small{color:#d84315;font-size:11px;font-weight:800}.scenario-card span{font-size:12px;line-height:1.5;color:#795548}.scenario-mode-switch{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 18px}.scenario-mode-button{border:2px solid #FFCC80;border-radius:999px;background:#fff;color:#6d4c41;padding:9px 14px;font-weight:900;cursor:pointer}.scenario-mode-button.is-active{background:#FF7043;border-color:#d84315;color:#fff;box-shadow:0 4px #d84315}.scenario-card:hover,.ai-choice-card:hover{background:#FFFDE7;transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--wood-light)}.ai-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}.ai-choice-grid.is-single{grid-template-columns:minmax(0,1fr);max-width:360px;margin-left:auto;margin-right:auto}.ai-choice-card{min-height:150px;padding:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center}.ai-choice-icon{font-size:36px}.ai-choice-card strong{font-size:22px;font-weight:900}.ai-choice-card small{color:#795548;font-size:13px;line-height:1.5}.ai-action-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}.ai-action-list.is-single{grid-template-columns:minmax(0,1fr);margin-top:0}.ai-action-panel{background:#fff;border:3px solid #FFAB91;border-radius:18px;color:var(--wood-dark);padding:18px;box-shadow:4px 4px 0 var(--wood-light)}.ai-action-panel.is-flat{background:transparent;border:0;border-radius:0;padding:0;box-shadow:none}.ai-action-panel-heading{display:flex;align-items:center;gap:10px;margin-bottom:12px}.ai-action-panel-heading strong{color:#d84315;font-size:20px;font-weight:900}.ai-action-prompt{margin:12px 0 0;border-radius:16px;background:#FFF8E1;border:2px dashed #FFCC80;color:#5d4037;padding:18px 20px;font-size:clamp(17px,1.35vw,20px);font-weight:850;line-height:1.9}.ai-action-section-list{display:grid;gap:12px;margin-top:12px}.ai-action-section{border-radius:14px;border:2px solid #FFE0B2;background:#fff;padding:12px 14px}.ai-action-section>strong{display:inline-flex;min-width:34px;justify-content:center;border-radius:999px;background:#FFF3E0;color:#d84315;padding:4px 10px;font-weight:900}.ai-action-section ol{margin:10px 0 0;padding-left:24px;color:#5d4037;font-weight:800;line-height:1.75}.ai-action-section li+li{margin-top:8px}.ai-action-feedback{margin:12px 0 0;border-radius:14px;background:#E8F5E9;border:2px dashed #A5D6A7;color:#1b5e20;padding:12px 14px;font-size:15px;font-weight:900;line-height:1.75}.ai-action-link-button{width:100%;margin-top:18px;border:0;border-radius:14px;background:#FF7043;color:#fff;padding:14px 18px;font-size:16px;font-weight:900;cursor:pointer;box-shadow:0 4px #d84315;transition:transform .18s ease,box-shadow .18s ease}.ai-action-link-button:hover{transform:translateY(-1px);box-shadow:0 5px #d84315}.ai-short-answer{margin-top:20px;background:#FFF9C4;border:2px dashed #FFAB91;border-radius:14px;color:var(--wood-dark);padding:16px 18px;box-shadow:3px 3px #8d6e632e}.ai-short-answer strong{color:#d84315;font-weight:900}.ai-short-answer p{margin:8px 0 0;line-height:1.7;font-weight:700}.scenario-title-row{display:flex;align-items:center;gap:12px;margin-bottom:14px}.scenario-title-row h3{margin:0;color:var(--wood-dark);font-size:22px;font-weight:900}.scenario-tag{display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border-radius:999px;background:#FFE0B2;color:#d84315;font-size:12px;font-weight:900;letter-spacing:.04em}.scenario-scoreboard{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px}.scenario-score-pill{min-width:140px;background:#FFF8E1;border:2px dashed #FFB74D;border-radius:14px;padding:10px 14px;color:var(--wood-dark);box-shadow:3px 3px #8d6e632e}.scenario-score-pill span{display:block;font-size:12px;font-weight:700;color:#8d6e63}.scenario-score-pill strong{display:block;margin-top:4px;font-size:20px;font-weight:900}.scenario-page-nav{display:flex;gap:10px;overflow-x:auto;padding:4px 4px 12px;margin:0 0 14px;scrollbar-width:thin}.scenario-page-tab{position:relative;min-width:76px;border:2px solid #D7CCC8;border-radius:16px;background:#fff;color:#6d4c41;padding:10px 12px;font-weight:900;cursor:pointer;box-shadow:3px 3px #8d6e632e;transition:transform .18s ease,border-color .18s ease,background .18s ease}.scenario-page-tab:hover{transform:translateY(-2px);border-color:#ffb74d;background:#FFF8E1}.scenario-page-tab.is-active{border-color:#ff7043;background:#FFF3E0;color:#d84315;box-shadow:0 0 0 3px #ff704324}.scenario-page-tab.is-completed{border-color:#81c784}.scenario-page-tab strong{position:absolute;top:-8px;right:-6px;width:20px;height:20px;border-radius:50%;background:#43A047;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px;box-shadow:0 2px #2e7d3280}.scenario-page-shell{background:rgba(255,253,247,.78);border:2px dashed #D7CCC8;border-radius:22px;padding:16px;position:relative}.submit-confirm-backdrop{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:20px;border-radius:22px;background:rgba(55,45,40,.45);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.submit-confirm-card{background:#FFFDF7;border:3px solid #FF7043;border-radius:20px;box-shadow:0 12px 28px #00000038;max-width:420px;padding:22px 24px;text-align:center}.submit-confirm-card h4{color:#d84315;font-size:22px;margin:0 0 10px}.submit-confirm-card p{color:#5d4037;font-size:17px;line-height:1.7;margin:0 0 18px}.submit-confirm-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.scenario-page-heading{display:flex;align-items:center;gap:12px;margin-bottom:14px}.scenario-page-heading span{border-radius:999px;background:#E1F5FE;color:#0277bd;padding:6px 12px;font-size:12px;font-weight:900}.scenario-page-heading h4{margin:0;color:var(--wood-dark);font-size:20px;font-weight:900}.scenario-page-shell .scenario-video-card,.scenario-page-shell .scenario-background-card,.scenario-page-shell .scenario-ai-card,.scenario-page-shell .question-card{margin:0}.scenario-page-footer{display:flex;justify-content:space-between;gap:12px;margin-top:16px}.scenario-page-button{border:0;border-radius:14px;background:#ECEFF1;color:#455a64;padding:12px 18px;font-weight:900;cursor:pointer;box-shadow:3px 3px #607d8b33}.scenario-page-button.is-next{background:linear-gradient(135deg,#FB6A3C,#E04B18);color:#fff;box-shadow:3px 3px #96300c59}.scenario-page-button.is-next:not(:disabled):hover{background:linear-gradient(135deg,#FF7C4F,#C93F10)}.scenario-page-button:disabled{opacity:.42;cursor:not-allowed;transform:none}.scenario-intro-card,.scenario-empty-card,.location-prompt-card{color:var(--wood-dark);background:#FFFDF5;border:2px dashed #FFCC80;border-radius:18px;padding:20px;line-height:1.75}.scenario-intro-card h4,.scenario-empty-card h4,.location-prompt-card h3{margin:8px 0 10px;color:#d84315;font-size:clamp(22px,2vw,28px);font-weight:900}.scenario-intro-card p,.scenario-empty-card p,.location-prompt-card p{margin:0;font-size:clamp(16px,1.25vw,19px);font-weight:800}.scenario-intro-kicker{display:inline-flex;border-radius:999px;background:#FFF3E0;color:#d84315;padding:5px 12px;font-size:13px;font-weight:900}.scenario-intro-steps{margin-top:18px;background:rgba(255,243,224,.75);border-radius:16px;padding:16px}.scenario-intro-steps strong{color:#5d4037;font-size:16px;font-weight:900}.scenario-intro-steps ol{margin:10px 0 0;padding-left:22px}.scenario-intro-steps li{margin-top:8px;font-size:16px;font-weight:800}.scenario-intro-time{display:inline-flex;margin-top:16px;border-radius:12px;background:#E8F5E9;color:#1b5e20;padding:8px 12px;font-weight:900}.location-prompt-card{max-width:720px;margin:0 auto;border-style:solid;box-shadow:6px 6px 0 var(--wood-light)}.location-prompt-modal .location-prompt-card{max-width:none;margin:0;padding:30px;border:0;background:transparent;box-shadow:none}.location-prompt-modal .location-prompt-card h3{margin-top:12px;font-size:clamp(28px,3.8vw,40px)}.location-prompt-modal .location-prompt-card p{font-size:clamp(17px,1.55vw,21px);line-height:1.9}.location-prompt-modal .scenario-section-chip{background:#FFE0B2;color:#ad1457;padding:6px 12px}.location-prompt-card .scenario-page-button{margin-top:18px;width:100%}.location-prompt-modal .location-prompt-card .scenario-page-button{margin-top:24px;min-height:52px;border-radius:16px;background:linear-gradient(135deg,#FF8A65,#FF7043);font-size:17px;box-shadow:0 5px #d84315}.scenario-video-card{margin-bottom:18px;background:rgba(255,255,255,.96);border:3px solid var(--wood-medium);border-radius:18px;padding:18px;box-shadow:4px 4px 0 var(--wood-light)}.scenario-section-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.scenario-section-chip{display:inline-flex;align-items:center;justify-content:center;padding:5px 10px;border-radius:999px;background:#FCE4EC;color:#c2185b;font-size:11px;font-weight:900}.scenario-section-chip.is-ai{background:#FFF3E0;color:#e65100}.scenario-section-chip.is-background{background:#E8F5E9;color:#2e7d32}.scenario-section-header h4{margin:0;color:var(--wood-dark);font-size:18px;font-weight:900}.scenario-video-shell{overflow:hidden;border-radius:14px;border:2px dashed #BCAAA4;background:#111}.scenario-video-player{display:block;width:100%;max-height:420px;background:#000}.scenario-background-card{margin-bottom:18px;background:linear-gradient(135deg,rgba(232,245,233,.98),rgba(255,255,255,.98) 45%),#fff;border:4px solid #81C784;border-radius:24px;padding:20px;color:var(--wood-dark);box-shadow:6px 6px #a5d6a7d9,inset 0 0 0 2px #ffffffe6}.background-section{display:flex;flex-direction:column;gap:18px}.background-hero{position:relative;overflow:hidden;background:#fff;border:2px dashed #A5D6A7;border-radius:20px;padding:18px 20px;box-shadow:3px 3px #a5d6a759}.background-hero:before{content:"";position:absolute;inset:0 auto 0 0;width:8px;background:linear-gradient(180deg,#66BB6A,#AED581)}.background-section h5{margin:0 0 10px;color:#1b5e20;font-size:22px;font-weight:900}.background-section p{margin:0;color:#5d4037;font-size:15px;font-weight:800;line-height:1.8}.background-group-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;align-items:start}.background-group{position:relative;overflow:hidden;background:rgba(255,255,255,.96);border:2px solid #C8E6C9;border-radius:22px;padding:18px 18px 20px;box-shadow:4px 4px #a5d6a76b,inset 0 0 0 1px #ffffffd9}.background-group:before{content:"";position:absolute;inset:0 0 auto;height:8px;background:linear-gradient(90deg,#66BB6A,#C5E1A5)}.background-group-heading{display:grid;grid-template-columns:42px 1fr;align-items:start;gap:14px;margin-bottom:16px;padding-top:4px}.background-group-heading>span{width:38px;height:38px;border-radius:50%;background:#43A047;color:#fff;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:13px;font-weight:900;box-shadow:0 3px #2e7d32}.background-group strong{color:#c62828;font-size:clamp(16px,1.25vw,18px);font-weight:900;line-height:1.65;letter-spacing:.01em;text-wrap:balance}.background-group ol{margin:0;padding:0;list-style:none;counter-reset:background-item}.background-group li{counter-increment:background-item;display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:flex-start;margin-bottom:10px;padding:8px 8px 8px 0;color:#4e342e;font-size:15px;line-height:1.6;font-weight:700;border-bottom:1px dashed rgba(165,214,167,.65)}.background-group li:before{content:counter(background-item);width:26px;height:26px;border-radius:9px;background:#E8F5E9;color:#2e7d32;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:900;border:1px solid #A5D6A7;margin-top:-1px}.background-group li:last-child{margin-bottom:0;border-bottom:0}.scenario-ai-card{margin-top:20px;background:rgba(255,255,255,.96);border:3px solid var(--wood-medium);border-radius:18px;padding:18px;box-shadow:4px 4px 0 var(--wood-light)}.scenario-ai-card.is-split-ai-page{margin-top:0;background:transparent;border:0;border-radius:0;padding:0;box-shadow:none}.ai-choice-card.is-placeholder{opacity:.7;cursor:not-allowed}.ai-choice-card.is-placeholder:hover{transform:none;box-shadow:4px 4px 0 var(--wood-light);background:#fff}.ai-choice-card.is-live{background:#FFF3E0;border-color:#ffab91}.ai-choice-card.is-live:hover{background:#FFE0B2}.question-list{display:flex;flex-direction:column;gap:18px}.question-card{background:rgba(255,255,255,.96);border:3px solid var(--wood-medium);border-radius:18px;padding:18px;box-shadow:4px 4px 0 var(--wood-light)}.question-card-header{display:flex;justify-content:flex-start;margin-bottom:10px}.question-type-chip{display:inline-flex;align-items:center;border-radius:999px;background:#E1F5FE;color:#0277bd;padding:5px 10px;font-size:11px;font-weight:900}.question-card h4{margin:0 0 14px;color:var(--wood-dark);font-size:17px;line-height:1.7}.question-video-block{display:flex;flex-direction:column;gap:10px;margin:0 0 14px}.question-video-label{display:inline-flex;width:-moz-fit-content;width:fit-content;border-radius:999px;background:#FFF8E1;border:2px dashed #FFCC80;color:#e65100;padding:6px 12px;font-size:13px;font-weight:900}.question-video-shell{overflow:hidden;border-radius:14px;border:2px dashed #BCAAA4;background:#111}.question-video-player{display:block;width:100%;max-height:360px;background:#000}.question-instruction{display:inline-flex;width:-moz-fit-content;width:fit-content;margin:0 0 10px;border-radius:999px;background:#E1F5FE;color:#0277bd;padding:7px 12px;font-size:13px;font-weight:900;line-height:1.5}.question-options{display:grid;gap:10px}.question-options.is-rating{grid-template-columns:repeat(2,minmax(240px,1fr))}.question-option{display:flex;align-items:center;gap:12px;width:100%;background:#fff;border:2px solid #D7CCC8;border-radius:14px;padding:12px 14px;color:var(--wood-dark);cursor:pointer;min-width:0;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}.question-option span:last-child{min-width:0;overflow-wrap:anywhere;text-align:left;line-height:1.45}.question-option:hover{transform:translate(-2px,-2px);border-color:#ffb74d;box-shadow:4px 4px #d7ccc8e6;background:#FFFDE7}.question-option.is-selected{border-color:#ff7043;background:#FFF3E0;box-shadow:0 0 0 2px #ff704326}.question-option-key{width:30px;height:30px;border-radius:50%;background:#FFE0B2;color:#d84315;display:inline-flex;align-items:center;justify-content:center;font-weight:900;flex-shrink:0}.question-options.is-rating .question-option-key{width:28px;height:28px;font-size:14px}.rating-slider-card{display:flex;flex-direction:column;gap:18px;margin-top:10px;border:2px solid #D7CCC8;border-radius:18px;background:linear-gradient(180deg,#FFFDF7,#fff);padding:18px;box-shadow:inset 0 0 0 1px #ffffffe6}.rating-slider-current{display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:14px;background:#FFF3E0;border:2px dashed #FFCC80;padding:12px 14px;color:var(--wood-dark)}.rating-slider-current span{color:#795548;font-size:13px;font-weight:900}.rating-slider-current strong{color:#d84315;font-size:17px;font-weight:900}.rating-slider{width:100%;accent-color:#FF7043;cursor:pointer}.rating-slider::-webkit-slider-runnable-track{height:12px;border-radius:999px;background:linear-gradient(90deg,#FFCCBC,#FFE0B2,#FFF59D,#C8E6C9);border:2px solid #D7CCC8}.rating-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:30px;height:30px;margin-top:-11px;border-radius:50%;border:4px solid #fff;background:#FF7043;box-shadow:0 3px #d84315,0 0 0 2px #d8431533}.rating-slider::-moz-range-track{height:12px;border-radius:999px;background:linear-gradient(90deg,#FFCCBC,#FFE0B2,#FFF59D,#C8E6C9);border:2px solid #D7CCC8}.rating-slider::-moz-range-thumb{width:24px;height:24px;border-radius:50%;border:4px solid #fff;background:#FF7043;box-shadow:0 3px #d84315,0 0 0 2px #d8431533}.rating-slider-labels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.rating-slider-label{display:flex;flex-direction:column;align-items:center;gap:6px;border:2px solid #D7CCC8;border-radius:14px;background:#fff;color:var(--wood-dark);padding:10px 8px;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.rating-slider-label:hover{transform:translateY(-2px);border-color:#ffb74d;background:#FFFDE7}.rating-slider-label.is-selected{border-color:#ff7043;background:#FFF3E0;box-shadow:0 0 0 2px #ff704326}.rating-slider-label span{width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#FFE0B2;color:#d84315;font-weight:900}.rating-slider-label strong{font-size:13px;line-height:1.35;text-align:center}.matching-question{display:flex;flex-direction:column;gap:14px}.matching-options-reference{display:flex;flex-wrap:wrap;gap:10px;background:#E1F5FE;border:2px dashed #81D4FA;border-radius:14px;padding:12px 14px;color:#01579b;font-weight:900}.matching-options-reference span{background:#fff;border-radius:999px;padding:6px 10px}.matching-pairs{display:flex;flex-direction:column;gap:12px}.matching-row{display:grid;grid-template-columns:1fr minmax(180px,260px);gap:14px;align-items:center;background:#fff;border:2px solid #D7CCC8;border-radius:14px;padding:14px}.matching-prompt{color:var(--wood-dark);line-height:1.7;font-weight:700}.matching-prompt strong{color:#d84315;font-weight:900}.matching-select{width:100%;border:2px solid #FFCC80;border-radius:12px;background:#FFF8E1;color:var(--wood-dark);font:inherit;font-weight:800;padding:10px 12px}.question-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.question-action-button,.question-reset-button{padding:10px 14px;border-radius:12px;font-weight:900;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}.question-action-button{background:#FF7043;color:#fff;box-shadow:0 4px #d84315}.question-action-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.question-reset-button{background:#ECEFF1;color:#546e7a;box-shadow:0 4px #b0bec5}.question-locked-hint{align-self:center;font-size:.86rem;font-weight:800;color:#78909c}.question-card.is-submitted .question-option:disabled,.question-card.is-submitted .rating-slider-label:disabled{cursor:default;opacity:.9}.question-card.is-submitted .question-option:disabled:not(.is-selected){opacity:.6}.question-card.is-submitted .matching-select:disabled{cursor:default;color:#37474f;opacity:1}.question-action-button:not(:disabled):hover,.question-reset-button:hover{transform:translateY(-1px)}.question-feedback{margin-top:14px;border-radius:14px;padding:14px 16px;line-height:1.7;box-shadow:inset 0 0 0 1px #0000000d}.question-feedback.is-correct{background:#E8F5E9;color:#1b5e20}.question-feedback.is-incorrect{background:#FFF3E0;color:#bf360c}.question-feedback strong{display:block;margin-bottom:6px;font-size:15px;font-weight:900}.question-feedback p{margin:4px 0 0;font-size:13px;font-weight:700}.speech-bubble{background:#fff;border:4px solid var(--wood-dark);border-radius:20px;padding:20px;position:relative;margin-bottom:20px;color:var(--wood-dark);line-height:1.7}.speech-bubble:after{content:"";position:absolute;bottom:-15px;left:30px;border-width:15px 15px 0;border-style:solid;border-color:var(--wood-dark) transparent;display:block;width:0}.voice-panel{text-align:center}.voice-panel p{color:var(--wood-dark);font-weight:700}.mic-big-btn{width:100px;height:100px;background:#FF7043;border-radius:50%;border:5px solid #fff;box-shadow:0 8px #bf360c;color:#fff;font-size:40px;display:flex;align-items:center;justify-content:center;margin:20px auto;cursor:pointer;transition:all .2s}.mic-big-btn:active{transform:translateY(4px);box-shadow:0 4px #bf360c}.report-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:20px;height:100%}.radar-chart-container{background:#fff;border:3px solid var(--wood-medium);border-radius:16px;padding:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;box-shadow:4px 4px 0 var(--wood-light);height:-moz-fit-content;height:fit-content;align-self:flex-start}.radar-chart-container h4{color:var(--wood-dark);margin:0 0 10px}.radar-chart-container text{font-size:10px;fill:#795548}.report-side{display:flex;flex-direction:column;gap:12px}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stat-box{background:#fff;border:2px dashed #BDBDBD;border-radius:12px;padding:10px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}.stat-box.full-width{grid-column:span 2;flex-direction:row;text-align:left;padding:12px 16px}.mini-ring-chart{position:relative;width:40px;height:40px}.mini-ring-chart span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:10px;font-weight:700;color:#d84315}.stat-icon{width:36px;height:36px;background:#F0F4C3;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;color:#827717;flex-shrink:0}.stat-details h5{font-size:13px;color:var(--wood-dark);margin:0 0 2px;font-weight:700}.stat-details p{font-size:11px;color:#757575;margin:0}.teacher-comment-box{background:#FFF9C4;padding:12px 15px;border-radius:2px;box-shadow:2px 2px 5px #0000001a;position:relative;transform:rotate(-1deg)}.teacher-comment-box:before{content:"";position:absolute;top:-10px;left:50%;transform:translate(-50%);width:40px;height:12px;background:rgba(239,83,80,.5)}.comment-header{font-weight:700;color:#d84315;font-size:14px;margin-bottom:5px;border-bottom:1px dashed #FFAB91;padding-bottom:3px}.comment-text{font-size:13px;color:var(--wood-dark);line-height:1.5;margin:0}.hand-drawn-path{fill:#4db6ac66;stroke:#009688;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.grid-line{fill:none;stroke:#e0e0e0;stroke-width:1.5;stroke-dasharray:4 4}.axis-line{stroke:#e0e0e0;stroke-width:1}.chart-point{fill:#fff;stroke:#009688;stroke-width:2}.modal-content-wrapper::-webkit-scrollbar{width:10px}.modal-content-wrapper::-webkit-scrollbar-track{background:#F5F5F5;border-radius:5px}.modal-content-wrapper::-webkit-scrollbar-thumb{background:#FFCC80;border-radius:5px;border:2px solid #fff}@keyframes popIn{0%{transform:scale(.5) rotate(-5deg);opacity:0}80%{transform:scale(1.05) rotate(0);opacity:1}to{transform:scale(1) rotate(-2deg);opacity:1}}@keyframes slideInRight{0%{transform:translate(50px) rotate(5deg);opacity:0}to{transform:translate(0) rotate(1deg);opacity:1}}@keyframes slideInUp{0%{transform:translate(-50%) translateY(50px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}@keyframes slideInUpDock{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@media (max-width: 900px),(max-height: 720px){.school-app-shell{--joystick-size: 124px;--joystick-gap: 16px;--ui-dock-height: 80px;--ui-callout-offset: calc(var(--ui-dock-height) + 28px)}.open-notebook{width:calc(100% - 28px);height:calc(100% - 80px)}.polaroid{display:none}.main-title{font-size:26px}.sub-title,.pencil-prop,.clipboard-hint{display:none}.todo-layout{padding:40px 24px 24px 44px}.stats-container{right:14px;top:14px;gap:8px}.sticky-note{width:78px;height:70px}.player-hud{top:14px;left:14px;min-width:190px;transform:scale(.9) rotate(-2deg);transform-origin:top left}.inv-slot{width:56px;height:56px}.inv-icon{font-size:24px}.report-layout,.scenario-grid,.question-options.is-rating,.matching-row,.ai-action-list{grid-template-columns:1fr}.rating-slider-current{align-items:flex-start;flex-direction:column}.rating-slider-labels{grid-template-columns:repeat(2,minmax(0,1fr))}.scenario-page-shell{padding:12px}.scenario-page-heading{align-items:flex-start;flex-direction:column;gap:8px}.scenario-page-footer{flex-direction:column}.scenario-page-button{width:100%}.notebook-modal.game-modal{width:100vw;height:100dvh}}@media (max-width: 640px){.school-ui-layer{--mobile-safe-bottom: max(12px, env(safe-area-inset-bottom));--mobile-safe-top: max(10px, env(safe-area-inset-top))}.school-app-shell{--joystick-size: 108px;--joystick-gap: 12px;--ui-safe-bottom: max(12px, env(safe-area-inset-bottom));--ui-safe-top: max(10px, env(safe-area-inset-top));--ui-dock-height: 68px;--ui-callout-offset: calc(var(--ui-dock-height) + var(--ui-safe-bottom) + 20px)}.joystick-controls{transform:none;z-index:125}.joystick-controls__clip{display:none}.joystick-controls__ring{inset:14px;border-width:2px}.start-screen{align-items:stretch;justify-content:center;padding:var(--mobile-safe-top) 10px var(--mobile-safe-bottom);background:rgba(62,39,35,.38)}.open-notebook{width:min(100%,430px);height:min(100%,720px);min-height:0;padding:8px;border-radius:18px;display:block;overflow:hidden}.open-notebook .page.left{display:none}.open-notebook .page.right{width:100%;height:100%;border-radius:12px;border-left:0;box-shadow:inset 0 0 24px #0000000a}.spiral-binding,.paper-clip,.pencil-prop{display:none}.todo-layout{justify-content:flex-start;gap:18px;min-height:0;height:100%;overflow:hidden;padding:28px 18px}.date-stamp{align-self:flex-start;margin:0 0 4px;font-size:12px}.list-header{margin-bottom:6px;font-size:clamp(26px,9vw,38px)}.list-header:before{content:"SEN \6559\5b78\6a21\64ec";display:block;width:-moz-fit-content;width:fit-content;margin:0 0 14px;border:2px dashed #FF6F00;border-radius:10px;background:#FFECB3;color:#3e2723;padding:8px 14px;font-family:inherit;font-size:clamp(22px,7vw,30px);font-weight:900;line-height:1.25;transform:rotate(-2deg)}html[lang^=en] .list-header:before{content:"SEN Teaching Simulation"}.character-picker{gap:8px;margin-bottom:0}.character-picker-label{font-size:17px}.character-picker-options{gap:8px}.character-option{gap:8px;padding:8px;border-radius:14px;background:rgba(255,255,255,.92)}.character-option-portrait{width:40px;height:40px}.character-option-text strong{font-size:15px}.character-option-text em{font-size:11px}.language-picker{margin-bottom:0}.language-option{padding:8px 14px;background:rgba(255,255,255,.92)}.menu-list-v2{gap:12px}.menu-item-v2{min-height:56px;border:2px solid #D7CCC8;border-radius:16px;background:rgba(255,255,255,.92);padding:12px 14px;font-size:clamp(17px,5vw,22px);box-shadow:3px 3px #8d6e6333}.checkbox-circle{width:28px;height:28px;flex:0 0 28px}.deco-sticker{bottom:18px;left:auto;right:18px}.player-hud{top:calc(var(--mobile-safe-top) + 4px);left:10px;min-width:0;max-width:calc(100vw - min(42vw,168px) - 24px);padding:5px 10px 5px 5px;border-width:3px;border-radius:999px;transform:rotate(-2deg) scale(.86);transform-origin:top left}.avatar-frame{width:46px;height:46px;margin-right:8px;border-width:3px}.player-info{min-width:112px}.player-info h2{font-size:14px}.role-badge{display:none}.exp-bar-container{height:12px}.exp-text{display:none}.stats-container{top:calc(var(--mobile-safe-top) + 6px);right:8px;gap:6px}.sticky-note{width:48px;height:48px;padding:6px}.sticky-note:before{display:none}.note-val{font-size:15px}.note-label{font-size:9px;margin-top:1px}.clipboard-hint{display:none}.inventory-dock.inventory-dock--bar{bottom:calc(var(--ui-safe-bottom) + 4px);padding:8px;gap:6px;border-width:3px;border-radius:18px;box-shadow:0 5px #3e272347}.inv-slot.has-notif:after{top:-4px;right:-4px}.inv-slot{width:58px;height:52px;min-width:58px;border-radius:14px;border-width:2px}.inv-icon{font-size:22px}.inv-label{font-size:10px}.modal-overlay{align-items:stretch;padding:var(--mobile-safe-top) 0 0}.notebook-modal{width:100vw;height:100dvh;max-width:none;border:0;border-radius:0;transform:none;box-shadow:none}.modal-overlay.active .notebook-modal{transform:none}.notebook-rings{display:none}.modal-content-wrapper{padding:18px 14px calc(92px + var(--mobile-safe-bottom));background-size:16px 16px}.close-sticker{top:10px;right:10px;width:42px;height:42px;z-index:50}.modal-header-ribbon{max-width:calc(100% - 54px);margin-bottom:14px;padding:8px 16px;font-size:clamp(18px,6vw,24px);line-height:1.25}.grid-layout,.scenario-grid,.ai-choice-grid,.background-group-grid,.report-layout,.stats-grid{grid-template-columns:1fr}.game-card,.scenario-card{min-height:88px;padding:14px}.scenario-mode-switch{display:grid;grid-template-columns:1fr}.scenario-mode-button{width:100%}.scenario-intro-card,.scenario-empty-card,.location-prompt-card{padding:16px}.notebook-modal.location-prompt-modal{width:calc(100vw - 28px);border-radius:20px}.location-prompt-modal .location-prompt-card{padding:22px 18px}.scenario-title-row{align-items:flex-start;flex-direction:column;gap:8px}.scenario-title-row h3{font-size:19px;line-height:1.35}.speech-bubble{font-size:14px;line-height:1.65;padding:14px}.scenario-scoreboard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.scenario-score-pill{width:100%;min-width:0}.scenario-page-nav{gap:8px;margin-bottom:10px;padding-bottom:8px}.scenario-page-tab{min-width:62px;padding:9px 10px;border-radius:14px}.scenario-page-shell{border-radius:18px;padding:12px}.scenario-page-heading h4{font-size:18px;line-height:1.35}.question-card,.scenario-video-card,.scenario-background-card,.scenario-ai-card,.ai-action-panel{border-radius:16px;padding:14px}.question-card h4{font-size:17px;line-height:1.65}.question-instruction,.question-video-label,.ai-action-feedback{width:100%;font-size:15px}.ai-action-prompt{width:100%;padding:16px;font-size:16px;line-height:1.8}.scenario-video-player,.question-video-player{max-height:42dvh}.rating-slider-card{gap:14px;padding:14px}.rating-slider-labels{grid-template-columns:1fr}.rating-slider-label{align-items:center;flex-direction:row;justify-content:flex-start;text-align:left}.rating-slider-label strong{text-align:left}.question-options,.question-options.is-rating,.matching-row{grid-template-columns:1fr}.matching-row{align-items:stretch}.question-actions{display:grid;grid-template-columns:1fr}.question-action-button,.question-reset-button,.ai-action-link-button{width:100%;text-align:center}.scenario-page-footer{display:grid;grid-template-columns:1fr 1fr}}.floor-hud{position:absolute;top:16px;right:16px;left:auto;width:228px;background:linear-gradient(165deg,rgba(255,253,246,.94),rgba(255,243,224,.9));border:2px solid var(--wood-medium);border-radius:16px;padding:14px 14px 12px;box-shadow:0 4px #3e272338,0 12px 24px -18px #3e27238c;z-index:109;animation:floorHudIn .55s .25s cubic-bezier(.16,1,.3,1) both;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}@keyframes floorHudIn{0%{opacity:0;transform:translate(22px) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}.floor-hud.is-expanded{width:248px;max-height:min(72vh,520px);overflow:auto}.floor-hud-head{display:flex;align-items:center;gap:10px;padding-right:34px}.floor-hud-toggle{position:absolute;top:12px;right:12px;width:26px;height:26px;display:grid;place-items:center;border-radius:999px;border:2px solid rgba(62,39,35,.28);background:rgba(255,255,255,.92);color:var(--wood-dark);font-size:15px;font-weight:900;line-height:1;cursor:pointer;padding:0}.floor-hud-level{position:relative;flex:none;width:44px;height:44px;display:grid;place-items:center;overflow:hidden;border-radius:12px;background:var(--room-accent);color:#23303f;font-size:14px;font-weight:900;border:2px solid rgba(62,39,35,.35);box-shadow:inset 0 -3px #0000001f;transition:background .4s}.floor-hud-level i{position:absolute;inset:0;background:linear-gradient(70deg,rgba(255,255,255,0) 40%,rgba(255,255,255,.72) 50%,rgba(255,255,255,0) 60%);transform:translate(-140%);animation:plateShine 4.2s 1.2s ease-in-out infinite}.floor-hud-progress{display:flex;align-items:center;gap:8px;margin-top:10px}.floor-hud-progress-bar{flex:1;height:6px;border-radius:999px;background:rgba(62,39,35,.14);overflow:hidden}.floor-hud-progress-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#FFB74D,#FF8A65);background-size:200% 100%;transition:width .7s cubic-bezier(.16,1,.3,1);animation:progressFlow 2.6s linear infinite}@keyframes progressFlow{0%{background-position:0 0}to{background-position:200% 0}}.floor-hud-progress b{font-size:10px;font-weight:900;color:var(--wood-medium)}.floor-hud-stack{display:grid;gap:8px;margin-top:10px}.floor-hud-row{display:flex;align-items:center;gap:8px;padding:8px;border-radius:12px;border:2px solid transparent;opacity:.62;transition:opacity .3s,background .3s,border-color .3s}.floor-hud-row.is-current{opacity:1;background:rgba(255,255,255,.75);border-color:var(--room-accent);box-shadow:0 0 18px -8px var(--room-accent)}.floor-hud-row-label{flex:none;width:26px;font-size:10px;font-weight:900;color:var(--wood-medium)}.floor-hud-row-rooms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;flex:1}.floor-hud-title{min-width:0}.floor-hud-title strong{display:block;font-size:13px;color:var(--wood-dark);line-height:1.3}.floor-hud-title small{display:block;margin-top:2px;font-size:10.5px;color:var(--wood-medium);font-weight:700}.floor-hud.is-compact .floor-hud-row-label{display:none}.floor-hud.is-compact .floor-hud-row-rooms{grid-template-columns:repeat(3,minmax(0,1fr))}.floor-hud-room{position:relative;min-height:38px;padding:6px 4px;border-radius:10px;border:2px solid var(--wood-light);background:#fff;cursor:pointer;transition:transform .18s cubic-bezier(.34,1.56,.64,1),border-color .15s,background .15s,box-shadow .18s;animation:chipIn .4s cubic-bezier(.16,1,.3,1) both}.floor-hud-room:nth-child(2){animation-delay:.06s}.floor-hud-room:nth-child(3){animation-delay:.12s}@keyframes chipIn{0%{opacity:0;transform:translateY(8px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.floor-hud-room strong{display:block;font-size:12px;font-weight:900;color:var(--wood-dark)}.floor-hud-room span{display:block;margin-top:1px;font-size:9px;font-weight:800;color:var(--wood-medium)}.floor-hud.is-compact .floor-hud-row:not(.is-current){display:none}.floor-hud.is-compact .floor-hud-room span{display:none}.floor-hud-room.is-visited:before{content:"\2713";position:absolute;top:-4px;right:-4px;width:14px;height:14px;display:grid;place-items:center;border-radius:999px;background:#66BB6A;color:#fff;font-size:9px;font-weight:900;animation:chipIn .35s cubic-bezier(.34,1.56,.64,1) both}.floor-hud-room:hover{transform:translateY(-3px) scale(1.04);border-color:var(--room-accent);box-shadow:0 0 16px -4px var(--room-accent)}.floor-hud-room.is-visited{background:#F1F8E9}.floor-hud-room.is-target{border-color:var(--room-accent);background:#FFFDE7;animation:chipIn .4s cubic-bezier(.16,1,.3,1) both,floorHudPulse 1.8s .4s ease-in-out infinite}@keyframes floorHudPulse{0%,to{box-shadow:0 0 #ffb74d8c,0 0 14px -6px var(--room-accent)}50%{box-shadow:0 0 0 7px #ffb74d00,0 0 22px -2px var(--room-accent)}}.floor-hud-target{margin:10px 0 0;font-size:10.5px;line-height:1.4;color:var(--wood-medium);border-top:1px dashed var(--wood-light);padding-top:8px}.floor-hud-target b{color:#d84315}.floor-hud-target small{display:block;margin-top:3px;font-size:10.5px;opacity:.7}.classroom-callout{position:relative;left:auto;bottom:auto;transform:none;display:flex;align-items:center;gap:14px;padding:12px 14px;width:100%;max-width:none;background:linear-gradient(160deg,rgba(255,253,245,.98),rgba(255,244,219,.96));border:4px solid var(--room-accent);border-radius:22px;box-shadow:0 10px #3e272347,0 0 34px -8px var(--room-accent);z-index:2;animation:calloutIn .42s cubic-bezier(.16,1,.3,1) both}@keyframes calloutIn{0%{opacity:0;filter:blur(6px);transform:translateY(34px) scale(.92)}to{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}}.classroom-callout-aura{position:absolute;inset:-26px -18px -22px;border-radius:34px;background:radial-gradient(62% 120% at 50% 60%,var(--room-accent),rgba(255,255,255,0) 72%);opacity:.3;filter:blur(16px);pointer-events:none;z-index:-1;animation:calloutAura 3.2s ease-in-out infinite}@keyframes calloutAura{0%,to{opacity:.22;transform:scale(.97)}50%{opacity:.42;transform:scale(1.03)}}.classroom-callout-plate{position:relative;flex:none;width:62px;height:62px;display:grid;place-items:center;border-radius:16px;overflow:hidden;background:var(--room-accent);color:#1f2937;font-size:21px;font-weight:900;border:3px solid rgba(62,39,35,.3);box-shadow:inset 0 -5px #0000001f;animation:platePop .5s .08s cubic-bezier(.34,1.56,.64,1) both}@keyframes platePop{0%{transform:scale(.4) rotate(-12deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.classroom-callout-plate i{position:absolute;inset:0;background:linear-gradient(72deg,rgba(255,255,255,0) 38%,rgba(255,255,255,.75) 50%,rgba(255,255,255,0) 62%);transform:translate(-130%);animation:plateShine 3.4s .9s ease-in-out infinite}@keyframes plateShine{0%{transform:translate(-130%)}28%,to{transform:translate(130%)}}.classroom-callout-body{min-width:0}.classroom-callout-tag{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:800;color:var(--wood-medium)}.classroom-callout-tag em{font-style:normal;padding:2px 8px;border-radius:999px;background:#C8E6C9;color:#2e7d32}.classroom-callout-body h4{margin:3px 0;font-size:17px;color:var(--wood-dark)}.classroom-callout-body p{margin:0;font-size:12.5px;color:#795548}.classroom-callout-body p.classroom-callout-finished{color:#2e7d32;font-weight:800}.classroom-callout-enter{position:relative;flex:none;overflow:hidden;padding:12px 20px;border:none;border-radius:16px;background:linear-gradient(180deg,#FF8A65,#F4511E);color:#fff;font-size:15px;font-weight:900;cursor:pointer;box-shadow:0 5px #bf360c,0 0 20px -6px #ff7043;transition:transform .12s,box-shadow .12s}.classroom-callout-enter:after{content:"";position:absolute;inset:0;background:linear-gradient(68deg,rgba(255,255,255,0) 40%,rgba(255,255,255,.42) 50%,rgba(255,255,255,0) 60%);transform:translate(-120%);animation:enterShimmer 2.6s .5s ease-in-out infinite}@keyframes enterShimmer{0%{transform:translate(-120%)}35%,to{transform:translate(120%)}}.classroom-callout-enter small{display:block;font-size:10px;opacity:.9;font-weight:700}.classroom-callout-enter kbd{display:inline-grid;place-items:center;min-width:16px;padding:0 4px;border-radius:5px;background:rgba(255,255,255,.9);color:#bf360c;font:inherit;font-size:10px;animation:keyBlink 1.6s ease-in-out infinite}@keyframes keyBlink{0%,to{box-shadow:0 0 #fffc}50%{box-shadow:0 0 0 5px #fff0}}.classroom-callout-enter:hover{transform:translateY(-2px);box-shadow:0 7px #bf360c,0 0 26px -4px #ff7043}.classroom-callout-enter:active{transform:translateY(3px);box-shadow:0 2px #bf360c}.classroom-directory{display:grid;gap:18px}.directory-floor{border:3px solid var(--wood-light);border-radius:18px;padding:14px;background:#fff}.directory-floor header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.directory-floor-badge{width:56px;height:44px;display:grid;place-items:center;border-radius:12px;background:var(--room-accent);color:#1f2937;font-weight:900;font-size:16px}.directory-floor header strong{display:block;font-size:16px;color:var(--wood-dark)}.directory-floor header small{font-size:11.5px;color:var(--wood-medium);font-weight:700}.directory-rooms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.directory-room{position:relative;overflow:hidden;text-align:left;padding:12px;border:3px solid var(--wood-light);border-radius:14px;background:#FFFDF6;cursor:pointer;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s,border-color .15s;animation:directoryCardIn .45s cubic-bezier(.16,1,.3,1) both}.directory-room:nth-child(2){animation-delay:.07s}.directory-room:nth-child(3){animation-delay:.14s}@keyframes directoryCardIn{0%{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.directory-room:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,0) 42%,var(--room-accent) 50%,rgba(255,255,255,0) 58%);opacity:0;transform:translate(-60%);transition:opacity .2s,transform .55s ease-out;pointer-events:none}.directory-room:hover{transform:translate(-3px,-4px);border-color:var(--room-accent);box-shadow:5px 6px 0 var(--wood-light),0 0 22px -6px var(--room-accent)}.directory-room:hover:after{opacity:.18;transform:translate(60%)}.directory-room-no{display:inline-block;padding:2px 10px;border-radius:999px;background:var(--room-accent);color:#1f2937;font-size:12px;font-weight:900}.directory-room strong{display:block;margin-top:8px;font-size:14.5px;color:var(--wood-dark)}.directory-room small{font-size:11px;font-weight:800;color:#d84315}.directory-room p{margin:6px 0 8px;font-size:12px;line-height:1.5;color:#795548}.directory-room em{font-style:normal;font-size:11.5px;font-weight:800;color:var(--wood-medium)}.directory-room.is-visited{background:#F1F8E9}.directory-room.is-target{border-color:var(--room-accent);background:#FFFDE7;animation:directoryCardIn .45s cubic-bezier(.16,1,.3,1) both,directoryTarget 2.4s .45s ease-in-out infinite}@keyframes directoryTarget{0%,to{box-shadow:0 0 #ffb74d80}50%{box-shadow:0 0 0 8px #ffb74d00,0 0 24px -6px var(--room-accent)}}.directory-room.is-target em{color:#d84315}.scenario-card-room{align-self:flex-start;padding:2px 10px;border-radius:999px;background:var(--room-accent);color:#1f2937;font-size:11px;font-weight:900}@media (max-width: 900px),(max-height: 720px){.floor-hud{top:10px;right:10px;left:auto;bottom:auto;width:204px;padding:12px}.floor-hud.is-expanded{width:220px;max-height:58vh}.floor-hud-toggle{top:10px;right:10px}.floor-hud-level{width:40px;height:40px;font-size:14px}.floor-hud-title strong{font-size:13px}.floor-hud-target{display:none}.floor-hud-row:not(.is-current){display:none}.floor-hud-progress{margin-top:8px}.interaction-callouts{bottom:var(--ui-callout-offset);width:calc(100vw - 24px)}.classroom-callout{gap:10px;padding:10px}.classroom-callout-plate{width:48px;height:48px;font-size:17px}.classroom-callout-body h4{font-size:15px}.classroom-callout-body p{display:none}.directory-rooms{grid-template-columns:1fr}}@media (max-width: 640px){.floor-hud{top:calc(var(--ui-safe-top) + 4px);right:8px;width:min(42vw,168px);padding:10px 10px 8px;border-radius:14px}.floor-hud.is-expanded{width:min(88vw,220px);max-height:min(52vh,420px)}.floor-hud-head{padding-right:30px;gap:8px}.floor-hud-toggle{top:8px;right:8px;width:24px;height:24px;font-size:14px}.floor-hud-level{width:36px;height:36px;font-size:12px;border-radius:10px}.floor-hud-title strong{font-size:12px;line-height:1.25}.floor-hud-title small{font-size:10px}.floor-hud-room{padding:6px 8px;border-radius:10px}.floor-hud-room strong{font-size:12px}.floor-hud-row-rooms{gap:4px}.interaction-callouts{left:8px;right:8px;bottom:var(--ui-callout-offset);transform:none;width:auto;gap:8px}.classroom-callout{animation-name:calloutInWide;gap:10px;padding:10px 12px;border-width:3px;border-radius:18px}.classroom-callout-plate{width:44px;height:44px;font-size:16px;border-width:2px;border-radius:12px}.classroom-callout-body h4{font-size:14px;line-height:1.3}.classroom-callout-body p{display:none}.classroom-callout-enter{padding:8px 12px;font-size:13px;flex-shrink:0}.classroom-callout-enter kbd{display:none}.classroom-minigame-prompt{flex-wrap:wrap;gap:10px;padding:12px;border-width:2px;border-radius:16px}.classroom-minigame-icons{gap:6px}.handbook-icon{width:36px;height:36px;font-size:18px;border-radius:10px}.classroom-minigame-copy strong{font-size:14px;margin-bottom:2px}.classroom-minigame-copy p{font-size:.82rem;line-height:1.4}.classroom-minigame-copy small{font-size:.75rem;margin-top:4px}.classroom-minigame-copy small kbd{display:none}.classroom-minigame-play{margin-left:0;width:100%;text-align:center;padding:10px 12px;font-size:14px}@keyframes calloutInWide{0%{opacity:0;filter:blur(6px);transform:translateY(30px) scale(.94)}to{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}}}.score-award-overlay{position:fixed;inset:0;z-index:200000000;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(55,45,40,.5);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.score-award-overlay.is-inline{z-index:200000020}.score-award-card{width:min(92vw,420px);background:#FFFDF7;border:4px solid #FF7043;border-radius:22px;box-shadow:0 16px 36px #00000047;padding:26px 24px 22px;text-align:center;animation:scoreAwardIn .28s cubic-bezier(.175,.885,.32,1.275)}.score-award-ribbon{display:inline-block;background:#FF8A65;color:#fff;font-weight:900;font-size:13px;letter-spacing:.06em;padding:6px 14px;border-radius:999px}.score-award-card h3{margin:16px 0 6px;font-size:clamp(24px,3vw,32px);color:#5d4037}.score-award-points{margin:0 0 8px;font-size:clamp(36px,5vw,46px);font-weight:900;color:#e65100;line-height:1.1}.score-award-total{margin:0 0 20px;color:#6d4c41;font-size:16px}.score-award-concepts{margin:0 0 12px;color:#6d4c41;font-size:18px;font-weight:700}.score-award-card .scenario-page-button{width:100%;min-height:48px}@keyframes scoreAwardIn{0%{opacity:0;transform:translateY(16px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}.revisit-overlay{position:fixed;inset:0;z-index:200000030;display:grid;place-items:center;padding:20px;background:rgba(0,0,0,.45);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:revisit-fade .18s ease-out}@keyframes revisit-fade{0%{opacity:0}to{opacity:1}}.revisit-dialog{position:relative;width:min(92vw,400px);padding:30px 26px 24px;background:#fff;border:4px solid #A5D6A7;border-radius:22px;box-shadow:0 18px 46px #00000047;text-align:center;animation:revisit-pop .2s cubic-bezier(.2,.9,.35,1.2)}@keyframes revisit-pop{0%{transform:scale(.94);opacity:0}to{transform:scale(1);opacity:1}}.revisit-close{position:absolute;top:-14px;right:-14px;width:32px;height:32px;border-radius:50%;border:3px solid #fff;background:#EF5350;color:#fff;font-size:14px;font-weight:700;line-height:1;cursor:pointer;box-shadow:0 2px 6px #0003}.revisit-icon{font-size:34px;line-height:1;margin-bottom:10px}.revisit-room{display:inline-block;margin:0 0 8px;padding:2px 10px;border-radius:999px;background:#FFF3E0;color:#d84315;font-size:12px;font-weight:800}.revisit-title{margin:0 0 16px;color:#2e7d32;font-size:19px}.revisit-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:20px}.revisit-primary,.revisit-secondary{border-radius:999px;padding:10px 22px;font-weight:700;font-size:14px;cursor:pointer;border:2px solid transparent}.revisit-primary{background:#66BB6A;color:#fff}.revisit-primary:hover{background:#57A75B}.revisit-secondary{background:#fff;color:var(--wood-dark);border-color:#d7ccc8}.revisit-secondary:hover{background:#FFFDE7;border-color:#ffb74d}.scenario-mode-assigned{margin:0 0 12px;padding:10px 14px;background:#E8F5E9;border:2px dashed #A5D6A7;border-radius:12px;color:#2e7d32;font-size:13px;line-height:1.6}.school-app-shell.is-2d{background:radial-gradient(circle at 10% 6%,rgba(255,204,128,.55),transparent 40%),radial-gradient(circle at 92% 94%,rgba(128,203,196,.42),transparent 44%),linear-gradient(135deg,#ffe9d6 0%,#fff6ea 55%,#e6f4f1 100%)}.school-app-shell.is-2d .player-hud{z-index:450}.school-app-shell.is-2d .modal-overlay{top:122px;bottom:16px;align-items:flex-start;background:transparent}.school-app-shell.is-2d .notebook-modal{height:min(calc(100dvh - 138px),920px);transform:none}@media (max-width: 900px),(max-height: 720px){.school-app-shell.is-2d .modal-overlay{top:96px;bottom:10px}.school-app-shell.is-2d .notebook-modal{width:calc(100vw - 20px);height:calc(100dvh - 106px)}}.weekly-guide{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 24px;align-items:center;margin:0 0 18px;padding:18px 20px;border:3px solid #FF8A65;border-radius:18px;background:linear-gradient(135deg,#FFF3E0 0%,#FFFDF5 70%);box-shadow:4px 4px #ffccbc}.weekly-guide.is-all-done{grid-template-columns:1fr;border-color:#81c784;background:linear-gradient(135deg,#E8F5E9 0%,#FFFDF5 70%);box-shadow:4px 4px #c8e6c9}.weekly-guide-kicker{display:inline-flex;padding:3px 12px;border-radius:999px;background:#FF7043;color:#fff;font-size:12px;font-weight:900;letter-spacing:.04em}.weekly-guide.is-all-done .weekly-guide-kicker{background:none;padding:0;font-size:22px}.weekly-guide h3{margin:8px 0 4px;color:#d84315;font-size:24px;font-weight:900}.weekly-guide.is-all-done h3{color:#2e7d32}.weekly-guide p{margin:0;color:var(--wood-dark);font-size:14px;line-height:1.6}.weekly-guide-tasks{display:flex;flex-direction:column;align-items:stretch;gap:8px;min-width:15rem}.weekly-guide-task{display:flex;align-items:center;gap:10px;padding:9px 14px;border:2px solid #FFAB91;border-radius:12px;background:#fff;color:var(--wood-dark);font-size:14px;text-align:left;cursor:pointer;transition:transform .15s,border-color .15s}.weekly-guide-task:hover{transform:translateY(-1px);border-color:#ff7043}.weekly-guide-task.is-done{border-color:#a5d6a7;background:#F1F8E9}.weekly-guide-check{display:grid;place-items:center;flex:none;width:22px;height:22px;border-radius:50%;border:2px solid #FFAB91;font-size:13px;font-weight:900;color:#fff}.weekly-guide-task.is-done .weekly-guide-check{border-color:#43a047;background:#43A047}.weekly-guide-task-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:18rem}.weekly-guide-count{align-self:flex-end;color:#8d6e63;font-size:12px;font-weight:800}.week-section{margin:0 0 18px}.week-section-head{display:flex;align-items:center;gap:10px;margin:0 0 10px}.week-section-head h3{margin:0;color:var(--wood-dark);font-size:18px;font-weight:900}.week-section-status{padding:2px 10px;border-radius:999px;background:#ECEFF1;color:#607d8b;font-size:12px;font-weight:800}.week-section.is-current .week-section-status{background:#FF7043;color:#fff}.week-section.is-done .week-section-status{background:#E8F5E9;color:#2e7d32}.week-section.is-current .scenario-card{border-color:#ff8a65;box-shadow:4px 4px #ffccbc}.scenario-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.scenario-card-done{padding:2px 10px;border-radius:999px;background:#E8F5E9;color:#2e7d32;font-size:11px;font-weight:900}.week-toast{position:absolute;top:24px;left:50%;z-index:120;display:flex;align-items:center;gap:10px;max-width:min(92vw,34rem);padding:10px 18px 10px 10px;border:3px solid #FF8A65;border-radius:999px;background:#FFF8E1;color:var(--wood-dark);font-size:15px;font-weight:800;box-shadow:0 10px 26px #4e342e38;transform:translate(-50%);cursor:pointer;animation:week-toast-in .35s cubic-bezier(.2,.9,.3,1.3)}.week-toast-kicker{flex:none;padding:3px 12px;border-radius:999px;background:#FF7043;color:#fff;font-size:12px;font-weight:900}@keyframes week-toast-in{0%{opacity:0;transform:translate(-50%,-12px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion: reduce){.week-toast{animation:none}}@media (max-width: 900px),(max-height: 720px){.weekly-guide{grid-template-columns:1fr;padding:14px}.weekly-guide-tasks{min-width:0}.weekly-guide-task-name{max-width:none}.week-toast{top:86px;font-size:13px}}.last\:border-0:last-child{border-width:0px}.hover\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;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))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-emerald-600:hover{--tw-bg-opacity: 1;background-color:rgb(5 150 105 / var(--tw-bg-opacity, 1))}.hover\:bg-green-700\/55:hover{background-color:#15803d8c}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-red-500\/55:hover{background-color:#ef44448c}.hover\:bg-rose-500:hover{--tw-bg-opacity: 1;background-color:rgb(244 63 94 / var(--tw-bg-opacity, 1))}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:bg-slate-50:hover{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-900\/75:hover{background-color:#0f172abf}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-blue-200:hover{--tw-text-opacity: 1;color:rgb(191 219 254 / var(--tw-text-opacity, 1))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.hover\:text-white\/80:hover{color:#fffc}.hover\:underline:hover{text-decoration-line:underline}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media (min-width: 640px){.sm\:bottom-4{bottom:1rem}.sm\:left-4{left:1rem}.sm\:right-4{right:1rem}.sm\:top-20{top:5rem}.sm\:top-7{top:1.75rem}.sm\:mb-6{margin-bottom:1.5rem}.sm\:ml-6{margin-left:1.5rem}.sm\:mt-3{margin-top:.75rem}.sm\:mt-4{margin-top:1rem}.sm\:mt-6{margin-top:1.5rem}.sm\:h-12{height:3rem}.sm\:w-12{width:3rem}.sm\:w-\[100px\]{width:100px}.sm\:w-\[130px\]{width:130px}.sm\:w-\[140px\]{width:140px}.sm\:max-w-\[600px\]{max-width:600px}.sm\:gap-2{gap:.5rem}.sm\:gap-3{gap:.75rem}.sm\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.sm\:space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.sm\:p-2\.5{padding:.625rem}.sm\:p-3{padding:.75rem}.sm\:p-4{padding:1rem}.sm\:p-6{padding:1.5rem}.sm\:px-10{padding-left:2.5rem;padding-right:2.5rem}.sm\:px-2{padding-left:.5rem;padding-right:.5rem}.sm\:px-3{padding-left:.75rem;padding-right:.75rem}.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:py-1{padding-top:.25rem;padding-bottom:.25rem}.sm\:py-3{padding-top:.75rem;padding-bottom:.75rem}.sm\:pb-20{padding-bottom:5rem}.sm\:pr-16{padding-right:4rem}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width: 768px){.md\:mb-8{margin-bottom:2rem}.md\:ml-8{margin-left:2rem}.md\:h-16{height:4rem}.md\:w-16{width:4rem}.md\:space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.md\:p-8{padding:2rem}.md\:pr-28{padding-right:7rem}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.tlp-page{--tlp-ink: #3E2723;--tlp-ink-soft: #6D4C41;--tlp-ink-faint: #8D6E63;--tlp-coral: #D84315;--tlp-coral-bright: #FF7043;--tlp-cream: #FFF8E1;--tlp-line: rgba(216, 67, 21, .14);--tlp-shadow: 0 18px 40px rgba(120, 60, 20, .1);--tlp-blue: #29B6F6;--tlp-blue-bg: #E1F5FE;--tlp-green: #66BB6A;--tlp-green-bg: #E8F5E9;--tlp-pink: #EC407A;--tlp-pink-bg: #FCE4EC;--tlp-orange: #FFA726;--tlp-orange-bg: #FFF3E0;position:fixed;inset:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:2rem clamp(1rem,4vw,3rem) 3rem;background:radial-gradient(ellipse at 8% -5%,rgba(255,171,145,.4),transparent 42%),radial-gradient(ellipse at 95% 5%,rgba(79,195,247,.26),transparent 40%),radial-gradient(ellipse at 50% 100%,rgba(255,204,128,.3),transparent 55%),linear-gradient(180deg,#FFF8E1 0%,#FFF3E0 45%,#FFEDE0 100%);background-attachment:scroll;color:var(--tlp-ink);font-family:Noto Sans TC,Varela Round,Segoe UI,sans-serif}.tlp-header{display:flex;justify-content:space-between;gap:1.5rem;align-items:flex-start;margin-bottom:1.75rem}.tlp-eyebrow{margin:0 0 .4rem;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--tlp-coral)}.tlp-header h1{margin:0;font-family:Grandstander,Zen Maru Gothic,Noto Sans TC,sans-serif;font-size:clamp(1.9rem,3vw,2.5rem);font-weight:800;letter-spacing:-.01em;background:linear-gradient(135deg,#D84315 0%,#F4511E 45%,#FB8C00 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.tlp-sub{margin:.7rem 0 0;max-width:42rem;line-height:1.65;color:var(--tlp-ink-soft);font-size:.94rem}.tlp-card{position:relative;background:rgba(255,255,255,.82);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.9);border-radius:22px;padding:1.4rem 1.6rem 1.85rem;box-shadow:var(--tlp-shadow);overflow:hidden}.tlp-card:before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,var(--tlp-coral) 0%,var(--tlp-orange) 30%,var(--tlp-green) 60%,var(--tlp-blue) 100%)}.tlp-denied{max-width:32rem;margin:4rem auto;text-align:center}.tlp-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;padding-bottom:.15rem;border-bottom:2px solid var(--tlp-line)}.tlp-tabs button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;border-radius:12px 12px 0 0;padding:.6rem 1.1rem .7rem;font-family:inherit;font-size:.95rem;font-weight:600;color:var(--tlp-ink-faint);cursor:pointer;position:relative;transition:color .2s ease,background .2s ease}.tlp-tabs button:hover{color:var(--tlp-coral);background:rgba(255,112,67,.08)}.tlp-tabs button.is-active{color:var(--tlp-coral);background:rgba(255,112,67,.12)}.tlp-tabs button.is-active:after{content:"";position:absolute;left:.5rem;right:.5rem;bottom:-2px;height:3px;border-radius:3px 3px 0 0;background:linear-gradient(90deg,var(--tlp-coral),var(--tlp-orange))}.tlp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem}.tlp-stack{display:flex;flex-direction:column;gap:1rem}.tlp-field{display:flex;flex-direction:column;gap:.5rem;font-size:.85rem;font-weight:700;color:var(--tlp-ink)}.tlp-field>span{display:inline-flex;align-items:center;gap:.5rem}.tlp-field[data-field]>span:before{content:"";width:9px;height:9px;border-radius:50%;flex:none;background:var(--tlp-accent, var(--tlp-coral));box-shadow:0 0 0 3px var(--tlp-accent-bg, var(--tlp-cream))}.tlp-field[data-field=default_system_prompt]{--tlp-accent: var(--tlp-blue);--tlp-accent-bg: var(--tlp-blue-bg)}.tlp-field[data-field=system_prompt]{--tlp-accent: var(--tlp-green);--tlp-accent-bg: var(--tlp-green-bg)}.tlp-field[data-field=report_prompt]{--tlp-accent: var(--tlp-pink);--tlp-accent-bg: var(--tlp-pink-bg)}.tlp-field[data-field=wrapup_prompt]{--tlp-accent: var(--tlp-orange);--tlp-accent-bg: var(--tlp-orange-bg)}.tlp-field textarea,.tlp-field input,.tlp-field select,.tlp-table input{width:100%;border:1.5px solid rgba(141,110,99,.22);border-radius:14px;padding:.72rem .85rem;font:inherit;font-weight:400;background:#fff;color:var(--tlp-ink);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.tlp-field textarea:hover,.tlp-field input:hover,.tlp-field select:hover{border-color:#d8431559}.tlp-field textarea:focus,.tlp-field input:focus,.tlp-field select:focus,.tlp-table input:focus{outline:none;border-color:var(--tlp-accent, var(--tlp-coral));box-shadow:0 0 0 4px var(--tlp-accent-bg, rgba(255, 112, 67, .18))}.tlp-field[data-field] textarea{background:linear-gradient(180deg,var(--tlp-accent-bg) 0%,rgba(255,255,255,0) 70px),#fff}.tlp-field textarea{resize:vertical;min-height:8rem;line-height:1.6}.tlp-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem}.tlp-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:999px;padding:.7rem 1.5rem;background:linear-gradient(135deg,var(--tlp-coral-bright) 0%,var(--tlp-coral) 100%);color:#fff;font-family:inherit;font-weight:700;font-size:.9rem;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 6px 16px #d843154d;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.tlp-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 22px #d8431561;filter:saturate(1.08)}.tlp-button:active:not(:disabled){transform:translateY(0);box-shadow:0 4px 10px #d8431547}.tlp-button:focus-visible{outline:3px solid rgba(216,67,21,.45);outline-offset:2px}.tlp-button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.tlp-header-actions{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:flex-end}.tlp-button-ghost{background:rgba(255,255,255,.75);color:var(--tlp-coral);border:1.5px solid rgba(216,67,21,.35);box-shadow:none}.tlp-button-ghost:hover:not(:disabled){background:#fff;border-color:var(--tlp-coral);box-shadow:0 6px 16px #d843152e}.tlp-button-add{background:linear-gradient(135deg,#81C784 0%,#43A047 100%);box-shadow:0 6px 16px #43a0474d}.tlp-button-add:hover:not(:disabled){box-shadow:0 10px 22px #43a04761}.tlp-button-danger{background:linear-gradient(135deg,#EF5350 0%,#C62828 100%);padding:.42rem .95rem;font-size:.8rem;box-shadow:0 4px 12px #c6282847}.tlp-button-danger:hover:not(:disabled){box-shadow:0 8px 18px #c628285c}.tlp-concepts-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:1.5rem 0 .85rem}.tlp-concepts-head h2{margin:0;font-family:Grandstander,Zen Maru Gothic,Noto Sans TC,sans-serif;font-size:1.1rem;font-weight:800;color:var(--tlp-coral)}.tlp-table-wrap{overflow-x:auto;border:1.5px solid var(--tlp-line);border-radius:16px;background:#fff}.tlp-table{width:100%;border-collapse:collapse;font-size:.87rem}.tlp-table th,.tlp-table td{padding:.75rem .85rem;text-align:left;border-bottom:1px solid rgba(141,110,99,.12);vertical-align:middle}.tlp-table th{background:linear-gradient(180deg,#FFF3E0 0%,#FFEDE0 100%);color:var(--tlp-ink-soft);font-weight:700;letter-spacing:.02em}.tlp-table tbody tr{transition:background .15s ease}.tlp-table tbody tr:hover{background:rgba(255,243,224,.55)}.tlp-table tr:last-child td{border-bottom:none}.tlp-muted{color:var(--tlp-ink-faint);font-weight:400;line-height:1.55}td.tlp-muted,p.tlp-muted{text-align:center;padding:1.75rem}.tlp-status{margin-bottom:1.1rem;padding:.85rem 1.1rem;border-radius:14px;font-size:.9rem;font-weight:600;border-left:4px solid transparent}.tlp-status.is-ok{background:var(--tlp-green-bg);border-left-color:#43a047;color:#1b5e20}.tlp-status.is-error{background:#FFEBEE;border-left-color:#c62828;color:#8a2430}@media (max-width: 860px){.tlp-grid{grid-template-columns:1fr}.tlp-header{flex-direction:column}.tlp-actions{flex-direction:column-reverse}.tlp-actions .tlp-button{width:100%}}@media (prefers-reduced-motion: reduce){.tlp-button,.tlp-button:hover:not(:disabled),.tlp-table tbody tr{transition:none;transform:none}}.tlp-hint{color:#8d6e63;font-size:12px;line-height:1.5;margin-top:4px}.tsr-header-actions{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:flex-end}.tsr-count{margin:.75rem 0 0;color:#8d6e63;font-size:.88rem}.tsr-email{color:#8d6e63;font-size:.78rem;font-weight:400}.tsr-table tbody tr{cursor:pointer}.tsr-table tbody tr.is-selected{background:rgba(255,171,145,.22)}.tsr-table td.is-done{color:#2e7d32;font-weight:700}.tsr-bar{margin-top:.35rem;height:6px;border-radius:99px;background:#ffe0b2;overflow:hidden;min-width:72px}.tsr-bar span{display:block;height:100%;background:linear-gradient(90deg,#ff7043,#ffa726);border-radius:99px}.tsr-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;padding-right:2.4rem}.tsr-detail-head h2{margin:0;font-family:Grandstander,Noto Sans TC,sans-serif;font-size:1.35rem}.tsr-scenario{border-top:1px solid rgba(216,67,21,.12);padding:1rem 0 .4rem}.tsr-scenario header{display:flex;justify-content:space-between;gap:1rem;align-items:center}.tsr-scenario h3{margin:0;font-size:1rem}.tsr-scenario-actions{display:flex;align-items:center;gap:.7rem;flex-shrink:0}.tsr-details-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:4.4rem;padding:.32rem .85rem;border:1.5px solid rgba(216,67,21,.35);border-radius:999px;background:rgba(255,255,255,.9);color:#d84315;font-family:inherit;font-weight:700;font-size:.8rem;cursor:pointer}.tsr-details-btn:hover{background:#fff;border-color:#d84315}.tsr-scenario.is-open .tsr-details-btn{background:#fff3e0}.tsr-components{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;padding:.7rem 0 .4rem;margin:0}.tsr-components li{display:flex;gap:.5rem;align-items:center;padding:.35rem .7rem;border-radius:999px;background:#fff3e0;font-size:.82rem}.tsr-components li.is-done{background:#e8f5e9;color:#1b5e20}.tsr-detail-panel{margin:.35rem 0 .85rem;padding:.75rem .8rem .9rem;border-radius:16px;background:rgba(255,243,224,.45);border:1px solid rgba(216,67,21,.12)}.tsr-tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}.tsr-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:.35rem .85rem;border:1.5px solid rgba(216,67,21,.22);border-radius:999px;background:#fffdf8;color:#8d6e63;font-family:inherit;font-weight:700;font-size:.8rem;cursor:pointer}.tsr-tab:hover{border-color:#d84315;color:#d84315}.tsr-tab.is-active{background:linear-gradient(135deg,#ff7043 0%,#d84315 100%);color:#fff;border-color:transparent}.tsr-tab-panel{min-height:3rem}.tsr-empty{margin:.2rem 0;color:#8d6e63;font-size:.88rem}.tsr-qa-list{display:grid;gap:.7rem}.tsr-qa-card{padding:.75rem .85rem;border-radius:14px;background:#fffdf8;border:1px solid rgba(216,67,21,.1)}.tsr-qa-head{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.45rem}.tsr-qa-index,.tsr-qa-type{font-size:.72rem;font-weight:700;padding:.12rem .45rem;border-radius:8px;background:#fff3e0;color:#d84315}.tsr-qa-type{background:#eceff1;color:#546e7a}.tsr-qa-instruction{margin:0 0 .35rem;font-size:.8rem;color:#8d6e63}.tsr-qa-prompt{margin:0 0 .55rem;font-size:.9rem;line-height:1.45;color:#4e342e}.tsr-qa-head .is-correct,.tsr-qa-head .is-wrong,.tsr-qa-head .is-pending{display:inline-block;min-width:3rem;text-align:center;padding:.15rem .4rem;border-radius:8px;font-size:.75rem;font-weight:700}.tsr-qa-head .is-correct{background:#e8f5e9;color:#2e7d32}.tsr-qa-head .is-wrong{background:#ffebee;color:#c62828}.tsr-qa-head .is-pending{background:#fff8e1;color:#f57f17}.tsr-option-list,.tsr-match-list{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.tsr-option-list li{display:grid;grid-template-columns:auto 1fr auto;gap:.55rem;align-items:start;padding:.4rem .55rem;border-radius:10px;background:#fff8f1;font-size:.84rem;color:#5d4037}.tsr-option-list li.is-picked{background:#ffebee;outline:1px solid rgba(198,40,40,.18)}.tsr-option-list li.is-key{background:#e8f5e9;outline:1px solid rgba(46,125,50,.18)}.tsr-option-list li.is-picked.is-key{background:#e8f5e9}.tsr-option-id{font-weight:800;min-width:1.2rem;color:#d84315}.tsr-option-list li.is-key .tsr-option-id{color:#2e7d32}.tsr-option-flags{display:flex;flex-direction:column;align-items:flex-end;gap:.15rem;font-style:normal}.tsr-option-flags em{font-style:normal;font-size:.7rem;font-weight:700;color:#c62828;white-space:nowrap}.tsr-option-flags em.is-key-flag{color:#2e7d32}.tsr-match-list li{padding:.5rem .55rem;border-radius:10px;background:#fff8f1}.tsr-match-prompt{margin:0 0 .35rem;font-size:.86rem;color:#4e342e}.tsr-match-answers{display:flex;flex-wrap:wrap;gap:.75rem 1.1rem;font-size:.8rem;color:#6d4c41}.tsr-ai-meta{margin:0;font-size:.8rem;font-weight:700;color:#8d6e63}.tsr-ai-turn{margin-top:.45rem;padding:.5rem .6rem;border-radius:10px;background:#fff8f1}.tsr-ai-turn.is-student{background:#e8f5e9}.tsr-ai-turn span{display:block;font-size:.72rem;font-weight:800;letter-spacing:.02em;color:#d84315;margin-bottom:.2rem}.tsr-ai-turn.is-student span{color:#2e7d32}.tsr-ai-turn p{margin:0;font-size:.88rem;line-height:1.45;color:#4e342e;white-space:pre-wrap}.tsr-report-text{margin:0;white-space:pre-wrap}.tsr-answers{display:grid;gap:.45rem;margin:.4rem 0 .6rem}.tsr-answer{display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:start;font-size:.85rem}.tsr-answer p{margin:.2rem 0 0;color:#6d4c41}.tsr-answer .is-correct,.tsr-answer .is-wrong{display:inline-block;min-width:3rem;text-align:center;padding:.15rem .4rem;border-radius:8px;font-size:.75rem;font-weight:700}.tsr-answer .is-correct{background:#e8f5e9;color:#2e7d32}.tsr-answer .is-wrong{background:#ffebee;color:#c62828}.tsr-modal-overlay{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:rgba(62,39,35,.45);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.tsr-modal{position:relative;width:min(880px,100%);max-height:min(86vh,900px);overflow-y:auto;background:#fffdf8;border-radius:22px;padding:1.5rem 1.6rem 1.4rem;box-shadow:0 24px 50px #3e272347;border:1px solid rgba(255,255,255,.9)}.tsr-modal-close{position:absolute;top:.85rem;right:.9rem;width:36px;height:36px;border:none;border-radius:50%;background:#fff3e0;color:#d84315;font-size:1rem;cursor:pointer}.tsr-modal-close:hover{background:#ffe0b2}.tsr-table-wrap.is-loading{opacity:.55;pointer-events:none}.tsr-pagination{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.4rem;margin:1.1rem 0 .25rem}.tsr-page-slot{display:inline-flex;align-items:center;gap:.4rem}.tsr-page-ellipsis{color:#8d6e63;padding:0 .15rem;font-weight:700}.tsr-page-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:2.35rem;height:2.35rem;padding:0 .85rem;border:1.5px solid rgba(216,67,21,.28);border-radius:999px;background:rgba(255,255,255,.85);color:#d84315;font-family:inherit;font-weight:700;font-size:.88rem;cursor:pointer}.tsr-page-btn:hover:not(:disabled){background:#fff;border-color:#d84315}.tsr-page-btn.is-active{background:linear-gradient(135deg,#ff7043 0%,#d84315 100%);color:#fff;border-color:transparent}.tsr-page-btn:disabled{opacity:.45;cursor:not-allowed}@media (max-width: 640px){.tsr-scenario header{flex-wrap:wrap}.tsr-option-list li{grid-template-columns:auto 1fr}.tsr-option-flags{grid-column:1 / -1;flex-direction:row;align-items:center}}.tsr-export-btn{gap:.45rem;white-space:nowrap}.tsr-export-btn:before{content:"\2b07";font-size:.95em;line-height:1}.tsr-table th.tsr-pick-col,.tsr-table td.tsr-pick-col{width:2.75rem;padding-right:0;text-align:center;cursor:default}.tsr-table .tsr-pick-col input[type=checkbox]{width:1.05rem;height:1.05rem;accent-color:#d84315;cursor:pointer;vertical-align:middle}.tsr-clear-selection{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;padding:0;color:#d84315;font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}.tsr-clear-selection:hover{color:#bf360c}@media (max-width: 640px){.tsr-table th.tsr-pick-col,.tsr-table td.tsr-pick-col{width:2.25rem}}.tsr-audio{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-top:.5rem}.tsr-audio-label{color:#8d6e63;font-size:.75rem;font-weight:700;white-space:nowrap}.tsr-audio-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #ffab91;border-radius:999px;background:#fff5f0;color:#d84315;padding:.3rem .85rem;font:inherit;font-size:.78rem;font-weight:700;cursor:pointer;transition:background .15s ease,border-color .15s ease}.tsr-audio-btn:hover:not(:disabled){background:#ffe9e0;border-color:#ff7043}.tsr-audio-btn:disabled{opacity:.65;cursor:default}.tsr-audio-player{height:34px;max-width:min(340px,100%)}.tsr-transcript-note{display:block;margin-top:.35rem;color:#a1887f;font-size:.72rem;line-height:1.4}.tsr-group{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.tsr-group-full{background:#E8F5E9;color:#2e7d32}.tsr-group-ai_only{background:#EDE7F6;color:#5e35b1}.tsr-group-quiz_only{background:#FFF3E0;color:#e65100}.tsr-group-assign{display:flex;align-items:center;gap:8px}.tsr-group-assign-label{color:#6d4c41;font-size:13px;white-space:nowrap}.tsr-group-assign select{padding:8px 10px;border:2px solid #D7CCC8;border-radius:10px;background:#fff;color:#4e342e;font-size:13px}.tsr-group-assign select:disabled,.tsr-group-assign button:disabled{opacity:.55;cursor:not-allowed}.tsr-table-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px;margin-bottom:.75rem}@media (max-width: 720px){.tsr-table-toolbar{justify-content:flex-start}.tsr-group-assign{flex-wrap:wrap}}.tsr-survey{margin:0 0 1.25rem}.tsr-survey h3{margin:0 0 8px;font-size:15px;color:var(--wood-dark)}.tsr-survey-table th{font-size:12px;line-height:1.35;vertical-align:bottom}.tsr-survey-week{white-space:nowrap;font-weight:600;font-size:12px;color:#4e342e}.tsr-survey-score{text-align:center;color:#4e342e;white-space:nowrap}.tsr-survey-value{display:block;font-weight:700;font-size:15px;line-height:1.2}.tsr-survey-label{display:block;font-size:11px;color:#8d6e63;line-height:1.3}.tsr-survey-when{white-space:nowrap;color:#8d6e63;font-size:12px}.tsr-survey-note{margin:6px 0 0;color:#8d6e63;font-size:12px;line-height:1.5}.tsr-survey-empty{margin:0;padding:10px 14px;background:#FAFAFA;border:2px dashed #E0E0E0;border-radius:12px;color:#8d6e63;font-size:13px;line-height:1.6}.tsr-detail-tabs{display:flex;gap:6px;margin:0 0 1rem;border-bottom:2px solid #EFEBE9}.tsr-detail-tab{border:0;background:transparent;padding:8px 14px;margin-bottom:-2px;border-bottom:3px solid transparent;color:#8d6e63;font-weight:700;font-size:14px;cursor:pointer}.tsr-detail-tab:hover{color:var(--wood-dark)}.tsr-detail-tab.is-active{color:#e64a19;border-bottom-color:#ff7043}.tsr-toasts{position:fixed;right:1.25rem;bottom:1.25rem;z-index:60;display:flex;flex-direction:column;gap:.6rem;pointer-events:none}.tsr-toast{pointer-events:auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;min-width:17rem;max-width:min(26rem,calc(100vw - 2.5rem));padding:.85rem .9rem .85rem 1rem;border-radius:16px;background:#fffdf8;border:1px solid rgba(216,67,21,.12);box-shadow:0 14px 34px #4e342e2e;animation:tsr-toast-in .26s cubic-bezier(.2,.9,.3,1.4)}.tsr-toast-icon{display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:50%;font-weight:800;font-size:.95rem;color:#fff}.tsr-toast.is-ok .tsr-toast-icon{background:linear-gradient(135deg,#66bb6a 0%,#2e7d32 100%)}.tsr-toast.is-error .tsr-toast-icon{background:linear-gradient(135deg,#ef5350 0%,#c62828 100%)}.tsr-toast-text{margin:0;font-size:.88rem;line-height:1.45;color:#4e342e}.tsr-toast-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:#a1887f;font-size:1.2rem;line-height:1;padding:.15rem .3rem;border-radius:8px;cursor:pointer}.tsr-toast-close:hover{background:rgba(216,67,21,.08);color:#d84315}@keyframes tsr-toast-in{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.tsr-toast{animation:none}}@media (max-width: 640px){.tsr-toasts{right:.75rem;left:.75rem;bottom:.75rem}.tsr-toast{min-width:0;max-width:none}}.tsr-time{white-space:nowrap}.tsr-time strong{font-size:.85rem}.tsr-time-ai{margin-top:.2rem;font-size:.74rem;color:#6a5acd;font-weight:600}.tsr-time-section h3{margin:1.3rem 0 .6rem;font-size:.95rem}.tsr-time-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.8rem;margin-top:.4rem}.tsr-time-tile{display:flex;flex-direction:column;gap:.25rem;padding:.95rem 1.1rem;border-radius:16px;background:linear-gradient(135deg,#fff3e0 0%,#fffdf8 100%);border:1px solid rgba(216,67,21,.14)}.tsr-time-tile.is-ai{background:linear-gradient(135deg,#ede7f6 0%,#fbfaff 100%);border-color:#6a5acd33}.tsr-time-tile-label{font-size:.78rem;font-weight:700;color:#8d6e63}.tsr-time-tile-value{font-family:Grandstander,Noto Sans TC,sans-serif;font-size:1.55rem;color:#d84315;line-height:1.2}.tsr-time-tile.is-ai .tsr-time-tile-value{color:#5e35b1}.tsr-time-tile-meta{font-size:.78rem;color:#8d6e63}.tsr-time-days{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.tsr-time-days li{display:grid;grid-template-columns:6.2rem 1fr 6.5rem;align-items:center;gap:.7rem;font-size:.82rem;color:#5d4037}.tsr-time-day{font-variant-numeric:tabular-nums}.tsr-time-daybar{height:8px;border-radius:99px;background:#ffe0b2;overflow:hidden}.tsr-time-daybar span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#ff7043,#ffa726)}.tsr-time-dayvalue,.tsr-time-duration{text-align:right;white-space:nowrap;font-weight:600}.tsr-week{margin-top:.35rem;font-size:.74rem;font-weight:700;color:#d84315;white-space:nowrap}.tsr-week.is-done{color:#2e7d32}
