code[class*=language-],pre[class*=language-]{color:#ccc;background:none;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.comment,.token.block-comment,.token.prolog,.token.doctype,.token.cdata{color:#999}.token.punctuation{color:#ccc}.token.tag,.token.attr-name,.token.namespace,.token.deleted{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.number,.token.function{color:#f08d49}.token.property,.token.class-name,.token.constant,.token.symbol{color:#f8c555}.token.selector,.token.important,.token.atrule,.token.keyword,.token.builtin{color:#cc99cd}.token.string,.token.char,.token.attr-value,.token.regex,.token.variable{color:#7ec699}.token.operator,.token.entity,.token.url{color:#67cdcc}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}/*! tailwindcss v4.2.1 | 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)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--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-outline-style:solid;--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-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--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-300:oklch(80.8% .114 19.571);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-green-500:oklch(72.3% .219 149.579);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-cyan-500:oklch(71.5% .143 215.221);--color-cyan-600:oklch(60.9% .126 221.723);--color-sky-500:oklch(68.5% .169 237.323);--color-sky-600:oklch(58.8% .158 241.966);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-violet-500:oklch(60.6% .25 292.717);--color-violet-600:oklch(54.1% .281 293.009);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-7xl:80rem;--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: 1.5 ;--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-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-tight:-.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--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)}}@layer base{*,:after,:before,::backdrop{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}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;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,samp,pre{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}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,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}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::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{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-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]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-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}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.start\!{inset-inline-start:var(--spacing)!important}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.right-0{right:calc(var(--spacing) * 0)}.left-0{left:calc(var(--spacing) * 0)}.left-4{left:calc(var(--spacing) * 4)}.z-\[10\]{z-index:10}.z-\[1000\]{z-index:1000}.z-\[9999\]{z-index:9999}.col-span-1{grid-column:span 1/span 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}}.m-0{margin:calc(var(--spacing) * 0)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing) * 1)}.mt-0{margin-top:calc(var(--spacing) * 0)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-\[1px\]{margin-top:1px}.mt-auto{margin-top:auto}.mr-2{margin-right:calc(var(--spacing) * 2)}.\!mb-0{margin-bottom:calc(var(--spacing) * 0)!important}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.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-2\.5{margin-bottom:calc(var(--spacing) * 2.5)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-3\.5{margin-bottom:calc(var(--spacing) * 3.5)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-auto{margin-left:auto}.box-border{box-sizing:border-box}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.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-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-\[60px\]{height:60px}.h-\[200px\]{height:200px}.h-px{height:1px}.h-screen{height:100vh}.max-h-\[140px\]{max-height:140px}.max-h-\[420px\]{max-height:420px}.max-h-\[480px\]{max-height:480px}.min-h-screen{min-height:100vh}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-\[240px\]{width:240px}.w-\[360px\]{width:360px}.w-\[380px\]{width:380px}.w-\[390px\]{width:390px}.w-full{width:100%}.max-w-7xl{max-width:var(--container-7xl)}.max-w-\[180px\]{max-width:180px}.max-w-\[640px\]{max-width:640px}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[84px\]{min-width:84px}.min-w-\[200px\]{min-width:200px}.min-w-\[300px\]{min-width:300px}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.translate-x-1{--tw-translate-x:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing) * .5)}.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-6{gap:calc(var(--spacing) * 6)}.gap-x-3{-moz-column-gap:calc(var(--spacing) * 3);column-gap:calc(var(--spacing) * 3)}.gap-x-4{-moz-column-gap:calc(var(--spacing) * 4);column-gap:calc(var(--spacing) * 4)}.gap-y-1{row-gap:calc(var(--spacing) * 1)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.scroll-smooth{scroll-behavior:smooth}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\[3px\]{border-radius:3px}.rounded-\[var\(--radius\)\]{border-radius:var(--radius)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.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-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-3{border-left-style:var(--tw-border-style);border-left-width:3px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-\[rgba\(255\,145\,0\,\.25\)\]{border-color:#ff910040}.border-\[rgba\(255\,170\,0\,\.3\)\]{border-color:#ffaa004d}.border-\[var\(--accent\)\],.border-\[var\(--accent\)\]\/20{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.border-\[var\(--accent\)\]\/20{border-color:color-mix(in oklab,var(--accent) 20%,transparent)}}.border-\[var\(--border\)\]{border-color:var(--border)}.border-\[var\(--red\)\]{border-color:var(--red)}.border-cyan-500\/20{border-color:#00b7d733}@supports (color:color-mix(in lab,red,red)){.border-cyan-500\/20{border-color:color-mix(in oklab,var(--color-cyan-500) 20%,transparent)}}.border-emerald-500{border-color:var(--color-emerald-500)}.border-red-500{border-color:var(--color-red-500)}.border-slate-100{border-color:var(--color-slate-100)}.border-slate-700{border-color:var(--color-slate-700)}.border-slate-800{border-color:var(--color-slate-800)}.bg-\[rgba\(0\,0\,0\,\.55\)\]{background-color:#0000008c}.bg-\[rgba\(0\,255\,255\,0\.04\)\]{background-color:#00ffff0a}.bg-\[rgba\(255\,145\,0\,\.1\)\]{background-color:#ff91001a}.bg-\[rgba\(255\,170\,0\,\.12\)\]{background-color:#ffaa001f}.bg-\[rgba\(var\(--accent-rgb\,100\,180\,255\)\,0\.08\)\]{background-color:rgba(var(--accent-rgb,100,180,255),.08)}.bg-\[var\(--accent\)\],.bg-\[var\(--accent\)\]\/10{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--accent\)\]\/10{background-color:color-mix(in oklab,var(--accent) 10%,transparent)}}.bg-\[var\(--accent\)\]\/30{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--accent\)\]\/30{background-color:color-mix(in oklab,var(--accent) 30%,transparent)}}.bg-\[var\(--accent\)\]\/50{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--accent\)\]\/50{background-color:color-mix(in oklab,var(--accent) 50%,transparent)}}.bg-\[var\(--bg\)\],.bg-\[var\(--bg\)\]\/30{background-color:var(--bg)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--bg\)\]\/30{background-color:color-mix(in oklab,var(--bg) 30%,transparent)}}.bg-\[var\(--bg\)\]\/40{background-color:var(--bg)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--bg\)\]\/40{background-color:color-mix(in oklab,var(--bg) 40%,transparent)}}.bg-\[var\(--bg2\)\]{background-color:var(--bg2)}.bg-\[var\(--bg3\)\]{background-color:var(--bg3)}.bg-\[var\(--border\)\]{background-color:var(--border)}.bg-\[var\(--canvas-bg\)\]{background-color:var(--canvas-bg)}.bg-\[var\(--card\)\]{background-color:var(--card)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-black\/30{background-color:#0000004d}@supports (color:color-mix(in lab,red,red)){.bg-black\/30{background-color:color-mix(in oklab,var(--color-black) 30%,transparent)}}.bg-black\/70{background-color:#000000b3}@supports (color:color-mix(in lab,red,red)){.bg-black\/70{background-color:color-mix(in oklab,var(--color-black) 70%,transparent)}}.bg-blue-500{background-color:var(--color-blue-500)}.bg-cyan-500\/5{background-color:#00b7d70d}@supports (color:color-mix(in lab,red,red)){.bg-cyan-500\/5{background-color:color-mix(in oklab,var(--color-cyan-500) 5%,transparent)}}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-green-500{background-color:var(--color-green-500)}.bg-red-500{background-color:var(--color-red-500)}.bg-sky-500{background-color:var(--color-sky-500)}.bg-slate-700{background-color:var(--color-slate-700)}.bg-slate-800{background-color:var(--color-slate-800)}.bg-slate-900{background-color:var(--color-slate-900)}.bg-transparent{background-color:#0000}.bg-violet-500{background-color:var(--color-violet-500)}.bg-white\/20{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.bg-white\/20{background-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-amber-800{--tw-gradient-from:var(--color-amber-800);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-amber-700{--tw-gradient-to:var(--color-amber-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.bg-\[length\:24px_24px\]{background-size:24px 24px}.p-1{padding:calc(var(--spacing) * 1)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.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-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.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-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-\[1px\]{padding-block:1px}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-\[1px\]{padding-top:1px}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.\!pl-12{padding-left:calc(var(--spacing) * 12)!important}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.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-\[0\.95rem\]{font-size:.95rem}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.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)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[var\(--accent\)\]{color:var(--accent)}.text-\[var\(--orange\)\]{color:var(--orange)}.text-\[var\(--red\)\]{color:var(--red)}.text-\[var\(--text\)\]{color:var(--text)}.text-\[var\(--text2\)\]{color:var(--text2)}.text-\[var\(--text3\)\]{color:var(--text3)}.text-amber-200{color:var(--color-amber-200)}.text-black{color:var(--color-black)}.text-cyan-500{color:var(--color-cyan-500)}.text-cyan-600{color:var(--color-cyan-600)}.text-emerald-500{color:var(--color-emerald-500)}.text-red-300{color:var(--color-red-300)}.text-red-500{color:var(--color-red-500)}.text-slate-100{color:var(--color-slate-100)}.text-slate-200{color:var(--color-slate-200)}.text-slate-300{color:var(--color-slate-300)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.shadow-\[var\(--accent\)\]\/20{--tw-shadow-alpha:20%;--tw-shadow:var(--accent);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);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_0_8px_rgba\(34\,197\,94\,0\.5\)\]{--tw-shadow:0 0 8px var(--tw-shadow-color,#22c55e80);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_0_8px_var\(--accent\)\]{--tw-shadow:0 0 8px var(--tw-shadow-color,var(--accent));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_2px_12px_rgba\(0\,0\,0\,0\.4\)\]{--tw-shadow:0 2px 12px var(--tw-shadow-color,#0006);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_8px_40px_rgba\(0\,0\,0\,\.4\)\]{--tw-shadow:0 8px 40px var(--tw-shadow-color,#0006);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_10px_40px_rgba\(0\,0\,0\,0\.5\)\]{--tw-shadow:0 10px 40px var(--tw-shadow-color,#00000080);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-\[var\(--accent\)\]\/20{--tw-ring-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.ring-\[var\(--accent\)\]\/20{--tw-ring-color:color-mix(in oklab, var(--accent) 20%, transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.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-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-\[cubic-bezier\(0\.4\,0\,0\.2\,1\)\]{--tw-ease:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}@media (hover:hover){.group-hover\:translate-x-0:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.hover\:-translate-y-px:hover{--tw-translate-y:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:scale-\[1\.02\]:hover{scale:1.02}.hover\:border-\[rgba\(255\,68\,68\,0\.3\)\]:hover{border-color:#ff44444d}.hover\:border-\[var\(--accent\)\]:hover{border-color:var(--accent)}.hover\:border-\[var\(--text3\)\]:hover{border-color:var(--text3)}.hover\:border-cyan-500\/30:hover{border-color:#00b7d74d}@supports (color:color-mix(in lab,red,red)){.hover\:border-cyan-500\/30:hover{border-color:color-mix(in oklab,var(--color-cyan-500) 30%,transparent)}}.hover\:bg-\[rgba\(0\,255\,255\,0\.05\)\]:hover{background-color:#00ffff0d}.hover\:bg-\[rgba\(255\,68\,68\,0\.15\)\]:hover{background-color:#ff444426}.hover\:bg-\[rgba\(255\,255\,255\,0\.02\)\]:hover{background-color:#ffffff05}.hover\:bg-\[var\(--accent\)\]:hover{background-color:var(--accent)}.hover\:bg-\[var\(--bg\)\]:hover{background-color:var(--bg)}.hover\:bg-\[var\(--bg3\)\]:hover{background-color:var(--bg3)}.hover\:bg-\[var\(--card\)\]:hover{background-color:var(--card)}.hover\:bg-amber-600:hover{background-color:var(--color-amber-600)}.hover\:bg-blue-600:hover{background-color:var(--color-blue-600)}.hover\:bg-cyan-500\/10:hover{background-color:#00b7d71a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-cyan-500\/10:hover{background-color:color-mix(in oklab,var(--color-cyan-500) 10%,transparent)}}.hover\:bg-emerald-600:hover{background-color:var(--color-emerald-600)}.hover\:bg-red-500\/10:hover{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/10:hover{background-color:color-mix(in oklab,var(--color-red-500) 10%,transparent)}}.hover\:bg-red-600:hover{background-color:var(--color-red-600)}.hover\:bg-sky-600:hover{background-color:var(--color-sky-600)}.hover\:bg-slate-600:hover{background-color:var(--color-slate-600)}.hover\:bg-violet-600:hover{background-color:var(--color-violet-600)}.hover\:text-\[var\(--accent\)\]:hover{color:var(--accent)}.hover\:text-\[var\(--red\)\]:hover{color:var(--red)}.hover\:text-\[var\(--text\)\]:hover{color:var(--text)}.hover\:text-\[var\(--text2\)\]:hover{color:var(--text2)}.hover\:text-red-600:hover{color:var(--color-red-600)}.hover\:text-white:hover{color:var(--color-white)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.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-\[var\(--accent\)\]:focus{border-color:var(--accent)}.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);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-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:translate-y-0:active{--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.active\:scale-90:active{--tw-scale-x:90%;--tw-scale-y:90%;--tw-scale-z:90%;scale:var(--tw-scale-x) var(--tw-scale-y)}.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}@media (min-width:40rem){.sm\:inline{display:inline}.sm\:min-w-\[480px\]{min-width:480px}}@media (min-width:48rem){.md\:col-span-3{grid-column:span 3/span 3}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:64rem){.lg\:px-8{padding-inline:calc(var(--spacing) * 8)}}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}@keyframes openhw-loading-spin{to{transform:rotate(360deg)}}:root{--bg:#070b14;--bg2:#0d1525;--bg3:#111827;--canvas-bg:#0a0e1a;--border:#1e2d47;--border2:#243350;--text:#e8edf5;--text2:#8fa3be;--text3:#4d6380;--accent:#00d4ff;--accent2:#09c;--green:#00e676;--orange:#ff9100;--red:#f44;--purple:#a855f7;--card:#0f1c2e;--card2:#142035;--radius:10px;--radius-lg:16px;--shadow:0 4px 24px #0006;--glow:0 0 20px #00d4ff26}[data-theme=light]{--bg:#f8fafc;--bg2:#e6e7eb;--bg3:#dfe0e5;--canvas-bg:#e2e8f0;--border:#cbd5e1;--border2:#94a3b8;--text:#0f172a;--text2:#475569;--text3:#64748b;--accent:#0284c7;--accent2:#0369a1;--green:#059669;--orange:#ea580c;--red:#dc2626;--purple:#7c3aed;--card:#f1f1f1;--card2:#e6e7eb;--shadow:0 4px 24px #00000014;--glow:0 0 20px #0284c726}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);min-height:100vh;font-family:Space Grotesk,sans-serif;transition:background-color .3s,color .3s;overflow-x:hidden}.gradient-text{background:linear-gradient(135deg,var(--accent) 0%,var(--accent2) 40%,var(--green) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.btn{cursor:pointer;align-items:center;gap:calc(var(--spacing) * 2);border-radius:var(--radius);--tw-border-style:none;padding-inline:calc(var(--spacing) * 5);padding-block:calc(var(--spacing) * 2.5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);white-space:nowrap;transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));border-style:none;font-family:inherit;text-decoration-line:none;display:inline-flex}.btn-primary{background-color:var(--accent);color:var(--color-white)}@media (hover:hover){.btn-primary:hover{--tw-translate-y:-1px;translate:var(--tw-translate-x) var(--tw-translate-y);--tw-shadow:var(--glow);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--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,)}}.btn-secondary{background-color:var(--green);color:var(--color-white)}@media (hover:hover){.btn-secondary: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,)}}.btn-ghost{border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);color:var(--text2);background-color:#0000}@media (hover:hover){.btn-ghost:hover{background-color:var(--card);color:var(--text)}}.btn-outline{border-style:var(--tw-border-style);border-width:1px;border-color:var(--accent);color:var(--accent);background-color:#0000}@media (hover:hover){.btn-outline:hover{background-color:#00d4ff1a}}.btn-lg{padding-inline:calc(var(--spacing) * 7);padding-block:calc(var(--spacing) * 3.5);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.btn-run{background-color:var(--green);--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);color:var(--color-white)}@media (hover:hover){.btn-run: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,)}}.nav{z-index:100;background:rgba(var(--bg),.85);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 48px;display:flex;position:sticky;top:0}.nav-brand{cursor:pointer;align-items:center;gap:10px;display:flex}.brand-logo{-o-object-fit:contain;object-fit:contain;width:100%;height:auto;display:block}.brand-logo--nav{max-width:70px}.brand-logo--footer{max-width:130px;margin:0 auto}.brand-logo--auth{max-width:150px}.brand-logo--sidebar{max-width:140px}.brand-logo--admin{max-width:150px}.brand-icon{font-size:22px}.brand-name{color:var(--text);font-size:20px;font-weight:700}.brand-accent{color:var(--accent)}.nav-actions{gap:12px;display:flex}.landing{min-height:100vh}.hero{text-align:center;background:radial-gradient(80% 50% at 50% 0,#00d4ff14,#0000 70%),radial-gradient(60% 40% at 80% 80%,#00e6760d,#0000 60%);flex-direction:column;align-items:center;padding:100px 24px 80px;display:flex;position:relative}.hero:before{content:"";background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);pointer-events:none;background-size:48px 48px;position:absolute;top:0;right:0;bottom:0;left:0;-webkit-mask-image:radial-gradient(80% 80% at 50% 0,#000 0%,#0000 100%);mask-image:radial-gradient(80% 80% at 50% 0,#000,#0000)}.hero-badge{color:var(--accent);background:#00d4ff1a;border:1px solid #00d4ff4d;border-radius:100px;align-items:center;gap:8px;margin-bottom:32px;padding:8px 18px;font-size:13px;font-weight:600;display:inline-flex;position:relative}.hero-title{margin-bottom:24px;font-size:clamp(42px,7vw,80px);font-weight:800;line-height:1.1;position:relative}.hero-subtitle{color:var(--text2);max-width:560px;margin-bottom:40px;font-size:18px;line-height:1.7;position:relative}.hero-actions{flex-wrap:wrap;justify-content:center;gap:16px;display:flex;position:relative}.hero-note{color:var(--text3);margin-top:20px;font-size:13px;position:relative}.board-showcase{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:60px;display:flex;position:relative}.board-chip{border:1px solid;border-radius:100px;padding:8px 18px;font-size:13px;font-weight:600}.arduino{color:var(--green);background:#00e6761a;border-color:#00e67666}.pico{color:var(--purple);background:#a855f71a;border-color:#a855f766}.esp32{color:var(--accent);background:#00d4ff1a;border-color:#00d4ff66}.coming{color:var(--text3);background:#4d63801a;border-color:#4d63804d}.features,.projects-section,.cta-section{max-width:1200px;margin:0 auto;padding:80px 48px}.section-title{text-align:center;margin-bottom:12px;font-size:36px;font-weight:700}.section-sub{color:var(--text2);text-align:center;margin-bottom:48px}.features-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-top:48px;display:grid}.feature-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px;transition:all .25s}.feature-card:hover{border-color:var(--border2);box-shadow:var(--shadow);transform:translateY(-3px)}.feature-icon{margin-bottom:16px;font-size:32px}.feature-card h3{margin-bottom:10px;font-size:18px;font-weight:700}.feature-card p{color:var(--text2);font-size:14px;line-height:1.7}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.project-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;align-items:center;gap:14px;padding:16px 20px;transition:all .2s;display:flex}.project-card:hover{border-color:var(--accent);transform:translateY(-2px)}.project-icon{font-size:28px}.project-info{flex:1}.project-info h4{margin-bottom:4px;font-size:15px;font-weight:600}.project-board{color:var(--text3);font-family:JetBrains Mono,monospace;font-size:12px}.project-meta{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.difficulty{border-radius:100px;padding:3px 10px;font-size:11px;font-weight:600}.difficulty.beginner{color:var(--green);background:#00e67626}.difficulty.intermediate{color:var(--orange);background:#ff910026}.difficulty.advanced{color:var(--accent);background:#00d4ff26}.points{color:var(--text3);font-family:JetBrains Mono,monospace;font-size:12px}.cta-section{text-align:center}.cta-section h2{margin-bottom:12px;font-size:36px;font-weight:700}.cta-section p{color:var(--text2);margin-bottom:48px}.cta-cards{flex-wrap:wrap;justify-content:center;gap:24px;display:flex}.cta-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;min-width:260px;padding:40px 48px;transition:all .25s}.cta-card:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.student-card:hover{border-color:var(--green)}.teacher-card:hover{border-color:var(--purple)}.cta-icon{margin-bottom:16px;font-size:48px}.cta-card h3{margin-bottom:10px;font-size:22px;font-weight:700}.cta-card p{color:var(--text2);margin-bottom:24px;font-size:14px}.footer{text-align:center;border-top:1px solid var(--border);color:var(--text3);padding:48px}.footer-brand{color:var(--text2);margin-bottom:8px;font-size:18px;font-weight:700}.footer-links{justify-content:center;gap:24px;margin-top:16px;display:flex}.footer-links a{color:var(--text3);font-size:14px;text-decoration:none}.footer-links a:hover{color:var(--accent)}.auth-page{background:radial-gradient(ellipse 60% 60% at 30% 50%,#00d4ff0f 0%,transparent 70%),radial-gradient(ellipse 60% 60% at 70% 50%,#00e6760a 0%,transparent 70%),var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;position:relative}.auth-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:440px;box-shadow:var(--shadow);z-index:1;padding:48px 40px;position:relative}.auth-back{color:var(--text3);margin-bottom:28px;font-size:13px;text-decoration:none;transition:color .2s;display:inline-block}.auth-back:hover{color:var(--accent)}.auth-logo{align-items:center;gap:10px;margin-bottom:28px;display:flex}.auth-title{margin-bottom:8px;font-size:28px;font-weight:800}.auth-subtitle{color:var(--text2);margin-bottom:32px;font-size:15px}.auth-error{color:var(--red);border-radius:var(--radius);background:#ff44441a;border:1px solid #ff44444d;margin-bottom:16px;padding:12px 16px;font-size:14px}.role-section{margin-bottom:24px}.role-label{color:var(--text2);text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px;font-size:13px;font-weight:600}.role-options{gap:12px;display:flex}.role-btn{background:var(--card);border:2px solid var(--border);border-radius:var(--radius);cursor:pointer;color:var(--text);flex-direction:column;flex:1;align-items:center;gap:6px;padding:18px 12px;font-family:inherit;transition:all .2s;display:flex}.role-btn:hover{border-color:var(--border2);background:var(--card2)}.role-btn.active{border-color:var(--accent);background:#00d4ff14}.role-emoji{font-size:28px}.role-text{font-size:15px;font-weight:700}.role-desc{color:var(--text3);text-align:center;font-size:11px}.google-btn{color:#1a1a2e;border-radius:var(--radius);cursor:pointer;background:#fff;border:1px solid #ddd;justify-content:center;align-items:center;gap:12px;width:100%;margin-bottom:16px;padding:14px 24px;font-family:inherit;font-size:15px;font-weight:600;transition:all .2s;display:flex}.google-btn:hover:not(.disabled):not(.loading){background:#f8f9fa;transform:translateY(-1px);box-shadow:0 4px 16px #0000000d}.google-btn.disabled{opacity:.5;cursor:not-allowed}.google-btn.loading{opacity:.7;cursor:wait}.auth-divider{color:var(--text3);align-items:center;gap:16px;margin-bottom:16px;font-size:13px;display:flex}.guest-btn{width:100%;color:var(--text2);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;background:0 0;padding:12px 24px;font-family:inherit;font-size:14px;transition:all .2s}.guest-btn:hover{background:var(--card);color:var(--text)}.auth-guest-note{color:var(--text3);text-align:center;margin-top:10px;font-size:12px}.auth-terms{color:var(--text3);text-align:center;margin-top:24px;font-size:12px;line-height:1.6}.dashboard{min-height:100vh;display:flex}.sidebar{background:var(--bg2);border-right:1px solid var(--border);flex-direction:column;width:240px;min-height:100vh;padding:24px 0;display:flex;position:sticky;top:0}.sidebar-logo{border-bottom:1px solid var(--border);align-items:center;gap:10px;margin-bottom:16px;padding:0 20px 24px;font-size:16px;font-weight:700;display:flex}.sidebar-nav{flex-direction:column;flex:1;gap:4px;padding:8px 12px;display:flex}.sidebar-link{border-radius:var(--radius);color:var(--text2);cursor:pointer;align-items:center;gap:10px;padding:10px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.sidebar-link:hover{background:var(--card);color:var(--text)}.sidebar-link.active{color:var(--accent);background:#00d4ff1a}.sidebar-logout{border-radius:var(--radius);border:1px solid var(--border);color:var(--text3);cursor:pointer;background:0 0;margin:12px;padding:10px 16px;font-family:inherit;font-size:13px;transition:all .2s}.sidebar-logout:hover{color:var(--red);background:#ff44441a;border-color:#ff44444d}.dashboard-main{flex:1;padding:32px 40px;overflow-y:auto}.dash-header{justify-content:space-between;align-items:center;margin-bottom:32px;display:flex}.dash-header h1{margin-bottom:4px;font-size:26px;font-weight:800}.dash-header p{color:var(--text2);font-size:14px}.user-avatar img,.avatar-placeholder{-o-object-fit:cover;object-fit:cover;border:2px solid var(--border);border-radius:50%;width:44px;height:44px}.avatar-placeholder{background:var(--card2);color:var(--accent);justify-content:center;align-items:center;font-size:18px;font-weight:700;display:flex}.stats-row{flex-wrap:wrap;gap:16px;margin-bottom:32px;display:flex}.stat-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);text-align:center;flex:1;min-width:120px;padding:20px 24px}.stat-num{color:var(--accent);font-family:JetBrains Mono,monospace;font-size:32px;font-weight:800}.stat-label{color:var(--text2);margin-top:4px;font-size:13px}.section-title-row{margin-bottom:16px}.section-title-row h2{font-size:18px;font-weight:700}.quick-actions{flex-wrap:wrap;gap:12px;margin-bottom:32px;display:flex}.action-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;color:var(--text);flex-direction:column;align-items:center;gap:8px;padding:20px 28px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s;display:flex}.action-card span:first-child{font-size:24px}.action-card:hover{border-color:var(--accent);background:#00d4ff0d}.empty-state{background:var(--card);border:1px dashed var(--border2);border-radius:var(--radius-lg);text-align:center;color:var(--text2);padding:48px}.empty-icon{margin-bottom:12px;font-size:48px}.empty-state p{margin-bottom:24px}.loader{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@media (max-width:768px){.nav{padding:14px 20px}.brand-logo--nav{max-width:170px}.brand-logo--footer,.brand-logo--auth,.brand-logo--admin{max-width:180px}.brand-logo--sidebar{max-width:160px}.hero{padding:60px 20px}.hero-title{font-size:38px}.features,.projects-section,.cta-section{padding:60px 20px}.cta-cards{flex-direction:column;align-items:center}.dashboard{flex-direction:column}.sidebar{width:100%;min-height:auto;position:relative}.sim-topbar{flex-wrap:wrap}.code-panel{width:250px}.component-palette{width:160px}}.palette-scroll::-webkit-scrollbar{width:4px}.palette-scroll::-webkit-scrollbar-track{background:0 0}.palette-scroll::-webkit-scrollbar-thumb{background:var(--border2);border-radius:4px}.palette-scroll::-webkit-scrollbar-thumb:hover{background:var(--text3)}.palette-scroll{scrollbar-width:thin;scrollbar-color:var(--border2) transparent}.panel-scroll::-webkit-scrollbar{width:4px;height:4px}.panel-scroll::-webkit-scrollbar-track{background:0 0;border-radius:4px}.panel-scroll::-webkit-scrollbar-thumb{background:#8fa3be33 padding-box content-box;border:1px solid #0000;border-radius:4px}.panel-scroll::-webkit-scrollbar-thumb:hover{background:#8fa3be66}.panel-scroll{scrollbar-width:thin;scrollbar-color:#8fa3be33 transparent;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.blocklyFlyoutBackground,.blocklyFlyout,.blocklyFlyoutBackgroundWrap,.blocklyScrollbarVertical,.blocklyScrollbarHorizontal,.blocklyScrollbarHandle,.blocklyScrollbarBackground{visibility:hidden!important;opacity:0!important;pointer-events:none!important;display:none!important}.hide-scrollbar::-webkit-scrollbar{width:0;height:0;display:none}.hide-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.dashboard-main::-webkit-scrollbar{width:6px}.dashboard-main::-webkit-scrollbar-track{background:0 0}.dashboard-main::-webkit-scrollbar-thumb{background:#334155;border-radius:4px}.dashboard-main::-webkit-scrollbar-thumb:hover{background:#475569}.dashboard-main{scrollbar-width:thin;scrollbar-color:#334155 transparent}[data-theme=light] code[class*=language-],[data-theme=light] pre[class*=language-]{background:var(--bg);color:#24292e;text-shadow:none}[data-theme=light] .token.comment,[data-theme=light] .token.block-comment,[data-theme=light] .token.prolog,[data-theme=light] .token.doctype,[data-theme=light] .token.cdata{color:#6a737d}[data-theme=light] .token.punctuation{color:#586069}[data-theme=light] .token.keyword,[data-theme=light] .token.builtin,[data-theme=light] .token.atrule,[data-theme=light] .token.attr-name,[data-theme=light] .token.selector,[data-theme=light] .token.important{color:#d73a49}[data-theme=light] .token.string,[data-theme=light] .token.char,[data-theme=light] .token.attr-value,[data-theme=light] .token.regex,[data-theme=light] .token.variable,[data-theme=light] .token.template-string{color:#032f62}[data-theme=light] .token.boolean,[data-theme=light] .token.number,[data-theme=light] .token.constant,[data-theme=light] .token.symbol,[data-theme=light] .token.deleted{color:#005cc5}[data-theme=light] .token.function,[data-theme=light] .token.function-name{color:#6f42c1}[data-theme=light] .token.class-name,[data-theme=light] .token.tag,[data-theme=light] .token.namespace{color:#22863a}[data-theme=light] .token.operator,[data-theme=light] .token.entity,[data-theme=light] .token.url{color:#d73a49;background:0 0}[data-theme=light] .token.inserted{color:#22863a;background:#22863a1a}[data-theme=light] .token.property{color:#005cc5}@keyframes toolbtn-pop{0%{transform:scale(1)}35%{transform:scale(.82)}65%{transform:scale(1.12)}85%{transform:scale(.96)}to{transform:scale(1)}}@keyframes toolbar-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.zoom-btn{transition:transform .1s,background .12s!important}.zoom-btn:active{transform:scale(.78)!important}.zoom-btn:hover{border-radius:6px;background:var(--border)!important}.zoom-toolbar{-webkit-backdrop-filter:blur(16px)saturate(1.4);background:#0d1525bf;border:1px solid #1e2d4799;transition:opacity .2s,transform .2s;box-shadow:0 8px 32px #00000059,inset 0 1px #ffffff0a}[data-theme=light] .zoom-toolbar{background:#f8fafccc;border-color:#cbd5e199;box-shadow:0 8px 32px #00000014,inset 0 1px #fff9}.sim-palette{will-change:width;transition:width .28s cubic-bezier(.4,0,.2,1)}.sim-right-panel{will-change:width;transition:width .25s cubic-bezier(.4,0,.2,1)}.sim-right-panel.dragging{transition:none}.sim-panel-content{animation:.25s ease-out panelContentIn}@keyframes panelContentIn{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.sim-panel-toggle{transition:background .2s,box-shadow .2s,border-color .2s,left .2s}.sim-panel-toggle:hover{box-shadow:2px 0 16px #00d4ff2e,0 0 12px #00d4ff0f;background:var(--bg3)!important;border-color:var(--accent)!important;color:var(--accent)!important}.canvas-menu{transform-origin:100% 100%;animation:.18s cubic-bezier(.34,1.56,.64,1) canvasMenuIn}@keyframes canvasMenuIn{0%{opacity:0;transform:scale(.92)translateY(6px)}to{opacity:1;transform:scale(1)translateY(0)}}.canvas-menu-item{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;outline:none;align-items:center;gap:8px;padding:8px 12px;font-family:Space Grotesk,sans-serif;font-size:13px;transition:background .13s,color .1s,transform .1s,padding-left .13s;display:flex}.canvas-menu-item:hover:not([disabled]):not(.canvas-menu-item--disabled){background:var(--bg3);color:var(--text);padding-left:16px}.canvas-menu-item:active:not([disabled]):not(.canvas-menu-item--disabled){background:var(--border);transform:scale(.985)}.canvas-menu-item--disabled{color:var(--text3);cursor:not-allowed;opacity:.5}.canvas-menu-item--danger{color:var(--red)!important}.canvas-menu-item--danger:hover:not([disabled]){color:var(--red)!important;background:#ff44441f!important}.validation-toast-canvas{z-index:130;background:var(--bg2);width:min(420px,100% - 24px);position:absolute;bottom:62px;right:12px}@supports (color:color-mix(in lab,red,red)){.validation-toast-canvas{background:color-mix(in srgb,var(--bg2) 88%,#7f1d1d 12%)}}.validation-toast-canvas{border:1px solid var(--red)}@supports (color:color-mix(in lab,red,red)){.validation-toast-canvas{border:1px solid color-mix(in srgb,var(--red) 60%,var(--border) 40%)}}.validation-toast-canvas{border-radius:10px;padding:10px 11px;animation:.18s ease-out validationToastIn;box-shadow:0 10px 24px #0006}.validation-toast-canvas__header{color:var(--red);justify-content:space-between;align-items:center;gap:12px;font-size:12px;font-weight:700;display:flex}.validation-toast-canvas__close{border:1px solid var(--border);width:20px;height:20px;color:var(--text2);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex}.validation-toast-canvas__close:hover{color:var(--text);background:var(--bg3)}.validation-toast-canvas__list{color:var(--text);margin:8px 0 0;padding:0 0 0 18px;font-size:12px;line-height:1.45}.validation-toast-canvas__list li{margin-bottom:4px}@keyframes validationToastIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.auth-screen{background:radial-gradient(circle at 0 0,#2c7be524,#0000 30%),radial-gradient(circle at 100% 100%,#0f766e1f,#0000 32%),linear-gradient(#f7fbff,#eff4fb);min-height:100vh;padding:40px 24px}.auth-shell{grid-template-columns:minmax(0,1.1fr) minmax(420px,520px);align-items:stretch;gap:24px;width:min(1180px,100%);margin:0 auto;display:grid}.auth-shell--wide{min-height:calc(100vh - 80px)}.auth-shell--reverse{grid-template-columns:minmax(420px,520px) minmax(0,1.1fr)}.auth-showcase,.auth-panel{border-radius:32px;box-shadow:0 28px 70px #0f172a1a}.auth-showcase{color:#fff;background:linear-gradient(135deg,#0d94b8f5,#2563ebf5);flex-direction:column;justify-content:center;gap:28px;padding:48px;display:flex;position:relative;overflow:hidden}.auth-showcase:before,.auth-showcase:after{content:"";background:#ffffff14;border-radius:999px;position:absolute}.auth-showcase:before{width:280px;height:280px;top:-60px;right:-120px}.auth-showcase:after{width:220px;height:220px;bottom:-120px;left:-80px}.auth-showcase--signup{background:linear-gradient(135deg,#0e7490f5,#2563ebeb)}.auth-showcase__badge{letter-spacing:.08em;text-transform:uppercase;background:#ffffff29;border-radius:999px;width:-moz-fit-content;width:fit-content;padding:10px 16px;font-size:.8rem;font-weight:700}.auth-showcase__title{max-width:12ch;font-size:clamp(2.4rem,4vw,4rem);font-weight:800;line-height:1;position:relative}.auth-showcase__copy{color:#ffffffdb;max-width:520px;font-size:1rem;line-height:1.8;position:relative}.auth-showcase__highlights{gap:16px;display:grid;position:relative}.auth-showcase__card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1f;border-radius:24px;padding:20px 22px}.auth-showcase__card strong,.auth-showcase__metrics strong{margin-bottom:8px;font-size:1.05rem;display:block}.auth-showcase__card span,.auth-showcase__metrics span{color:#ffffffd1;line-height:1.6}.auth-showcase__metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid;position:relative}.auth-showcase__metrics div{text-align:center;background:#ffffff1f;border-radius:22px;padding:20px}.auth-panel{color:#0f172a;background:#fffffff0;border:1px solid #94a3b83d;padding:36px}.auth-panel__back{color:#64748b;align-items:center;gap:8px;margin-bottom:24px;font-size:.95rem;text-decoration:none;display:inline-flex}.auth-panel__back:hover,.auth-panel__footer a:hover{color:#2563eb}.auth-panel__brand{align-items:center;margin-bottom:28px;display:inline-flex}.auth-panel__brand-mark{color:#fff;letter-spacing:.06em;background:linear-gradient(135deg,#1d4ed8,#0ea5e9);border-radius:18px;justify-content:center;align-items:center;width:52px;height:52px;font-weight:800;display:inline-flex}.auth-panel__brand-eyebrow{color:#64748b;letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px;font-size:.85rem}.auth-panel__brand-title,.auth-panel__header h2{font-size:1.9rem;font-weight:800;line-height:1.1}.auth-panel__header{margin-bottom:24px}.auth-panel__header p,.auth-panel__footer{color:#64748b;line-height:1.7}.auth-form{gap:18px;display:grid}.auth-form__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.auth-field{gap:8px;display:grid}.auth-field--full{grid-column:1/-1}.auth-field span{color:#334155;font-size:.92rem;font-weight:700}.auth-field input{color:#0f172a;width:100%;font:inherit;background:#f8fbff;border:1px solid #d7dee8;border-radius:16px;padding:14px 16px;transition:border-color .2s,box-shadow .2s,background-color .2s}.auth-field input:focus{background:#fff;border-color:#38bdf8;outline:none;box-shadow:0 0 0 4px #38bdf824}.auth-role-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.auth-role-picker__option{text-align:left;cursor:pointer;background:#f8fbff;border:1px solid #d7dee8;border-radius:20px;padding:16px;transition:transform .2s,border-color .2s,box-shadow .2s}.auth-role-picker__option strong{color:#0f172a;margin-bottom:6px;font-size:1rem;display:block}.auth-role-picker__option span{color:#64748b;font-size:.9rem;line-height:1.5}.auth-role-picker__option:hover,.auth-role-picker__option.is-active{border-color:#38bdf8;transform:translateY(-1px);box-shadow:0 16px 30px #0ea5e91f}.auth-form__error{color:#b91c1c;background:#ef444414;border:1px solid #ef44442e;border-radius:16px;padding:14px 16px;font-size:.92rem}.auth-form__submit,.auth-alt-button{width:100%;font:inherit;cursor:pointer;border:none;border-radius:16px;padding:14px 18px;font-weight:700;transition:transform .2s,box-shadow .2s,background-color .2s,color .2s}.auth-form__submit{color:#fff;background:linear-gradient(135deg,#1d4ed8,#0ea5e9)}.auth-form__submit:hover,.auth-alt-button:hover:not(.is-disabled){transform:translateY(-1px);box-shadow:0 18px 32px #2563eb2e}.auth-form__submit:disabled,.auth-alt-button:disabled{cursor:wait;opacity:.72}.auth-divider{color:#94a3b8;text-transform:uppercase;letter-spacing:.08em;align-items:center;margin:20px 0 14px;font-size:.85rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:#e2e8f0;flex:1;height:1px}.auth-divider span{padding:0 12px}.auth-alt-button{color:#0f172a;background:#f8fbff;border:1px solid #d7dee8;margin-bottom:12px}.auth-alt-button--ghost{color:#2563eb;background:0 0}.auth-alt-button.is-disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.auth-panel__footer{text-align:center;margin-top:18px}.auth-panel__footer a{color:#2563eb;font-weight:700;text-decoration:none}.teacher-dashboard-page{color:#16213d;background:linear-gradient(#f8fbff,#f2f6fb);min-height:100vh;display:block}.teacher-sidebar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffc7;border-right:1px solid #bfdbfe99;flex-direction:column;gap:28px;padding:34px 24px;display:flex}.teacher-sidebar__brand{align-items:center;display:flex}.teacher-sidebar__brand-mark{color:#2563eb;letter-spacing:.08em;background:linear-gradient(135deg,#dbeafe,#93c5fd);border-radius:18px;justify-content:center;align-items:center;width:52px;height:52px;font-weight:800;display:inline-flex}.teacher-sidebar__eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#94a3b8;font-size:.82rem}.teacher-sidebar__title{color:#16213d;font-size:1.5rem;font-weight:800}.teacher-sidebar__nav{gap:10px;display:grid}.teacher-sidebar__link,.teacher-sidebar__signout,.teacher-button,.teacher-section-link,.teacher-side-link,.teacher-class-card__menu{font:inherit}.teacher-sidebar__link{color:#4b5c7b;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:18px;align-items:center;gap:14px;width:100%;padding:14px 16px;transition:background-color .2s,color .2s,transform .2s;display:flex}.teacher-sidebar__link:hover,.teacher-sidebar__link.is-active{color:#5b6ef6;background:#eef2ff;transform:translate(2px)}.teacher-sidebar__link-icon{background:#94a3b81f;border-radius:10px;justify-content:center;align-items:center;width:28px;height:28px;font-size:.85rem;font-weight:700;display:inline-flex}.teacher-sidebar__signout{color:#334155;cursor:pointer;background:#fff;border:1px solid #dbe6f2;border-radius:18px;margin-top:auto;padding:14px 16px}.teacher-sidebar__signout:hover{color:#b91c1c;border-color:#fca5a5}.teacher-dashboard-main{gap:28px;padding:38px 40px 28px;display:grid}.teacher-hero{color:#fff;background:linear-gradient(135deg,#0e7490,#0ea5e9);border-radius:30px;grid-template-columns:minmax(0,1.4fr) 240px;align-items:center;gap:24px;padding:40px;display:grid;position:relative;overflow:hidden;box-shadow:0 30px 60px #0e749033}.teacher-hero:before,.teacher-hero:after{content:"";background:#ffffff14;border-radius:999px;position:absolute}.teacher-hero:before{width:260px;height:260px;top:-90px;right:30px}.teacher-hero:after{width:340px;height:340px;bottom:-180px;right:-100px}.teacher-hero__content{z-index:1;position:relative}.teacher-hero__eyebrow{color:#fffc;margin-bottom:10px;font-size:1rem;font-weight:700}.teacher-hero__title{margin-bottom:10px;font-size:clamp(2.2rem,4vw,3.6rem);font-weight:800;line-height:1.05}.teacher-hero__summary{color:#ffffffd6;max-width:620px;margin-bottom:26px;line-height:1.8}.teacher-hero__actions{flex-wrap:wrap;gap:14px;display:flex}.teacher-button{cursor:pointer;border:none;border-radius:16px;padding:14px 22px;transition:transform .2s,box-shadow .2s,background-color .2s}.teacher-button:hover,.teacher-section-link:hover,.teacher-side-link:hover,.teacher-class-card__menu:hover{transform:translateY(-1px)}.teacher-button--primary{color:#5b6ef6;background:#fff;box-shadow:0 14px 30px #0f172a1f}.teacher-button--secondary,.teacher-button--ghost{color:#fff;background:#ffffff2e;border:1px solid #ffffff38}.teacher-button--ghost{color:#2563eb;background:#eef5ff;border-color:#0000}.teacher-hero__badge{z-index:1;min-height:200px;position:relative}.teacher-hero__shape{border:10px solid #ffffff1f;margin:auto;position:absolute;top:0;right:0;bottom:0;left:0;transform:rotate(45deg)}.teacher-hero__shape--outer{width:160px;height:160px}.teacher-hero__shape--inner{width:100px;height:100px}.teacher-hero__monogram{letter-spacing:.12em;color:#ffffffb8;justify-content:center;align-items:center;font-size:2.2rem;font-weight:800;display:inline-flex;position:absolute;top:0;right:0;bottom:0;left:0}.teacher-dashboard-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:28px;display:grid}.teacher-classes-panel,.teacher-side-card,.teacher-dashboard-footer{background:#ffffffe0;border:1px solid #bfdbfeb3;border-radius:28px;box-shadow:0 18px 45px #94a3b824}.teacher-classes-panel{box-shadow:none;background:0 0;border:none;padding:8px 0 0}.teacher-section-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.teacher-section-heading h3{color:#16213d;font-size:2rem;font-weight:800}.teacher-section-link,.teacher-side-link{color:#5b6ef6;cursor:pointer;background:0 0;border:none;padding:0;font-weight:700}.teacher-class-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.teacher-class-card{text-align:left;background:#fff;border:1px solid #bfdbfee6;border-radius:26px;overflow:hidden;box-shadow:0 18px 40px #94a3b824}.teacher-class-card__banner{color:#fff;background-position:50%;background-size:cover;padding:28px 22px 80px;position:relative}.teacher-class-card__banner:after{content:"";background:linear-gradient(#0f172a26,#0f172aa6);position:absolute;top:0;right:0;bottom:0;left:0}.teacher-class-card__banner>*{z-index:1;position:relative}.teacher-class-card__banner h4{margin-bottom:8px;font-size:2rem;font-weight:800;line-height:1.05}.teacher-class-card__banner p{color:#ffffffd6;max-width:220px}.teacher-class-card__body{justify-content:space-between;align-items:center;gap:18px;padding:20px 22px 24px;display:flex}.teacher-class-card__teacher{color:#6b7b95;margin-bottom:18px;font-size:1.2rem}.teacher-class-card__students{color:#9aabc5}.teacher-class-card__avatar,.teacher-dashboard-footer__avatar{color:#16213d;background:linear-gradient(135deg,#fff,#dbeafe);border:4px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:62px;height:62px;font-weight:800;display:inline-flex;box-shadow:0 12px 24px #2563eb29}.teacher-dashboard-footer__avatar{border-width:0;width:60px;height:60px;overflow:hidden}.teacher-dashboard-footer__avatar img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.teacher-class-card__menu{color:#fff;cursor:pointer;z-index:2;background:#ffffff38;border:none;border-radius:8px;padding:6px 8px;font-size:.72rem;position:absolute;top:12px;right:12px}.teacher-class-card--add{cursor:pointer;background:#ffffffb8;border-style:dashed;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:280px;padding:24px;display:flex}.teacher-class-card__plus{color:#8aa0c6;background:#edf5ff;border-radius:50%;justify-content:center;align-items:center;width:68px;height:68px;font-size:2.5rem;display:inline-flex}.teacher-class-card__add-title{color:#243b62;font-size:1.7rem;font-weight:800}.teacher-class-card__add-copy{color:#8aa0c6}.teacher-dashboard-sidepanels{gap:22px;margin-right:14px;display:grid}.teacher-side-card{padding:28px 24px}.teacher-upcoming-list{display:grid}.teacher-upcoming-item{border-bottom:1px solid #edf2f7;grid-template-columns:12px minmax(0,1fr);gap:14px;padding:18px 0;display:grid}.teacher-upcoming-item:last-child{border-bottom:none}.teacher-upcoming-item__dot{background:#5b6ef6;border-radius:50%;width:10px;height:10px;margin-top:7px}.teacher-upcoming-item__copy h4{margin-bottom:8px;font-size:1.45rem;font-weight:800;line-height:1.15}.teacher-upcoming-item__copy p{color:#8aa0c6;margin-bottom:6px}.teacher-upcoming-item__copy strong{color:#ff6b6b;font-size:.96rem}.teacher-side-link{margin-top:14px}.teacher-mini-stats{gap:18px;display:grid}.teacher-mini-stats__row{color:#64748b;justify-content:space-between;align-items:center;gap:14px;display:flex}.teacher-mini-stats__row strong{color:#16213d;font-size:2rem}.teacher-dashboard-footer{justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;display:flex}.teacher-dashboard-footer__profile{align-items:center;gap:14px;display:flex}.teacher-dashboard-footer__name{margin-bottom:4px;font-size:1.05rem;font-weight:800}.teacher-dashboard-footer__email{color:#7b8ba7}.teacher-class-card.tone-indigo .teacher-class-card__banner{background-image:linear-gradient(135deg,#3b4ea1,#29408f)}.teacher-class-card.tone-emerald .teacher-class-card__banner{background-image:linear-gradient(135deg,#21837a,#1f6b60)}.teacher-class-card.tone-amber .teacher-class-card__banner{background-image:linear-gradient(135deg,#c46a2f,#9a4825)}.teacher-class-card.tone-violet .teacher-class-card__banner{background-image:linear-gradient(135deg,#6d35b0,#4e2490)}.teacher-upcoming-item__dot.tone-red{background:#ff6b6b}.teacher-upcoming-item__dot.tone-blue{background:#5b6ef6}@media (max-width:1080px){.teacher-dashboard-page,.teacher-dashboard-grid,.teacher-hero{grid-template-columns:1fr}}@media (max-width:768px){.auth-screen{padding:20px 16px}.auth-shell,.auth-shell--reverse{grid-template-columns:1fr}.auth-showcase,.auth-panel{border-radius:24px;padding:28px 22px}.auth-showcase__metrics,.auth-form__grid,.auth-role-picker,.teacher-class-grid{grid-template-columns:1fr}.teacher-sidebar{gap:18px;padding:24px 18px}.teacher-dashboard-main{padding:24px 18px 20px}.teacher-dashboard-footer,.teacher-section-heading{flex-direction:column;align-items:flex-start}.teacher-hero,.teacher-dashboard-footer{padding:24px}}.auth-panel{padding:28px}.auth-panel__brand-mark{border-radius:14px;width:44px;height:44px;font-size:.82rem}.auth-panel__brand-title,.auth-panel__header h2{font-size:1.45rem}.auth-panel__header p,.auth-panel__footer,.auth-showcase__copy{font-size:.9rem}.auth-showcase{gap:18px;padding:34px}.auth-showcase__title{font-size:clamp(1.85rem,2.8vw,2.6rem)}.auth-showcase__badge{padding:7px 12px;font-size:.68rem}.auth-showcase__metrics strong{font-size:1.28rem}.auth-form,.auth-form__grid,.auth-role-picker{gap:12px}.auth-role-picker__option{border-radius:14px;padding:12px}.auth-role-picker__option strong{margin-bottom:3px;font-size:.92rem}.auth-role-picker__option span,.auth-field span,.auth-divider,.auth-panel__back{font-size:.8rem}.auth-field input,.auth-form__submit,.auth-alt-button{border-radius:12px;padding:11px 12px;font-size:.9rem}.teacher-dashboard-page{grid-template-columns:250px minmax(0,1fr)}.teacher-sidebar--fixed{width:250px;height:100vh;position:fixed;top:0;left:0;overflow:hidden}.teacher-dashboard-main--with-fixed-sidebar{width:calc(100% - 270px);min-height:100vh;margin-left:290px}.teacher-sidebar{gap:18px;padding:24px 16px}.teacher-sidebar__brand-mark{border-radius:14px;width:42px;height:42px;font-size:.84rem}.teacher-sidebar__title{font-size:1.15rem}.teacher-sidebar__link{border-radius:12px;gap:10px;padding:9px 10px;font-size:.86rem}.teacher-sidebar__link-icon{border-radius:7px;width:20px;height:20px;font-size:.72rem}.teacher-sidebar-profile{margin-top:auto;position:relative}.teacher-theme-toggle{color:#334155;cursor:pointer;background:#fff;border:1px solid #dbe6f2;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;margin-bottom:8px;padding:8px;font-size:.8rem;display:inline-flex}.teacher-sidebar-profile__trigger{cursor:pointer;color:#334155;background:#fff;border:1px solid #dbe6f2;border-radius:12px;align-items:center;gap:10px;width:100%;padding:8px;display:flex}.teacher-sidebar-profile__avatar{background:#e2e8f0;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.74rem;font-weight:700;display:inline-flex}.teacher-sidebar-profile__copy{text-align:left;flex-direction:column;line-height:1.2;display:flex}.teacher-sidebar-profile__copy strong{font-size:.8rem}.teacher-sidebar-profile__copy small{color:#64748b;font-size:.72rem}.teacher-sidebar-profile__menu{background:#fff;border:1px solid #dbe6f2;border-radius:10px;width:100%;padding:6px;position:absolute;bottom:48px;left:0;box-shadow:0 16px 32px #0f172a1a}.teacher-sidebar-profile__menu button{text-align:left;color:#b91c1c;cursor:pointer;background:0 0;border:none;border-radius:8px;width:100%;padding:8px;font-size:.82rem}.teacher-dashboard-main{gap:18px;padding:24px 24px 20px}.teacher-hero{border-radius:20px;grid-template-columns:minmax(0,1fr) 140px;margin-right:14px}.teacher-hero__eyebrow{margin-bottom:6px;font-size:.82rem}.teacher-hero__title{margin-bottom:8px;font-size:clamp(1.35rem,2.2vw,1.85rem)}.teacher-hero__summary{margin-bottom:14px;font-size:.87rem;line-height:1.55}.teacher-hero__shape--outer{border-width:6px;width:92px;height:92px}.teacher-hero__shape--inner{border-width:6px;width:62px;height:62px}.teacher-hero__monogram{font-size:1.2rem}.teacher-button{border-radius:10px;padding:9px 12px;font-size:.8rem;font-weight:700}.teacher-dashboard-grid{grid-template-columns:minmax(0,1fr) 280px;gap:18px}.teacher-section-heading h3{font-size:1.55rem}.teacher-section-heading--compact h3{font-size:1.25rem}.teacher-section-link,.teacher-side-link{font-size:.82rem}.teacher-class-grid{gap:14px}.teacher-class-card{border-radius:18px}.teacher-class-card__surface{text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:0}.teacher-class-card__banner{padding:16px 14px 52px}.teacher-class-card__banner h4{margin-bottom:6px;font-size:1.2rem;line-height:1.15}.teacher-class-card__banner p,.teacher-class-card__students,.teacher-dashboard-footer__email,.teacher-upcoming-item__copy p,.teacher-inline-state,.teacher-modal__form label span{font-size:.8rem}.teacher-class-card__body{gap:10px;padding:12px 14px 14px}.teacher-class-card__teacher{margin-bottom:10px;font-size:.88rem}.teacher-class-card__avatar,.teacher-dashboard-footer__avatar{opacity:0;width:38px;height:38px;font-size:.74rem;transition:opacity .2s,transform .2s,background .2s;transform:translateY(-4px)}.teacher-class-card:hover .teacher-class-card__menu,.teacher-class-card:focus-within .teacher-class-card__menu{opacity:1;transform:translateY(0)}.teacher-class-card--skeleton{pointer-events:none;overflow:hidden}.teacher-upcoming-skeleton{gap:8px;display:grid}.teacher-skeleton{background:#e2e8f0;border-radius:10px;position:relative;overflow:hidden}.teacher-skeleton:after{content:"";background:linear-gradient(90deg,#0000,#ffffffb8,#0000);animation:1.15s infinite teacher-shimmer;position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%)}.teacher-skeleton--banner{height:122px}.teacher-skeleton--copy{width:72%;height:36px}.teacher-skeleton--avatar{border-radius:50%;width:38px;height:38px}.teacher-skeleton--line{height:16px}.teacher-skeleton--hero{border-radius:20px;height:190px}.teacher-skeleton--tab{border-radius:8px 8px 0 0;width:110px;height:34px}.teacher-skeleton--activity{height:94px}@keyframes teacher-shimmer{to{transform:translate(100%)}}.teacher-class-card--add{min-height:188px;padding:16px}.teacher-class-card__plus{width:42px;height:42px;font-size:1.5rem}.teacher-class-card__add-title{font-size:1rem}.teacher-class-card__add-copy{text-align:center;font-size:.76rem}.teacher-side-card{border-radius:18px;padding:16px 14px}.teacher-upcoming-item{grid-template-columns:8px minmax(0,1fr);gap:10px;padding:10px 0}.teacher-upcoming-item__copy h4{margin-bottom:4px;font-size:.96rem}.teacher-upcoming-item__copy strong,.teacher-mini-stats__row span,.teacher-mini-stats__row strong{font-size:.82rem}.teacher-mini-stats{gap:10px}.teacher-inline-state{color:#64748b}.teacher-inline-state--error{color:#b91c1c}.teacher-modal{z-index:1100;place-items:center;padding:16px;display:grid;position:fixed;top:0;right:0;bottom:0;left:0}.teacher-modal__backdrop{background:#0f172a66;position:absolute;top:0;right:0;bottom:0;left:0}.teacher-modal__content{z-index:1;background:#fff;border:1px solid #dbe6f2;border-radius:16px;width:min(460px,100%);padding:16px;position:relative;box-shadow:0 24px 48px #0f172a33}.teacher-modal__header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.teacher-modal__header h3{font-size:1rem}.teacher-modal__header button{color:#64748b;cursor:pointer;background:0 0;border:none;font-size:.9rem}.teacher-modal__form{gap:10px;display:grid}.teacher-modal__form label{gap:6px;display:grid}.teacher-modal__form input,.teacher-modal__form textarea{width:100%;font:inherit;background:#f8fbff;border:1px solid #dbe6f2;border-radius:10px;padding:9px 10px;font-size:.88rem}.teacher-modal__actions{justify-content:flex-end;gap:8px;display:flex}.teacher-class-page{background:linear-gradient(#f8fbff,#f2f6fb);min-height:100vh;padding:20px}.teacher-class-page--shell{padding:0;position:relative}.teacher-class-page__back{color:#3b82f6;cursor:pointer;background:0 0;border:none;margin-bottom:10px;font-size:.86rem}.teacher-class-hero{background-color:#0000;background-image:radial-gradient(circle at 88% 18%,#ffffff29 0,#ffffff29 9%,#0000 9.3%),radial-gradient(circle at 76% 82%,#ffffff17 0,#ffffff17 6.5%,#0000 6.8%),linear-gradient(135deg,#1f3d8f,#1c2d71 42%,#131f54);background-position:50%;background-repeat:repeat,repeat,repeat;background-size:cover;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-radius:24px;min-height:270px;margin-bottom:16px;position:relative;overflow:hidden;box-shadow:0 16px 36px #0f172a33}.teacher-class-hero__overlay{background:linear-gradient(#080f2729,#080f27a8),repeating-linear-gradient(-28deg,#ffffff0f 0,#ffffff0f 2px,#0000 2px,#0000 15px);position:absolute;top:0;right:0;bottom:0;left:0}.teacher-class-hero__content{z-index:1;color:#fff;padding:156px 30px 30px;position:relative}.teacher-class-hero__content h1{text-shadow:0 2px 14px #0000004d;margin-bottom:6px;font-size:clamp(2rem,3.6vw,3.1rem);line-height:1.05}.teacher-class-hero__content p{color:#ffffffd6;font-size:1.04rem}.teacher-class-hero__actions{z-index:2;position:absolute;top:16px;right:16px}.teacher-class-hero__menu{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a75;border:1px solid #ffffff52;border-radius:999px;justify-content:center;align-items:center;width:40px;height:40px;line-height:0;transition:transform .18s,background .2s;display:inline-flex}.teacher-class-hero__menu:hover{background:#0f172a99;transform:translateY(-1px)}.teacher-class-hero__menu-list{background:#fff;border:1px solid #dbe6f2;border-radius:14px;min-width:220px;animation:.16s teacher-pop-in;position:absolute;top:48px;right:0;overflow:hidden;box-shadow:0 22px 40px #0f172a38}.teacher-class-hero__menu-list button{text-align:left;color:#1e293b;cursor:pointer;background:0 0;border:none;width:100%;padding:12px 14px;font-size:.9rem;font-weight:600}.teacher-class-hero__menu-list button:hover{background:#f8fafc}.teacher-class-hero__menu-list button+button{border-top:1px solid #eef2f7}@keyframes teacher-pop-in{0%{opacity:0;transform:translateY(-6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.teacher-class-tabs{border-bottom:1px solid #dbe6f2;align-items:center;gap:6px;margin-bottom:14px;padding:0 3px;display:flex}.teacher-class-tabs__item{color:#475569;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 12px;font-size:.96rem;font-weight:600}.teacher-class-tabs__item.is-active{color:#4f46e5;border-bottom-color:#4f46e5}.teacher-class-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:20px;display:grid}.teacher-class-layout.is-stream{grid-template-columns:minmax(0,1fr) 320px}.teacher-class-right,.teacher-class-main,.teacher-detail-card,.teacher-announce-box,.teacher-notice-card{background:#fff;border:1px solid #dbe6f2;border-radius:14px}.teacher-class-right{background:0 0;border:none;gap:16px;margin-right:16px;display:grid}.teacher-detail-card{padding:16px}.teacher-detail-card--class-code{position:relative}.teacher-detail-card--live{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #bfdbfe}.teacher-detail-card--class-code{border-style:dashed}.teacher-detail-card__live-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex;position:relative}.teacher-detail-card__icon-action{color:#64748b;cursor:pointer;background:#fff;border:1px solid #dbe6f2;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.teacher-detail-card--live p{color:#1e3a8a;margin-bottom:14px;font-size:.9rem;line-height:1.55}.teacher-detail-card h3{margin-bottom:10px;font-size:1rem}.teacher-detail-card__code{letter-spacing:.12em;color:#5b6ef6;margin-bottom:12px;font-size:1.65rem;font-weight:800}.teacher-share-btn{align-items:center;gap:6px;display:inline-flex}.teacher-detail-list{gap:8px;display:grid}.teacher-detail-list__item{border-top:1px solid #edf2f7;padding-top:8px}.teacher-detail-list__item small{color:#94a3b8;margin-bottom:3px;font-size:.74rem;display:block}.teacher-detail-list__item strong{color:#334155;font-size:.9rem}.teacher-class-main{background:0 0;border:none;gap:12px;padding:0;display:grid}.teacher-list-block{background:#fff;border:1px solid #dbe6f2;border-radius:18px;padding:14px;box-shadow:0 8px 24px #0f172a0f}.teacher-list-block--stream,.teacher-list-block--classwork{box-shadow:none;background:0 0;border:none;padding:0}.teacher-list-block h3{margin-bottom:8px;font-size:.95rem}.teacher-list-block--compact{padding-top:10px}.teacher-list-block__heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.teacher-list-block__heading--stream{padding:0 4px}.teacher-list-block__heading small{color:#94a3b8;font-size:.76rem;font-weight:600}.teacher-activity-feed{gap:10px;display:grid}.teacher-activity-item{background:#fff;border:1px solid #dbe6f2;border-radius:12px;padding:11px}.teacher-activity-item__header{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px;display:flex}.teacher-activity-item__header h4{color:#1f2937;font-size:.92rem}.teacher-activity-item__pill{color:#334155;background:#e2e8f0;border-radius:999px;justify-content:center;align-items:center;margin-bottom:5px;padding:2px 9px;font-size:.68rem;font-weight:700;display:inline-flex}.teacher-activity-item--assignment .teacher-activity-item__pill{color:#1d4ed8;background:#dbeafe}.teacher-activity-item--notice .teacher-activity-item__pill{color:#6d28d9;background:#ede9fe}.teacher-activity-item p{color:#64748b;margin-bottom:7px;font-size:.82rem;line-height:1.55}.teacher-activity-item small{color:#94a3b8;font-size:.74rem}.teacher-activity-item__header button,.teacher-notice-card header button,.teacher-assignment-list__item button{color:#b91c1c;cursor:pointer;background:#fee2e2;border:none;border-radius:8px;padding:7px 10px;font-size:.76rem}.teacher-class-page__actions{justify-content:flex-end;margin-bottom:10px;display:flex}.teacher-class-page__delete{color:#b91c1c;cursor:pointer;background:#fee2e2;border:1px solid #fecaca;border-radius:10px;padding:8px 12px;font-size:.8rem}.teacher-assignment-form{background:#fff;border:1px solid #dbe6f2;border-radius:14px;gap:10px;padding:16px;display:grid}.teacher-assignment-form h3{margin:2px 0 8px;font-size:1.02rem}.teacher-assignment-form input{font:inherit;background:#f8fbff;border:1px solid #dbe6f2;border-radius:12px;padding:11px 12px;font-size:.9rem}.teacher-assignment-form button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:12px;padding:11px 12px;font-size:.92rem;font-weight:700}.teacher-assignment-form__field{gap:7px;display:grid}.teacher-assignment-form__field span{color:#475569;align-items:center;gap:6px;font-size:.86rem;font-weight:700;display:inline-flex}.teacher-assignment-form__field textarea{font:inherit;resize:vertical;background:#f8fbff;border:1px solid #dbe6f2;border-radius:12px;padding:11px 12px;font-size:.9rem}.teacher-assignment-form__files-label{flex-direction:column;gap:10px;display:flex}.teacher-assignment-form__files-label span{color:#64748b;font-size:.86rem;font-weight:700}.teacher-assignment-form__link-list{gap:8px;display:grid}.teacher-assignment-form__link-input-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.teacher-assignment-form__link-add-icon{color:#2563eb;cursor:pointer;background:#dbeafe;border:1px solid #bfdbfe;border-radius:10px;justify-content:center;align-items:center;width:42px;height:42px;padding:0;display:inline-flex}.teacher-assignment-form__link-pill{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 10px;display:grid}.teacher-assignment-form__link-pill-copy{color:#475569;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;min-width:0;font-size:.85rem;font-weight:600;display:inline-flex;overflow:hidden}.teacher-assignment-form__link-pill-copy svg{color:#94a3b8;flex:none}.teacher-assignment-form__link-pill-remove{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:26px;height:26px;padding:0;display:inline-flex}.teacher-stream-card--skeleton{pointer-events:none}.teacher-stream-card--skeleton .teacher-skeleton--avatar{border-radius:50%;width:36px;height:36px}.teacher-assignment-list{gap:8px;display:grid}.teacher-assignment-list--clickable .teacher-assignment-list__item{cursor:pointer}.teacher-assignment-list__item.is-active{border-color:#93c5fd;box-shadow:0 0 0 2px #3b82f61f}.teacher-assignment-list__item{background:#fff;border:1px solid #dbe6f2;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:10px;display:flex}.teacher-assignment-list__item strong{margin-bottom:4px;font-size:.88rem;display:block}.teacher-assignment-list__item p,.teacher-assignment-list__item small{color:#64748b;font-size:.78rem}.teacher-assignment-list__actions{align-items:center;gap:8px;display:inline-flex}.teacher-assignment-badge{border-radius:999px;align-items:center;padding:4px 9px;font-size:.7rem;font-weight:700;display:inline-flex}.teacher-assignment-badge--open{color:#166534;background:#dcfce7}.teacher-assignment-badge--closed{color:#991b1b;background:#fee2e2}.teacher-assignment-badge--nodue,.teacher-assignment-badge--invalid{color:#334155;background:#e2e8f0}.teacher-assignment-submissions{background:#f8fbff;border:1px solid #dbe6f2;border-radius:12px;margin-top:10px;padding:12px}.teacher-assignment-submissions__header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.teacher-assignment-submissions__header h4{color:#1e293b;font-size:.9rem}.teacher-assignment-submissions__header small{color:#64748b;font-size:.76rem}.teacher-submission-list{gap:8px;display:grid}.teacher-submission-item{background:#fff;border:1px solid #dbe6f2;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:9px;display:flex}.teacher-submission-item__left{align-items:center;gap:8px;display:flex}.teacher-submission-item__left strong{color:#1e293b;font-size:.84rem;display:block}.teacher-submission-item__left small,.teacher-submission-item__meta small{color:#64748b;font-size:.74rem}.teacher-submission-item__meta{justify-items:end;gap:4px;display:grid}.teacher-people-list{gap:8px;display:grid}.teacher-people-item{background:#fff;border:1px solid #dbe6f2;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:9px 10px;display:flex}.teacher-people-item__main{align-items:center;gap:8px;display:flex}.teacher-people-item__main strong{color:#1e293b;font-size:.85rem;display:block}.teacher-people-item__main small{color:#64748b;font-size:.74rem}.teacher-people-item__remove{color:#b91c1c;cursor:pointer;opacity:0;pointer-events:none;background:#fff1f2;border:1px solid #fecaca;border-radius:8px;align-items:center;gap:5px;padding:5px 8px;font-size:.74rem;transition:opacity .2s;display:inline-flex}.teacher-people-item:hover .teacher-people-item__remove,.teacher-people-item:focus-within .teacher-people-item__remove{opacity:1;pointer-events:auto}.teacher-marks-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.teacher-marks-card{background:#fff;border:1px solid #dbe6f2;border-radius:10px;gap:4px;padding:12px;display:grid}.teacher-marks-card strong{color:#1e3a8a;font-size:1.2rem}.teacher-marks-card span{color:#64748b;font-size:.78rem}.teacher-assignment-list__item button,.teacher-notice-card header button{color:#b91c1c;cursor:pointer;background:#fee2e2;border:none;border-radius:8px;padding:7px 10px;font-size:.76rem}.teacher-announce-box{grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px;display:grid}.teacher-announce-box--composer{background:#fff;border:1px solid #dbe6f2;border-radius:12px}.teacher-announce-box--stream{background:#fff;border:1px solid #dbe6f2;border-radius:18px;margin-bottom:14px;padding:14px}.teacher-announce-box--flat{box-shadow:0 8px 24px #0f172a0f}.teacher-announce-box__avatar,.teacher-notice-card__avatar{background:#e2e8f0;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.68rem;font-weight:700;display:inline-flex}.teacher-announce-box input{font:inherit;background:#f8fbff;border:1px solid #dbe6f2;border-radius:10px;padding:9px 10px;font-size:.86rem}.teacher-announce-box button{color:#4f46e5;cursor:pointer;background:#e0e7ff;border:none;border-radius:999px;justify-content:center;align-items:center;width:38px;height:38px;padding:0;font-size:.8rem;display:inline-flex}.teacher-announce-box--stream button:before{content:none}.teacher-notice-stream{gap:14px;display:grid}.teacher-stream-card{background:#fff;border:1px solid #e7eef8;border-radius:18px;overflow:hidden;box-shadow:0 10px 26px #0f172a0f}.teacher-stream-card__header{justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px 10px;display:flex}.teacher-stream-card__author{align-items:center;gap:12px;min-width:0;display:flex}.teacher-stream-card__avatar{color:#334155;background:#fde2e7;border-radius:50%;flex:none;justify-content:center;align-items:center;width:36px;height:36px;font-size:.75rem;font-weight:800;display:inline-flex}.teacher-stream-card--assignment .teacher-stream-card__avatar{color:#1d4ed8;background:#dbeafe}.teacher-stream-card__meta{min-width:0}.teacher-stream-card__meta h4{color:#1e293b;margin-bottom:2px;font-size:1.02rem;font-weight:800}.teacher-stream-card__meta small{color:#94a3b8;font-size:.8rem;font-weight:600}.teacher-stream-card__actions{flex:none;align-items:center;gap:8px;display:inline-flex}.teacher-stream-card__action{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.teacher-stream-card__action:hover{background:#f8fafc}.teacher-stream-card__action--danger{color:#b91c1c;background:#fff1f2;border-color:#fecaca}.teacher-stream-card__body{padding:0 18px 12px}.teacher-stream-card__body p{color:#4f6486;font-size:.98rem;line-height:1.6}.teacher-stream-card__assignment{grid-template-columns:38px minmax(0,1fr) auto;align-items:start;gap:12px;display:grid}.teacher-stream-card__chip{color:#4f46e5;background:#eef2ff;border-radius:12px;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.teacher-stream-card__assignment-copy strong{color:#1e293b;margin-bottom:6px;font-size:1rem;display:block}.teacher-stream-card__assignment-copy p{color:#4f6486;margin:0;font-size:.94rem}.teacher-stream-card__stats{text-align:right;grid-auto-flow:column;justify-content:end;align-items:center;gap:12px;display:grid}.teacher-stream-card__stats strong{color:#1e293b;font-size:1rem;display:block}.teacher-stream-card__stats small{color:#94a3b8;text-transform:lowercase;font-size:.72rem;font-weight:700}.teacher-stream-card__footer{padding:0 18px 16px}.teacher-stream-card__discussion-wrap{gap:12px;display:grid}.teacher-stream-card__discussion{border-left:1px solid #eef2f7;gap:12px;margin-left:24px;padding-left:14px;display:grid}.teacher-stream-card__discussion-state{color:#94a3b8;font-size:.8rem}.teacher-stream-card__discussion-list{gap:10px;display:grid}.teacher-stream-card__discussion-item{grid-template-columns:28px minmax(0,1fr);align-items:start;gap:10px;display:grid}.teacher-stream-card__discussion-avatar{color:#334155;background:#e2e8f0;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.66rem;font-weight:800;display:inline-flex}.teacher-stream-card__discussion-copy{gap:3px;display:grid}.teacher-stream-card__discussion-meta{justify-content:space-between;align-items:center;gap:10px;display:flex}.teacher-stream-card__discussion-meta-copy{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.teacher-stream-card__discussion-meta strong{color:#1e293b;font-size:.82rem}.teacher-stream-card__discussion-meta small{color:#94a3b8;font-size:.72rem;font-weight:600}.teacher-stream-card__discussion-copy p{color:#4f6486;margin:0;font-size:.88rem;line-height:1.45}.teacher-stream-card__discussion-delete{color:#b91c1c;cursor:pointer;background:#fff1f2;border:1px solid #fecaca;border-radius:999px;flex:none;justify-content:center;align-items:center;width:24px;height:24px;padding:0;display:inline-flex}.teacher-stream-card__discussion-delete:disabled{opacity:.6;cursor:default}.teacher-stream-card__discussion-more{color:#4f46e5;cursor:pointer;background:0 0;border:none;justify-self:start;padding:0;font-size:.82rem;font-weight:700}.teacher-stream-card__comment{border-top:1px solid #eef2f7;grid-template-columns:28px minmax(0,1fr) 34px;align-items:center;gap:10px;padding-top:12px;display:grid}.teacher-stream-card__comment-avatar{color:#334155;background:#e2e8f0;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.7rem;font-weight:800;display:inline-flex}.teacher-stream-card__comment input{width:100%;font:inherit;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:10px 12px;font-size:.88rem}.teacher-stream-card__comment button{color:#4f46e5;cursor:pointer;background:#eef2ff;border:none;border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;padding:0;display:inline-flex}.teacher-stream-card__comment button:disabled{cursor:default;opacity:.55}.teacher-assignment-post{cursor:pointer;text-align:left;width:100%;font:inherit;background:#f8fafc;border:1px solid #e7eef8;border-radius:14px;align-items:center;gap:14px;padding:14px 16px;transition:background .15s,box-shadow .15s;display:flex}.teacher-assignment-post:hover{background:#f1f5f9;box-shadow:0 2px 8px #0f172a0f}.teacher-assignment-post__icon{color:#3b82f6;background:#dbeafe;border-radius:50%;flex:0 0 40px;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.teacher-assignment-post__copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.teacher-assignment-post__line{flex-wrap:wrap;align-items:baseline;gap:4px;font-size:.95rem;line-height:1.4;display:flex}.teacher-assignment-post__byline{color:#64748b;font-weight:500}.teacher-assignment-post__title{color:#1e293b;font-weight:700}.teacher-assignment-post__time{color:#22c55e;font-size:.82rem;font-weight:600}.teacher-assignment-post__chevron{color:#94a3b8;flex:none;justify-content:center;align-items:center;transition:color .15s;display:inline-flex}.teacher-assignment-post:hover .teacher-assignment-post__chevron{color:#4f46e5}[data-theme=dark] .teacher-assignment-post{background:#1e293b;border-color:#334155}[data-theme=dark] .teacher-assignment-post:hover{background:#243350}[data-theme=dark] .teacher-assignment-post__icon{color:#60a5fa;background:#1e3a5f}[data-theme=dark] .teacher-assignment-post__byline{color:#94a3b8}[data-theme=dark] .teacher-assignment-post__title{color:#e2e8f0}[data-theme=dark] .teacher-assignment-post__time{color:#4ade80}[data-theme=dark] .teacher-assignment-post__chevron{color:#64748b}.teacher-classwork-list{background:0 0;border:none;border-radius:0;gap:14px;padding-top:22px;display:grid;overflow:visible}.teacher-classwork-item{background:0 0;border:1px solid #dbe6f2;border-radius:20px;flex-direction:column;display:flex;overflow:hidden}.teacher-classwork-item__row{cursor:pointer;grid-template-columns:44px minmax(0,1fr) auto 44px;align-items:center;gap:12px;padding:16px 18px;display:grid}.teacher-classwork-item__submissions{background:#6366f108;border-top:1px solid #e7eef8;gap:12px;padding:16px 18px;display:grid}.teacher-classwork-item:first-child{border-top:1px solid #dbe6f2}.teacher-classwork-item__row:hover{background:#6366f10a;border-radius:20px}.teacher-classwork-item.is-active{background:#4f46e50f;border-color:#4f46e547;outline:none}.teacher-classwork-item__icon{color:#4f46e5;background:#eef2ff;border-radius:14px;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.teacher-classwork-item__copy strong{color:#1e293b;font-size:1rem}.teacher-classwork-item__copy small{color:#94a3b8;margin-top:4px;font-size:.78rem;font-weight:600;display:block}.teacher-classwork-item__top{justify-content:space-between;align-items:center;gap:10px;display:flex}.teacher-classwork-item__badge{color:#334155;white-space:nowrap;background:#e2e8f0;border-radius:999px;align-items:center;padding:4px 10px;font-size:.72rem;font-weight:800;display:inline-flex}.teacher-classwork-item__badge--open{color:#166534;background:#dcfce7}.teacher-classwork-item__badge--closed{color:#991b1b;background:#fee2e2}.teacher-classwork-item__badge--nodue,.teacher-classwork-item__badge--invalid{color:#334155;background:#e2e8f0}.teacher-classwork-item__meta{text-align:right;grid-auto-flow:column;justify-content:end;align-items:center;gap:14px;display:grid}.teacher-classwork-item__meta-block strong{color:#1e293b;font-size:1rem;display:block}.teacher-classwork-item__meta-block small{color:#94a3b8;font-size:.72rem;font-weight:700}.teacher-classwork-item__actions{justify-content:end;display:inline-flex}.teacher-classwork-item--student .teacher-classwork-item__row{grid-template-columns:44px minmax(0,1fr)}.teacher-classwork-module{background:0 0;border:none;border-radius:0;overflow:visible}.teacher-classwork-module__header{border-bottom:2px solid #6366f1;justify-content:space-between;align-items:center;gap:12px;padding:10px 0 18px;display:flex}.teacher-classwork-module__title h3{color:#4f46e5;margin:0;font-size:1.05rem}.teacher-classwork-module__title small{color:#94a3b8;font-size:.78rem;font-weight:700}.teacher-classwork-module__menu{color:#94a3b8;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.teacher-list-block--student-classwork{box-shadow:none;background:0 0;border:none;padding:0}.teacher-classwork-module--student{background:0 0;border:none}.teacher-inline-state--plain{color:#64748b;padding:8px 0}.teacher-classwork-item__attachments{flex-wrap:wrap;align-items:flex-start;gap:6px;margin-top:8px;display:flex}.teacher-classwork-item__attachment-thumb{-o-object-fit:cover;object-fit:cover;border:1px solid #dbe6f2;border-radius:6px;width:24px;height:24px}.teacher-classwork-item__attachment-count{color:#64748b;font-size:.74rem;font-weight:700}.teacher-classwork-item__links{flex-wrap:wrap;gap:6px;display:flex}.teacher-classwork-item__link{color:#1d4ed8;text-overflow:ellipsis;white-space:nowrap;background:#3b82f614;border:1px solid #dbe6f2;border-radius:999px;align-items:center;max-width:220px;padding:4px 10px;font-size:.74rem;font-weight:700;text-decoration:none;display:inline-flex;overflow:hidden}.teacher-classwork-item__link:hover{background:#2563eb26}.teacher-classwork-item__actions button{color:#b91c1c;background:#fff1f2}.teacher-classwork-item__actions button:hover{filter:brightness(.98)}.teacher-detail-card__code-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.teacher-detail-card__menu{z-index:5;background:#fff;border:1px solid #dbe6f2;border-radius:14px;width:180px;animation:.16s teacher-pop-in;position:absolute;top:38px;right:0;overflow:hidden;box-shadow:0 18px 34px #0f172a24}.teacher-list-block--people{box-shadow:none;background:0 0;border:none;border-radius:0;margin-left:34px;padding:10px 0}.teacher-people-section+.teacher-people-section{margin-top:22px}.teacher-people-section__header{border-bottom:1px solid #d9e2f1;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:8px 0 16px;display:flex}.teacher-people-section__header h3{color:#5b6ef6;margin:0;font-size:1.1rem}.teacher-people-section__header small{color:#94a3b8;margin-left:10px;font-size:.82rem;font-weight:700}.teacher-people-section__title{align-items:baseline;gap:8px;display:inline-flex}.teacher-people-section__title small{margin-left:0}.teacher-people-section__action{color:#5b6ef6;cursor:pointer;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.teacher-people-section__action:disabled{opacity:.8;cursor:default}.teacher-people-search{margin-bottom:12px;position:relative}.teacher-people-search svg{color:#94a3b8;pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.teacher-people-search input{width:100%;font:inherit;background:#f8fbff;border:1px solid #dbe5f2;border-radius:14px;padding:13px 14px 13px 46px;font-size:.95rem}.teacher-people-row{border-bottom:1px solid #edf2f7;justify-content:space-between;align-items:center;gap:14px;padding:14px 4px;display:flex}.teacher-people-row:last-child{border-bottom:none}.teacher-people-row__main{align-items:center;gap:12px;min-width:0;display:flex}.teacher-people-row__avatar{color:#1d4ed8;background:#dbeafe;border-radius:50%;flex:none;justify-content:center;align-items:center;width:54px;height:54px;font-size:.9rem;font-weight:900;display:inline-flex;overflow:hidden}.teacher-people-row__avatar--teacher{color:#334155;background:#fde2e7}.teacher-people-row__avatar-image{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.teacher-people-row__main strong{color:#1e293b;font-size:.98rem;line-height:1.1;display:block}.teacher-people-row__main small{color:#94a3b8;font-size:.9rem;font-weight:600;display:block}.teacher-people-row__meta{flex:none;align-items:center;gap:12px;display:inline-flex}.teacher-people-row__pill{color:#64748b;white-space:nowrap;background:#e2e8f0;border-radius:999px;align-items:center;padding:6px 12px;font-size:.78rem;font-weight:800;display:inline-flex}.teacher-people-row__remove{color:#ef4444;width:34px;height:34px;font:inherit;cursor:pointer;background:#fff5f7;border:1px solid #fde2e7;border-radius:10px;justify-content:center;align-items:center;padding:0;display:inline-flex}.teacher-people-row__remove span{font-size:.82rem}.teacher-toast{z-index:1300;color:#e2e8f0;background:#0f172aeb;border-radius:999px;max-width:320px;padding:10px 16px;font-size:.82rem;position:fixed;bottom:20px;right:24px;box-shadow:0 18px 32px #0f172a73}[data-theme=dark] .teacher-toast{color:#e2e8f0;background:#0f172af5}[data-theme=dark] .teacher-people-section__header{border-bottom-color:#22314f}[data-theme=dark] .teacher-list-block--people{box-shadow:none;background:0 0;border:none}[data-theme=dark] .teacher-people-search input{color:#e2e8f0;background:0 0;border-color:#22314f}[data-theme=dark] .teacher-people-search svg{color:#7f94b5}[data-theme=dark] .teacher-people-row{border-bottom-color:#22314f}[data-theme=dark] .teacher-people-row__main strong{color:#e2e8f0}[data-theme=dark] .teacher-people-row__main small{color:#9db0cf}[data-theme=dark] .teacher-people-section__action{color:#93c5fd}[data-theme=dark] .teacher-people-row__remove{color:#fca5a5;background:#ef444429;border-color:#ef44444d}.teacher-detail-card__menu button{color:#1e293b;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:12px;font-size:.88rem;font-weight:700;display:flex}.teacher-detail-card__menu button:hover{background:#f8fafc}.teacher-detail-card__menu button+button{border-top:1px solid #eef2f7}.teacher-notice-card{border-color:#dbe6f2;border-radius:18px;padding:18px;box-shadow:0 8px 24px #0f172a12}.teacher-notice-card__author{align-items:center;gap:10px;margin-bottom:12px;display:flex}.teacher-fab{z-index:1200;justify-items:end;gap:10px;display:grid;position:fixed;bottom:20px;right:22px}.teacher-fab__trigger{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;line-height:0;display:inline-flex;box-shadow:0 18px 38px #2563eb59}.teacher-composer-modal{z-index:1250;place-items:center;padding:16px;display:grid;position:fixed;top:0;right:0;bottom:0;left:0}.teacher-composer-modal__backdrop{background:#0f172a80;position:absolute;top:0;right:0;bottom:0;left:0}.teacher-composer-modal__content{z-index:1;background:#fff;border:1px solid #dbe6f2;border-radius:14px;width:min(420px,100vw - 36px);padding:12px;position:relative;box-shadow:0 24px 48px #0f172a3d}.teacher-fab__panel{background:#fff;border:1px solid #dbe6f2;border-radius:14px;width:min(380px,100vw - 40px);padding:10px;box-shadow:0 20px 40px #0f172a24}.teacher-fab__switches{gap:8px;margin-bottom:8px;display:flex}.teacher-fab__switches button{color:#334155;cursor:pointer;background:#f8fbff;border:1px solid #dbe6f2;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:8px 10px;font-size:.8rem;display:inline-flex}.teacher-fab__switches button.is-active{color:#1d4ed8;background:#eaf2ff;border-color:#93c5fd}.teacher-notice-card header{justify-content:space-between;align-items:center;gap:8px;display:flex}.teacher-notice-card__author h4{font-size:1.08rem}.teacher-notice-card__author small,.teacher-notice-card p{color:#4f6486;font-size:.98rem;line-height:1.6}@media (max-width:1100px){.teacher-dashboard-page{display:block}.teacher-sidebar--fixed{width:auto;height:auto;position:static}.teacher-dashboard-main--with-fixed-sidebar{width:100%;margin-left:0}.teacher-class-layout,.teacher-dashboard-grid{grid-template-columns:1fr}}[data-theme=dark] .teacher-dashboard-page,[data-theme=dark] .teacher-class-page{color:#e2e8f0;background:linear-gradient(#0b1220,#0f172a)}[data-theme=dark] .teacher-sidebar,[data-theme=dark] .teacher-sidebar-profile__trigger,[data-theme=dark] .teacher-theme-toggle,[data-theme=dark] .teacher-side-card,[data-theme=dark] .teacher-class-card,[data-theme=dark] .teacher-modal__content,[data-theme=dark] .teacher-composer-modal__content,[data-theme=dark] .teacher-detail-card,[data-theme=dark] .teacher-list-block,[data-theme=dark] .teacher-assignment-form,[data-theme=dark] .teacher-assignment-list__item,[data-theme=dark] .teacher-assignment-submissions,[data-theme=dark] .teacher-submission-item,[data-theme=dark] .teacher-people-item,[data-theme=dark] .teacher-marks-card,[data-theme=dark] .teacher-notice-card,[data-theme=dark] .teacher-announce-box,[data-theme=dark] .teacher-fab__panel{color:#e2e8f0;background:#101b31;border-color:#22314f}[data-theme=dark] .teacher-class-main{background:0 0;border-color:#0000}[data-theme=dark] .teacher-sidebar__link{color:#9db0cf}[data-theme=dark] .teacher-sidebar__link:hover,[data-theme=dark] .teacher-sidebar__link.is-active{color:#dbeafe;background:#1a2a47}[data-theme=dark] .teacher-class-card__teacher,[data-theme=dark] .teacher-class-card__students,[data-theme=dark] .teacher-upcoming-item__copy p,[data-theme=dark] .teacher-detail-card--live p,[data-theme=dark] .teacher-detail-list__item small,[data-theme=dark] .teacher-assignment-list__item p,[data-theme=dark] .teacher-assignment-list__item small,[data-theme=dark] .teacher-submission-item__left small,[data-theme=dark] .teacher-submission-item__meta small,[data-theme=dark] .teacher-assignment-submissions__header small,[data-theme=dark] .teacher-people-item__main small,[data-theme=dark] .teacher-marks-card span,[data-theme=dark] .teacher-notice-card__author small,[data-theme=dark] .teacher-notice-card p,[data-theme=dark] .teacher-inline-state{color:#9db0cf}[data-theme=dark] .teacher-detail-card h3,[data-theme=dark] .teacher-assignment-list__item strong,[data-theme=dark] .teacher-submission-item__left strong,[data-theme=dark] .teacher-people-item__main strong,[data-theme=dark] .teacher-assignment-submissions__header h4,[data-theme=dark] .teacher-marks-card strong,[data-theme=dark] .teacher-list-block h3{color:#e2e8f0}[data-theme=dark] .teacher-detail-card--live{background:linear-gradient(135deg,#0f172a,#172554);border-color:#36507a}[data-theme=dark] .teacher-detail-card__icon-action{color:#93c5fd;background:#0f172a;border-color:#36507a}[data-theme=dark] .teacher-detail-card__code{color:#93c5fd}[data-theme=dark] .teacher-share-btn{color:#dbeafe;border-color:#36507a}[data-theme=dark] .teacher-assignment-list__item.is-active{border-color:#36507a;box-shadow:0 0 0 2px #3b82f640}[data-theme=dark] .teacher-people-item__remove{color:#fca5a5;background:#ef444429;border-color:#ef444447}[data-theme=dark] .teacher-assignment-badge--open{color:#86efac;background:#22c55e2e}[data-theme=dark] .teacher-assignment-badge--closed{color:#fca5a5;background:#ef44442e}[data-theme=dark] .teacher-assignment-badge--nodue,[data-theme=dark] .teacher-assignment-badge--invalid{color:#cbd5e1;background:#1e293b}[data-theme=dark] .teacher-assignment-form input,[data-theme=dark] .teacher-assignment-form textarea,[data-theme=dark] .teacher-modal__form input,[data-theme=dark] .teacher-modal__form textarea,[data-theme=dark] .teacher-announce-box input,[data-theme=dark] .teacher-announce-box textarea{color:#e2e8f0;background:#0f172a;border-color:#22314f}[data-theme=dark] .teacher-assignment-form__field span{color:#cbd5e1}[data-theme=dark] .teacher-assignment-form__files-label span{color:#9db0cf}[data-theme=dark] .teacher-assignment-form__link-add-icon{color:#93c5fd;background:#3b82f633;border-color:#36507a}[data-theme=dark] .teacher-assignment-form__link-pill{background:#0f172a;border-color:#22314f}[data-theme=dark] .teacher-assignment-form__link-pill-copy{color:#cbd5e1}[data-theme=dark] .teacher-assignment-form__link-pill-copy svg,[data-theme=dark] .teacher-assignment-form__link-pill-remove{color:#9db0cf}[data-theme=dark] .teacher-class-tabs{border-bottom-color:#22314f}[data-theme=dark] .teacher-class-tabs__item{color:#9db0cf}[data-theme=dark] .teacher-class-tabs__item.is-active{color:#93c5fd;border-bottom-color:#93c5fd}[data-theme=dark] .teacher-class-hero__menu{background:#0f172aa3;border-color:#93c5fd73}[data-theme=dark] .teacher-activity-item,[data-theme=dark] .teacher-class-hero__menu-list,[data-theme=dark] .teacher-stream-card,[data-theme=dark] .teacher-classwork-list,[data-theme=dark] .teacher-detail-card__menu{background:#101b31;border-color:#22314f}[data-theme=dark] .teacher-stream-card__meta h4,[data-theme=dark] .teacher-stream-card__assignment-copy strong,[data-theme=dark] .teacher-classwork-item__copy strong,[data-theme=dark] .teacher-classwork-item__meta-block strong{color:#e2e8f0}[data-theme=dark] .teacher-stream-card__body p,[data-theme=dark] .teacher-stream-card__assignment-copy p,[data-theme=dark] .teacher-classwork-item__copy small,[data-theme=dark] .teacher-stream-card__meta small{color:#9db0cf}[data-theme=dark] .teacher-stream-card__comment{border-top-color:#22314f}[data-theme=dark] .teacher-stream-card__comment input{color:#e2e8f0;background:#0f172a;border-color:#22314f}[data-theme=dark] .teacher-classwork-item{background:0 0;border-color:#22314f}[data-theme=dark] .teacher-classwork-list,[data-theme=dark] .teacher-classwork-module{background:0 0;border-color:#0000}[data-theme=dark] .teacher-classwork-module__header{border-bottom-color:#818cf8}[data-theme=dark] .teacher-classwork-module__menu{color:#9db0cf;background:0 0;border-color:#0000}[data-theme=dark] .teacher-list-block--classwork,[data-theme=dark] .teacher-list-block--student-classwork,[data-theme=dark] .teacher-classwork-module--student{box-shadow:none;background:0 0;border:none}[data-theme=dark] .teacher-stream-card__discussion-avatar{color:#dbeafe;background:#1e293b}[data-theme=dark] .teacher-stream-card__discussion{border-left-color:#22314f}[data-theme=dark] .teacher-stream-card__discussion-meta strong{color:#e2e8f0}[data-theme=dark] .teacher-stream-card__discussion-meta small,[data-theme=dark] .teacher-stream-card__discussion-state,[data-theme=dark] .teacher-inline-state--plain{color:#9db0cf}[data-theme=dark] .teacher-stream-card__discussion-copy p{color:#cbd5e1}[data-theme=dark] .teacher-stream-card__discussion-delete{color:#fca5a5;background:#ef444429;border-color:#ef444447}[data-theme=dark] .teacher-stream-card__discussion-more{color:#93c5fd}[data-theme=dark] .teacher-classwork-item__attachment-thumb{border-color:#36507a}[data-theme=dark] .teacher-classwork-item__attachment-count{color:#9db0cf}[data-theme=dark] .teacher-classwork-item__link{color:#bfdbfe;background:#3b82f633;border-color:#36507a}[data-theme=dark] .teacher-classwork-item__link:hover{background:#60a5fa47}[data-theme=dark] .teacher-classwork-item__row:hover{background:#818cf814;border-radius:18px}[data-theme=dark] .teacher-classwork-item__submissions{background:#6366f10f;border-top-color:#22314f}[data-theme=dark] .teacher-detail-card__menu button{color:#dbeafe}[data-theme=dark] .teacher-detail-card__menu button+button{border-top-color:#22314f}[data-theme=dark] .teacher-class-hero__menu-list button{color:#dbeafe}[data-theme=dark] .teacher-class-hero__menu-list button+button{border-top-color:#22314f}[data-theme=dark] .teacher-class-hero__menu-list button:hover{background:#17233b}[data-theme=dark] .teacher-activity-item__header h4{color:#e2e8f0}[data-theme=dark] .teacher-activity-item p,[data-theme=dark] .teacher-list-block__heading small{color:#9db0cf}[data-theme=dark] .teacher-fab__switches button{color:#9db0cf;background:#0f172a;border-color:#22314f}[data-theme=dark] .teacher-fab__switches button.is-active{color:#dbeafe;background:#1a2a47;border-color:#36507a}[data-theme=dark] .teacher-class-page__delete,[data-theme=dark] .teacher-assignment-list__item button,[data-theme=dark] .teacher-notice-card header button{color:#fca5a5;background:#ef444429;border:1px solid #ef444447}[data-theme=dark] .teacher-class-card__menu{color:#fca5a5;background:#0f172a94}[data-theme=dark] .teacher-skeleton{background:#22314f}[data-theme=dark] .teacher-skeleton:after{background:linear-gradient(90deg,#0000,#94a3b84d,#0000)}.student-class-code{color:#64748b;letter-spacing:.04em;align-items:center;gap:4px;margin-top:5px;font-size:.75rem;font-weight:700;display:inline-flex}.student-update-list{gap:10px;display:grid}.student-update-item{border-top:1px solid #edf2f7;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:10px;padding-top:10px;display:grid}.student-update-item:first-child{border-top:none;padding-top:0}.student-update-item__icon{color:#4f46e5;background:#e0e7ff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.student-update-item strong{color:#1e293b;margin-bottom:2px;font-size:.84rem;display:block}.student-update-item small{color:#64748b;font-size:.74rem}.student-join-modal{width:min(460px,100%)}.student-join-modal__header h3{align-items:center;gap:8px;display:inline-flex}.student-join-modal__hint{color:#64748b;margin-top:-2px;font-size:.82rem}.student-join-modal__input{text-transform:uppercase;letter-spacing:.14em;text-align:center;font-size:1rem;font-weight:800}.student-join-modal__preview{color:#64748b;font-size:.78rem}.student-join-modal__preview strong{color:#1e293b}[data-theme=dark] .student-class-code,[data-theme=dark] .student-update-item small,[data-theme=dark] .student-join-modal__hint,[data-theme=dark] .student-join-modal__preview{color:#9db0cf}[data-theme=dark] .student-update-item{border-top-color:#22314f}[data-theme=dark] .student-update-item__icon{color:#93c5fd;background:#1a2a47}[data-theme=dark] .student-update-item strong,[data-theme=dark] .student-join-modal__preview strong{color:#e2e8f0}@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-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@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-outline-style{syntax:"*";inherits:false;initial-value:solid}@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-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}
