/*! 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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction: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-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-ease:initial}}}@layer theme{:root,:host{--font-sans:-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-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--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{.\@container{container-type:inline-size}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.top-3{top:calc(var(--spacing) * 3)}.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}}.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}.inline-grid{display:inline-grid}.table{display:table}.flex-shrink,.shrink{flex-shrink:1}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.p-1{padding:var(--spacing)}.text-wrap{text-wrap:wrap}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.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)}.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)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-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))}.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)}}:root,html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f3fc;--bg-2:#ebe9f6;--surface:#fbfbfe;--surface-2:#edecf7;--white:#fbfbfe;--ink:#1c2233;--ink-soft:#454d62;--ink-strong:#0e1220;--line:#d8d6e8;--brand:#05cad0;--brand-deep:#007a86;--brand-ink:#00525c;--brand-glow:#05cad059;--student-bar:#6d28d9;--student-soft:#ede7fb;--student-deep:#4c1d95;--student-glow:#7c3aed73;--teacher-bar:#1f4fc4;--teacher-soft:#e3ebfc;--teacher-deep:#1e3a8a;--teacher-glow:#2563eb73;--parent-bar:#b25505;--parent-soft:#fdebd8;--parent-deep:#7a3b05;--parent-glow:#f59e0b73;--principal-bar:#167a3a;--principal-soft:#dff5e6;--principal-deep:#14532d;--school_admin-bar:#1d4ed8;--school_admin-soft:#dce6f9;--school_admin-deep:#1e3a8a;--principal-glow:#22c55e73;--ok:#1f7a45;--ok-ink:#14532d;--warn:#b45309;--warn-ink:#7c3f00;--warn-soft:#fdebd8;--info:#0b5fa5;--info-ink:#1e3a8a;--subj-math:#3b6fe0;--subj-science:#0f9d8a;--subj-turkish:#d6455b;--subj-english:#7c4dcc;--subj-social:#c27a0e;--subj-arts:#d94f8a;--clay-shadow:#3c3a6e38;--clay-glow:#ffffffd9;--clay-edge:#ffffffb3;--clay-inner-shade:#3c3a6e29;--focus:#006571;--toggle-on:#007a86;--r-sm:16px;--r-md:20px;--r-lg:24px;--r-xl:28px;--r-full:999px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-7:32px;--sp-8:40px;--sp-9:48px;--sp-10:64px;--fs-display:32px;--fs-h1:28px;--fs-h2:24px;--fs-h3:20px;--fs-body:17px;--fs-small:16px;--fs-micro:14px;--lh-body:1.5;--measure:65ch;--font-display:"Baloo 2 Variable", "Baloo 2", "Segoe UI", system-ui, sans-serif;--font-body:"Nunito Variable", "Nunito", "Segoe UI", system-ui, sans-serif;--dur-1:.12s;--dur-2:.2s;--dur-3:.35s;--dur-4:.5s;--ease-out:cubic-bezier(.16,1,.3,1);--ease-spring:cubic-bezier(.34,1.56,.64,1);--z-rail:10;--z-topbar:20;--z-dock:30;--z-tour:40;--z-sheet:50;--z-toast:60;--tap:48px;--tap-lg:56px;--energy-h:72px;--spin-h:64px}html[data-theme=dark],.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d1419;--bg-2:#070c11;--surface:#16202a;--surface-2:#1e2a36;--white:#fbfbfe;--ink:#e6edf3;--ink-soft:#afbccb;--ink-strong:#f6f9fb;--line:#2a3745;--brand:#20ffff;--brand-deep:#007a86;--brand-ink:#5ff0f4;--brand-glow:#20ffff47;--student-bar:#6d28d9;--student-soft:#2a1f4d;--student-deep:#cdbcff;--student-glow:#7c3aed8c;--teacher-bar:#1f4fc4;--teacher-soft:#172a4d;--teacher-deep:#a3c6ff;--teacher-glow:#2563eb8c;--parent-bar:#b25505;--parent-soft:#3d2610;--parent-deep:#ffc48a;--parent-glow:#f59e0b8c;--principal-bar:#167a3a;--principal-soft:#123420;--principal-deep:#96e8ad;--school_admin-bar:#1d4ed8;--school_admin-soft:#132a55;--school_admin-deep:#a9c5ff;--principal-glow:#22c55e8c;--ok:#1f7a45;--ok-ink:#8ee7a8;--warn:#b45309;--warn-ink:#ffd28a;--warn-soft:#3d2610;--info:#0b5fa5;--info-ink:#9cc4ff;--subj-math:#3b6fe0;--subj-science:#0f9d8a;--subj-turkish:#d6455b;--subj-english:#7c4dcc;--subj-social:#c27a0e;--subj-arts:#d94f8a;--clay-shadow:#00040abf;--clay-glow:#96bedc14;--clay-edge:#ffffff17;--clay-inner-shade:#02060e73;--focus:#5ff0f4;--toggle-on:#39c1c8}:root{--inset-top:var(--safe-area-inset-top,env(safe-area-inset-top,0px));--inset-right:var(--safe-area-inset-right,env(safe-area-inset-right,0px));--inset-bottom:var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px));--inset-left:var(--safe-area-inset-left,env(safe-area-inset-left,0px));--kb-inset:0px;--dock-total:calc(var(--dock-h,0px) + var(--inset-bottom))}[data-palette=lavender][data-theme=light]{--bg:#f5f0ff;--bg-2:#ebe3fb;--surface:#fdfbff;--surface-2:#ede8fb;--ink:#1d1a33;--ink-soft:#48425f;--ink-strong:#100c22;--line:#d9d0ef;--brand-glow:#05cad059;--clay-shadow:#4a348c47;--clay-glow:#ffffffe6;--clay-edge:#fffffff2;--clay-inner-shade:#4a348c2e;--student-soft:#e6dcfb;--student-glow:#7c3aed80;--teacher-soft:#dde7fb;--teacher-glow:#2563eb80;--parent-soft:#fbe6d0;--parent-glow:#f59e0b80;--principal-soft:#d9f2e0;--principal-glow:#22c55e80;--toggle-on:#6d28d9}[data-palette=lavender][data-theme=dark]{--bg:#120d24;--bg-2:#0b0718;--surface:#1c1533;--surface-2:#261d42;--ink:#ece6fa;--ink-soft:#b8aed6;--ink-strong:#f8f5ff;--line:#34294f;--brand-glow:#20ffff47;--clay-shadow:#030010cc;--clay-glow:#a08cdc1a;--clay-edge:#ffffff1f;--clay-inner-shade:#00000a80;--student-soft:#33245e;--student-glow:#7c3aed99;--teacher-soft:#1b2d5a;--teacher-glow:#2563eb99;--parent-soft:#42281a;--parent-glow:#f59e0b99;--principal-soft:#163a2a;--principal-glow:#22c55e99;--toggle-on:#a781f0}[data-palette=ocean][data-theme=light]{--bg:#e8f6fc;--bg-2:#d8eef8;--surface:#f7fcfe;--surface-2:#e1f0f8;--ink:#14263a;--ink-soft:#3e5468;--ink-strong:#0a1826;--line:#c5dcea;--brand-glow:#05cad059;--clay-shadow:#14466e47;--clay-glow:#ffffffe6;--clay-edge:#fffffff2;--clay-inner-shade:#14466e2e;--student-soft:#e7ddfa;--student-glow:#7c3aed80;--teacher-soft:#d7e5fb;--teacher-glow:#2563eb80;--parent-soft:#fbe6d0;--parent-glow:#f59e0b80;--principal-soft:#d6f0dd;--principal-glow:#22c55e80;--toggle-on:#1f4fc4}[data-palette=ocean][data-theme=dark]{--bg:#061a2e;--bg-2:#03101f;--surface:#0f2740;--surface-2:#163452;--ink:#e3f0fa;--ink-soft:#a9c3d8;--ink-strong:#f4f9fd;--line:#234862;--brand-glow:#20ffff47;--clay-shadow:#000612cc;--clay-glow:#78b4e61a;--clay-edge:#ffffff1f;--clay-inner-shade:#00040c80;--student-soft:#2e2458;--student-glow:#7c3aed99;--teacher-soft:#173465;--teacher-glow:#2563eb99;--parent-soft:#3f2a1a;--parent-glow:#f59e0b99;--principal-soft:#133c2c;--principal-glow:#22c55e99;--toggle-on:#6e96e7}[data-palette=apricot][data-theme=light]{--bg:#fff3e8;--bg-2:#fbe6d3;--surface:#fffaf5;--surface-2:#fbeadb;--ink:#2e1f14;--ink-soft:#5b4636;--ink-strong:#1c110a;--line:#ead2bf;--brand-glow:#05cad059;--clay-shadow:#8c501e42;--clay-glow:#ffffffe6;--clay-edge:#fffffff2;--clay-inner-shade:#8c501e2b;--student-soft:#eadffb;--student-glow:#7c3aed80;--teacher-soft:#dde8fb;--teacher-glow:#2563eb80;--parent-soft:#fbdfc2;--parent-glow:#f59e0b80;--principal-soft:#d9f0dd;--principal-glow:#22c55e80;--toggle-on:#b25505}[data-palette=apricot][data-theme=dark]{--bg:#1c110a;--bg-2:#120a05;--surface:#2a1a10;--surface-2:#372418;--ink:#f7ece2;--ink-soft:#d1b9a5;--ink-strong:#fdf6ef;--line:#4a3325;--brand-glow:#20ffff47;--clay-shadow:#0c0400cc;--clay-glow:#e6aa781a;--clay-edge:#ffffff1f;--clay-inner-shade:#08020080;--student-soft:#352452;--student-glow:#7c3aed99;--teacher-soft:#1d2e52;--teacher-glow:#2563eb99;--parent-soft:#4a2c16;--parent-glow:#f59e0b99;--principal-soft:#1a3826;--principal-glow:#22c55e99;--toggle-on:#e09855}[data-palette=meadow][data-theme=light]{--bg:#edf8ef;--bg-2:#dcefe0;--surface:#f8fdf9;--surface-2:#e4f3e7;--ink:#14261a;--ink-soft:#3d5443;--ink-strong:#0a180e;--line:#c7e0cd;--brand-glow:#05cad059;--clay-shadow:#1e5a3242;--clay-glow:#ffffffe6;--clay-edge:#fffffff2;--clay-inner-shade:#1e5a322b;--student-soft:#e6dcfa;--student-glow:#7c3aed80;--teacher-soft:#dbe7fa;--teacher-glow:#2563eb80;--parent-soft:#fae4cc;--parent-glow:#f59e0b80;--principal-soft:#cfeed8;--principal-glow:#22c55e80;--toggle-on:#167a3a}[data-palette=meadow][data-theme=dark]{--bg:#08170f;--bg-2:#040e08;--surface:#112418;--surface-2:#183021;--ink:#e4f2e8;--ink-soft:#a9c7b2;--ink-strong:#f3faf5;--line:#244634;--brand-glow:#20ffff47;--clay-shadow:#000a04cc;--clay-glow:#8cdcaa1a;--clay-edge:#ffffff1f;--clay-inner-shade:#00060280;--student-soft:#2d2352;--student-glow:#7c3aed99;--teacher-soft:#182f55;--teacher-glow:#2563eb99;--parent-soft:#3f2916;--parent-glow:#f59e0b99;--principal-soft:#17422b;--principal-glow:#22c55e99;--toggle-on:#63bc7f}[data-palette=navy][data-theme=light]{--bg:#eaf0fa;--bg-2:#d9e3f3;--surface:#f7f9fd;--surface-2:#e3eaf6;--ink:#0f1d33;--ink-soft:#334766;--ink-strong:#081326;--line:#c6d3e8;--brand-glow:#2563eb4d;--clay-shadow:#14285a42;--clay-glow:#ffffffe6;--clay-edge:#fffffff2;--clay-inner-shade:#14285a2b;--student-soft:#e6dcfa;--student-glow:#7c3aed80;--teacher-soft:#d7e3fa;--teacher-glow:#2563eb80;--parent-soft:#fae4cc;--parent-glow:#f59e0b80;--principal-soft:#d6f0dd;--principal-glow:#22c55e80;--toggle-on:#1d4ed8}[data-palette=navy][data-theme=dark]{--bg:#070f22;--bg-2:#040917;--surface:#0f1a33;--surface-2:#16244a;--ink:#e3eaf7;--ink-soft:#a7b7d4;--ink-strong:#f2f5fb;--line:#22345c;--brand-glow:#60a5fa47;--clay-shadow:#00040ecc;--clay-glow:#8caaf01a;--clay-edge:#ffffff1f;--clay-inner-shade:#00030a80;--student-soft:#2d2352;--student-glow:#7c3aed99;--teacher-soft:#173465;--teacher-glow:#3b82f699;--parent-soft:#3f2916;--parent-glow:#f59e0b99;--principal-soft:#163a2a;--principal-glow:#22c55e99;--toggle-on:#7195ef}[data-palette=navy][data-theme=light] .shell,[data-palette=navy][data-theme=light] body,html[data-theme=light] .shell[data-role=school_admin],:root:not([data-theme=dark]) .shell[data-role=school_admin]{--brand:#2563eb;--brand-deep:#1d4ed8;--brand-ink:#1e3a8a;--ok:#1d4ed8;--ok-ink:#1e3a8a}[data-palette=navy][data-theme=dark] .shell,[data-palette=navy][data-theme=dark] body,html[data-theme=dark] .shell[data-role=school_admin]{--brand:#60a5fa;--brand-deep:#1d4ed8;--brand-ink:#a9c5ff;--ok:#1d4ed8;--ok-ink:#a9c5ff}html[data-surface=student]{--fs-display:40px;--fs-h1:32px;--fs-h2:26px;--fs-h3:22px;--fs-body:18px;--fs-small:16px;--fs-micro:14px}html{background:var(--bg)}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}h1,h2,h3,.display{font-family:var(--font-display);color:var(--ink-strong);margin:0;line-height:1.2}.display{font-size:var(--fs-display);font-weight:800}h1{font-size:var(--fs-h1);font-weight:800}h2{font-size:var(--fs-h2);font-weight:700}h3{font-size:var(--fs-h3);font-weight:700}p,li{max-width:var(--measure)}.small{font-size:var(--fs-small)}.micro{font-size:var(--fs-micro)}html[data-surface=student] p.small,html[data-surface=student] li.small,html[data-surface=student] p.micro,html[data-surface=student] li.micro,html[data-surface=student] p .chip,html[data-surface=student] li .chip{font-size:var(--fs-body)}.ink-soft{color:var(--ink-soft)}.num{font-variant-numeric:tabular-nums}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}html[data-motion=reduced] *,html[data-motion=reduced] :before,html[data-motion=reduced] :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.clay{border-radius:var(--r-xl);background:linear-gradient(145deg, var(--surface) 0%, var(--surface) 100%)}@supports (color:color-mix(in lab, red, red)){.clay{background:linear-gradient(145deg, color-mix(in srgb, var(--surface) 90%, var(--clay-edge)) 0%, color-mix(in srgb, var(--surface) 92%, var(--ink) 8%) 100%)}}.clay{box-shadow:12px 14px 28px -6px var(--clay-shadow), -8px -8px 18px var(--clay-glow), inset 2px 2px 3px var(--clay-edge), inset -8px -10px 18px var(--clay-inner-shade);color:var(--ink);border:none}.clay-inset{border-radius:var(--r-lg);background:linear-gradient(145deg, var(--bg), var(--bg-2))}@supports (color:color-mix(in lab, red, red)){.clay-inset{background:linear-gradient(145deg, color-mix(in srgb, var(--bg) 88%, var(--ink) 6%), color-mix(in srgb, var(--bg-2) 90%, var(--clay-edge)))}}.clay-inset{box-shadow:inset 5px 6px 12px var(--clay-shadow), inset -3px -4px 9px var(--clay-glow), inset 0 1px 0 var(--clay-shadow)}@supports (color:color-mix(in lab, red, red)){.clay-inset{box-shadow:inset 5px 6px 12px var(--clay-shadow), inset -3px -4px 9px var(--clay-glow), inset 0 1px 0 color-mix(in srgb, var(--clay-shadow) 40%, transparent)}}.clay-inset{color:var(--ink);border:none}.skeleton-stack{gap:var(--sp-3);display:grid}.skeleton{position:relative;overflow:hidden}@media (prefers-reduced-motion:no-preference){html:not([data-motion=reduced]) .skeleton:after{content:"";background:linear-gradient(100deg, transparent 20%, var(--clay-glow) 50%, transparent 80%);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){html:not([data-motion=reduced]) .skeleton:after{background:linear-gradient(100deg, transparent 20%, color-mix(in srgb, var(--clay-glow) 60%, transparent) 50%, transparent 80%)}}html:not([data-motion=reduced]) .skeleton:after{animation:1.6s ease-in-out infinite skeleton-shimmer;transform:translate(-100%)}}@keyframes skeleton-shimmer{to{transform:translate(100%)}}.clay-accent{--a:var(--brand-deep);border-radius:var(--r-xl);color:var(--white);background:linear-gradient(145deg, var(--a), var(--a))}@supports (color:color-mix(in lab, red, red)){.clay-accent{background:linear-gradient(145deg, color-mix(in srgb, var(--a) 84%, white), color-mix(in srgb, var(--a) 82%, black))}}.clay-accent{box-shadow:10px 12px 26px -8px var(--clay-shadow), 0 0 0 4px var(--a), inset 1px 2px 2px #ffffff80, inset -3px -5px 11px var(--a)}@supports (color:color-mix(in lab, red, red)){.clay-accent{box-shadow:10px 12px 26px -8px var(--clay-shadow), 0 0 0 4px color-mix(in srgb, var(--a) 22%, transparent), inset 1px 2px 2px #ffffff80, inset -3px -5px 11px color-mix(in srgb, var(--a) 45%, black)}}.clay-accent{border:none}.clay-accent--student{--a:var(--student-bar)}.clay-accent--teacher{--a:var(--teacher-bar)}.clay-accent--parent{--a:var(--parent-bar)}.clay-accent--principal{--a:var(--principal-bar)}.clay-accent--school_admin{--a:var(--school_admin-bar)}.tone--brand{--a:var(--brand-deep);--a-deep:var(--brand-ink);--a-soft:var(--brand)}@supports (color:color-mix(in lab, red, red)){.tone--brand{--a-soft:color-mix(in srgb, var(--brand) 16%, var(--surface))}}.tone--student{--a:var(--student-bar);--a-deep:var(--student-deep);--a-soft:var(--student-soft)}.tone--teacher{--a:var(--teacher-bar);--a-deep:var(--teacher-deep);--a-soft:var(--teacher-soft)}.tone--parent{--a:var(--parent-bar);--a-deep:var(--parent-deep);--a-soft:var(--parent-soft)}.tone--principal{--a:var(--principal-bar);--a-deep:var(--principal-deep);--a-soft:var(--principal-soft)}.tone--school_admin{--a:var(--school_admin-bar);--a-deep:var(--school_admin-deep);--a-soft:var(--school_admin-soft)}.tone--warn{--a:var(--warn);--a-deep:var(--warn-ink);--a-soft:var(--warn-soft)}.tone--ok{--a:var(--ok);--a-deep:var(--ok-ink);--a-soft:var(--ok)}@supports (color:color-mix(in lab, red, red)){.tone--ok{--a-soft:color-mix(in srgb, var(--ok) 16%, var(--surface))}}.tone--neutral{--a:var(--ink-soft);--a-deep:var(--ink);--a-soft:var(--surface-2)}.clay-press{cursor:pointer;transition:transform var(--dur-1) var(--ease-out), box-shadow var(--dur-1) var(--ease-out);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.clay-press:active{box-shadow:0 4px 10px -6px var(--clay-shadow), inset 3px 3px 8px var(--clay-inner-shade);transform:scale(1.04,.9)translateY(3px)}.clay-press.is-released{animation:clayRelease .45s var(--ease-spring)}@keyframes clayRelease{0%{transform:scale(1.04,.9)translateY(3px)}45%{transform:scale(.97,1.05)translateY(-2px)}70%{transform:scale(1.02,.98)}to{transform:none}}@media (hover:hover){.clay-press:hover:not(:active):not(:disabled){transform:translateY(-1px)}}.clay-press:disabled,.clay-press[aria-disabled=true]{cursor:default;transform:none}.toggle-row{min-height:var(--tap);flex-wrap:wrap;align-items:center;gap:4px 12px;display:flex}.toggle-row__label{overflow-wrap:break-word;flex:8rem;min-width:0;font-weight:700}.toggle-row__controls{align-items:center;gap:8px;margin-inline-start:auto;display:flex}.toggle-row__state{text-align:right;min-width:48px;color:var(--ink-soft);font-weight:700}.toggle-row__hint{flex:1 0 100%}.toggle{--toggle-track:var(--surface-2)}@supports (color:color-mix(in lab, red, red)){.toggle{--toggle-track:color-mix(in srgb, var(--surface-2) 75%, var(--bg-2))}}.toggle{--toggle-knob:var(--ink-soft)}@supports (color:color-mix(in lab, red, red)){.toggle{--toggle-knob:color-mix(in srgb, var(--ink-soft) 78%, var(--surface))}}.toggle{--toggle-knob-on:var(--surface);width:64px;height:var(--tap);border-radius:var(--r-full);box-shadow:none;background:0 0;border:none;flex:none;place-items:center;padding:0;display:inline-grid;position:relative}.toggle:disabled{cursor:default}.toggle:active{box-shadow:none}.toggle__track{border-radius:var(--r-full);background-color:var(--toggle-track);width:56px;height:32px;box-shadow:inset 2px 3px 5px var(--clay-inner-shade), inset -2px -2px 4px var(--clay-glow), 0 1px 2px var(--clay-edge);display:block;position:relative}@supports (color:color-mix(in lab, red, red)){.toggle__track{box-shadow:inset 2px 3px 5px color-mix(in srgb, var(--clay-inner-shade) 70%, transparent), inset -2px -2px 4px var(--clay-glow), 0 1px 2px var(--clay-edge)}}.toggle__track{transition:background-color var(--dur-2) var(--ease-out)}.toggle.is-on .toggle__track{background-color:var(--toggle-on);background-image:linear-gradient(160deg, var(--white), transparent 60%)}@supports (color:color-mix(in lab, red, red)){.toggle.is-on .toggle__track{background-image:linear-gradient(160deg, color-mix(in srgb, var(--white) 16%, transparent), transparent 60%)}}.toggle.is-on .toggle__track{box-shadow:inset 2px 3px 5px var(--toggle-on), inset -2px -2px 4px var(--white), 0 1px 2px var(--clay-edge)}@supports (color:color-mix(in lab, red, red)){.toggle.is-on .toggle__track{box-shadow:inset 2px 3px 5px color-mix(in srgb, var(--toggle-on) 55%, black), inset -2px -2px 4px color-mix(in srgb, var(--white) 22%, transparent), 0 1px 2px var(--clay-edge)}}.toggle:active .toggle__track{box-shadow:inset 3px 4px 7px var(--clay-inner-shade), inset -1px -1px 3px var(--clay-glow), 0 1px 2px var(--clay-edge)}.toggle__knob{--knob:var(--toggle-knob);border-radius:var(--r-full);background-color:var(--knob);background-image:radial-gradient(circle at 34% 28%, var(--knob) 0%, var(--knob) 64%);width:26px;height:26px;position:absolute;top:3px;left:3px}@supports (color:color-mix(in lab, red, red)){.toggle__knob{background-image:radial-gradient(circle at 34% 28%, color-mix(in srgb, var(--knob) 72%, var(--white)) 0%, var(--knob) 64%)}}.toggle__knob{box-shadow:0 2px 4px -1px var(--clay-shadow), 0 1px 1px var(--clay-shadow), inset 1px 1px 2px var(--clay-edge), inset -1px -2px 3px var(--clay-inner-shade)}@supports (color:color-mix(in lab, red, red)){.toggle__knob{box-shadow:0 2px 4px -1px var(--clay-shadow), 0 1px 1px color-mix(in srgb, var(--clay-shadow) 60%, transparent), inset 1px 1px 2px var(--clay-edge), inset -1px -2px 3px var(--clay-inner-shade)}}.toggle__knob{transition:transform var(--dur-2) var(--ease-out), background-color var(--dur-2) var(--ease-out)}.toggle.is-on .toggle__knob{--knob:var(--toggle-knob-on);transform:translate(24px)}@media (forced-colors:active){.toggle__track{border:1.5px solid buttontext}.toggle__knob{forced-color-adjust:none;background:buttontext}.toggle.is-on .toggle__knob{background:highlight}}.rope{--a:var(--brand-deep);border-radius:var(--r-full);background:linear-gradient(145deg, var(--bg), var(--bg-2));width:100%;height:16px;min-height:16px;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.rope{background:linear-gradient(145deg, color-mix(in srgb, var(--bg) 88%, var(--ink) 6%), color-mix(in srgb, var(--bg-2) 90%, var(--clay-edge)))}}.rope{box-shadow:inset 5px 6px 12px var(--clay-shadow), inset -3px -4px 9px var(--clay-glow), inset 0 1px 0 var(--clay-shadow)}@supports (color:color-mix(in lab, red, red)){.rope{box-shadow:inset 5px 6px 12px var(--clay-shadow), inset -3px -4px 9px var(--clay-glow), inset 0 1px 0 color-mix(in srgb, var(--clay-shadow) 40%, transparent)}}.rope{border:none}.rope>i{border-radius:var(--r-full);background:linear-gradient(90deg, var(--a), var(--a));min-width:16px;height:100%;display:block}@supports (color:color-mix(in lab, red, red)){.rope>i{background:linear-gradient(90deg, color-mix(in srgb, var(--a) 80%, white), var(--a))}}.rope>i{box-shadow:inset 0 2px 0 #ffffff59, inset 0 -3px 6px var(--a)}@supports (color:color-mix(in lab, red, red)){.rope>i{box-shadow:inset 0 2px 0 #ffffff59, inset 0 -3px 6px color-mix(in srgb, var(--a) 40%, black)}}.rope>i{transition:width var(--dur-3) var(--ease-out)}.chip{--a:var(--brand-deep);--a-deep:var(--brand-ink);border-radius:var(--r-full);min-height:36px;font-family:var(--font-body);font-size:var(--fs-small);color:var(--a-deep);background:linear-gradient(145deg, var(--a), var(--a));align-items:center;gap:6px;padding:0 14px;font-weight:700;line-height:1.2;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.chip{background:linear-gradient(145deg, color-mix(in srgb, var(--a) 14%, var(--surface)), color-mix(in srgb, var(--a) 24%, var(--surface)))}}.chip{box-shadow:4px 5px 10px -4px var(--clay-shadow), inset 1px 1px 2px var(--clay-edge), inset -2px -3px 6px var(--clay-inner-shade)}@supports (color:color-mix(in lab, red, red)){.chip{box-shadow:4px 5px 10px -4px var(--clay-shadow), inset 1px 1px 2px var(--clay-edge), inset -2px -3px 6px color-mix(in srgb, var(--clay-inner-shade) 70%, transparent)}}.chip{white-space:nowrap;border:none}.chip[aria-pressed=true],.chip.is-selected{color:var(--white);background:linear-gradient(145deg, var(--a), var(--a))}@supports (color:color-mix(in lab, red, red)){.chip[aria-pressed=true],.chip.is-selected{background:linear-gradient(145deg, color-mix(in srgb, var(--a) 86%, white), var(--a))}}.chip.chip--subject{--a:var(--subj,var(--ink-soft));--a-deep:var(--ink)}.chip-meta{font-size:var(--fs-micro);color:var(--ink-soft);font-weight:600}.field{border-radius:var(--r-lg);width:100%;min-height:56px;font-family:var(--font-body);font-size:max(16px, var(--fs-body));line-height:var(--lh-body);color:var(--ink);background:linear-gradient(145deg, var(--bg), var(--bg-2));padding:0 18px;display:block}@supports (color:color-mix(in lab, red, red)){.field{background:linear-gradient(145deg, color-mix(in srgb, var(--bg) 88%, var(--ink) 6%), color-mix(in srgb, var(--bg-2) 90%, var(--clay-edge)))}}.field{box-shadow:inset 5px 6px 12px var(--clay-shadow), inset -3px -4px 9px var(--clay-glow), inset 0 1px 0 var(--clay-shadow)}@supports (color:color-mix(in lab, red, red)){.field{box-shadow:inset 5px 6px 12px var(--clay-shadow), inset -3px -4px 9px var(--clay-glow), inset 0 1px 0 color-mix(in srgb, var(--clay-shadow) 40%, transparent)}}.field{appearance:none;border:none}.field::placeholder{color:var(--ink-soft);opacity:1}textarea.field{resize:vertical;min-height:96px;padding-top:14px;padding-bottom:14px}.dot-cell{--a:var(--brand-deep);border-radius:var(--r-sm);width:48px;height:48px;font-family:var(--font-body);font-size:var(--fs-small);font-variant-numeric:tabular-nums;color:var(--ink);background:linear-gradient(145deg, var(--surface), var(--surface));justify-content:center;align-items:center;display:inline-flex;position:relative}@supports (color:color-mix(in lab, red, red)){.dot-cell{background:linear-gradient(145deg, var(--surface), color-mix(in srgb, var(--surface) 94%, var(--ink) 6%))}}.dot-cell{box-shadow:3px 4px 8px -3px var(--clay-shadow), inset 1px 1px 2px var(--clay-edge), inset -2px -3px 6px var(--clay-inner-shade)}@supports (color:color-mix(in lab, red, red)){.dot-cell{box-shadow:3px 4px 8px -3px var(--clay-shadow), inset 1px 1px 2px var(--clay-edge), inset -2px -3px 6px color-mix(in srgb, var(--clay-inner-shade) 60%, transparent)}}.dot-cell{border:none}.dot-cell.dot-cell--sm{width:44px;height:44px}.dot-cell.is-active{background:var(--a-soft,var(--student-soft));color:var(--a-deep,var(--student-deep));font-weight:800}.dot-cell.is-active:after{content:"";border-radius:var(--r-full);background:var(--a);width:8px;height:8px;position:absolute;bottom:6px;left:50%;transform:translate(-50%)}.dot-cell.is-quiet{background:var(--surface-2)}@supports (color:color-mix(in lab, red, red)){.dot-cell.is-quiet{background:color-mix(in srgb, var(--surface-2) 70%, var(--surface))}}.dot-cell.is-quiet{color:var(--ink-soft)}.dot-cell.is-rest{background:var(--surface-2)}@supports (color:color-mix(in lab, red, red)){.dot-cell.is-rest{background:color-mix(in srgb, var(--surface-2) 40%, var(--surface))}}.dot-cell.is-rest{color:var(--ink-soft)}.dot-cell.is-quiet:after{content:"";border-radius:var(--r-full);width:8px;height:8px;box-shadow:inset 0 0 0 2px var(--ink-soft);background:0 0;position:absolute;bottom:6px;left:50%;transform:translate(-50%)}.dot-cell.is-rest:after{content:"";border-radius:var(--r-full);background:var(--ink-soft);width:12px;height:3px;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}@media (forced-colors:active){.dot-cell.is-active:after,.dot-cell.is-rest:after{forced-color-adjust:none;background:canvastext}.dot-cell.is-quiet:after{outline-offset:-2px;forced-color-adjust:none;background:canvas;outline:2px solid canvastext}.dot-cell.is-today{outline-offset:-3px;outline:3px solid highlight}}.dot-cell.is-today{box-shadow:inset 0 0 0 3px var(--brand-deep), inset 1px 1px 2px var(--clay-edge)}.hit-area{position:relative}.hit-area:after{content:"";position:absolute;inset:-6px}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.clay-round{border-radius:var(--r-full);justify-content:center;align-items:center;display:inline-flex}.clay-quiet{box-shadow:none;color:var(--a-deep,var(--ink-soft));background:0 0;border:none}@media (hover:hover){.clay-quiet:hover:not(:disabled){background:var(--a-soft,var(--surface-2))}}.sheet{width:100%;max-width:100vw;max-height:calc(100dvh - var(--kb-inset));color:var(--ink);z-index:var(--z-sheet);background:0 0;border:none;margin:auto;padding:0;inset-block-end:var(--kb-inset)}.sheet::backdrop{background:var(--ink)}@supports (color:color-mix(in lab, red, red)){.sheet::backdrop{background:color-mix(in srgb, var(--ink) 42%, transparent)}}.sheet__panel{width:min(100%,520px);max-height:min(90dvh, calc(100dvh - var(--kb-inset) - var(--inset-top) - 16px));overscroll-behavior:contain;padding:24px;padding-bottom:calc(24px + var(--inset-bottom));background:var(--surface);border-bottom-right-radius:0;border-bottom-left-radius:0;margin:0 auto;overflow:auto}@media (width<=767px){.sheet{margin:auto 0 0}.sheet__panel{padding-left:calc(24px + var(--inset-left));padding-right:calc(24px + var(--inset-right))}}@media (width>=768px){.sheet__panel{max-height:min(90dvh, calc(100dvh - var(--kb-inset) - var(--inset-top) - var(--inset-bottom) - 32px));border-bottom-left-radius:var(--r-xl);border-bottom-right-radius:var(--r-xl);padding-bottom:24px}}.sheet__head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.sheet__footer{gap:12px;margin-top:20px;display:grid}.sheet__footer--pinned{bottom:calc(-24px - var(--inset-bottom));margin-inline:-24px;margin-bottom:calc(-24px - var(--inset-bottom));padding:12px 24px calc(24px + var(--inset-bottom));background:var(--surface);box-shadow:0 -8px 16px -12px var(--clay-shadow);position:sticky}@media (width<=767px){.sheet__footer--pinned{margin-left:calc(-24px - var(--inset-left));margin-right:calc(-24px - var(--inset-right));padding-left:calc(24px + var(--inset-left));padding-right:calc(24px + var(--inset-right))}}@media (width>=768px){.sheet__footer--pinned{margin-bottom:-24px;padding-bottom:24px;bottom:-24px}}@media (width<=359.98px){.toggle-row{gap:8px!important}}.segmented--cards{padding:0!important}.segmented__card{text-align:left;box-shadow:inset 0 0 0 2px var(--line);font-size:var(--fs-body)!important;align-items:flex-start!important}.segmented__card.is-checked{box-shadow:inset 0 0 0 3px var(--white), 0 6px 14px -6px var(--clay-shadow)}.segmented__card:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.info-tip__body{gap:16px;display:grid}.info-tip__block h3{font-size:var(--fs-body);margin:0 0 4px}.info-tip__block p{margin:0}.info-tip__extra{gap:12px;display:grid}.more-sheet__trigger{min-height:var(--tap);border-radius:var(--r-full);color:var(--ink-soft);font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0 14px;font-weight:700;display:inline-flex}.more-sheet__trigger .clay-btn__icon,.more-sheet__item .clay-btn__icon{display:inline-flex}.more-sheet__item{min-height:var(--tap-lg);border-radius:var(--r-lg);background:var(--surface-2);color:var(--ink);font:inherit;text-align:left;cursor:pointer;border:none;justify-content:flex-start;align-items:center;gap:12px;padding:0 16px;font-weight:700;display:flex}.confirm__actions,.settings__actions{flex-wrap:wrap;gap:12px;display:flex}.confirm__actions{justify-content:flex-end;margin-top:16px}.confirm__actions .clay-btn,.settings .clay-btn,.privacy__primary-row .clay-btn,.load-error .clay-btn,.route-error .clay-btn{font:inherit;white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-weight:700;display:inline-flex}@media (width<=359.98px){.confirm__actions .clay-btn,.settings .clay-btn,.load-error .clay-btn,.route-error .clay-btn{white-space:normal;text-align:center}}.title-row>:last-child{flex-shrink:0}.settings__school .clay-btn{white-space:normal;text-align:start;max-width:100%;padding-block:12px;line-height:1.3}.load-error .clay-btn[data-variant=ghost],.route-error .clay-btn[data-variant=ghost]{text-underline-offset:4px;text-decoration:underline}.confirm__armed{margin:12px 0 0;font-weight:700}.confirm__armed:empty{display:none}.clay-btn__spinner{background:conic-gradient(currentColor 0 90deg, currentColor 90deg 360deg);border-radius:50%;flex:none;width:18px;height:18px;display:inline-block}@supports (color:color-mix(in lab, red, red)){.clay-btn__spinner{background:conic-gradient(currentColor 0 90deg, color-mix(in srgb, currentColor 30%, transparent) 90deg 360deg)}}.clay-btn__spinner{animation:.8s linear infinite clay-btn-spin;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 3px),currentColor calc(100% - 2.5px));mask:radial-gradient(farthest-side,#0000 calc(100% - 3px),currentColor calc(100% - 2.5px))}.clay-btn.is-loading{cursor:progress}@keyframes clay-btn-spin{to{transform:rotate(360deg)}}.glass-page{min-height:100dvh;color:var(--ink);background:radial-gradient(60% 40% at 50% 12%, var(--brand-glow), transparent 70%), linear-gradient(#f2f0ff, #fff 70%)}html[data-theme=dark] .glass-page,.dark .glass-page{background:radial-gradient(60% 40% at 50% 12%,#20ffff38,#0000 70%),radial-gradient(80% 60% at 50% 100%,#0d1a26,#0000 70%),#0b1220}.glass-card{--a:var(--brand-deep);background:var(--surface);border-radius:26px;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.glass-card{background:color-mix(in srgb, var(--surface) 55%, transparent)}}.glass-card{-webkit-backdrop-filter:blur(18px)saturate(160%);box-shadow:0 0 0 1.5px var(--a), 0 0 28px var(--a), 0 18px 32px -14px #0a0e2873}@supports (color:color-mix(in lab, red, red)){.glass-card{box-shadow:0 0 0 1.5px color-mix(in srgb, var(--a) 55%, white 45%), 0 0 28px color-mix(in srgb, var(--a) 45%, transparent), 0 18px 32px -14px #0a0e2873}}.glass-card{border:none}.glass-card[data-role=student]{--a:var(--student-bar)}.glass-card[data-role=teacher]{--a:var(--teacher-bar)}.glass-card[data-role=parent]{--a:var(--parent-bar)}.glass-card[data-role=principal]{--a:var(--principal-bar)}.glass-card:before{content:"";pointer-events:none;background:linear-gradient(#ffffff73,#0000 38%);position:absolute;inset:0}.glass-pill{--a:var(--brand-deep);min-height:var(--tap);border-radius:var(--r-full);font-family:var(--font-display);color:var(--white);background:linear-gradient(var(--a), var(--a), var(--a));justify-content:center;align-items:center;padding:0 20px;font-size:clamp(16px,4.3vw,20px);font-weight:800;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.glass-pill{background:linear-gradient(color-mix(in srgb, var(--a) 70%, white), var(--a), color-mix(in srgb, var(--a) 75%, black))}}.glass-pill{box-shadow:inset 0 2px 0 var(--clay-edge), inset 0 -3px 6px var(--clay-inner-shade);border:none}.glass-logo{filter:drop-shadow(0 0 18px var(--brand-glow))}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.glass-card{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.glass-card{background:color-mix(in srgb, var(--surface) 92%, transparent)}}}.glass-card-in{animation:glassCardIn .32s var(--ease-out) both;animation-delay:calc(var(--i,0) * 60ms)}@keyframes glassCardIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.brand-mark{align-items:center;gap:.35em;display:inline-flex}.brand-mark__name{font-family:var(--font-display);letter-spacing:.02em;color:#0000;background:linear-gradient(100deg,#1d4ed8 0%,#4f46e5 55%,#7e22ce 100%);-webkit-background-clip:text;background-clip:text;font-weight:800;line-height:1}html[data-theme=dark] .brand-mark__name{background-image:linear-gradient(100deg,#67e8f9 0%,#93c5fd 50%,#c4b5fd 100%)}html[data-keyboard=open] .dock,html[data-keyboard=open] .plan-bar{display:none}html[data-surface][data-keyboard=open]{--dock-h:0px}html[data-keyboard=open] body .toast-host{bottom:calc(16px + var(--kb-inset,0px))!important}html[data-native] :is(a,button,summary,label,[role=button]){-webkit-tap-highlight-color:var(--a,var(--brand-deep))}@supports (color:color-mix(in lab, red, red)){html[data-native] :is(a,button,summary,label,[role=button]){-webkit-tap-highlight-color:color-mix(in srgb, var(--a,var(--brand-deep)) 18%, transparent)}}html[data-native] :is(.dock,.rail,.topbar,.subnav,.landing-grid){-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}html[data-native]:has(dialog.sheet[open]){overflow:hidden}:root{--bg:#fbf8f3;--ink:#1f2430}.dark{--bg:#14171f;--ink:#f2f0ea}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}@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-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{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-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-ease{syntax:"*";inherits:false}.shell{background:var(--bg);min-height:100dvh;color:var(--ink);flex-direction:column;display:flex}.shell:before{content:"";height:var(--inset-top);background:var(--bg);z-index:var(--z-topbar);pointer-events:none;position:fixed;inset:0 0 auto}.shell-skip{left:calc(16px + var(--inset-left));z-index:calc(var(--z-toast) + 1);min-height:var(--tap);border-radius:var(--r-full);background:var(--surface);color:var(--brand-ink);box-shadow:0 14px 28px -8px var(--clay-shadow);transition:top var(--dur-2) var(--ease-out);align-items:center;padding:0 20px;font-weight:800;text-decoration:none;display:inline-flex;position:absolute;top:-80px}.shell-skip:focus-visible{top:calc(12px + var(--inset-top))}.topbar{box-sizing:border-box;min-height:calc(56px + var(--inset-top));padding:var(--inset-top) calc(8px + var(--inset-right)) 0 calc(12px + var(--inset-left));background:color-mix(in srgb, var(--bg) 88%, transparent);justify-content:space-between;align-items:center;gap:8px;display:flex}.shell-changed+.shell .topbar{min-height:56px;padding-top:0}.topbar__home{min-height:var(--tap);border-radius:var(--r-md);align-items:center;padding:0 4px;display:inline-flex}.topbar__mark-wrap{flex:none;display:inline-flex}.topbar__mark{object-fit:contain;width:auto;height:38px;display:block}.topbar__avatar{border-radius:var(--r-full);display:inline-flex}.shell-route-title{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:0;position:absolute;overflow:hidden}html[data-surface]{--dock-h:72px}html[data-surface=principal],html[data-surface=school_admin]{--dock-h:0px}@media (width>=1024px){html[data-surface]{--dock-h:0px}}.shell-main{box-sizing:border-box;width:100%;padding:16px calc(16px + var(--inset-right)) calc(var(--dock-total) + 16px) calc(16px + var(--inset-left));flex:1}.shell-main:focus{outline:none}.subnav{margin:0 calc(16px + var(--inset-right)) 8px calc(16px + var(--inset-left));border-radius:var(--r-full);background:var(--surface-2);box-shadow:inset 2px 2px 5px var(--clay-inner-shade), inset -2px -2px 5px var(--clay-glow);gap:8px;padding:4px;display:flex}.subnav__link{min-width:0;min-height:var(--tap);border-radius:var(--r-full);color:var(--ink-soft);text-align:center;white-space:normal;text-wrap:balance;overflow-wrap:break-word;flex:1 1 0;justify-content:center;align-items:center;padding:0 10px;font-weight:700;line-height:1.15;text-decoration:none;display:inline-flex}@media (width<=400px){.subnav{margin-inline:calc(12px + var(--inset-left)) calc(12px + var(--inset-right));gap:4px}.subnav__link{flex:auto;padding:4px 8px}}@media (width<=359.98px){.subnav{margin-inline:calc(8px + var(--inset-left)) calc(8px + var(--inset-right))}}.subnav__link[aria-current=page]{background:var(--surface);color:var(--a-deep,var(--ink));box-shadow:0 6px 14px -8px var(--clay-shadow), inset 1px 1px 2px var(--clay-edge);font-weight:800}.dock{z-index:var(--z-dock);min-height:calc(72px + var(--inset-bottom));padding:8px calc(8px + var(--inset-right)) calc(8px + var(--inset-bottom)) calc(8px + var(--inset-left));box-sizing:border-box;background:var(--surface);box-shadow:0 -10px 28px -12px var(--clay-shadow), inset 0 1px 0 var(--clay-edge);justify-content:space-around;align-items:stretch;gap:8px;display:flex;position:fixed;bottom:0;left:0;right:0}.dock__item{border-radius:var(--r-md);min-width:56px;min-height:56px;color:var(--ink-soft);font-size:var(--fs-micro);flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:2px;padding:4px 0;font-weight:700;line-height:1.2;text-decoration:none;display:inline-flex}.dock__item[aria-current=page]{background:var(--a-soft,var(--surface-2));color:var(--a-deep,var(--ink));box-shadow:inset 0 4px 0 var(--a,var(--brand-deep)), inset 2px 3px 6px var(--clay-inner-shade), inset -2px -2px 5px var(--clay-glow)}.dock__label{white-space:normal;text-wrap:balance;overflow-wrap:break-word;letter-spacing:-.01em;max-width:100%}@media (width<=359.98px){.dock{padding-left:calc(4px + var(--inset-left));padding-right:calc(4px + var(--inset-right));gap:4px}.dock__item{min-width:48px}}.rail{display:none}@media (width>=1024px){.topbar,.dock{display:none}.rail{z-index:var(--z-rail);width:calc(240px + var(--inset-left));box-sizing:border-box;padding:calc(24px + var(--inset-top)) 16px calc(24px + var(--inset-bottom)) calc(16px + var(--inset-left));background:var(--surface);box-shadow:14px 0 28px -18px var(--clay-shadow), inset -1px 0 0 var(--clay-edge);flex-direction:column;gap:16px;display:flex;position:fixed;top:0;bottom:0;left:0}.rail__brand{min-height:var(--tap);border-radius:var(--r-md);align-items:center;gap:12px;padding:0 8px;display:flex}.rail__mark-wrap{display:inline-flex}.rail__mark{object-fit:contain;width:auto;height:52px;display:block}.rail__role{font-size:var(--fs-body);color:var(--a-deep,var(--ink-soft));margin:0;padding:0 8px;font-weight:700}.rail__nav{gap:8px;display:grid}.rail__item{border-radius:var(--r-md);min-height:56px;color:var(--ink);align-items:center;gap:12px;padding:0 16px;font-weight:700;text-decoration:none;display:flex}.rail__item[aria-current=page]{background:var(--a-soft,var(--surface-2));color:var(--a-deep,var(--ink));box-shadow:inset 4px 0 0 var(--a,var(--brand-deep)), inset 2px 3px 6px var(--clay-inner-shade), inset -2px -2px 5px var(--clay-glow)}.rail__sub{gap:8px;padding:8px 0 0 34px;display:grid}.rail__subitem{min-height:var(--tap);border-radius:var(--r-sm);color:var(--ink-soft);align-items:center;padding:0 16px;font-weight:700;text-decoration:none;display:flex}.rail__subitem[aria-current=page]{color:var(--a-deep,var(--ink));background:var(--a-soft,var(--surface-2));box-shadow:inset 1px 1px 2px var(--clay-edge);font-weight:800}.rail__spacer{flex:1}.rail__foot{gap:12px;display:grid}.rail__settings{border-radius:var(--r-md);min-height:56px;color:var(--ink);align-items:center;gap:12px;padding:0 8px;font-weight:700;text-decoration:none;display:flex}.rail__settings[aria-current=page]{background:var(--a-soft,var(--surface-2));color:var(--a-deep,var(--ink))}.shell-main{width:auto;margin-left:calc(240px + var(--inset-left));max-width:1100px;padding:calc(40px + var(--inset-top)) calc(32px + var(--inset-right)) calc(40px + var(--inset-bottom)) 32px}.shell-changed+.shell .shell-main{padding-top:40px}.subnav{display:none}.shell:before{left:calc(240px + var(--inset-left))}}.shell-splash{min-height:60dvh;color:var(--ink-soft);justify-content:center;align-items:center;gap:12px;font-weight:700;display:flex}.shell-splash__dot{border-radius:var(--r-full);background:var(--brand-deep);width:14px;height:14px;animation:shellPulse 1.2s var(--ease-out) infinite}@keyframes shellPulse{0%,to{opacity:.5;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}}.placeholder{gap:12px;display:grid}.settings{gap:20px;max-width:720px;display:grid}.settings__card{gap:16px;display:grid}.settings__card h2{margin:0}.settings .settings__school-switch.clay-btn{white-space:normal;text-align:center;max-width:100%}@media (width<=359.98px){.settings__card{padding-inline:16px!important}}.settings__row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.settings__actions{flex-wrap:wrap;gap:12px;display:flex}.settings__link{min-height:var(--tap);border-radius:var(--r-full);align-items:center;padding:0 18px;font-weight:700;text-decoration:none;display:inline-flex}.settings__privacy{min-height:56px;color:var(--ink);justify-content:space-between;font-weight:800}.settings__foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.back-link{min-height:var(--tap);border-radius:var(--r-full);color:var(--ink-soft);align-items:center;gap:2px;padding:0 8px 0 2px;font-weight:700;text-decoration:none;display:inline-flex}.load-error{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);margin-block:var(--sp-3);flex-wrap:wrap;display:flex}.load-error__text{flex:16rem;min-width:0;margin:0}.shell-changed{margin:calc(16px + var(--inset-top)) calc(16px + var(--inset-right)) 16px calc(16px + var(--inset-left));border-radius:var(--r-md);background:var(--surface);color:var(--ink);box-shadow:var(--clay-shadow);padding:16px}.shell-changed h2{margin:0 0 8px}.shell-changed__actions{flex-wrap:wrap;gap:12px;margin-top:12px;display:flex}.route-error{min-height:60vh;padding:calc(var(--sp-6,24px) + var(--inset-top)) calc(var(--sp-4,16px) + var(--inset-right)) calc(var(--sp-6,24px) + var(--inset-bottom)) calc(var(--sp-4,16px) + var(--inset-left));background:var(--bg);place-items:center;display:grid}.route-error__card{justify-items:center;gap:var(--sp-3,12px);width:100%;max-width:480px;padding:var(--sp-7,32px) var(--sp-5,20px);text-align:center;display:grid}.route-error__icon{border-radius:var(--r-full);width:64px;height:64px;color:var(--brand-ink);justify-content:center;align-items:center;display:inline-flex}.route-error__title{font-size:var(--fs-h2,24px);margin:0}.route-error__body{max-width:40ch;margin:0}.route-error__actions{justify-content:center;gap:var(--sp-2,8px);margin-top:var(--sp-2,8px);flex-wrap:wrap;display:flex}
