/*! tailwindcss v4.3.3 | 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-space-x-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:""}}}@layer theme{:root,:host{--font-sans:"Instrument Sans", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-red-950:oklch(25.8% .092 26.042);--color-orange-50:oklch(98% .016 73.684);--color-orange-100:oklch(95.4% .038 75.164);--color-orange-200:oklch(90.1% .076 70.697);--color-orange-300:oklch(83.7% .128 66.29);--color-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-orange-600:oklch(64.6% .222 41.116);--color-orange-700:oklch(55.3% .195 38.402);--color-orange-800:oklch(47% .157 37.304);--color-orange-900:oklch(40.8% .123 38.172);--color-orange-950:oklch(26.6% .079 36.259);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--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-amber-900:oklch(41.4% .112 45.904);--color-amber-950:oklch(27.9% .077 45.635);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-200:oklch(94.5% .129 101.54);--color-yellow-300:oklch(90.5% .182 98.111);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-600:oklch(68.1% .162 75.834);--color-yellow-700:oklch(55.4% .135 66.442);--color-yellow-800:oklch(47.6% .114 61.907);--color-yellow-900:oklch(42.1% .095 57.708);--color-yellow-950:oklch(28.6% .066 53.813);--color-lime-50:oklch(98.6% .031 120.757);--color-lime-100:oklch(96.7% .067 122.328);--color-lime-200:oklch(93.8% .127 124.321);--color-lime-300:oklch(89.7% .196 126.665);--color-lime-400:oklch(84.1% .238 128.85);--color-lime-500:oklch(76.8% .233 130.85);--color-lime-600:oklch(64.8% .2 131.684);--color-lime-700:oklch(53.2% .157 131.589);--color-lime-800:oklch(45.3% .124 130.933);--color-lime-900:oklch(40.5% .101 131.063);--color-lime-950:oklch(27.4% .072 132.109);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-200:oklch(92.5% .084 155.995);--color-green-300:oklch(87.1% .15 154.449);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-green-900:oklch(39.3% .095 152.535);--color-green-950:oklch(26.6% .065 152.934);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-800:oklch(43.2% .095 166.913);--color-emerald-900:oklch(37.8% .077 168.94);--color-emerald-950:oklch(26.2% .051 172.552);--color-teal-50:oklch(98.4% .014 180.72);--color-teal-100:oklch(95.3% .051 180.801);--color-teal-200:oklch(91% .096 180.426);--color-teal-300:oklch(85.5% .138 181.071);--color-teal-400:oklch(77.7% .152 181.912);--color-teal-500:oklch(70.4% .14 182.503);--color-teal-600:oklch(60% .118 184.704);--color-teal-700:oklch(51.1% .096 186.391);--color-teal-800:oklch(43.7% .078 188.216);--color-teal-900:oklch(38.6% .063 188.416);--color-teal-950:oklch(27.7% .046 192.524);--color-cyan-50:oklch(98.4% .019 200.873);--color-cyan-100:oklch(95.6% .045 203.388);--color-cyan-200:oklch(91.7% .08 205.041);--color-cyan-300:oklch(86.5% .127 207.078);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-500:oklch(71.5% .143 215.221);--color-cyan-600:oklch(60.9% .126 221.723);--color-cyan-700:oklch(52% .105 223.128);--color-cyan-800:oklch(45% .085 224.283);--color-cyan-900:oklch(39.8% .07 227.392);--color-cyan-950:oklch(30.2% .056 229.695);--color-sky-50:oklch(97.7% .013 236.62);--color-sky-100:oklch(95.1% .026 236.824);--color-sky-200:oklch(90.1% .058 230.902);--color-sky-300:oklch(82.8% .111 230.318);--color-sky-400:oklch(74.6% .16 232.661);--color-sky-500:oklch(68.5% .169 237.323);--color-sky-600:oklch(58.8% .158 241.966);--color-sky-700:oklch(50% .134 242.749);--color-sky-800:oklch(44.3% .11 240.79);--color-sky-900:oklch(39.1% .09 240.876);--color-sky-950:oklch(29.3% .066 243.157);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-blue-950:oklch(28.2% .091 267.935);--color-indigo-50:oklch(96.2% .018 272.314);--color-indigo-100:oklch(93% .034 272.788);--color-indigo-200:oklch(87% .065 274.039);--color-indigo-300:oklch(78.5% .115 274.713);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-600:oklch(51.1% .262 276.966);--color-indigo-700:oklch(45.7% .24 277.023);--color-indigo-800:oklch(39.8% .195 277.366);--color-indigo-900:oklch(35.9% .144 278.697);--color-indigo-950:oklch(25.7% .09 281.288);--color-violet-50:oklch(96.9% .016 293.756);--color-violet-100:oklch(94.3% .029 294.588);--color-violet-200:oklch(89.4% .057 293.283);--color-violet-300:oklch(81.1% .111 293.571);--color-violet-400:oklch(70.2% .183 293.541);--color-violet-500:oklch(60.6% .25 292.717);--color-violet-600:oklch(54.1% .281 293.009);--color-violet-700:oklch(49.1% .27 292.581);--color-violet-800:oklch(43.2% .232 292.759);--color-violet-900:oklch(38% .189 293.745);--color-violet-950:oklch(28.3% .141 291.089);--color-purple-50:oklch(97.7% .014 308.299);--color-purple-100:oklch(94.6% .033 307.174);--color-purple-200:oklch(90.2% .063 306.703);--color-purple-300:oklch(82.7% .119 306.383);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-700:oklch(49.6% .265 301.924);--color-purple-800:oklch(43.8% .218 303.724);--color-purple-900:oklch(38.1% .176 304.987);--color-purple-950:oklch(29.1% .149 302.717);--color-fuchsia-50:oklch(97.7% .017 320.058);--color-fuchsia-100:oklch(95.2% .037 318.852);--color-fuchsia-200:oklch(90.3% .076 319.62);--color-fuchsia-300:oklch(83.3% .145 321.434);--color-fuchsia-400:oklch(74% .238 322.16);--color-fuchsia-500:oklch(66.7% .295 322.15);--color-fuchsia-600:oklch(59.1% .293 322.896);--color-fuchsia-700:oklch(51.8% .253 323.949);--color-fuchsia-800:oklch(45.2% .211 324.591);--color-fuchsia-900:oklch(40.1% .17 325.612);--color-fuchsia-950:oklch(29.3% .136 325.661);--color-pink-50:oklch(97.1% .014 343.198);--color-pink-100:oklch(94.8% .028 342.258);--color-pink-200:oklch(89.9% .061 343.231);--color-pink-300:oklch(82.3% .12 346.018);--color-pink-400:oklch(71.8% .202 349.761);--color-pink-500:oklch(65.6% .241 354.308);--color-pink-600:oklch(59.2% .249 .584);--color-pink-700:oklch(52.5% .223 3.958);--color-pink-800:oklch(45.9% .187 3.815);--color-pink-900:oklch(40.8% .153 2.432);--color-pink-950:oklch(28.4% .109 3.907);--color-rose-50:oklch(96.9% .015 12.422);--color-rose-100:oklch(94.1% .03 12.58);--color-rose-200:oklch(89.2% .058 10.001);--color-rose-300:oklch(81% .117 11.638);--color-rose-400:oklch(71.2% .194 13.428);--color-rose-500:oklch(64.5% .246 16.439);--color-rose-600:oklch(58.6% .253 17.585);--color-rose-700:oklch(51.4% .222 16.935);--color-rose-800:oklch(45.5% .188 13.697);--color-rose-900:oklch(41% .159 10.272);--color-rose-950:oklch(27.1% .105 12.094);--color-slate-50:oklch(98.4% .003 247.858);--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-slate-950:oklch(12.9% .042 264.695);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-gray-950:oklch(13% .028 261.692);--color-zinc-50:oklch(98.5% 0 none);--color-zinc-100:oklch(96.7% .001 286.375);--color-zinc-200:oklch(92% .004 286.32);--color-zinc-300:oklch(87.1% .006 286.286);--color-zinc-400:oklch(70.5% .015 286.067);--color-zinc-500:oklch(55.2% .016 285.938);--color-zinc-600:oklch(44.2% .017 285.786);--color-zinc-700:oklch(37% .013 285.805);--color-zinc-800:oklch(27.4% .006 286.033);--color-zinc-900:oklch(21% .006 285.885);--color-zinc-950:oklch(14.1% .005 285.823);--color-neutral-50:oklch(98.5% 0 none);--color-neutral-100:oklch(97% 0 none);--color-neutral-200:oklch(92.2% 0 none);--color-neutral-300:oklch(87% 0 none);--color-neutral-400:oklch(70.8% 0 none);--color-neutral-500:oklch(55.6% 0 none);--color-neutral-600:oklch(43.9% 0 none);--color-neutral-700:oklch(37.1% 0 none);--color-neutral-800:oklch(26.9% 0 none);--color-neutral-900:oklch(20.5% 0 none);--color-neutral-950:oklch(14.5% 0 none);--color-stone-50:oklch(98.5% .001 106.423);--color-stone-100:oklch(97% .001 106.424);--color-stone-200:oklch(92.3% .003 48.717);--color-stone-300:oklch(86.9% .005 56.366);--color-stone-400:oklch(70.9% .01 56.259);--color-stone-500:oklch(55.3% .013 58.071);--color-stone-600:oklch(44.4% .011 73.639);--color-stone-700:oklch(37.4% .01 67.558);--color-stone-800:oklch(26.8% .007 34.298);--color-stone-900:oklch(21.6% .006 56.043);--color-stone-950:oklch(14.7% .004 49.25);--color-black:#000;--color-white:#fff;--spacing:.25rem;--breakpoint-sm:40rem;--breakpoint-md:48rem;--breakpoint-lg:64rem;--breakpoint-xl:80rem;--breakpoint-2xl:96rem;--container-3xs:16rem;--container-2xs:18rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--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:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--text-8xl:6rem;--text-8xl--line-height:1;--text-9xl:8rem;--text-9xl--line-height:1;--font-weight-thin:100;--font-weight-extralight:200;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-tighter:-.05em;--tracking-tight:-.025em;--tracking-normal:0em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--leading-loose:2;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--radius-4xl:2rem;--shadow-2xs:0 1px #0000000d;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--shadow-2xl:0 25px 50px -12px #00000040;--inset-shadow-2xs:inset 0 1px #0000000d;--inset-shadow-xs:inset 0 1px 1px #0000000d;--inset-shadow-sm:inset 0 2px 4px #0000000d;--drop-shadow-xs:0 1px 1px #0000000d;--drop-shadow-sm:0 1px 2px #00000026;--drop-shadow-md:0 3px 3px #0000001f;--drop-shadow-lg:0 4px 4px #00000026;--drop-shadow-xl:0 9px 7px #0000001a;--drop-shadow-2xl:0 25px 25px #00000026;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--animate-bounce:bounce 1s infinite;--blur-xs:4px;--blur-sm:8px;--blur-md:12px;--blur-lg:16px;--blur-xl:24px;--blur-2xl:40px;--blur-3xl:64px;--perspective-dramatic:100px;--perspective-near:300px;--perspective-normal:500px;--perspective-midrange:800px;--perspective-distant:1200px;--aspect-video:16 / 9;--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%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;-webkit-text-decoration:inherit;-webkit-text-decoration: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:where(:not(iframe)){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}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{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]){appearance:button}::file-selector-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{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:0}.top-0{top:0}.right-0{right:0}.isolate{isolation:isolate}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.-mt-\[6\.6rem\]{margin-top:-6.6rem}.-mt-px{margin-top:-1px}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mr-2{margin-right:calc(var(--spacing) * 2)}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.-ml-8{margin-left:calc(var(--spacing) * -8)}.-ml-px{margin-left:-1px}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-12{margin-left:calc(var(--spacing) * 12)}.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}.aspect-\[335\/364\]{aspect-ratio:335/364}.h-1{height:var(--spacing)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-5{height:calc(var(--spacing) * 5)}.h-8{height:calc(var(--spacing) * 8)}.h-14{height:calc(var(--spacing) * 14)}.h-14\.5{height:calc(var(--spacing) * 14.5)}.h-16{height:calc(var(--spacing) * 16)}.min-h-screen{min-height:100vh}.w-1{width:var(--spacing)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-5{width:calc(var(--spacing) * 5)}.w-8{width:calc(var(--spacing) * 8)}.w-\[438px\]{width:438px}.w-auto{width:auto}.w-full{width:100%}.max-w-6xl{max-width:var(--container-6xl)}.max-w-\[335px\]{max-width:335px}.max-w-none{max-width:none}.max-w-xl{max-width:var(--container-xl)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.translate-y-0{--tw-translate-y:0px;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,)}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-items-center{justify-items:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-8{gap:calc(var(--spacing) * 8)}:where(.space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(var(--spacing) * var(--tw-space-x-reverse));margin-inline-end:calc(var(--spacing) * calc(1 - var(--tw-space-x-reverse)))}.overflow-hidden{overflow:hidden}.rounded-full{border-radius:2147483647px}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-t-lg{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.rounded-l-md{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.rounded-r-md{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.rounded-br-lg{border-bottom-right-radius:var(--radius-lg)}.rounded-bl-lg{border-bottom-left-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.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-\[\#19140035\]{border-color:#19140035}.border-\[\#e3e3e0\]{border-color:#e3e3e0}.border-black{border-color:var(--color-black)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-400{border-color:var(--color-gray-400)}.border-transparent{border-color:#0000}.bg-\[\#1b1b18\]{background-color:#1b1b18}.bg-\[\#FDFDFC\]{background-color:#fdfdfc}.bg-\[\#dbdbd7\]{background-color:#dbdbd7}.bg-\[\#fff2f2\]{background-color:#fff2f2}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-white{background-color:var(--color-white)}.box-decoration-clone{-webkit-box-decoration-break:clone;box-decoration-break:clone}.box-decoration-slice{-webkit-box-decoration-break:slice;box-decoration-break:slice}.decoration-clone{-webkit-box-decoration-break:clone;box-decoration-break:clone}.decoration-slice{-webkit-box-decoration-break:slice;box-decoration-break:slice}.p-6{padding:calc(var(--spacing) * 6)}.px-2{padding-inline:calc(var(--spacing) * 2)}.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-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-4{padding-block:calc(var(--spacing) * 4)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-12{padding-bottom:calc(var(--spacing) * 12)}.text-center{text-align:center}.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-\[13px\]{font-size:13px}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.leading-\[20px\]{--tw-leading:20px;line-height:20px}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-all{word-break:break-all}.overflow-ellipsis,.text-ellipsis{text-overflow:ellipsis}.text-\[\#1B1B18\],.text-\[\#1b1b18\]{color:#1b1b18}.text-\[\#706f6c\]{color:#706f6c}.text-\[\#F3BEC7\]{color:#f3bec7}.text-\[\#F8B803\]{color:#f8b803}.text-\[\#F53003\],.text-\[\#f53003\]{color:#f53003}.text-gray-200{color:var(--color-gray-200)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-white{color:var(--color-white)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-100{opacity:1}.mix-blend-color{mix-blend-mode:color}.mix-blend-darken{mix-blend-mode:darken}.mix-blend-hard-light{mix-blend-mode:hard-light}.mix-blend-multiply{mix-blend-mode:multiply}.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-\[0px_0px_1px_0px_rgba\(0\,0\,0\,0\.03\)\,0px_1px_2px_0px_rgba\(0\,0\,0\,0\.06\)\]{--tw-shadow:0px 0px 1px 0px var(--tw-shadow-color,#00000008), 0px 1px 2px 0px var(--tw-shadow-color,#0000000f);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[inset_0px_0px_0px_1px_rgba\(26\,26\,0\,0\.16\)\]{--tw-shadow:inset 0px 0px 0px 1px var(--tw-shadow-color,#1a1a0029);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-gray-300{--tw-ring-color:var(--color-gray-300)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-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-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-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.delay-200{transition-delay:.2s}.delay-300{transition-delay:.3s}.delay-400{transition-delay:.4s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-750{--tw-duration:.75s;transition-duration:.75s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.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)}.\[--stroke-color\:\#1B1B18\]{--stroke-color:#1b1b18}.not-has-\[nav\]\:hidden:not(:has(:is(nav))){display:none}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:top-0:before{content:var(--tw-content);top:0}.before\:top-1\/2:before{content:var(--tw-content);top:50%}.before\:bottom-0:before{content:var(--tw-content);bottom:0}.before\:bottom-1\/2:before{content:var(--tw-content);bottom:50%}.before\:left-\[0\.4rem\]:before{content:var(--tw-content);left:.4rem}.before\:border-l:before{content:var(--tw-content);border-left-style:var(--tw-border-style);border-left-width:1px}.before\:border-\[\#e3e3e0\]:before{content:var(--tw-content);border-color:#e3e3e0}@media (hover:hover){.hover\:border-\[\#1915014a\]:hover{border-color:#1915014a}.hover\:border-\[\#19140035\]:hover{border-color:#19140035}.hover\:border-black:hover{border-color:var(--color-black)}.hover\:bg-black:hover{background-color:var(--color-black)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:text-gray-400:hover{color:var(--color-gray-400)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}}.focus\:border-blue-300:focus{border-color:var(--color-blue-300)}.focus\:ring:focus{--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)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:bg-gray-100:active{background-color:var(--color-gray-100)}.active\:text-gray-500:active{color:var(--color-gray-500)}.active\:text-gray-700:active{color:var(--color-gray-700)}.active\:text-gray-800:active{color:var(--color-gray-800)}@media (width>=40rem){.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:flex-1{flex:1}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:gap-2{gap:calc(var(--spacing) * 2)}}@media (width>=64rem){.lg\:mt-10{margin-top:calc(var(--spacing) * 10)}.lg\:mb-0{margin-bottom:0}.lg\:mb-6{margin-bottom:calc(var(--spacing) * 6)}.lg\:-ml-px{margin-left:-1px}.lg\:ml-0{margin-left:0}.lg\:block{display:block}.lg\:aspect-auto{aspect-ratio:auto}.lg\:w-\[438px\]{width:438px}.lg\:max-w-4xl{max-width:var(--container-4xl)}.lg\:grow{flex-grow:1}.lg\:flex-row{flex-direction:row}.lg\:justify-center{justify-content:center}.lg\:rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.lg\:rounded-tl-lg{border-top-left-radius:var(--radius-lg)}.lg\:rounded-r-lg{border-top-right-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.lg\:rounded-br-none{border-bottom-right-radius:0}.lg\:p-8{padding:calc(var(--spacing) * 8)}.lg\:p-20{padding:calc(var(--spacing) * 20)}.lg\:pb-10{padding-bottom:calc(var(--spacing) * 10)}}.rtl\:flex-row-reverse:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *){flex-direction:row-reverse}@media (prefers-color-scheme:dark){.dark\:border-\[\#3E3E3A\]{border-color:#3e3e3a}.dark\:border-\[\#eeeeec\]{border-color:#eeeeec}.dark\:border-gray-600{border-color:var(--color-gray-600)}.dark\:bg-\[\#0a0a0a\]{background-color:#0a0a0a}.dark\:bg-\[\#1D0002\]{background-color:#1d0002}.dark\:bg-\[\#3E3E3A\]{background-color:#3e3e3a}.dark\:bg-\[\#161615\]{background-color:#161615}.dark\:bg-\[\#eeeeec\]{background-color:#eeeeec}.dark\:bg-gray-700{background-color:var(--color-gray-700)}.dark\:bg-gray-800{background-color:var(--color-gray-800)}.dark\:bg-gray-900{background-color:var(--color-gray-900)}.dark\:text-\[\#1C1C1A\]{color:#1c1c1a}.dark\:text-\[\#4B0600\]{color:#4b0600}.dark\:text-\[\#391800\]{color:#391800}.dark\:text-\[\#733000\]{color:#733000}.dark\:text-\[\#A1A09A\]{color:#a1a09a}.dark\:text-\[\#EDEDEC\]{color:#ededec}.dark\:text-\[\#F61500\]{color:#f61500}.dark\:text-\[\#FF4433\]{color:#f43}.dark\:text-black{color:var(--color-black)}.dark\:text-gray-200{color:var(--color-gray-200)}.dark\:text-gray-300{color:var(--color-gray-300)}.dark\:text-gray-400{color:var(--color-gray-400)}.dark\:text-gray-600{color:var(--color-gray-600)}.dark\:text-white{color:var(--color-white)}.dark\:mix-blend-hard-light{mix-blend-mode:hard-light}.dark\:mix-blend-normal{mix-blend-mode:normal}.dark\:shadow-\[inset_0px_0px_0px_1px_\#fffaed2d\]{--tw-shadow:inset 0px 0px 0px 1px var(--tw-shadow-color,#fffaed2d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.dark\:\[--stroke-color\:\#FF750F\]{--stroke-color:#ff750f}.dark\:before\:border-\[\#3E3E3A\]:before{content:var(--tw-content);border-color:#3e3e3a}@media (hover:hover){.dark\:hover\:border-\[\#3E3E3A\]:hover{border-color:#3e3e3a}.dark\:hover\:border-\[\#62605b\]:hover{border-color:#62605b}.dark\:hover\:border-white:hover{border-color:var(--color-white)}.dark\:hover\:bg-gray-900:hover{background-color:var(--color-gray-900)}.dark\:hover\:bg-white:hover{background-color:var(--color-white)}.dark\:hover\:text-gray-200:hover{color:var(--color-gray-200)}.dark\:hover\:text-gray-300:hover{color:var(--color-gray-300)}}.dark\:focus\:border-blue-700:focus{border-color:var(--color-blue-700)}.dark\:focus\:border-blue-800:focus{border-color:var(--color-blue-800)}.dark\:active\:bg-gray-700:active{background-color:var(--color-gray-700)}.dark\:active\:text-gray-300:active{color:var(--color-gray-300)}}@starting-style{.starting\:opacity-0{opacity:0}}@media (prefers-reduced-motion:no-preference){@starting-style{.motion-safe\:starting\:-translate-x-\[26px\]{--tw-translate-x:calc(26px * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.motion-safe\:starting\:-translate-x-\[51px\]{--tw-translate-x:calc(51px * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.motion-safe\:starting\:-translate-x-\[78px\]{--tw-translate-x:calc(78px * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.motion-safe\:starting\:-translate-x-\[102px\]{--tw-translate-x:calc(102px * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.motion-safe\:starting\:translate-y-6{--tw-translate-y:calc(var(--spacing) * 6);translate:var(--tw-translate-x) var(--tw-translate-y)}}}}*{box-sizing:border-box}body{color:#1f2937;background:#f6f7f9;margin:0;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body.teacher-project-mode{background:#fffaf0}a{color:#1d4ed8}.shell{width:calc(100% - 32px);max-width:none;margin:0 auto;padding:24px 0 48px}.topbar,.nav,.page-heading,.actions,.student-actions{align-items:center;gap:16px;display:flex}.topbar{justify-content:space-between;margin-bottom:18px}.brand{color:#111827;font-size:20px;font-weight:700;text-decoration:none}.teacher-project-mode .brand{color:#92400e;letter-spacing:.02em;font-weight:900}.nav{border-bottom:1px solid #d8dee7;margin-bottom:24px;padding-bottom:16px}.nav a{color:#374151;font-weight:600;text-decoration:none}.page-heading{justify-content:space-between;margin-bottom:18px}.panel{background:#fff;border:1px solid #d8dee7;border-radius:8px;padding:24px}.narrow{max-width:440px;margin:48px auto}.stack{gap:16px;display:grid}label{gap:6px;font-weight:600;display:grid}.form-label{font-weight:600;display:block}input,select,textarea{width:100%;font:inherit;border:1px solid #c9d1dc;border-radius:6px;padding:10px 12px}.checkbox{align-items:center;gap:8px;display:flex}.checkbox input{width:auto}.checkbox small{color:#64748b;font-size:12px;font-weight:500;display:block}button,.button{color:#fff;cursor:pointer;font:inherit;background:#2563eb;border:0;border-radius:6px;justify-content:center;align-items:center;padding:10px 14px;font-weight:700;text-decoration:none;display:inline-flex}button:disabled{cursor:not-allowed;opacity:.55}.link-button{color:#1d4ed8;background:0 0;padding:0}.danger{color:#b91c1c}.secondary{background:#4b5563}.spacing-top{margin-top:18px}.notice,.errors{border-radius:8px;margin-bottom:18px;padding:14px 16px}.notice{background:#ecfdf5;border:1px solid #a7f3d0}.impersonation-banner{background:#fffbeb;border:1px solid #f59e0b;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;padding:14px 16px;display:flex}.errors{background:#fef2f2;border:1px solid #fecaca}.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.stats strong{font-size:32px;display:block}.section-heading h2{margin:0;font-size:24px}.section-heading p{margin:4px 0 0}.presence-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.presence-list li,.presence-name{align-items:center;gap:10px;display:flex}.presence-list li{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:12px}.presence-list strong,.presence-list span:not(.presence-dot){display:block}.presence-list span:not(.presence-dot){color:#64748b;font-size:14px}.presence-dot{background:#94a3b8;border-radius:999px;flex:none;width:10px;height:10px;display:inline-block}.presence-dot.is-online{background:#22c55e;box-shadow:0 0 0 4px #22c55e24}.presence-dot.is-offline{background:#9ca3af}.presence-status{color:#6b7280;font-size:13px;font-weight:700}.presence-status.is-online{color:#166534}table{border-collapse:collapse;background:#fff;border:1px solid #d8dee7;border-radius:8px;width:100%;overflow:hidden}.table-scroll{background:#fff;border:1px solid #d8dee7;border-radius:8px;width:100%;overflow-x:auto}.table-scroll table{border:0;border-radius:0}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #e5e7eb;padding:12px 14px}th{color:#374151;background:#eef2f7}.actions{justify-content:flex-end}.muted{color:#6b7280}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.student-actions{flex-wrap:wrap;align-items:stretch;margin-top:24px}.student-actions a,.student-actions form button{min-width:140px}.icon{flex:none;width:18px;height:18px}.compact{padding:18px}.editor-layout{grid-template-columns:minmax(280px,320px) minmax(0,1fr);align-items:stretch;gap:18px;display:grid}.student-editor-header{align-items:center}.student-editor-title{color:#111827;margin:0;font-size:clamp(32px,3vw,40px);line-height:1.05}.student-editor-title span{color:#0f766e;white-space:nowrap}.heidi-visual-wrap{align-items:stretch;gap:10px;max-width:100%;display:inline-flex}.heidi-character-image{object-fit:contain;align-self:center;width:auto;max-width:min(120px,28vw);height:56px;max-height:56px;display:block}.heidi-visual-status{background:#fff;border:1px solid #cbd5e1;border-radius:8px;align-items:center;gap:12px;min-width:180px;padding:10px 12px;display:inline-flex}.heidi-visual-bars{align-items:center;gap:3px;height:34px;display:inline-flex}.heidi-visual-bars span{background:#94a3b8;border-radius:999px;width:5px;height:12px;transition:background-color .12s,height .12s}.heidi-visual-status strong{color:#111827;font-size:18px;line-height:1.1;display:block}.heidi-visual-caption{color:#64748b;letter-spacing:0;text-transform:uppercase;font-size:11px;font-weight:800;display:block}.heidi-visual-status[data-state=listening]{background:#f0fdf4;border-color:#86efac}.heidi-visual-status[data-state=listening] .heidi-visual-bars span{background:#22c55e;animation:.72s ease-in-out infinite alternate heidi-listening-pulse}.heidi-visual-status[data-state=listening] .heidi-visual-bars span:nth-child(2),.heidi-visual-status[data-state=speaking] .heidi-visual-bars span:nth-child(2){animation-delay:90ms}.heidi-visual-status[data-state=listening] .heidi-visual-bars span:nth-child(3),.heidi-visual-status[data-state=speaking] .heidi-visual-bars span:nth-child(3){animation-delay:.18s}.heidi-visual-status[data-state=listening] .heidi-visual-bars span:nth-child(4),.heidi-visual-status[data-state=speaking] .heidi-visual-bars span:nth-child(4){animation-delay:.27s}.heidi-visual-status[data-state=listening] .heidi-visual-bars span:nth-child(5),.heidi-visual-status[data-state=speaking] .heidi-visual-bars span:nth-child(5){animation-delay:.36s}.heidi-visual-status[data-state=speaking]{background:#eff6ff;border-color:#93c5fd}.heidi-visual-status[data-state=speaking] .heidi-visual-bars span{background:#2563eb;animation:.52s ease-in-out infinite alternate heidi-speaking-pulse}.heidi-visual-status[data-state=error]{background:#fef2f2;border-color:#fecaca}.heidi-visual-status[data-state=error] .heidi-visual-bars span{background:#ef4444}.heidi-sticky-bar{z-index:12;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;border:1px solid #cbd5e1;border-radius:8px;grid-template-columns:auto minmax(160px,1fr) auto auto;align-items:center;gap:14px;margin-bottom:18px;padding:10px 12px;display:grid;position:sticky;top:0;box-shadow:0 10px 24px #0f172a14}.heidi-sticky-meter{background:#e5e7eb;border-radius:10px;align-items:center;width:100%;height:20px;display:flex;overflow:hidden}.heidi-sticky-controls,.heidi-sticky-details{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.heidi-sticky-controls button,.heidi-sticky-controls select{width:auto;min-height:36px;padding:7px 10px;font-size:13px}.heidi-sticky-controls select{max-width:210px}.heidi-sticky-details{margin:0}.heidi-sticky-details div:not(.sr-only){gap:2px;display:grid}.heidi-sticky-details dt{color:#64748b;letter-spacing:0;font-size:10px;font-weight:900}.heidi-sticky-details dd{color:#111827;white-space:nowrap;margin:0;font-size:12px;font-weight:900}.heidi-owner-message{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;margin:0 0 16px;padding:10px 12px;font-weight:800}.heidi-claim-tab{margin-top:12px}.heidi-image-admin{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.heidi-image-current{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.heidi-image-preview{background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;place-items:center;min-width:74px;min-height:56px;padding:6px;display:grid}.heidi-image-preview img{object-fit:contain;width:auto;max-width:120px;max-height:72px;display:block}@keyframes heidi-listening-pulse{0%{height:10px}to{height:28px}}@keyframes heidi-speaking-pulse{0%{height:14px}to{height:32px}}.editor-sidebar{align-self:stretch;gap:0;display:grid;overflow:visible}.editor-layout[data-editor-at-max=true] .editor-sidebar{max-height:var(--editor-column-max-height,none);overflow:auto}.compact-form{gap:12px;display:grid}.editor-tool-groups{gap:18px;margin-top:16px;display:grid}.tool-group{border:1px solid #d8dee7;border-radius:8px;padding:14px}.tool-group-file{background:#eff6ff;border-color:#bfdbfe}.tool-group-folder{background:#ecfdf5;border-color:#bbf7d0}.tool-group-upload{background:#fffbeb;border-color:#fde68a}.button-create-file,.button-save{color:#fff;background:#2563eb}.button-create-file:hover,.button-create-file:focus-visible,.button-save:hover,.button-save:focus-visible{background:#1d4ed8}.button-create-folder{color:#fff;background:#15803d}.button-create-folder:hover,.button-create-folder:focus-visible{background:#166534}.button-upload{color:#fff;background:#0f766e}.button-upload:hover,.button-upload:focus-visible{background:#115e59}.file-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.file-list li{border-bottom:1px solid #e5e7eb;gap:2px;padding:8px 0;display:grid}.file-list li.folder-list-item,.file-list li.file-list-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:8px}.file-list li.file-list-item.is-active{background:#eff6ff;border-color:#2563eb;box-shadow:inset 4px 0 #2563eb}.file-list li.is-expanded{background:#fff;border-color:#93c5fd;box-shadow:0 8px 20px #0f172a14}.compact-card-summary{grid-template-columns:minmax(0,1fr) 36px;align-items:center;gap:10px;display:grid}.file-list-row{align-items:stretch;gap:12px;display:grid}.file-list .file-title{color:#1f2937;align-items:center;gap:8px;max-width:100%;display:inline-flex}.file-list a.file-title,.file-list span.file-title{text-overflow:ellipsis;overflow-wrap:normal;white-space:nowrap;font-weight:700;text-decoration:none;display:flex;overflow:hidden}.file-name{text-overflow:ellipsis;min-width:0;overflow:hidden}.file-list a.active{color:#1d4ed8}.file-title .icon{color:#64748b}.file-list a.active .icon{color:#2563eb}.file-list .action-menu-toggle{color:#334155;text-align:center;background:#f8fafc;border:1px solid #cbd5e1;flex:0 0 36px;place-self:start end;place-items:center;width:36px;min-width:36px;max-width:36px;height:36px;min-height:36px;max-height:36px;margin:0;padding:6px;font-size:16px;font-weight:800;line-height:1;display:inline-grid}.file-list .action-menu-toggle:hover,.file-list .action-menu-toggle:focus-visible,.file-list .action-menu-toggle[aria-expanded=true]{color:#0f172a;background:#e2e8f0;border-color:#94a3b8}.file-list small{color:#6b7280;flex-wrap:wrap;align-items:center;gap:6px;display:flex}.active-file-label{color:#1e40af;text-transform:uppercase;background:#dbeafe;border:1px solid #bfdbfe;border-radius:999px;padding:3px 7px;font-size:11px;font-weight:800;line-height:1}.file-groups{gap:14px;display:grid}.file-group{gap:8px;display:grid}.file-group h4{color:#475569;letter-spacing:0;text-transform:uppercase;align-items:center;gap:7px;margin:0;font-size:13px;font-weight:800;display:inline-flex}.file-summary{min-width:0}.file-row-actions{gap:8px;display:grid}.action-panel{border-top:1px solid #e5e7eb;margin-top:8px;padding-top:10px}.action-panel[hidden]{display:none}.file-action-form{gap:6px;min-width:0;display:grid}.file-action-form input,.file-action-form select{min-width:0;padding:8px 9px}.editor-main{min-width:0;overflow:hidden}.editor-heading,.editor-actions,.file-management,.inline-form{align-items:center;gap:12px;display:flex}.editor-heading{justify-content:space-between;align-items:flex-start;margin-bottom:16px}.editor-actions{justify-content:flex-end}.editor-actions,.editor-primary-actions,.editor-bottom-actions,.file-management{flex-wrap:wrap}.editor-primary-actions,.editor-bottom-actions{align-items:center;gap:10px;display:flex}.editor-primary-actions .button,.editor-primary-actions button,.editor-bottom-actions .button,.editor-bottom-actions button{margin-top:0}.editor-bottom-actions{justify-content:flex-end;margin-top:14px}.editor-readonly-code{color:#e5e7eb;white-space:pre-wrap;background:#0f172a;border:1px solid #d8dee7;border-radius:8px;min-height:520px;margin:0;padding:18px;font:16px/1.55 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;overflow:auto}.admin-filter-form{grid-template-columns:minmax(220px,1fr) minmax(140px,180px) minmax(180px,220px) minmax(220px,280px) auto;align-items:end;gap:12px;display:grid}.teacher-viewing-student{color:#0f766e;margin:8px 0 0;font-size:18px;font-weight:700}.teacher-context-badge{color:#92400e;text-transform:uppercase;background:#fffbeb;border:1px solid #fde68a;border-radius:999px;align-items:center;width:fit-content;max-width:100%;margin-bottom:8px;padding:5px 10px;font-size:12px;font-weight:900;line-height:1.2;display:inline-flex}.live-sync-status{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:999px;align-items:center;max-width:100%;margin-top:8px;padding:5px 10px;font-size:13px;font-weight:800;line-height:1.25;display:inline-flex}.live-sync-release{min-height:40px}.editor-font-controls{background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;align-items:center;gap:6px;padding:4px;display:inline-flex}.editor-font-controls span{color:#1f2937;text-align:center;min-width:52px;font-weight:800}.font-size-button{color:#075985;background:#e0f2fe;border:1px solid #0000;min-width:36px;min-height:36px;padding:6px 9px}.font-size-button:hover,.font-size-button:focus-visible{color:#0c4a6e;background:#bae6fd;border-color:#38bdf8}.word-wrap-button{color:#334155;background:#fff;border:1px solid #cbd5e1;min-height:36px;padding:6px 10px}.word-wrap-button:hover,.word-wrap-button:focus-visible{color:#1e3a8a;background:#dbeafe;border-color:#60a5fa}.word-wrap-button[aria-pressed=true]{color:#fff;background:#2563eb;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb2e}.teacher-presentation-toggle[aria-pressed=true]{background:#0f766e}.teacher-presentation-toolbar{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;padding:10px;display:flex}.teacher-presentation-toolbar[hidden]{display:none}.teacher-presentation-toolbar button{min-height:36px;padding:7px 10px}.teacher-presentation-toolbar span{color:#1e3a8a;font-weight:900}.button-preview{background:#334155}.button-preview:hover,.button-preview:focus-visible{background:#1e293b}.button-open-site{background:#7c3aed}.button-open-site:hover,.button-open-site:focus-visible{background:#6d28d9}.code-box{min-height:0;height:var(--editor-dynamic-height,auto);max-height:var(--editor-dynamic-height,none);background:#fff;border:1px solid #c9d1dc;border-radius:8px;grid-template-columns:56px minmax(0,1fr);display:grid;position:relative;overflow:hidden}.code-box.presentation-reveal-highlight #code-editor{background:#fff7ed;transition:background-color .18s}#line-numbers,#code-editor{white-space:pre;border:0;border-radius:0;margin:0;font-family:Consolas,Courier New,monospace;font-size:18px;line-height:1.55}#line-numbers{color:#64748b;text-align:right;-webkit-user-select:none;user-select:none;background:#f1f5f9;border-right:1px solid #dbe3ef;padding:14px 12px;overflow:hidden}#code-editor{resize:none;color:#111827;tab-size:4;background:#fff;outline:none;min-width:100%;height:100%;min-height:0;padding:14px;overflow:auto}.code-box.word-wrap-enabled #code-editor{overflow-wrap:anywhere;white-space:pre-wrap;overflow-x:hidden}#code-editor::selection{color:#111827;background:#bfdbfe}.save-button,.danger-button{margin-top:14px}.danger-button{color:#fff;background:#b91c1c}.danger-button:hover,.danger-button:focus-visible{background:#991b1b}.danger-zone{background:#fff7f7;border-color:#fecaca}.danger-zone .danger-button{width:fit-content}.file-management{border-top:1px solid #e5e7eb;margin-top:18px;padding-top:18px}.current-file-details{background:#f8fafc;border:1px solid #d8dee7;border-radius:8px;padding:10px}.current-file-details summary{cursor:pointer;color:#1f2937;min-height:40px;padding:8px;font-weight:800}.current-file-details[open] summary{border-bottom:1px solid #e5e7eb;margin-bottom:12px}.current-file-actions{grid-template-columns:minmax(220px,1fr) auto;align-items:stretch;gap:12px;display:grid}.inline-form{align-items:stretch}.rename-form{grid-template-columns:minmax(160px,1fr) auto;gap:12px;display:grid}.delete-current-form{display:flex}.rename-form button,.delete-current-form button{white-space:nowrap;min-height:44px;margin-top:0}.button-rename{background:#2563eb}.button-rename:hover,.button-rename:focus-visible{background:#1d4ed8}.folder-list{margin-bottom:16px}.folder-actions,.mini-form{gap:8px;display:grid}.small-action{white-space:nowrap;width:100%;min-height:34px;margin-top:0;padding:7px 9px}@media (width<=1180px){.editor-layout{grid-template-columns:minmax(240px,300px) minmax(0,1fr)}.editor-heading{display:grid}.editor-actions{justify-content:flex-start}.admin-filter-form{grid-template-columns:1fr 1fr}}@media (width<=760px){.current-file-actions,.rename-form{grid-template-columns:1fr}.compact-card-summary{grid-template-columns:minmax(0,1fr) 40px}.file-list .action-menu-toggle{flex-basis:40px;width:40px;min-width:40px;max-width:40px;height:40px;min-height:40px;max-height:40px}.file-row-actions,.folder-actions{gap:10px}.editor-primary-actions,.editor-bottom-actions,.editor-font-controls,.teacher-presentation-toolbar{width:100%}.student-editor-header{flex-direction:column;align-items:stretch}.heidi-visual-status{width:100%}.heidi-visual-wrap{justify-content:center;width:100%}.heidi-sticky-bar{grid-template-columns:1fr;align-items:stretch;top:0}.heidi-sticky-controls,.heidi-sticky-details{justify-content:stretch}.heidi-sticky-controls button,.heidi-sticky-controls select{flex:150px;max-width:none}.heidi-sticky-details div:not(.sr-only){flex:120px}.heidi-character-image{max-height:52px}.admin-filter-form{grid-template-columns:1fr}.editor-primary-actions>*,.editor-bottom-actions>*{flex:160px}.delete-current-form button{width:100%}}.delete-dialog{border:0;border-radius:8px;width:min(440px,100% - 32px);padding:0;box-shadow:0 18px 60px #0f172a40}.delete-dialog::backdrop{background:#0f172a73}.delete-dialog-content{gap:16px;padding:24px;display:grid}.dialog-actions{justify-content:flex-end;gap:12px;display:flex}.dialog-actions .danger-button{margin-top:0}.student-admin-table{table-layout:fixed;width:100%;min-width:1180px;font-size:14px}.student-admin-table th:first-child,.student-admin-table td:first-child{width:34px}.student-admin-table th:nth-child(2),.student-admin-table td:nth-child(2){width:58px}.student-admin-table th:nth-child(3),.student-admin-table td:nth-child(3){width:12%}.student-admin-table th:nth-child(4),.student-admin-table td:nth-child(4){width:16%}.student-admin-table th:nth-child(5),.student-admin-table td:nth-child(5){width:72px}.student-admin-table th:nth-child(6),.student-admin-table td:nth-child(6){width:86px}.student-admin-table th:nth-child(7),.student-admin-table td:nth-child(7){width:100px}.student-admin-table th:nth-child(8),.student-admin-table td:nth-child(8),.student-admin-table th:nth-child(9),.student-admin-table td:nth-child(9){width:120px}.student-admin-table .url-column,.student-admin-table td:nth-child(10){width:15%}.student-admin-table .actions-column,.student-admin-table td:nth-child(11){width:150px}.student-admin-table td{overflow:hidden}.student-admin-table td:first-child,.student-admin-table td:nth-child(2),.student-admin-table td:nth-child(3),.student-admin-table td:nth-child(5),.student-admin-table td:nth-child(6),.student-admin-table td:nth-child(7),.student-admin-table td:nth-child(8),.student-admin-table td:nth-child(9){overflow-wrap:normal;word-break:normal}.student-admin-table .select-column{text-align:center}.student-bulk-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.student-bulk-actions span{color:#475569;font-size:14px;font-weight:800}.student-bulk-actions .danger-button{align-items:center;gap:8px;margin-top:0;display:inline-flex}.student-bulk-actions .danger-button:disabled{cursor:not-allowed;color:#7f1d1d;opacity:.75;background:#fecaca}.student-admin-table td:nth-child(2),.student-admin-table td:nth-child(4),.student-admin-table td:nth-child(10){overflow-wrap:normal;word-break:normal}.row-actions{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:5px;display:grid}.row-actions form{min-width:0}.action-button{white-space:normal;border:1px solid #0000;border-radius:6px;justify-content:flex-start;align-items:center;gap:7px;width:100%;min-height:40px;padding:8px 9px;font-size:13px;line-height:1.2;text-decoration:none;transition:background-color .12s,border-color .12s,box-shadow .12s;display:inline-flex;box-shadow:0 1px 1px #0f172a14}.action-button:hover,.action-button:focus-visible,.button:hover,button:hover{box-shadow:0 0 0 3px #2563eb2e}.action-impersonate{color:#fff;background:#1d4ed8}.action-impersonate:hover,.action-impersonate:focus-visible{background:#1e40af}.action-activate{color:#fff;background:#15803d}.action-activate:hover,.action-activate:focus-visible{background:#166534}.action-password,.action-edit{color:#fff;background:#2563eb}.action-password:hover,.action-password:focus-visible,.action-edit:hover,.action-edit:focus-visible{background:#1d4ed8}.action-invite{color:#fff;background:#92400e}.action-invite:hover,.action-invite:focus-visible{background:#78350f}.url-link{color:#1d4ed8;white-space:nowrap;align-items:center;gap:6px;max-width:100%;font-weight:700;text-decoration:none;display:inline-flex}.url-link span{text-overflow:ellipsis;min-width:0;overflow:hidden}.presentation-list,.scene-list,.element-list{gap:14px;margin:0;padding:0;list-style:none;display:grid}.presentation-card,.presentation-card-actions,.presentation-heading-actions,.scene-actions{align-items:center;gap:12px;display:flex}.presentation-card{justify-content:space-between}.presentation-card h2,.presentation-audio-box h2,.scene-list strong,.element-preview p{margin:0}.presentation-card-actions,.presentation-heading-actions,.scene-actions{flex-wrap:wrap;justify-content:flex-end}.presentation-card-actions .danger-button,.scene-actions button{margin-top:0}.presentation-audio-box{background:#f8fafc;border:1px solid #d8dee7;border-radius:8px;gap:12px;padding:16px;display:grid}.scene-list li,.element-list li{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px;display:grid}.scene-list li>div:first-child{gap:4px;display:grid}.new-scene-form{grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:12px;display:grid}.presentation-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.element-preview{gap:8px;min-width:0;display:grid}.element-preview p{white-space:pre-line;max-width:760px}.element-preview img{object-fit:contain;border-radius:8px;width:auto;max-width:220px;max-height:140px;display:block}.rich-text-editor{gap:8px;display:grid}.rich-text-toolbar{background:#f8fafc;border:1px solid #d8dee7;border-radius:8px;flex-wrap:wrap;gap:6px;padding:8px;display:flex}.rich-text-toolbar button{color:#334155;background:#fff;border:1px solid #cbd5e1;min-height:34px;padding:6px 9px;font-size:13px}.rich-text-toolbar button[aria-pressed=true]{color:#1e40af;background:#dbeafe;border-color:#2563eb}.rich-text-surface,.rich-text-source{color:#111827;min-height:190px;font:inherit;background:#fff;border:1px solid #c9d1dc;border-radius:8px;padding:12px;line-height:1.5}.rich-text-surface:focus,.rich-text-source:focus{outline:3px solid #2563eb2e}.rich-text-surface[hidden],.rich-text-source[hidden]{display:none}.rich-text-preview{max-width:760px}.rich-text-preview p,.rich-text-preview ul,.rich-text-preview ol,.rich-text-preview h1,.rich-text-preview h2,.rich-text-preview h3,.rich-text-preview h4{margin:0 0 .45em}.presentation-player-body{color:#f8fafc;background:#05070d;overflow:hidden}.presentation-player{background:#05070d;width:100vw;height:100vh;position:relative;overflow:hidden}.presentation-slides,.presentation-slide{width:100%;height:100%}.presentation-slide{background-color:var(--slide-bg,#05070d);background-image:var(--slide-bg-image,radial-gradient(circle at 50% 20%, #1f2937 0, #05070d 55%));background-position:50%;background-repeat:no-repeat;background-size:cover;place-items:center;padding:clamp(32px,6vw,110px);display:grid}.presentation-slide[hidden]{display:none}.presentation-slide-content{z-index:1;text-align:center;align-content:center;justify-items:center;gap:clamp(24px,4vh,56px);width:min(1500px,100%);height:100%;display:grid;position:relative}.presentation-slide-content>h2{color:#fff;letter-spacing:0;margin:0;font-size:clamp(48px,7vw,120px)}.presentation-slide-content>p{margin:0;font-size:clamp(28px,4vw,72px)}.presentation-text{color:#fff;max-width:min(1280px,100%);font-size:var(--presentation-font-size,32px);text-wrap:balance;white-space:pre-line;font-weight:700;line-height:1.16}.presentation-text a{color:#bfdbfe}.presentation-slide .presentation-text p,.presentation-slide .presentation-text a,.presentation-slide .presentation-text ul,.presentation-slide .presentation-text ol,.presentation-slide .presentation-text li,.presentation-slide .presentation-text span,.presentation-slide .presentation-text strong,.presentation-slide .presentation-text b,.presentation-slide .presentation-text em,.presentation-slide .presentation-text i,.presentation-slide .presentation-text u{font-size:inherit}.presentation-text p,.presentation-text ul,.presentation-text ol,.presentation-text h1,.presentation-text h2,.presentation-text h3,.presentation-text h4{margin:0}.presentation-text ul,.presentation-text ol{text-align:left;justify-items:start;gap:.18em;margin:.8em 0;padding-left:1.5em;display:grid}.presentation-text-normal{font-weight:650}.presentation-text-heading{font-size:calc(var(--presentation-font-size,32px) * 1.6);font-weight:900}.presentation-text h1{font-size:2em}.presentation-text h2{font-size:1.6em}.presentation-text h3{font-size:1.35em}.presentation-text h4{font-size:1.15em}.presentation-image{width:var(--configured-width,75%);object-fit:contain;border-radius:8px;max-width:min(100%,1280px);height:auto;max-height:58vh;display:block;box-shadow:0 24px 70px #00000047}.presentation-start{z-index:15;text-align:center;background:#05070deb;place-content:center;gap:22px;padding:32px;display:grid;position:fixed;inset:0}.presentation-start[hidden]{display:none}.presentation-start h1{color:#fff;letter-spacing:0;max-width:min(1100px,100%);margin:0;font-size:clamp(44px,6vw,96px)}.presentation-start button{color:#111827;background:#fff;justify-self:center;min-height:56px;padding:14px 22px;font-size:20px}.presentation-arrow{z-index:8;color:#fff;background:#0f172a6b;border:1px solid #ffffff29;border-radius:999px;width:58px;height:58px;padding:0;font-size:28px;position:fixed;top:50%;transform:translateY(-50%)}.presentation-arrow-prev{left:24px}.presentation-arrow-next{right:24px}.presentation-toolbar{z-index:9;color:#e5e7eb;background:#0f172a8c;border:1px solid #ffffff21;border-radius:999px;align-items:center;gap:10px;padding:8px 10px 8px 16px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.presentation-toolbar button{color:#fff;background:#ffffff1c;border:1px solid #ffffff29;min-height:36px;padding:7px 10px}.presentation-toolbar span{text-align:center;min-width:54px;font-weight:800}.status-badge{color:#334155;background:#f8fafc;border:1px solid #cbd5e1;border-radius:999px;align-items:center;width:fit-content;padding:6px 9px;font-size:12px;font-weight:900;line-height:1;display:inline-flex}.status-badge-active{color:#166534;background:#dcfce7;border-color:#86efac}.status-badge-draft{color:#92400e;background:#fffbeb;border-color:#fde68a}.status-badge-disabled{color:#991b1b;background:#fef2f2;border-color:#fecaca}.public-url-box{color:#1e3a8a;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;gap:4px;padding:12px;display:grid}.public-url-box span{overflow-wrap:anywhere;font-weight:700}.badge-admin-thumb{object-fit:contain;width:54px;height:54px;display:block}.badge-current-image{gap:8px;display:grid}.badge-admin-preview{object-fit:contain;width:96px;height:96px;display:block}.badge-assignment-panel{gap:22px}.badge-assignment-heading,.badge-assignment-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.badge-assignment-heading h2{margin:0}.badge-student-list{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;display:grid}.badge-student-row{background:#f8fafc;border:1px solid #d8dee7;border-radius:8px;align-items:flex-start;padding:10px}.badge-student-row span{gap:2px;display:grid}.form-submit-align{align-items:end;display:flex}.student-badge-strip{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 18px;padding:10px;display:flex}.student-badge-chip{color:#713f12;background:#fff;border:1px solid #facc15;align-items:center;gap:8px;min-height:48px;padding:7px 10px;display:inline-flex}.student-badge-chip img{object-fit:contain;width:34px;height:34px;display:block}.student-badge-chip span{text-overflow:ellipsis;white-space:nowrap;max-width:16ch;overflow:hidden}body.badge-celebration-open{overflow:hidden}.badge-celebration{z-index:60;background:radial-gradient(circle at 50% 25%,#facc1547,#0000 34rem),#0f172ad6;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.badge-celebration[hidden]{display:none}.badge-confetti{width:100%;height:100%;position:absolute;inset:0}.badge-celebration-card{z-index:1;text-align:center;background:#fff;border:3px solid #facc15;border-radius:8px;justify-items:center;gap:16px;width:min(520px,100%);padding:clamp(28px,5vw,52px);display:grid;position:relative;box-shadow:0 34px 110px #00000061}.badge-celebration-image{object-fit:contain;width:min(240px,62vw);height:min(240px,62vw);animation:1.4s ease-in-out infinite badge-gentle-pulse;display:block}.badge-celebration-card h2{color:#111827;letter-spacing:0;margin:0;font-size:clamp(36px,7vw,64px);line-height:1}.badge-celebration-card p{color:#b91c1c;min-height:1.4em;margin:0;font-size:20px;font-weight:900}.badge-celebration-button{color:#111827;background:linear-gradient(135deg,#d00,#facc15);min-height:56px;font-size:20px;animation:1.2s ease-in-out infinite alternate badge-button-glow;box-shadow:0 0 0 6px #facc1538,0 18px 42px #dc262657}@keyframes badge-gentle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes badge-button-glow{0%{box-shadow:0 0 0 5px #facc1533,0 14px 34px #dc262647}to{box-shadow:0 0 0 9px #facc1557,0 18px 48px #dc262670}}.form-grid-two{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.inline-input-with-unit{grid-template-columns:minmax(120px,180px) auto;align-items:center;gap:10px;display:grid}.inline-input-with-unit span{color:#475569;font-weight:800}.accepted-answer-list{gap:8px;display:grid}.accepted-answer-row{grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:8px;display:grid}.accepted-answer-row button{min-width:44px;min-height:42px;padding:8px}.effect-parameter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.effect-preview-panel{gap:12px;display:grid}.effect-preview-surface{background:linear-gradient(135deg,#0f172a,#1e293b);border:1px solid #cbd5e1;border-radius:8px;place-items:center;min-height:220px;display:grid;position:relative;overflow:hidden}.effect-preview-sample{z-index:1;color:#111827;background:#fff;border-radius:8px;place-items:center;width:min(280px,70%);min-height:120px;font-size:26px;font-weight:900;display:grid;position:relative;box-shadow:0 20px 55px #00000040}.effect-preview-overlay{z-index:2;opacity:0;pointer-events:none;position:absolute;inset:0}.game-player-body{color:#f8fafc;background:#101827;min-height:100vh;overflow:hidden}.game-player-shell{background:radial-gradient(circle at 20% 0%, #ffffff1f, transparent 34rem), linear-gradient(135deg, var(--game-bg,#101827), #070b12);color:#f8fafc;min-height:100vh;padding:clamp(18px,3vw,42px);display:grid;position:relative}.game-screen{align-items:center;min-height:calc(100vh - clamp(36px,6vw,84px));display:grid}.game-state-panel,.game-question-layout,.game-page-layout{background:var(--game-panel,#fffffff0);width:min(1120px,100%);color:var(--game-text,#111827);border:1px solid #ffffff2e;border-radius:8px;margin:0 auto;position:relative;box-shadow:0 30px 90px #00000047}[data-fx-layer]{justify-items:inherit;align-items:inherit;width:100%;display:grid}.game-effect-overlay{z-index:3;opacity:0;pointer-events:none;position:absolute;inset:0}.game-state-panel{gap:clamp(16px,2.5vh,26px);padding:clamp(26px,5vw,64px);display:grid}.game-state-panel h1{letter-spacing:0;margin:0;font-size:clamp(38px,5vw,78px);line-height:1.02}.game-state-panel p{max-width:72ch;margin:0;font-size:clamp(18px,2vw,24px);line-height:1.45}.game-eyebrow{color:var(--game-accent,#22c55e);letter-spacing:0;text-transform:uppercase;font-weight:900;font-size:13px!important}.game-rich-text{gap:.65em;max-width:76ch;font-size:clamp(18px,2vw,24px);line-height:1.45;display:grid}.game-rich-text p,.game-rich-text h1,.game-rich-text h2,.game-rich-text h3,.game-rich-text h4,.game-rich-text ul,.game-rich-text ol{margin:0}.game-actions{flex-wrap:wrap;gap:12px;display:flex}.game-actions button,.game-answer-form button,.game-audio-button{background:var(--game-accent,#16a34a);color:#fff;min-height:52px;padding:13px 20px;font-size:18px}.game-actions .secondary,.game-restart-link{background:#475569}.game-question-layout{gap:clamp(16px,2.6vh,26px);padding:clamp(20px,3.5vw,44px);display:grid}.game-page-layout{gap:clamp(18px,3vh,32px);padding:clamp(22px,4vw,56px);display:grid;overflow:hidden}.game-page-image{object-fit:cover;border-radius:8px;width:100%;max-height:42vh}.game-page-content{gap:1rem;display:grid}.game-page-content h1{letter-spacing:0;margin:0;font-size:clamp(34px,4.5vw,68px);line-height:1.05}.game-question-header{justify-content:space-between;align-items:start;gap:18px;display:flex}.game-question-header h1{letter-spacing:0;margin:0;font-size:clamp(28px,3.2vw,48px)}.game-timer{background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;justify-items:center;min-width:112px;padding:10px 12px;display:grid}.game-timer strong{color:#111827;font-size:clamp(30px,4vw,54px);line-height:1}.game-timer span{color:#475569;text-transform:uppercase;font-size:12px;font-weight:900}.game-timer-bar{background:#e5e7eb;border-radius:999px;height:12px;overflow:hidden}.game-timer-bar span{background:var(--game-accent,#22c55e);transform-origin:0;width:100%;height:100%;display:block}.game-timer-bar span[data-low=true]{background:#f59e0b}.game-stimulus{text-align:center;align-content:center;justify-items:center;gap:clamp(14px,2vh,22px);min-height:clamp(160px,29vh,330px);display:grid}.game-stimulus .game-rich-text{justify-items:center;max-width:min(880px,100%);font-size:clamp(26px,4vw,58px);font-weight:850;line-height:1.12}.game-fit-text{overflow-wrap:normal;width:100%}.game-stimulus-image{object-fit:contain;border-radius:8px;width:auto;max-width:min(100%,860px);max-height:min(34vh,320px);display:block;box-shadow:0 18px 50px #0f172a33}.game-answer-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px;display:grid}.game-character-helper{flex-wrap:wrap;grid-column:1/-1;justify-content:center;gap:8px;display:flex}.game-character-helper button{color:#0f172a;background:#fff;border:1px solid #cbd5e1;min-width:42px;min-height:42px;padding:6px 10px;font-size:20px;font-weight:900}.game-character-helper button:focus-visible{outline:3px solid var(--game-accent,#22c55e);outline-offset:2px}.game-answer-form label{gap:8px}.game-answer-form label span{text-transform:uppercase;font-size:14px;font-weight:900}.game-answer-form input{border-width:2px;min-height:64px;font-size:clamp(24px,3.2vw,42px);font-weight:800}.game-feedback{min-height:30px;margin:0;font-size:22px;font-weight:900}.game-paste-feedback{min-height:34px;color:var(--game-danger,#dc2626);text-align:center;text-transform:uppercase;margin:0;font-size:clamp(26px,4vw,48px);font-weight:950}.game-paste-feedback:not([data-visible=true]){visibility:hidden}.game-feedback[data-feedback=correct]{color:#15803d}.game-feedback[data-feedback=wrong]{color:var(--game-danger,#dc2626)}.game-hint{color:#475569;margin:0;font-size:16px;font-weight:700}.game-restart-link{justify-self:start;min-height:40px;padding:8px 12px}.game-preview-ribbon{z-index:20;color:#854d0e;text-transform:uppercase;background:#fef3c7;border:1px solid #facc15;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900;position:fixed;top:14px;right:14px}.heidi-toggle-form{justify-content:space-between;align-items:center;gap:16px;display:flex}.heidi-toggle-form button{min-width:84px}.heidi-test{place-items:center;min-height:68vh;display:grid}.heidi-test-panel{text-align:center;background:#fff;border:1px solid #cbd5e1;border-radius:8px;gap:24px;width:min(760px,100%);padding:42px;display:grid;box-shadow:0 18px 45px #0f172a14}.heidi-test-panel h1{letter-spacing:0;margin:0;font-size:42px}.heidi-status-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.heidi-status{color:#475569;background:#f8fafc;border:1px solid #d8dee7;border-radius:6px;min-height:44px;padding:10px;font-size:13px;font-weight:800;line-height:1.2}.heidi-status.is-ready{color:#166534;background:#f0fdf4;border-color:#86efac}.heidi-status.is-listening{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.heidi-status.is-processing{color:#92400e;background:#fffbeb;border-color:#fcd34d}.heidi-status.is-error{color:#b91c1c;background:#fef2f2;border-color:#fca5a5}.heidi-instruction{margin:0;font-size:20px;line-height:1.55}.heidi-input-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;display:grid}.heidi-input-details div{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;gap:6px;padding:14px;display:grid}.heidi-input-details dt{color:#64748b;text-transform:uppercase;font-size:12px;font-weight:800}.heidi-input-details dd{color:#111827;margin:0;font-weight:800}.heidi-microphone,.heidi-realtime,.heidi-g10-control{text-align:left;border-top:1px solid #e5e7eb;gap:18px;padding-top:18px;display:grid}.heidi-demo-presentation{text-align:left;border-top:1px solid #e5e7eb;gap:14px;padding-top:18px;display:grid}.heidi-demo-presentation-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.heidi-demo-presentation-heading h2,.heidi-demo-presentation-heading p{margin:0}.heidi-demo-presentation-heading h2{letter-spacing:0;font-size:18px}.heidi-demo-presentation-heading p{color:#166534;font-size:14px;font-weight:900}.heidi-demo-slides{min-height:210px}.heidi-demo-slide{text-align:center;background:#f8fafc;border:1px solid #d8dee7;border-radius:8px;align-content:center;justify-items:center;gap:10px;min-height:210px;padding:24px;display:grid}.heidi-demo-slide[hidden]{display:none}.heidi-demo-slide span{color:#1d4ed8;background:#dbeafe;border-radius:999px;place-items:center;width:54px;height:54px;font-size:26px;font-weight:900;display:grid}.heidi-demo-slide h3{letter-spacing:0;margin:0;font-size:28px}.heidi-demo-slide p{color:#475569;margin:0;font-size:18px}.heidi-demo-presentation-actions{justify-content:space-between;gap:12px;display:flex}.heidi-microphone-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.heidi-microphone-heading h2{letter-spacing:0;margin:0;font-size:18px}.heidi-meter-field{grid-column:1/-1}.heidi-mic-meter{background:#e5e7eb;border-radius:10px;align-items:center;width:100%;height:20px;display:flex;overflow:hidden}.heidi-mic-meter-fill{background:#22c55e;border-radius:999px;width:0%;height:14px;transition:width 80ms linear;display:block}.heidi-debug{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:12px}.heidi-debug summary{cursor:pointer;font-weight:800}.heidi-editor-debug{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:8px;width:100%;max-height:34rem;margin-top:1rem;font-size:.82rem;overflow:auto}.heidi-editor-debug summary{cursor:pointer;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:.75rem 1rem;font-weight:800;position:sticky;top:0}.heidi-editor-debug-list{gap:.75rem;padding:.75rem;display:grid}.heidi-debug-entry{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.75rem}.heidi-debug-entry h3{margin:0 0 .5rem;font-size:.86rem;font-weight:800}.heidi-debug-grid{gap:.35rem;display:grid}.heidi-debug-grid div{grid-template-columns:10rem minmax(0,1fr);gap:.75rem;display:grid}.heidi-debug-grid dt{color:#475569;font-weight:700}.heidi-debug-grid dd{white-space:pre-wrap;overflow-wrap:anywhere;min-width:0;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.heidi-transcript-answer{grid-column:1/-1}.heidi-logging-indicator{z-index:20;color:#166534;background:#dcfce7;border:1px solid #bbf7d0;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:800;position:fixed;bottom:16px;right:16px}.heidi-log-filters,.heidi-log-delete-all,.heidi-log-session-heading{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px;display:flex}.heidi-log-session-heading h2{margin:0}.heidi-log-entries{gap:10px;display:grid}.heidi-log-entry{border-top:1px solid #e5e7eb;grid-template-columns:56px 84px 160px 1fr;align-items:start;gap:12px;padding-top:10px;display:grid}.heidi-log-entry p{white-space:pre-wrap;margin:0}@media (width<=700px){.stats,table,thead,tbody,tr,th,td{display:block}thead{display:none}tr{border-bottom:1px solid #d8dee7}.page-heading,.topbar{flex-direction:column;align-items:flex-start}.editor-layout{grid-template-columns:1fr}.editor-heading,.inline-form{flex-direction:column;align-items:stretch}.code-box{grid-template-columns:44px minmax(0,1fr)}#code-editor{min-height:0}.heidi-sticky-bar{grid-template-columns:1fr;align-items:stretch;top:0}.heidi-sticky-controls,.heidi-sticky-details{justify-content:stretch}.heidi-sticky-controls button,.heidi-sticky-controls select{flex:150px;max-width:none}.heidi-sticky-details div:not(.sr-only){flex:120px}.student-admin-table{table-layout:auto;min-width:0}.student-admin-table th,.student-admin-table td,.student-admin-table .url-column,.student-admin-table .actions-column{width:auto}.url-link{white-space:normal}.heidi-toggle-form,.heidi-status-grid,.heidi-input-details{grid-template-columns:1fr}.heidi-toggle-form,.heidi-microphone-heading,.heidi-demo-presentation-heading,.heidi-demo-presentation-actions{align-items:stretch;display:grid}.heidi-log-entry,.effect-parameter-grid,.game-question-header,.game-answer-form{grid-template-columns:1fr}.game-player-body{overflow:auto}.game-player-shell{min-height:100dvh;padding:14px}.game-screen{min-height:calc(100dvh - 28px)}.game-timer{justify-self:start}.game-answer-form button{width:100%}.presentation-card,.scene-list li,.element-list li,.new-scene-form,.presentation-editor-grid,.form-grid-two{grid-template-columns:1fr}.presentation-card{display:grid}.presentation-card-actions,.presentation-heading-actions,.scene-actions{justify-content:flex-start}.presentation-slide{padding:26px}.presentation-arrow{width:48px;height:48px;font-size:24px;top:auto;bottom:78px}.presentation-toolbar{justify-content:center;width:calc(100% - 32px)}.heidi-test-panel{padding:24px}.heidi-test-panel h1{font-size:32px}}@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-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}
