/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-orange-50:oklch(98% .016 73.684);--color-orange-200:oklch(90.1% .076 70.697);--color-orange-600:oklch(64.6% .222 41.116);--color-green-100:oklch(96.2% .044 156.743);--color-green-200:oklch(92.5% .084 155.995);--color-emerald-50:oklch(97.9% .021 166.113);--color-indigo-50:oklch(96.2% .018 272.314);--color-indigo-500:oklch(58.5% .233 277.117);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-xl:36rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-medium:500;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-widest:.1em;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1) infinite;--blur-sm:8px;--blur-xl:24px;--blur-2xl:40px;--blur-3xl:64px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-edu-primary:#3ccf91;--color-edu-primaryLighter:#e8fdf2;--color-edu-secondaryLighter:#fff4f3;--color-edu-accent:#75b3ff;--color-edu-accentLighter:#ebf4ff;--color-edu-bg:#f3f4f1;--color-edu-bgDeep:#e8e9e5;--color-edu-ink:#2d3748;--color-edu-inkSoft:#718096;--color-edu-danger:#ff7b7b;--color-edu-dangerBg:#fff0f0;--color-edu-success:#1ea471;--color-edu-successBg:#e6f7ef;--shadow-soft:0 8px 30px #0000000a}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.right-0{right:calc(var(--spacing) * 0)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-full{bottom:100%}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.left-10{left:calc(var(--spacing) * 10)}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.col-span-full{grid-column:1/-1}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.my-3{margin-block:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-auto{margin-top:auto}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-3{height:calc(var(--spacing) * 3)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-10{height:calc(var(--spacing) * 10)}.h-16{height:calc(var(--spacing) * 16)}.h-48{height:calc(var(--spacing) * 48)}.h-64{height:calc(var(--spacing) * 64)}.h-\[100dvh\]{height:100dvh}.h-\[180px\]{height:180px}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-2{width:calc(var(--spacing) * 2)}.w-3{width:calc(var(--spacing) * 3)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-10{width:calc(var(--spacing) * 10)}.w-16{width:calc(var(--spacing) * 16)}.w-48{width:calc(var(--spacing) * 48)}.w-64{width:calc(var(--spacing) * 64)}.w-\[90vw\]{width:90vw}.w-\[180px\]{width:180px}.w-\[280px\]{width:280px}.w-full{width:100%}.max-w-\[1440px\]{max-width:1440px}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.flex-none{flex:none}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1)}.-translate-x-1\/2,.translate-x-1\/3{translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-1\/3{--tw-translate-x:calc(1 / 3 * 100%)}.-translate-y-1\/3{--tw-translate-y:calc(calc(1 / 3 * 100%) * -1)}.-translate-y-1\/3,.translate-y-1\/2{translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-1\/2{--tw-translate-y:calc(1 / 2 * 100%)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\[1\.5rem\]{border-radius:1.5rem}.rounded-\[2rem\]{border-radius:2rem}.rounded-\[16px\]{border-radius:16px}.rounded-full{border-radius:3.40282e+38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-edu-bgDeep{border-color:var(--color-edu-bgDeep)}.border-edu-bgDeep\/40{border-color:#e8e9e566}@supports (color:color-mix(in lab,red,red)){.border-edu-bgDeep\/40{border-color:color-mix(in oklab,var(--color-edu-bgDeep) 40%,transparent)}}.border-edu-bgDeep\/50{border-color:#e8e9e580}@supports (color:color-mix(in lab,red,red)){.border-edu-bgDeep\/50{border-color:color-mix(in oklab,var(--color-edu-bgDeep) 50%,transparent)}}.border-edu-primary\/20{border-color:#3ccf9133}@supports (color:color-mix(in lab,red,red)){.border-edu-primary\/20{border-color:color-mix(in oklab,var(--color-edu-primary) 20%,transparent)}}.border-emerald-50{border-color:var(--color-emerald-50)}.border-emerald-50\/50{border-color:#ecfdf580}@supports (color:color-mix(in lab,red,red)){.border-emerald-50\/50{border-color:color-mix(in oklab,var(--color-emerald-50) 50%,transparent)}}.border-gray-50{border-color:var(--color-gray-50)}.border-gray-50\/50{border-color:#f9fafb80}@supports (color:color-mix(in lab,red,red)){.border-gray-50\/50{border-color:color-mix(in oklab,var(--color-gray-50) 50%,transparent)}}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-green-100{border-color:var(--color-green-100)}.border-green-200\/50{border-color:#b9f8cf80}@supports (color:color-mix(in lab,red,red)){.border-green-200\/50{border-color:color-mix(in oklab,var(--color-green-200) 50%,transparent)}}.border-orange-200\/50{border-color:#ffd7a880}@supports (color:color-mix(in lab,red,red)){.border-orange-200\/50{border-color:color-mix(in oklab,var(--color-orange-200) 50%,transparent)}}.border-red-50{border-color:var(--color-red-50)}.border-red-100{border-color:var(--color-red-100)}.border-red-100\/50{border-color:#ffe2e280}@supports (color:color-mix(in lab,red,red)){.border-red-100\/50{border-color:color-mix(in oklab,var(--color-red-100) 50%,transparent)}}.border-t-edu-primary{border-top-color:var(--color-edu-primary)}.border-l-edu-primary{border-left-color:var(--color-edu-primary)}.bg-\[\#fcfcfd\]{background-color:#fcfcfd}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab,red,red)){.bg-black\/40{background-color:color-mix(in oklab,var(--color-black) 40%,transparent)}}.bg-edu-bg{background-color:var(--color-edu-bg)}.bg-edu-bgDeep\/50{background-color:#e8e9e580}@supports (color:color-mix(in lab,red,red)){.bg-edu-bgDeep\/50{background-color:color-mix(in oklab,var(--color-edu-bgDeep) 50%,transparent)}}.bg-edu-bgDeep\/60{background-color:#e8e9e599}@supports (color:color-mix(in lab,red,red)){.bg-edu-bgDeep\/60{background-color:color-mix(in oklab,var(--color-edu-bgDeep) 60%,transparent)}}.bg-edu-dangerBg{background-color:var(--color-edu-dangerBg)}.bg-edu-primary{background-color:var(--color-edu-primary)}.bg-edu-primaryLighter{background-color:var(--color-edu-primaryLighter)}.bg-edu-secondaryLighter{background-color:var(--color-edu-secondaryLighter)}.bg-edu-successBg{background-color:var(--color-edu-successBg)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-100\/80{background-color:#f3f4f6cc}@supports (color:color-mix(in lab,red,red)){.bg-gray-100\/80{background-color:color-mix(in oklab,var(--color-gray-100) 80%,transparent)}}.bg-gray-200{background-color:var(--color-gray-200)}.bg-orange-50{background-color:var(--color-orange-50)}.bg-red-50{background-color:var(--color-red-50)}.bg-white{background-color:var(--color-white)}.bg-white\/70{background-color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.bg-white\/70{background-color:color-mix(in oklab,var(--color-white) 70%,transparent)}}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-10{padding:calc(var(--spacing) * 10)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pb-12{padding-bottom:calc(var(--spacing) * 12)}.text-center{text-align:center}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[15px\]{font-size:15px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.whitespace-nowrap{white-space:nowrap}.text-edu-accent{color:var(--color-edu-accent)}.text-edu-danger{color:var(--color-edu-danger)}.text-edu-ink{color:var(--color-edu-ink)}.text-edu-ink\/90{color:#2d3748e6}@supports (color:color-mix(in lab,red,red)){.text-edu-ink\/90{color:color-mix(in oklab,var(--color-edu-ink) 90%,transparent)}}.text-edu-inkSoft{color:var(--color-edu-inkSoft)}.text-edu-primary{color:var(--color-edu-primary)}.text-edu-success{color:var(--color-edu-success)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-orange-600{color:var(--color-orange-600)}.text-red-400{color:var(--color-red-400)}.text-red-600{color:var(--color-red-600)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.decoration-edu-primary\/30{text-decoration-color:#3ccf914d}@supports (color:color-mix(in lab,red,red)){.decoration-edu-primary\/30{-webkit-text-decoration-color:color-mix(in oklab,var(--color-edu-primary) 30%,transparent);text-decoration-color:color-mix(in oklab,var(--color-edu-primary) 30%,transparent)}}.underline-offset-4{text-underline-offset:4px}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-95{opacity:.95}.opacity-100{opacity:1}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040)}.shadow-2xl,.shadow-\[0_20px_60px_-15px_rgba\(0\,0\,0\,0\.1\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_20px_60px_-15px_rgba\(0\,0\,0\,0\.1\)\]{--tw-shadow:0 20px 60px -15px var(--tw-shadow-color,#0000001a)}.shadow-\[inset_0_2px_4px_rgba\(60\,207\,145\,0\.1\)\]{--tw-shadow:inset 0 2px 4px var(--tw-shadow-color,#3ccf911a)}.shadow-\[inset_0_2px_4px_rgba\(60\,207\,145\,0\.1\)\],.shadow-float{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-float{--tw-shadow:0 12px 40px var(--tw-shadow-color,#3ccf911f)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.shadow-sm,.shadow-soft{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-soft{--tw-shadow:0 8px 30px var(--tw-shadow-color,#0000000a)}.blur-2xl{--tw-blur:blur(var(--blur-2xl))}.blur-2xl,.blur-3xl{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,)}.blur-3xl{--tw-blur:blur(var(--blur-3xl))}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm))}.backdrop-blur-sm,.backdrop-blur-xl{-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-xl{--tw-backdrop-blur:blur(var(--blur-xl))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.outline-none{--tw-outline-style:none;outline-style:none}.\[db\:init\]{db:init}.\[teacher\:account\]{teacher:account}.\[teacher\:create\]{teacher:create}.\[teacher\:set-max-classes\]{teacher:set-max-classes}.\[teacher\:set-password\]{teacher:set-password}.\[teacher\:show\]{teacher:show}.selection\:bg-edu-primary ::selection{background-color:var(--color-edu-primary)}.selection\:bg-edu-primary::selection{background-color:var(--color-edu-primary)}.selection\:text-white ::selection{color:var(--color-white)}.selection\:text-white::selection{color:var(--color-white)}.placeholder\:text-gray-400::placeholder{color:var(--color-gray-400)}@media (hover:hover){.hover\:border-edu-bgDeep:hover{border-color:var(--color-edu-bgDeep)}.hover\:border-edu-primary\/30:hover{border-color:#3ccf914d}@supports (color:color-mix(in lab,red,red)){.hover\:border-edu-primary\/30:hover{border-color:color-mix(in oklab,var(--color-edu-primary) 30%,transparent)}}.hover\:border-red-200:hover{border-color:var(--color-red-200)}.hover\:bg-\[\#32b57e\]:hover{background-color:#32b57e}.hover\:bg-edu-accentLighter:hover{background-color:var(--color-edu-accentLighter)}.hover\:bg-edu-bg:hover{background-color:var(--color-edu-bg)}.hover\:bg-edu-bgDeep:hover{background-color:var(--color-edu-bgDeep)}.hover\:bg-edu-primary\/10:hover{background-color:#3ccf911a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-edu-primary\/10:hover{background-color:color-mix(in oklab,var(--color-edu-primary) 10%,transparent)}}.hover\:bg-edu-primaryLighter:hover{background-color:var(--color-edu-primaryLighter)}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\:bg-indigo-50:hover{background-color:var(--color-indigo-50)}.hover\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\:bg-red-100:hover{background-color:var(--color-red-100)}.hover\:bg-white\/50:hover{background-color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/50:hover{background-color:color-mix(in oklab,var(--color-white) 50%,transparent)}}.hover\:text-edu-accent:hover{color:var(--color-edu-accent)}.hover\:text-edu-ink:hover{color:var(--color-edu-ink)}.hover\:text-edu-primary:hover{color:var(--color-edu-primary)}.hover\:text-indigo-500:hover{color:var(--color-indigo-500)}.hover\:text-red-500:hover{color:var(--color-red-500)}.hover\:shadow-float:hover{--tw-shadow:0 12px 40px var(--tw-shadow-color,#3ccf911f)}.hover\:shadow-float:hover,.hover\:shadow-md:hover{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a)}.hover\:brightness-110:hover{--tw-brightness:brightness(110%);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,)}}.focus\:border-edu-primary:focus{border-color:var(--color-edu-primary)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.focus\:ring-2:focus,.focus\:ring-4:focus{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-4:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.focus\:ring-edu-primary\/10:focus{--tw-ring-color:#3ccf911a}@supports (color:color-mix(in lab,red,red)){.focus\:ring-edu-primary\/10:focus{--tw-ring-color:color-mix(in oklab,var(--color-edu-primary) 10%,transparent)}}.focus\:ring-edu-primary\/20:focus{--tw-ring-color:#3ccf9133}@supports (color:color-mix(in lab,red,red)){.focus\:ring-edu-primary\/20:focus{--tw-ring-color:color-mix(in oklab,var(--color-edu-primary) 20%,transparent)}}.focus\:ring-edu-primary\/30:focus{--tw-ring-color:#3ccf914d}@supports (color:color-mix(in lab,red,red)){.focus\:ring-edu-primary\/30:focus{--tw-ring-color:color-mix(in oklab,var(--color-edu-primary) 30%,transparent)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\:scale-\[0\.98\]:active{scale:.98}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:shadow-none:disabled{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.disabled\:active\:scale-100:disabled:active{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}@media (min-width:40rem){.sm\:flex{display:flex}.sm\:inline-flex{display:inline-flex}.sm\:w-auto{width:auto}.sm\:w-fit{width:fit-content}.sm\:flex-none{flex:none}.sm\:flex-row{flex-direction:row}.sm\:gap-3{gap:calc(var(--spacing) * 3)}.sm\:p-2\.5{padding:calc(var(--spacing) * 2.5)}.sm\:p-8{padding:calc(var(--spacing) * 8)}.sm\:px-4{padding-inline:calc(var(--spacing) * 4)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media (min-width:48rem){.md\:col-span-1{grid-column:span 1/span 1}.md\:col-span-2{grid-column:span 2/span 2}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:p-6{padding:calc(var(--spacing) * 6)}.md\:p-8{padding:calc(var(--spacing) * 8)}.md\:text-\[2\.5rem\]{font-size:2.5rem}}@media (min-width:64rem){.lg\:inline-flex{display:inline-flex}.lg\:flex-none{flex:none}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:flex-col{flex-direction:column}.lg\:flex-row{flex-direction:row}.lg\:p-7{padding:calc(var(--spacing) * 7)}.lg\:p-10{padding:calc(var(--spacing) * 10)}.lg\:px-12{padding-inline:calc(var(--spacing) * 12)}.lg\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}}}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_AMS-Regular.a79f1c31.woff2)format("woff2"),url(/_next/static/media/KaTeX_AMS-Regular.1608a09b.woff)format("woff"),url(/_next/static/media/KaTeX_AMS-Regular.4aafdb68.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/_next/static/media/KaTeX_Caligraphic-Bold.ec17d132.woff2)format("woff2"),url(/_next/static/media/KaTeX_Caligraphic-Bold.b6770918.woff)format("woff"),url(/_next/static/media/KaTeX_Caligraphic-Bold.cce5b8ec.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Caligraphic-Regular.55fac258.woff2)format("woff2"),url(/_next/static/media/KaTeX_Caligraphic-Regular.dad44a7f.woff)format("woff"),url(/_next/static/media/KaTeX_Caligraphic-Regular.07ef19e7.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/_next/static/media/KaTeX_Fraktur-Bold.d42a5579.woff2)format("woff2"),url(/_next/static/media/KaTeX_Fraktur-Bold.9f256b85.woff)format("woff"),url(/_next/static/media/KaTeX_Fraktur-Bold.b18f59e1.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Fraktur-Regular.d3c882a6.woff2)format("woff2"),url(/_next/static/media/KaTeX_Fraktur-Regular.7c187121.woff)format("woff"),url(/_next/static/media/KaTeX_Fraktur-Regular.ed38e79f.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/_next/static/media/KaTeX_Main-Bold.c3fb5ac2.woff2)format("woff2"),url(/_next/static/media/KaTeX_Main-Bold.d181c465.woff)format("woff"),url(/_next/static/media/KaTeX_Main-Bold.b74a1a8b.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/_next/static/media/KaTeX_Main-BoldItalic.6f2bb1df.woff2)format("woff2"),url(/_next/static/media/KaTeX_Main-BoldItalic.e3f82f9d.woff)format("woff"),url(/_next/static/media/KaTeX_Main-BoldItalic.70d8b0a5.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/_next/static/media/KaTeX_Main-Italic.8916142b.woff2)format("woff2"),url(/_next/static/media/KaTeX_Main-Italic.9024d815.woff)format("woff"),url(/_next/static/media/KaTeX_Main-Italic.47373d1e.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Main-Regular.0462f03b.woff2)format("woff2"),url(/_next/static/media/KaTeX_Main-Regular.7f51fe03.woff)format("woff"),url(/_next/static/media/KaTeX_Main-Regular.b7f8fe9b.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/_next/static/media/KaTeX_Math-BoldItalic.572d331f.woff2)format("woff2"),url(/_next/static/media/KaTeX_Math-BoldItalic.f1035d8d.woff)format("woff"),url(/_next/static/media/KaTeX_Math-BoldItalic.a879cf83.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/_next/static/media/KaTeX_Math-Italic.f28c23ac.woff2)format("woff2"),url(/_next/static/media/KaTeX_Math-Italic.5295ba48.woff)format("woff"),url(/_next/static/media/KaTeX_Math-Italic.939bc644.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/_next/static/media/KaTeX_SansSerif-Bold.8c5b5494.woff2)format("woff2"),url(/_next/static/media/KaTeX_SansSerif-Bold.bf59d231.woff)format("woff"),url(/_next/static/media/KaTeX_SansSerif-Bold.94e1e8dc.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/_next/static/media/KaTeX_SansSerif-Italic.3b1e59b3.woff2)format("woff2"),url(/_next/static/media/KaTeX_SansSerif-Italic.7c9bc82b.woff)format("woff"),url(/_next/static/media/KaTeX_SansSerif-Italic.b4c20c84.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_SansSerif-Regular.ba21ed5f.woff2)format("woff2"),url(/_next/static/media/KaTeX_SansSerif-Regular.74048478.woff)format("woff"),url(/_next/static/media/KaTeX_SansSerif-Regular.d4d7ba48.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Script-Regular.03e9641d.woff2)format("woff2"),url(/_next/static/media/KaTeX_Script-Regular.07505710.woff)format("woff"),url(/_next/static/media/KaTeX_Script-Regular.fe9cbbe1.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Size1-Regular.eae34984.woff2)format("woff2"),url(/_next/static/media/KaTeX_Size1-Regular.e1e279cb.woff)format("woff"),url(/_next/static/media/KaTeX_Size1-Regular.fabc004a.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Size2-Regular.5916a24f.woff2)format("woff2"),url(/_next/static/media/KaTeX_Size2-Regular.57727022.woff)format("woff"),url(/_next/static/media/KaTeX_Size2-Regular.d6b476ec.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Size3-Regular.b4230e7e.woff2)format("woff2"),url(/_next/static/media/KaTeX_Size3-Regular.9acaf01c.woff)format("woff"),url(/_next/static/media/KaTeX_Size3-Regular.a144ef58.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Size4-Regular.10d95fd3.woff2)format("woff2"),url(/_next/static/media/KaTeX_Size4-Regular.7a996c9d.woff)format("woff"),url(/_next/static/media/KaTeX_Size4-Regular.fbccdabe.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Typewriter-Regular.a8709e36.woff2)format("woff2"),url(/_next/static/media/KaTeX_Typewriter-Regular.6258592b.woff)format("woff"),url(/_next/static/media/KaTeX_Typewriter-Regular.d97aaf4a.ttf)format("truetype")}.katex{text-indent:0;text-rendering:auto;font:1.21em/1.2 KaTeX_Main,Times New Roman,serif}.katex *{border-color:currentColor;-ms-high-contrast-adjust:none!important}.katex .katex-version:after{content:"0.16.33"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.katex .katex-html>.newline{display:block}.katex .base{white-space:nowrap;width:min-content;position:relative}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;table-layout:fixed;display:inline-table}.katex .vlist-r{display:table-row}.katex .vlist{vertical-align:bottom;display:table-cell;position:relative}.katex .vlist>span{height:0;display:block;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{width:0;overflow:hidden}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{vertical-align:bottom;width:2px;min-width:2px;font-size:1px;display:table-cell}.katex .vbox{flex-direction:column;align-items:baseline;display:inline-flex}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{flex-direction:row;display:inline-flex}.katex .thinbox{width:0;max-width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{width:0;position:relative}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .hdashline{border-bottom-style:dashed;width:100%;display:inline-block}.katex .sqrt>.root{margin-left:.277778em;margin-right:-.555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.833333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.16667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.33333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.66667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.45667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.14667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.714286em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.857143em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.14286em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.28571em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.42857em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.71429em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.05714em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.46857em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.96286em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.55429em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.11111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.33333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.30444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.76444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.416667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.583333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.833333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.72833em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.07333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.347222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.416667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.486111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.694444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.833333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.44028em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.72778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.289352em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.347222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.405093em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.520833em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.578704em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.694444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.833333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.20023em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.43981em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.24108em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.289296em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.385728em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.433944em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48216em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.578592em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.694311em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.833173em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.19961em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.200965em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.241158em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.281351em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.321543em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.361736em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.401929em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.482315em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.694534em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.833601em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{width:.12em;display:inline-block}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{min-width:1px;display:inline-block}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;height:inherit;width:100%;display:block;position:absolute}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;min-width:0;max-width:none;min-height:0;max-height:none}.katex .stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{width:50.2%;position:absolute;left:0;overflow:hidden}.katex .halfarrow-right{width:50.2%;position:absolute;right:0;overflow:hidden}.katex .brace-left{width:25.1%;position:absolute;left:0;overflow:hidden}.katex .brace-center{width:50%;position:absolute;left:25%;overflow:hidden}.katex .brace-right{width:25.1%;position:absolute;right:0;overflow:hidden}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{box-sizing:border-box;border:.04em solid}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{box-sizing:border-box;border-top:.049em solid;border-right:.049em solid;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{text-align:left;display:inline-block;position:absolute;right:calc(50% + .3em)}.katex .cd-label-right{text-align:right;display:inline-block;position:absolute;left:calc(50% + .3em)}.katex-display{text-align:center;margin:1em 0;display:block}.katex-display>.katex{text-align:center;white-space:nowrap;display:block}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{text-align:left;padding-left:2em}body{counter-reset:katexEqnNo mmlEqnNo}:root{--bg-main:#f8fafc;--bg-deep:#e2e8f0;--ink:#2d3748;--ink-soft:#718096;--panel:#fffffff2;--panel-strong:#fff;--line:#e2e8f0;--line-strong:#cbd5e1;--brand:#3ccf91;--brand-dark:#32b57e;--brand-pale:#e8fdf2;--danger:#ff7b7b;--danger-bg:#fff0f0;--success:#1ea471;--success-bg:#e6f7ef;--radius-xl:2rem;--radius-lg:1.5rem;--radius-md:1rem;--shadow-soft:0 8px 30px #0000000a;--shadow-glow:0 12px 40px #3ccf911f;--font-display:"Nunito","Source Han Sans SC","PingFang SC",sans-serif;--font-body:"Nunito","Source Han Sans SC","PingFang SC",sans-serif}*{box-sizing:border-box}body,html{min-height:100%;margin:0}body{color:var(--ink);font-family:var(--font-body);background:radial-gradient(circle at 12% 8%,#76b3ff38,transparent 32%),radial-gradient(circle at 84% 16%,#73e0c533,transparent 38%),radial-gradient(circle at 70% 72%,#fcdca740,transparent 40%),linear-gradient(145deg,var(--bg-main),var(--bg-deep))}a{color:inherit}button,input,textarea{font:inherit}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:#335c8f;margin:0 0 8px;font-size:12px;font-weight:700}.reveal{animation:rise-up .48s both}.rise-delay-1{animation-delay:40ms}.rise-delay-2{animation-delay:.11s}.rise-delay-3{animation-delay:.18s}@keyframes rise-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.input{border-radius:var(--radius-md);border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;padding:11px 13px;transition:border-color .2s,box-shadow .2s}.input:focus{border-color:#76a2de;outline:none;box-shadow:0 0 0 4px #76a2de33}.danger-btn,.outline-btn,.primary-btn{cursor:pointer;border:0;border-radius:999px;padding:10px 18px;font-weight:700;transition:transform .15s,filter .15s,opacity .15s}.danger-btn:disabled,.outline-btn:disabled,.primary-btn:disabled{cursor:not-allowed;opacity:.6}.primary-btn{background:linear-gradient(180deg,var(--brand),var(--brand-dark));color:#fff;box-shadow:0 10px 26px #17457a47}.outline-btn{border:1px solid var(--line-strong);color:#1f3e67;background:#fff}.danger-btn{color:#8f2d21;background:#fff;border:1px solid #edcbc6}.danger-btn:hover:enabled,.outline-btn:hover:enabled,.primary-btn:hover:enabled{filter:brightness(1.03);transform:translateY(-1px)}.as-link{text-decoration:none}.as-link,.btn-with-icon{justify-content:center;align-items:center;display:inline-flex}.btn-with-icon{gap:8px}.btn-icon{flex:none;justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex}.btn-icon svg{stroke-width:1.9px;width:100%;height:100%}.text-link-with-icon{align-items:center;gap:4px;display:inline-flex}.text-link-with-icon .btn-icon{width:14px;height:14px}.error-inline,.ok-inline{border-radius:var(--radius-md);padding:10px 12px;font-size:13px;line-height:1.5}.error-inline{background:var(--danger-bg);color:var(--danger);border:1px solid #efcdc9}.ok-inline{background:var(--success-bg);color:var(--success);border:1px solid #c6e4d4}.entry-shell{place-items:center;min-height:100dvh;padding:26px;display:grid}.entry-grid{grid-template-columns:1.05fr .95fr;gap:18px;width:min(1040px,100%);display:grid}.entry-brand,.entry-card,.status-card{border-radius:var(--radius-xl);background:var(--panel);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid #ffffffdb}.entry-brand{padding:32px;position:relative;overflow:hidden}.entry-brand:after{content:"";pointer-events:none;background:linear-gradient(135deg,#1b5fa82e,#6fddc524);border-radius:44% 56% 53% 47%;width:220px;height:220px;position:absolute;bottom:-56px;right:-48px}.entry-brand h1{font-family:var(--font-display);max-width:18ch;margin:0;font-size:clamp(28px,4vw,42px);line-height:1.2}.entry-brand p{color:var(--ink-soft);max-width:48ch;margin:16px 0 0;line-height:1.75}.entry-tags{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.entry-tags span{color:#254f81;background:#ffffffc7;border:1px solid #88a7d375;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:700}.entry-card{gap:10px;padding:26px;display:grid}.entry-card h2{font-size:24px;font-family:var(--font-display);margin:0}.entry-card p{color:var(--ink-soft);margin:0 0 4px;font-size:14px;line-height:1.6}.entry-card label{color:#344765;font-size:12px;font-weight:700}.entry-note{color:var(--ink-soft);font-size:12px}.entry-mode-switch{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:4px;display:grid}.entry-mode-btn{color:#2a4b73;cursor:pointer;background:#ffffffd1;border:1px solid #88a7d375;border-radius:14px;min-height:42px;font-size:13px;font-weight:700;transition:border-color .16s,background .16s,color .16s,box-shadow .16s}.entry-mode-btn.active{color:#163e70;background:linear-gradient(#f2f7fff5,#e4effff5);border-color:#315f9a94;box-shadow:0 10px 18px #21497c1f}.entry-mode-btn:disabled{cursor:not-allowed;opacity:.72}.entry-switch-link{color:#1f538c;text-underline-offset:2px;margin-left:6px;font-weight:700;text-decoration:underline}.join-steps{color:#2e3e5b;margin:18px 0 0;padding-left:22px;line-height:1.8}.join-shell{place-items:center;min-height:100dvh;padding:24px;display:grid}.join-card{width:min(560px,100%)}.status-card{width:min(520px,100%);padding:28px}.status-card h1{font-size:28px;font-family:var(--font-display);margin:0 0 10px}.status-card p{color:var(--ink-soft);margin:0}.context-nav{justify-content:center;padding:10px 16px 0;display:flex}.context-nav a{color:#1f5088;text-underline-offset:3px;font-size:13px;text-decoration:underline}.context-nav .text-link-with-icon{text-decoration:none}.teacher-shell{width:min(1480px,100%);min-height:100dvh;margin:0 auto;padding:24px}.teacher-hero{border-radius:var(--radius-xl);box-shadow:var(--shadow-glow);background:linear-gradient(155deg,#ffffffe0,#ffffffbd);border:1px solid #ffffffd9;justify-content:space-between;align-items:flex-start;gap:24px;padding:28px;display:flex}.teacher-hero h1{font-family:var(--font-display);max-width:18ch;margin:0;font-size:clamp(26px,3.6vw,38px);line-height:1.2}.teacher-hero p{color:var(--ink-soft);max-width:52ch;margin:10px 0 0;line-height:1.7}.teacher-hero-actions{flex-direction:column;justify-content:flex-start;align-items:flex-end;gap:12px;min-width:190px;display:flex}.teacher-hero-actions .danger-btn,.teacher-hero-actions .outline-btn{text-align:center;width:100%}.readiness-hub{border-radius:var(--radius-xl);background:var(--panel);box-shadow:var(--shadow-soft);border:1px solid #ffffffd6;margin-top:14px;padding:16px}.readiness-main{justify-content:space-between;gap:12px;display:flex}.readiness-main h2{font-size:20px;font-family:var(--font-display);margin:0}.readiness-main p{color:var(--ink-soft);margin:8px 0 0;font-size:13px}.readiness-kpi{align-content:start;justify-items:end;gap:6px;min-width:180px;display:grid}.readiness-kpi strong{font-size:36px;line-height:1;font-family:var(--font-display);color:#193f6f}.readiness-kpi span{color:var(--ink-soft);font-size:12px}.readiness-trigger{margin-top:10px}.readiness-detail{gap:8px;margin-top:10px;display:grid}.readiness-item{background:#f9fbff;border:1px solid #d7e3f5;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.readiness-item h3{margin:0;font-size:13px}.readiness-item p{color:var(--ink-soft);margin:5px 0 0;font-size:12px}.readiness-item.ok{background:#edf9f2;border-color:#b8dfca}.readiness-status{color:#4d6386;white-space:nowrap;background:#fff;border:1px solid #d2deef;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:700}.readiness-item.ok .readiness-status{color:#1f6a42;background:#f7fffa;border-color:#9ecab1}.teacher-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.metric-card{background:var(--panel);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);border:1px solid #ffffffd1;padding:16px}.metric-card h2{color:#2c4467;margin:0;font-size:14px}.metric-main{align-items:baseline;gap:8px;margin-top:10px;display:flex}.metric-main strong{font-size:30px;font-family:var(--font-display);line-height:1}.metric-main span{color:var(--ink-soft);font-size:13px}.metric-note{color:var(--ink-soft);margin:10px 0 0;font-size:12px;line-height:1.6}.progress-track{background:#dfe8f6;border-radius:999px;height:8px;margin-top:12px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#2d66a8,#4e9ed8);border-radius:999px;height:100%}.mini-checks{gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.mini-checks li{color:#5e6c87;padding-left:18px;font-size:13px;position:relative}.mini-checks li:before{content:"○";position:absolute;top:0;left:0}.mini-checks li.ok{color:#25643f;font-weight:600}.mini-checks li.ok:before{content:"●"}.teacher-grid{grid-template-columns:minmax(0,1.32fr) minmax(320px,.68fr);gap:18px;margin-top:18px;display:grid}.teacher-grid-dashboard{align-items:start}.panel-span-full{grid-column:1/-1}.launch-entry-panel .panel-head,.readiness-pill{align-items:center}.readiness-pill{color:#1f548f;white-space:nowrap;background:#eef5ff;border:1px solid #c3d7f2;border-radius:999px;padding:5px 11px;font-size:12px;font-weight:700;display:inline-flex}.readiness-pill.ready{color:#1f6a42;background:#edf9f2;border-color:#97c8ad}.readiness-pill.partial{color:#75611b;background:#fff8e8;border-color:#d2c69c}.readiness-pill.empty{color:#5c6e8d;background:#f5f8fd;border-color:#d1dbe9}.launch-kpi-row{align-items:baseline;gap:8px;margin-top:8px;display:flex}.launch-kpi-row strong{font-size:34px;line-height:1;font-family:var(--font-display);color:#163f71}.launch-kpi-row span{color:var(--ink-soft);font-size:13px}.launch-meta-grid{gap:8px;margin-top:12px;display:grid}.launch-meta-grid>div{background:#ffffffc7;border:1px solid #a3b9da6b;border-radius:12px;gap:4px;padding:10px;display:grid}.launch-meta-grid span{color:#51617d;font-size:12px}.launch-meta-grid strong{color:#1e3f67;font-size:13px}.mini-checks.compact{margin-top:10px}.launch-privacy-note{color:#5a6a85;margin:10px 0 0;font-size:13px;line-height:1.6}.quick-entry-panel .panel-actions{margin-top:14px}.quick-chat-panel{flex-direction:column;height:100%;display:flex}.quick-chat-panel .panel-actions{margin-top:auto;padding-top:14px}.quick-chat-list{gap:7px;margin:0;padding:0;list-style:none;display:grid}.quick-chat-list li{color:#4f607d;padding-left:18px;font-size:13px;line-height:1.55;position:relative}.quick-chat-list li:before{content:"•";color:#2f67ab;font-weight:700;position:absolute;top:0;left:4px}.launch-target-inline{gap:10px;max-width:360px;margin-top:14px;display:grid}.launch-target-select{gap:6px;display:grid}.launch-target-select span{color:#344768;font-size:12px;font-weight:700}.launch-selected-teacher{color:#4f607d;margin:0;font-size:13px}.admin-selector-form{align-items:end}.admin-chat-toolbar{margin-bottom:16px}.account-security-panel{margin-top:12px}.account-form{gap:10px;max-width:620px;display:grid}.account-form label{gap:6px;display:grid}.account-form label span{color:#344768;font-size:12px;font-weight:700}.account-form-actions{justify-content:flex-start;margin-top:6px;display:flex}.account-help-note{color:var(--ink-soft);margin-top:14px;font-size:12px;line-height:1.6}.panel{border-radius:var(--radius-xl);background:var(--panel);box-shadow:var(--shadow-soft);border:1px solid #ffffffd6;padding:18px}.panel-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.panel-head h2{font-size:22px;font-family:var(--font-display);margin:0}.class-count-badge{color:#204f87;vertical-align:middle;background:#eef5ff;border:1px solid #cfe0f7;border-radius:999px;align-items:center;margin-left:10px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.panel-head p{color:var(--ink-soft);margin:6px 0 0;font-size:13px}.field-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.field-grid-single{grid-template-columns:1fr}.field-grid label{gap:6px;display:grid}.field-grid label span{color:#344768;font-size:12px;font-weight:700}.config-summary{border-radius:var(--radius-md);background:#ffffffe0;border:1px solid #a4badd6b;padding:12px}.config-summary.compact{padding:10px 12px}.summary-row{border-bottom:1px dashed #aec2e099;justify-content:space-between;gap:12px;padding:8px 0;font-size:13px;display:flex}.summary-row:last-child{border-bottom:0}.summary-row span{color:var(--ink-soft)}.summary-row strong{color:#223c5f;word-break:break-all;text-align:right;max-width:70%}.summary-mode-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.summary-mode-grid.compact{margin-top:0}.mapped{color:#5f6f8c;text-align:center;background:#f9fbff;border:1px solid #d4e0f2;border-radius:12px;padding:8px 6px;font-size:12px}.mapped.ok{color:#1c6842;background:#ecf8f0;border-color:#95c4ad;font-weight:700}.panel-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.command-preview{border-radius:var(--radius-md);background:#ffffffdb;border:1px solid #a4badd6b;margin-top:12px;padding:12px}.command-preview h3{margin:0;font-size:14px}.command-mode-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px;display:grid}.command-mode-card{background:#fff;border:1px solid #d8e3f4;border-radius:14px;padding:12px}.command-item-head,.command-mode-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.command-item-head strong,.command-mode-head strong{min-width:0}.command-mode-list{gap:8px;margin-top:10px;display:grid}.command-list{gap:8px;max-height:260px;margin-top:8px;display:grid;overflow:auto}.command-list.single-col{max-height:340px}.command-item{background:#fff;border:1px solid #d8e3f4;border-radius:12px;justify-content:space-between;gap:10px;padding:10px;display:flex}.command-item.command-item-stacked{flex-direction:column}.command-item strong{font-size:13px;display:block}.command-item p{color:var(--ink-soft);margin:4px 0 0;font-size:12px;line-height:1.45}.command-item code{color:#1e4f88;word-break:break-all;background:#edf4ff;border:1px solid #d4e3fb;border-radius:8px;align-self:flex-start;padding:4px 6px;font-size:11px}.command-item-actions{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.command-match-pill{white-space:nowrap;color:#4f6180;background:#f6f9ff;border:1px solid #d8e3f4;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700}.command-match-pill.ok{color:#1c6842;background:#ecf8f0;border-color:#95c4ad}.command-match-pill.soft{color:#60708c;background:#f9fbff;border-color:#d4e0f2}.command-reason{color:#516887;margin-top:6px;font-size:12px}.launch-schema-summary{gap:12px;margin-top:18px;display:grid}.launch-schema-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.launch-schema-head h3{color:#183d67;margin:0;font-size:14px}.launch-schema-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.launch-schema-card{background:linear-gradient(#fffffff5,#f5f9fff0);border:1px solid #d8e3f4;border-radius:14px;gap:10px;padding:12px;display:grid}.launch-schema-card.ok{background:linear-gradient(#f8fffaf7,#f0faf4f0);border-color:#b7d7c2}.launch-schema-card.mismatch{background:linear-gradient(#fff9f9f7,#ffefedf0);border-color:#efc0be}.launch-schema-card-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.schema-pill{color:#5a6e88;background:#f7fbff;border:1px solid #d8e3f4;border-radius:999px;justify-content:center;align-items:center;min-height:28px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.schema-pill.ok{color:#1c6842;background:#ecf8f0;border-color:#95c4ad}.schema-pill.mismatch{color:#9a3732;background:#fff0ef;border-color:#efc0be}.schema-pill.unknown{color:#60708c;background:#f9fbff;border-color:#d4e0f2}.launch-schema-line,.launch-schema-note{color:#385678;margin:0;font-size:12px;line-height:1.55}.launch-schema-line{gap:4px;display:grid}.launch-schema-line span{color:#6a7f99}.launch-schema-line code{color:#1e4f88;word-break:break-all;background:#edf4ff;border:1px solid #d4e3fb;border-radius:8px;width:fit-content;padding:4px 6px;font-size:11px}.launch-schema-components{flex-wrap:wrap;gap:8px;display:flex}.launch-schema-required,.launch-schema-required-list{gap:8px;display:grid}.launch-schema-required-item{background:#f8fbfff5;border:1px solid #d9e4f4;border-radius:12px;gap:4px;padding:10px 12px;display:grid}.launch-schema-required-item.ok{background:#f3fbf6f5;border-color:#bfd8c8}.launch-schema-required-item.mismatch{background:#fff3f1fa;border-color:#efc0be}.launch-schema-required-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.launch-schema-required-head strong{color:#1f446d;font-size:12px}.launch-schema-required-head span{color:#5d7391;font-size:11px;font-weight:700}.launch-schema-required-item p{color:#46627f;margin:0;font-size:12px;line-height:1.55}.launch-schema-chip{color:#355579;background:#edf4ff;border-radius:999px;align-items:center;padding:4px 9px;font-size:11px;font-weight:700;display:inline-flex}.launch-schema-issues{color:#9a3732;background:#ffedebf2;border-radius:12px;gap:6px;padding:10px 12px;font-size:12px;line-height:1.55;display:grid}.launch-schema-issues p{margin:0}.launch-schema-blocker{color:#9a3732;background:linear-gradient(#fff5f4fa,#ffeceaf0);border:1px solid #efc0be;border-radius:16px;margin-top:16px;padding:12px 14px;font-size:13px;font-weight:700;line-height:1.6}.create-class-row{grid-template-columns:minmax(0,1fr) minmax(220px,280px) auto;align-items:center;gap:8px;display:grid}.class-list{gap:10px;margin-top:14px;display:grid}.class-item{border-radius:var(--radius-md);background:#ffffffdb;border:1px solid #98b0d657;justify-content:space-between;align-items:flex-start;gap:10px;padding:12px;display:flex}.class-main{flex:1;min-width:0}.class-name-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.class-name{font-size:15px;font-weight:700}.class-security-pill{letter-spacing:.02em;border-radius:999px;align-items:center;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.class-security-pill.locked{color:#1e6a3e;background:#eefaf1;border:1px solid #bfd8c6}.class-security-pill.pending{color:#93591a;background:#fff5e8;border:1px solid #e3d0b3}.class-code{color:var(--ink-soft);margin-top:4px;font-size:12px}.class-security-copy{color:#4c6486;margin-top:8px;font-size:12px;line-height:1.6}.class-security-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.class-security-input{width:min(320px,100%)}.class-security-btn{min-width:92px}.class-actions{align-self:center;justify-items:end;gap:6px;display:grid}.class-actions a,.class-actions button{color:#1f538c;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;text-decoration:underline}.class-actions .text-link-with-icon{text-decoration:none}.text-link-with-icon>span:last-child{text-underline-offset:2px;text-decoration:underline}.copy-qr-wrap{position:relative}.qr-popover{z-index:10;background:#fff;border:1px solid #c9daf3;border-radius:14px;width:210px;padding:10px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 14px 26px #17345c3d}.qr-popover-title{color:#244c7f;font-size:12px;font-weight:700}.qr-popover img{border:1px solid #d9e5f5;border-radius:10px;width:100%;margin-top:7px}.qr-loading{color:#5a6f8d;background:#f6faff;border:1px dashed #c8d9f0;border-radius:10px;place-items:center;height:190px;margin-top:7px;font-size:12px;display:grid}.qr-popover p{color:#4f6484;margin:8px 0 0;font-size:12px;line-height:1.4}.qr-download-btn{color:#1f4f87;cursor:pointer;background:#edf4ff;border:1px solid #c2d6f4;border-radius:10px;width:100%;margin-top:8px;padding:7px 10px;font-size:12px;font-weight:700}.qr-download-btn:disabled{opacity:.6;cursor:not-allowed}.empty-inline{color:var(--ink-soft);padding:6px 0;font-size:13px}.launch-shell{min-height:100dvh;padding:20px}.launch-head{justify-content:space-between;gap:14px;display:flex}.launch-head h1{font-size:clamp(28px,3.5vw,40px);line-height:1.15;font-family:var(--font-display);margin:0}.launch-head p{color:var(--ink-soft);max-width:54ch;margin:10px 0 0;line-height:1.7}.launch-head-actions{align-content:start;gap:8px;min-width:220px;display:grid}.launch-status-panel{margin-top:12px}.launch-status-main{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.launch-status-main h2{font-size:22px;font-family:var(--font-display);margin:0}.launch-status-main p{color:var(--ink-soft);margin:6px 0 0;font-size:13px}.launch-config-panel{margin-top:12px}.launch-accordion{border-radius:var(--radius-md);background:#ffffffd6;border:1px solid #a4badd70;overflow:hidden}.launch-accordion+.launch-accordion{margin-top:10px}.launch-accordion-head{color:#1f426e;cursor:pointer;text-align:left;background:#f4f8ff;border:0;border-bottom:1px solid #aabfde57;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:12px 14px;font-weight:700;display:flex}.launch-accordion-meta{color:#4e6486;white-space:nowrap;background:#fff;border:1px solid #d1def2;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700}.launch-accordion-body{padding:12px}.launch-muted{color:#5a6e8c;margin:10px 0 0;font-size:12px;line-height:1.6}.launch-check-list{margin-top:0}.readiness-fix{color:#765f17;margin-top:6px;font-weight:600}.input.field-highlight{background:#f4fff8;border-color:#75b494;animation:field-highlight-flash 1.4s;box-shadow:0 0 0 3px #87c9a247}@keyframes field-highlight-flash{0%{box-shadow:0 0 #87c9a266}to{box-shadow:0 0 0 3px #87c9a247}}.launch-desktop-actions{margin-top:12px}.launch-mobile-save{display:none}.chat-page{padding:12px}.chat-layout{grid-template-columns:84px minmax(0,1fr);gap:12px;min-height:calc(100dvh - 24px);display:grid}.chat-board,.chat-control{border-radius:var(--radius-xl);background:var(--panel);box-shadow:var(--shadow-soft);border:1px solid #ffffffd1}.chat-rail{grid-template-rows:auto 1fr auto;align-items:start;gap:12px;padding:10px 8px;display:grid}.chat-rail-brand{text-align:center;justify-items:center;gap:6px;padding-top:6px;display:grid}.chat-rail-brand .eyebrow{letter-spacing:.04em;margin:0;font-size:10px}.chat-rail-brand strong{color:#264c7d;font-size:13px;font-weight:800;line-height:1.35}.chat-rail-actions{align-content:start;gap:8px;display:grid}.chat-rail-btn{color:#284a74;cursor:pointer;background:#fff;border:1px solid #cad8ee;border-radius:14px;justify-items:center;gap:5px;padding:8px 6px;transition:border-color .2s,background .2s,transform .2s;display:grid;position:relative}.chat-rail-btn:hover{border-color:#9cb8df;transform:translateY(-1px)}.chat-rail-btn.active{background:#eaf3ff;border-color:#7da7da}.chat-rail-btn.danger{color:#8b3428;border-color:#efcfc9}.chat-rail-icon{background:#f6f9ff;border:1px solid #d4e1f2;border-radius:50%;place-items:center;width:26px;height:26px;display:grid}.chat-rail-icon svg{stroke-width:1.9px;width:14px;height:14px}.chat-rail-label{font-size:11px;font-weight:700;line-height:1.1}.chat-rail-badge{color:#fff;background:#1e5ea6;border-radius:999px;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;display:grid;position:absolute;top:5px;right:6px}.chat-board{grid-template-rows:auto 1fr auto;display:grid;overflow:hidden}.chat-board-head{border-bottom:1px solid #bbcbe480;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.board-head-main h2{font-size:24px;line-height:1.2;font-family:var(--font-display);margin:0}.board-head-subtitle{color:var(--ink-soft);margin:8px 0 0;font-size:13px;line-height:1.55}.head-tip{color:var(--ink-soft);margin:0;font-size:12px}.head-side{place-items:start end;gap:6px;display:grid}.head-live-status{color:#1c4f88;background:#edf5ff;border:1px solid #c8dbf6;border-radius:999px;margin:0;padding:5px 10px;font-size:12px;font-weight:700}.board-tool-btn{color:#1f4f89;cursor:pointer;background:#f3f8ff;border:1px solid #c6d8ef;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700;display:none}.message-list{padding:18px;overflow:auto}.welcome-card{background:#edf5ffa6;border:1px dashed #b4caea;border-radius:16px;padding:18px}.welcome-card h3{font-size:18px;font-family:var(--font-display);margin:0}.welcome-card p{color:var(--ink-soft);margin:10px 0 0;font-size:14px;line-height:1.7}.welcome-card ul{color:#2b405f;margin:10px 0 0;padding-left:20px;font-size:13px;line-height:1.7}.message-row{margin-bottom:18px;display:flex}.message-row.user{justify-content:flex-end}.message-row.assistant{justify-content:flex-start}.message-bubble{background:#fff;border:1px solid #b0c3dd73;border-radius:16px;max-width:min(92%,680px);padding:16px}.message-bubble.user{color:#2d3748;background:#fff;border:1px solid #e8e8e8;border-left:3px solid #3ccf91;box-shadow:0 4px 16px #0000000f}.message-meta{color:#607190;align-items:center;gap:6px;margin-bottom:8px;font-size:11px;display:inline-flex}.message-mode-tag{color:#1ea471;opacity:.96;background:#e8fdf2;border:1px solid #3ccf914d;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:700;line-height:1.2}.message-bubble.user .message-mode-tag{color:#1ea471;background:#e8fdf2;border-color:#3ccf914d}.message-bubble.user .message-meta{color:#6b7280}.message-plain{white-space:pre-wrap;line-height:1.68}.user-image-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:6px;margin-top:8px;display:grid}.user-image-item{background:#ffffff12;border:1px solid #c2d6f280;border-radius:10px;text-decoration:none;overflow:hidden}.user-image-item img{aspect-ratio:1;object-fit:cover;width:100%;display:block}.user-image-item span{color:#edf6ffe6;white-space:nowrap;text-overflow:ellipsis;padding:6px 8px;font-size:11px;display:block;overflow:hidden}.message-markdown{word-break:break-word;font-size:14px;line-height:1.72}.assistant-loading{background:linear-gradient(165deg,#f8fbff,#f2f7ff);border:1px solid #d2e2f6;border-radius:13px;gap:7px;padding:10px 11px;display:grid;position:relative;overflow:hidden}.assistant-loading:after{content:"";pointer-events:none;background:linear-gradient(110deg,#0000,#ffffff6b,#0000);animation:assistant-sheen 2.8s linear infinite;position:absolute;inset:0;transform:translate(-100%)}.assistant-loading-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.assistant-loading-title{color:#1f4f87;align-items:center;gap:8px;font-size:12px;display:inline-flex}.assistant-loading-chip{color:#21538d;white-space:nowrap;background:#edf5ff;border:1px solid #c8dcf6;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700}.assistant-loading-chip.uploading{background:#f2f7ff;border-color:#d2def4}.assistant-loading-chip.processing{background:#eaf4ff;border-color:#c4daf6}.assistant-loading-chip.streaming{background:#e5f8f4;border-color:#b4d6e9}.assistant-loading-pulse{background:#2b68ad;border-radius:50%;width:9px;height:9px;animation:assistant-pulse 1.4s infinite;box-shadow:0 0 #2c67ae73}.assistant-loading-track{background:#dce7f8;border-radius:999px;height:6px;position:relative;overflow:hidden}.assistant-loading-track-fill{background:linear-gradient(90deg,#2f67ab,#5ba5d8);border-radius:999px;height:100%;animation:assistant-track 1.6s ease-in-out infinite;display:block}.assistant-loading-track-fill.phase-uploading{width:36%}.assistant-loading-track-fill.phase-processing{width:68%}.assistant-loading-track-fill.phase-streaming{width:92%;animation-duration:1.2s}.assistant-loading-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.assistant-loading-step{color:#6e7f99;align-items:center;gap:6px;font-size:11px;display:inline-flex}.assistant-loading-step-dot{background:#c1d2ea;border-radius:50%;flex:none;width:6px;height:6px}.assistant-loading-step.active,.assistant-loading-step.done{color:#2f5486}.assistant-loading-step.done .assistant-loading-step-dot{background:#4d89c7}.assistant-loading-step.active .assistant-loading-step-dot{background:#2e67ac;box-shadow:0 0 0 3px #2e67ac29}.assistant-loading-note{color:#4a6286;margin:0;font-size:12px;line-height:1.55}.assistant-loading-wait{color:#32557f;letter-spacing:.01em;font-size:12px;font-weight:700;display:block}.assistant-loading-minimal{color:#385678;margin:0;font-size:14px;font-weight:600;line-height:1.6}@keyframes assistant-pulse{0%{box-shadow:0 0 #2c67ae73}70%{box-shadow:0 0 0 10px #2c67ae00}to{box-shadow:0 0 #2c67ae00}}@keyframes breathing{0%,to{transform:scale(1);box-shadow:0 0 6px #3ccf9166}50%{transform:scale(1.35);box-shadow:0 0 16px #3ccf91b3,0 0 30px #3ccf914d}}.animate-breathing{animation:breathing 1.8s ease-in-out infinite}@keyframes assistant-track{0%{filter:saturate(.94);transform:translate(0)}50%{filter:saturate(1.15);transform:translate(2%)}to{filter:saturate(.94);transform:translate(0)}}@keyframes assistant-sheen{0%{transform:translate(-100%)}to{transform:translate(100%)}}.message-markdown>:first-child{margin-top:0}.message-markdown>:last-child{margin-bottom:0}.message-markdown blockquote,.message-markdown ol,.message-markdown p,.message-markdown pre,.message-markdown table,.message-markdown ul{margin:0 0 10px}.message-markdown ol,.message-markdown ul{padding-left:20px}.message-markdown pre{background:#f4f8ff;border:1px solid #dbe6f7;border-radius:10px;padding:10px 12px;overflow:auto}.message-markdown code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12.5px}.message-markdown table{border-collapse:collapse;width:100%;font-size:13px}.message-markdown td,.message-markdown th{text-align:left;border:1px solid #d7e2f2;padding:6px 8px}.md-link{color:#1f5fb8;text-underline-offset:2px;font-weight:600;text-decoration:underline}.md-link:hover{color:#154688}.composer{background:#ffffffeb;border-top:1px solid #3ccf9126;border-radius:20px 20px 0 0;padding:12px;position:relative}.mode-capsule{z-index:8;justify-items:end;gap:8px;width:min(500px,100% - 24px);display:grid;position:absolute;top:10px;right:12px}.mode-capsule-trigger{color:#224a79;cursor:pointer;background:linear-gradient(#f8fbff,#eff6ff);border:1px solid #c5d8f0;border-radius:999px;justify-content:space-between;align-items:center;gap:12px;min-width:220px;min-height:36px;padding:7px 12px;font-size:12px;font-weight:700;display:inline-flex}.mode-capsule-trigger span:last-child{color:#4b6282;font-weight:600}.mode-capsule.open .mode-capsule-trigger{background:#f1f7ff;border-color:#8fb2dd}.mode-capsule.busy .mode-capsule-trigger{opacity:.7;cursor:not-allowed}.mode-capsule-panel{background:#fffffff2;border:1px solid #9eb2d26b;border-radius:14px;width:min(500px,100vw - 48px);padding:10px;box-shadow:0 14px 28px #193b6724}.mode-pill-list{grid-template-columns:1fr 1fr;gap:8px;margin:0;display:grid}.mode-pill{color:#2b476c;cursor:pointer;background:#fff;border:1px solid #c4d4eb;border-radius:12px;padding:8px 10px;font-size:12px;font-weight:700}.mode-pill.active{background:var(--brand-pale);border-color:#7ea4d5}.mode-hint{color:var(--ink-soft);margin-top:8px;margin-bottom:0;font-size:12px;line-height:1.45}.mode-capsule-list .mode-pill{padding:7px 9px}.mode-capsule-hint{margin-top:8px}.socratic-nudge-inline{background:linear-gradient(135deg,#fff,#f8fdfb);border:1px solid #e8ece9;border-radius:14px;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 12px;display:flex}.socratic-nudge-label{color:#2d3748;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:700}.socratic-nudge-actions{flex-shrink:0;gap:6px;display:flex}.socratic-primary-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#3ccf91,#2bb77d);border:0;border-radius:999px;padding:6px 14px;font-size:12px;font-weight:700;transition:opacity .15s;box-shadow:0 2px 8px #3ccf914d}.socratic-primary-btn:hover{opacity:.85}.socratic-primary-btn:disabled{opacity:.5;cursor:default}.socratic-secondary-btn{color:#2d3748;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:999px;padding:6px 14px;font-size:12px;font-weight:700;transition:background .15s}.socratic-secondary-btn:hover{background:#f7f8f6}.socratic-secondary-btn:disabled{opacity:.5;cursor:default}.socratic-later-btn{color:#9ca3af;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:6px 8px;font-size:12px;font-weight:600}.socratic-later-btn:disabled{opacity:.5;cursor:default}.coach-prompt-hint{color:#174672;background:#eaf7ff;border:1px solid #b7d5ee;border-radius:12px;margin-bottom:10px;padding:10px 12px;font-size:13px;font-weight:600;line-height:1.55}.assemble-meta-panel{background:linear-gradient(165deg,#f8fbff,#eff6ff);border:1px solid #cfe0f6;border-radius:14px;gap:9px;margin-bottom:10px;padding:10px;display:grid}.assemble-meta-tip{color:#1e4f82;margin:0;font-size:12px;font-weight:700;line-height:1.45}.assemble-meta-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.assemble-meta-field{gap:5px;display:grid}.assemble-meta-field span{color:#35577f;font-size:11px;font-weight:700}.assemble-meta-field input{color:#173f6c;background:#fff;border:1px solid #c8d9ef;border-radius:10px;width:100%;padding:8px 10px;font-size:13px;line-height:1.4}.assemble-meta-field input:focus{border-color:#78a6dd;outline:none;box-shadow:0 0 0 3px #78a6dd2e}.socratic-question-repick{background:linear-gradient(135deg,#fff,#f8fdfb);border:1px solid #e8ece9;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;padding:9px 10px;display:flex}.socratic-question-repick span{color:#6b7280;font-size:12px;font-weight:600;line-height:1.45}.socratic-exit-btn{color:#ef4444;cursor:pointer;background:#fff;border:1px solid #fecaca;border-radius:999px;padding:6px 14px;font-size:12px;font-weight:700;transition:background .15s}.socratic-exit-btn:hover{background:#fef2f2}.socratic-exit-btn:disabled{opacity:.5;cursor:default}.question-picker-backdrop{z-index:80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#08132859;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.question-picker-modal{background:linear-gradient(170deg,#fcfefffa,#f2f8fff5);border:1px solid #cbdcf3;border-radius:20px;grid-template-rows:auto 1fr;width:min(760px,100%);max-height:min(80vh,760px);display:grid;overflow:hidden;box-shadow:0 28px 64px #0a1c3a3d}.question-picker-head{border-bottom:1px solid #d9e6f8;justify-content:space-between;align-items:flex-start;gap:14px;padding:16px 18px;display:flex}.question-picker-head h3{letter-spacing:-.02em;margin:3px 0 0;font-size:22px;line-height:1.25}.question-picker-list{gap:10px;padding:14px 16px 18px;display:grid;overflow:auto}.question-picker-item{background:#fff;border:1px solid #c9daf3;border-radius:14px;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:12px;display:grid}.question-picker-item-main h4{color:#0f2d56;margin:0;font-size:18px}.question-picker-item-snippet{color:#42597b;max-height:5.6em;margin:8px 0 0;font-size:14px;line-height:1.55;overflow:hidden}.question-picker-item-snippet :is(p,ul,ol,pre,blockquote){margin:0}.question-picker-item-snippet .katex-display{margin:.35em 0}.composer-files{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.file-token{color:#2d3748;background:#f7f8f6;border:none;border-radius:999px;align-items:center;gap:6px;max-width:100%;padding:6px 12px;font-size:12px;display:inline-flex}.file-token:before{content:"";background:#3ccf91;border-radius:50%;flex-shrink:0;width:6px;height:6px}.file-token span{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.file-token button{color:#9ca3af;cursor:pointer;background:0 0;border:0;padding:0;font-size:14px;line-height:1}.composer-row{grid-template-columns:1fr auto;gap:10px;display:grid}.composer-input{color:var(--ink);resize:none;background:#fff;border:1px solid #3ccf9133;border-radius:14px;min-height:44px;max-height:120px;padding:10px 14px;font-size:14px;line-height:1.5}.composer-input:focus{border-color:#3ccf91;outline:none;box-shadow:0 0 0 3px #3ccf9126}.composer-actions{grid-template-rows:1fr 1fr;align-content:stretch;gap:8px;display:grid}.send-btn{background:linear-gradient(180deg,var(--brand),var(--brand-dark));color:#fff;cursor:pointer;border:0;border-radius:999px;min-width:92px;padding:0 18px;font-weight:700}.send-btn:disabled{opacity:.6;cursor:not-allowed}.composer-help{color:var(--ink-soft);margin:8px 2px 0;font-size:12px}.mode-btn-icon{display:inline}.teacher-panel-toggle{color:#1e4f82;cursor:pointer;background:linear-gradient(165deg,#f8fbff,#eff6ff);border:1px solid #cfe0f6;border-radius:10px;align-items:center;gap:6px;width:100%;margin-bottom:6px;padding:7px 10px;font-size:12px;font-weight:700;transition:all .2s;display:none}.teacher-panel-toggle:hover{background:#eaf3ff;border-color:#a8c4e8}.meta-drawer-backdrop{z-index:70;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#07142a4d;position:fixed;inset:0}.meta-drawer{background:#fcfefffa;border:1px solid #cddbeeeb;border-radius:20px;grid-template-rows:auto auto 1fr;width:min(320px,100vw - 120px);display:grid;position:absolute;top:12px;bottom:12px;left:108px;overflow:hidden;box-shadow:0 24px 54px #102e543d}.meta-drawer-head{border-bottom:1px solid #d8e5f8;justify-content:space-between;align-items:center;gap:10px;padding:14px;display:flex}.meta-drawer-head h3{font-family:var(--font-display);margin:0;font-size:22px;line-height:1.2}.meta-drawer-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px 14px 0;display:grid}.meta-tab{color:#2c4e79;cursor:pointer;background:#f8fbff;border:1px solid #ccdbf0;border-radius:999px;justify-content:center;align-items:center;gap:6px;min-height:34px;font-size:12px;font-weight:700;display:inline-flex}.meta-tab.active{background:#eaf3ff;border-color:#8cb0dc}.meta-tab-icon{flex:none;justify-content:center;align-items:center;width:14px;height:14px;display:inline-flex}.meta-tab-icon svg{stroke-width:1.9px;width:100%;height:100%}.meta-drawer-body{padding:12px 14px 14px;overflow:auto}.meta-card{background:#ffffffe6;border:1px solid #9eb2d266;border-radius:14px;padding:12px}.meta-card p{color:var(--ink-soft);margin:8px 0 0;font-size:13px;line-height:1.58}.meta-card p:first-child{margin-top:0}.conversation-inline{gap:4px;display:grid}.conversation-inline span:last-child{word-break:break-all;color:#32405a}.control-actions{gap:8px;margin-top:10px;display:grid}.followup-grid{gap:7px;margin-top:10px;display:grid}.followup-chip{color:#2d4567;text-align:left;cursor:pointer;background:#fff;border:1px solid #d2ddee;border-radius:12px;padding:8px 10px;font-size:12px}.chat-v3{--assistant-title-size:13px;--assistant-title-weight:650;--assistant-stem-size:14px;--assistant-stem-weight:400;--assistant-body-size:13px;--assistant-body-weight:400;--assistant-body-line:1.78}.chat-v3 .chat-board-head{padding:16px 20px}.chat-v3 .board-head-main h2{letter-spacing:-.01em}.chat-v3 .head-tip{color:#5e718f}.chat-v3 .message-list{background:linear-gradient(#f6faff80,#fff0);padding:24px 22px 28px}.chat-v3 .welcome-card{background:#f8fcffeb;border:1px dashed #bfd2ee;border-radius:18px;max-width:760px;padding:20px}.chat-v3 .message-row{margin-bottom:22px}.chat-v3 .message-bubble{background:#fff;border:1px solid #d5e2f3;border-radius:18px;max-width:min(88%,680px);padding:13px 14px;box-shadow:0 8px 20px #1d3d6514}.chat-v3 .message-bubble.user{color:#2d3748;background:#fff;border:1px solid #e8e8e8;border-left:3px solid #3ccf91;box-shadow:0 4px 16px #0000000f}.chat-v3 .message-bubble.assistant{max-width:min(92%,760px);box-shadow:none;background:0 0;border:0;padding:0}.chat-v3 .message-meta{color:#5b6f8f;align-items:center;gap:7px;margin-bottom:9px;font-size:11px;font-weight:700;display:inline-flex}.chat-v3 .message-bubble.user .message-meta{color:#6b7280}.chat-v3 .message-mode-tag{color:#1ea471;background:#e8fdf2;border-color:#3ccf9140;padding:2px 9px}.chat-v3 .message-bubble.user .message-mode-tag{color:#1ea471;background:#3ccf911a;border-color:#3ccf914d}.chat-v3 .message-plain{color:#1e344e;font-size:14px;line-height:1.72}.chat-v3 .user-image-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:6px;margin-top:8px}.chat-v3 .user-image-item{background:#f8fbff;border:1px solid #c8d9ef;border-radius:12px;box-shadow:0 6px 14px #193b6514}.chat-v3 .user-image-item span{color:#325276;background:#edf4ff}.chat-v3 .assistant-sections{gap:10px;display:grid}.chat-v3 .assistant-section{background:#fff;border:1px solid #d8e4f3;border-radius:16px;padding:12px 13px;box-shadow:0 5px 12px #1636600f}.chat-v3 .assistant-section-answer{background:linear-gradient(#fbfdff,#f4f9ff);border-color:#bcd3f5}.chat-v3 .assistant-section-steps{border-color:#c8d9f2}.chat-v3 .assistant-section-pitfall{background:linear-gradient(#fffdf7,#fffaf0);border-color:#ead7b0}.chat-v3 .assistant-section-extension{background:linear-gradient(#fbfeff,#f5fbff);border-color:#cde1ee}.chat-v3 .assistant-section-resource{background:#f5fbff;border-style:dashed;border-color:#aac9ea}.chat-v3 .assistant-section-head{align-items:center;gap:8px;margin-bottom:8px;display:flex}.chat-v3 .assistant-section-dot{background:#4e7eb7;border-radius:50%;flex:none;width:8px;height:8px;box-shadow:0 0 0 4px #4e7eb726}.chat-v3 .assistant-section h4{color:#1f3f66;font-size:var(--assistant-title-size);font-weight:var(--assistant-title-weight);letter-spacing:.01em;margin:0;line-height:1.45}.chat-v3 .assistant-section-body{color:#1e3653}.chat-v3 .assistant-section-body .message-markdown{font-size:var(--assistant-body-size);font-weight:var(--assistant-body-weight);line-height:var(--assistant-body-line);color:#24405f;text-wrap:pretty}.chat-v3 .assistant-section-body .message-markdown>:last-child{margin-bottom:0}.chat-v3 .assistant-section-body .message-markdown>p:first-of-type{font-size:var(--assistant-body-size);font-weight:400;line-height:var(--assistant-body-line);color:#24405f;margin-bottom:10px}.chat-v3 .assistant-section-answer .assistant-section-body .message-markdown>p:first-of-type{font-size:var(--assistant-stem-size);color:#17385c;font-weight:440}.chat-v3 .assistant-section-body .message-markdown .md-strong,.chat-v3 .assistant-section-body .message-markdown strong{color:#1d4068;font-weight:520}.chat-v3 .assistant-section-body .message-markdown .md-strong-soft{color:#264969;font-weight:460}.chat-v3 .assistant-section-body .message-markdown :is(h1,h2,h3,h4,h5){color:#1d3a5c;margin:0 0 8px;font-size:14px;font-weight:600;line-height:1.55}.chat-v3 .assistant-section-body .message-markdown :is(p,ul,ol,blockquote,pre,table){margin:0 0 8px}.chat-v3 .assistant-section-body .message-markdown pre{background:#f6f9ff;border-color:#d2e0f5}.chat-v3 .assistant-section-body .message-markdown table td,.chat-v3 .assistant-section-body .message-markdown table th{border-color:#d4e1f2}.chat-v3 .composer{background:#fffffff2;border-radius:20px 20px 0 0;padding:12px 16px}.chat-v3 .mode-capsule{width:min(440px,100% - 32px);top:10px;right:16px}.chat-v3 .mode-capsule-trigger{min-width:206px;min-height:34px}.chat-v3 .mode-capsule-panel{box-shadow:0 16px 34px #193b6726}.chat-v3 .composer-help{color:#6a7b94;font-size:11px}.history-shell{min-height:100dvh;padding:16px}.history-head{border-radius:var(--radius-xl);background:var(--panel);box-shadow:var(--shadow-soft);border:1px solid #ffffffd1;justify-content:space-between;gap:14px;padding:18px;display:flex}.history-head h1{font-size:clamp(24px,3.2vw,34px);font-family:var(--font-display);margin:0}.history-head p{color:var(--ink-soft);margin:10px 0 0;line-height:1.65}.history-head-actions{min-width:180px}.history-head-actions .outline-btn{width:100%}.history-filter{border-radius:var(--radius-lg);background:#ffffffe0;border:1px solid #a4badd6b;margin-top:12px;padding:12px}.time-window-switch{flex-wrap:wrap;gap:8px;display:flex}.window-btn{color:#2d4c72;cursor:pointer;background:#fff;border:1px solid #c5d8f0;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:700}.window-btn.active{color:#184a83;background:#e8f1ff;border-color:#7fa7db}.history-stats{color:var(--ink-soft);flex-wrap:wrap;gap:10px;margin-top:10px;font-size:12px;display:flex}.history-grid{grid-template-columns:.9fr 1.1fr;gap:12px;margin-top:12px;display:grid}.history-card{border-radius:var(--radius-xl);background:var(--panel);box-shadow:var(--shadow-soft);border:1px solid #ffffffd1;padding:14px}.history-card-head h2{font-size:20px;font-family:var(--font-display);margin:0}.history-card-head p{margin:8px 0 0}.history-card-head p,.history-empty{color:var(--ink-soft);font-size:13px}.history-empty{border-radius:var(--radius-md);background:#f5f9ff;border:1px dashed #bfd2ef;margin-top:10px;padding:14px}.review-list{gap:10px;margin-top:10px;display:grid}.review-item{border-radius:var(--radius-md);background:#fff;border:1px solid #d8e3f4;padding:12px}.review-main{justify-content:space-between;align-items:center;gap:10px;display:flex}.review-main h3{margin:0;font-size:15px}.review-badge{border:1px solid #0000;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:700}.review-badge.overdue{color:#8d2b1f;background:#fdeceb;border-color:#f2c7c2}.review-badge.today{color:#805200;background:#fff7e5;border-color:#efdca8}.review-badge.upcoming{color:#21568e;background:#eaf3ff;border-color:#c7dcfb}.review-meta{color:var(--ink-soft);gap:4px;margin-top:8px;font-size:12px;display:grid}.timeline-list{gap:10px;max-height:calc(100dvh - 340px);margin-top:10px;padding-right:2px;display:grid;overflow:auto}.timeline-item{border-radius:var(--radius-md);background:#fff;border:1px solid #d8e3f4;padding:12px}.timeline-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.timeline-time{color:var(--ink-soft);font-size:12px}.timeline-mode{color:#1f538c;background:#eef5ff;border:1px solid #cde0fb;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700}.timeline-tags{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.timeline-tags span{color:#315f95;background:#f5f9ff;border:1px solid #d2e1f6;border-radius:999px;padding:3px 8px;font-size:11px}.timeline-content{gap:6px;margin-top:8px;display:grid}.timeline-content p{color:#2f435f;margin:0;font-size:13px;line-height:1.6}.timeline-content strong{color:#1f3350;margin-right:4px}.history-status-card{border-radius:var(--radius-xl);background:var(--panel);width:min(640px,100%);box-shadow:var(--shadow-soft);border:1px solid #ffffffd6;margin:0 auto;padding:24px}.history-status-card h1{font-size:28px;font-family:var(--font-display);margin:0 0 10px}.history-status-card p{color:var(--ink-soft);margin:0}@media (max-width:1120px){.readiness-main{flex-direction:column}.readiness-kpi{justify-items:start}.teacher-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-grid{grid-template-columns:1fr}.launch-head{flex-direction:column}.launch-head-actions{grid-template-columns:1fr 1fr;width:100%}.launch-status-main{flex-direction:column}.chat-layout{grid-template-columns:76px minmax(0,1fr);min-height:calc(100dvh - 24px)}.chat-board{min-height:72dvh}.chat-v3 .message-bubble.assistant{max-width:min(94%,760px)}.meta-drawer{width:min(320px,100vw - 108px);left:96px}.history-grid{grid-template-columns:1fr}.timeline-list{max-height:none}}@media (min-width:1121px){.teacher-grid-dashboard{align-items:stretch}}@media (max-width:760px){.entry-shell{padding:14px}.entry-grid{grid-template-columns:1fr}.entry-brand,.entry-card,.status-card{border-radius:20px;padding:20px}.entry-brand h1{font-size:clamp(24px,8vw,34px)}.teacher-shell{padding:12px}.join-shell{padding:14px}.join-card{border-radius:20px;padding:20px}.launch-shell{padding:12px 12px 92px}.teacher-hero{border-radius:20px;flex-direction:column;padding:18px}.teacher-hero-actions{align-items:stretch;width:100%}.launch-head{border-radius:20px;padding:16px}.launch-head-actions{grid-template-columns:1fr}.launch-status-main h2{font-size:20px}.readiness-hub{border-radius:20px;padding:14px}.readiness-main h2{font-size:18px}.readiness-kpi strong{font-size:32px}.teacher-metrics{grid-template-columns:1fr}.panel{border-radius:20px;padding:14px}.launch-accordion-head{padding:11px 12px}.launch-accordion-body{padding:10px}.panel-head{flex-direction:column;align-items:stretch}.class-count-badge{width:fit-content;margin-top:8px;margin-left:0}.command-mode-grid,.create-class-row,.field-grid,.launch-schema-grid,.summary-mode-grid{grid-template-columns:1fr}.command-item{flex-direction:column}.command-item-actions{flex-direction:column;align-items:stretch}.launch-mobile-save{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:50;background:#ffffffeb;border:1px solid #b1c5e2b3;border-radius:16px;padding:10px;display:block;position:fixed;bottom:10px;left:10px;right:10px;box-shadow:0 10px 24px #12315a33}.launch-mobile-save .primary-btn{width:100%}.class-actions{justify-items:start}.class-security-row{align-items:stretch}.class-security-input{width:100%}.qr-popover{left:0;right:auto}.chat-page{padding:8px}.chat-layout{grid-template-columns:1fr;min-height:auto}.chat-rail{display:none}.chat-board{border-radius:20px;min-height:calc(100dvh - 16px)}.chat-board-head{flex-direction:column;align-items:flex-start}.head-side{justify-items:start}.board-tool-btn{display:inline-flex}.message-bubble{max-width:100%}.chat-v3 .message-list{padding:14px 12px 16px}.chat-v3 .message-row{margin-bottom:16px}.chat-v3 .message-bubble,.chat-v3 .message-bubble.assistant,.chat-v3 .message-bubble.user{max-width:100%}.chat-v3{--assistant-title-size:12px;--assistant-stem-size:13.5px;--assistant-body-size:12.5px}.chat-v3 .assistant-section{border-radius:14px;padding:11px 12px}.chat-v3 .assistant-section h4{font-size:var(--assistant-title-size)}.chat-v3 .assistant-section-body .message-markdown :is(h1,h2,h3,h4,h5){font-size:13px}.message-meta{gap:5px;margin-bottom:5px}.message-mode-tag{padding:2px 6px;font-size:9px}.composer-row{grid-template-columns:1fr auto;gap:6px}.composer-actions{grid-template-rows:1fr 1fr;grid-template-columns:none;gap:4px}.composer-actions .btn-with-icon>span:not(.btn-icon){display:none}.composer-actions .btn-with-icon{justify-content:center;min-width:40px;padding:0 10px}.send-btn{min-width:auto}.composer-input{min-height:38px;padding:8px 12px;font-size:13px}.composer{border-radius:16px 16px 0 0}.chat-v3 .composer,.composer{padding:8px}.chat-header{padding-top:8px!important;padding-bottom:8px!important}.chat-header-avatar{width:32px!important;height:32px!important}.chat-header-avatar svg{width:16px;height:16px}.chat-header-subtitle{display:none}.mode-switcher{-webkit-overflow-scrolling:touch;scrollbar-width:none;border-radius:10px;padding:3px;overflow-x:auto;flex-wrap:nowrap!important;gap:4px!important;margin-bottom:6px!important;display:flex!important}.mode-switcher::-webkit-scrollbar{display:none}.mode-switcher>button{flex:none!important;padding:5px 10px!important;font-size:12px!important}.mode-btn-icon{display:none}.teacher-panel-toggle{display:flex}.teacher-panel-collapsible .assemble-meta-panel{display:none}.teacher-panel-collapsible.open .assemble-meta-panel{display:grid}.mode-capsule{justify-items:stretch;width:100%;margin-bottom:10px;position:static}.mode-capsule-trigger{width:100%;min-width:0}.mode-capsule-panel{width:100%}.mode-pill-list{grid-template-columns:1fr 1fr}.composer-help{display:none}.socratic-nudge-actions{grid-template-columns:1fr;display:grid}.assemble-meta-panel{border-radius:12px;gap:7px;margin-bottom:8px;padding:8px}.assemble-meta-tip{font-size:11.5px}.assemble-meta-grid{grid-template-columns:1fr;gap:7px}.assemble-meta-field span{font-size:10.5px}.assemble-meta-field input{padding:7px 9px;font-size:12px}.socratic-nudge-inline{border-radius:12px;gap:7px;padding:8px 9px}.coach-prompt-hint,.socratic-nudge-title{font-size:12px;line-height:1.45}.coach-prompt-hint{margin-bottom:8px;padding:8px 10px}.socratic-question-repick{flex-direction:column;align-items:stretch;gap:7px;margin-bottom:8px;padding:8px 9px}.socratic-question-repick span{font-size:11.5px}.question-picker-backdrop{align-items:flex-end;padding:0}.question-picker-modal{border-radius:16px 16px 0 0;width:100%;max-height:78vh}.question-picker-head{align-items:center;padding:12px 12px 10px}.question-picker-head h3{font-size:16px}.question-picker-list{gap:8px;padding:8px 10px 12px}.question-picker-item{grid-template-columns:1fr;gap:8px;padding:10px}.question-picker-item-main h4{font-size:16px}.question-picker-item-snippet{max-height:4.8em;font-size:13px}.meta-drawer{border-radius:18px 18px 0 0;width:100%;max-height:84vh;inset:auto 0 0}.danger-btn,.outline-btn,.primary-btn,.send-btn,.socratic-later-btn{min-height:42px}.question-picker-item .primary-btn{min-height:38px;padding:8px 12px}.history-shell{padding:10px}.history-head{flex-direction:column;padding:14px}.history-card,.history-head{border-radius:20px}.history-head-actions,.history-head-actions .outline-btn{width:100%}.history-stats{grid-template-columns:1fr 1fr;gap:6px;display:grid}.history-status-card{border-radius:20px;padding:18px}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{50%{opacity:.5}}