:root{--white-50:#FCFBF9;--white-100:#F6F4F0;--white-200:#ECE8E1;--white-300:#DCD7CE;--white-400:#CFC9BE;--black-900:#0F0E0C;--black-800:#171510;--black-700:#252119;--black-600:#332E25;--black-500:#56514A;--black-400:#78726A;--black-300:#8B857A;--black-dk-surface:#1B1813;--black-dk-secondary:#B5AFA4;--black-dk-tertiary:#7B7569;--molten:#FF4D1A;--molten-ink:#5C1A06;--molten-tint:#FCE4DA;--hot-red:#EC1C2D;--hot-red-ink:#6B0710;--hot-red-tint:#FBE0E2;--magenta:#DD1E9A;--magenta-ink:#6B0A49;--magenta-tint:#FBDFF0;--violet:#7A2FF2;--violet-ink:#2E0A75;--violet-tint:#EBE0FD;--ultramarine:#1F35E0;--ultra-ink:#0A1574;--ultra-tint:#E0E4FB;--tiffany:#0FC2C0;--tiffany-ink:#06403E;--tiffany-tint:#D9F6F5;--acid:#C2F000;--acid-ink:#3A4A00;--acid-tint:#F1FBC9;--amber:#FFB020;--amber-ink:#6B4500;--amber-tint:#FCEFD2;--cobalt:#1E6BFF;--cobalt-ink:#07227A;--cobalt-tint:#DEE9FF;--cyan:#00B5D8;--cyan-ink:#053C49;--cyan-tint:#D2F2F8;--emerald:#10A37A;--emerald-ink:#053D2C;--emerald-tint:#DBF3EC;--tangerine:#FF8A00;--tangerine-ink:#6B3A00;--tangerine-tint:#FCEAD2;--rose:#F4356E;--rose-ink:#6B0A2C;--rose-tint:#FCDDE7;--grape:#A82FE0;--grape-ink:#420A66;--grape-tint:#F0DEFB;--indigo:#4B41E0;--indigo-ink:#16107A;--indigo-tint:#E2E0FB;--success:#10936A;--success-ink:#053D2C;--success-tint:#DBF2E9;--danger:#EC1C2D;--danger-ink:#6B0710;--danger-tint:#FBE0E2;--warning:#FFB020;--warning-ink:#6B4500;--warning-tint:#FCEFD2;--info:#1F35E0;--info-ink:#0A1574;--info-tint:#E0E4FB;--bg-canvas:var(--white-100);--bg-surface:var(--white-50);--bg-raised:#FFFFFF;--bg-sunken:var(--white-200);--bg-inverse:var(--black-800);--border:var(--white-300);--border-strong:var(--white-400);--text-primary:var(--black-800);--text-secondary:var(--black-500);--text-tertiary:var(--black-300);--text-inverse:var(--white-100);--signature:var(--ultramarine);--signature-ink:var(--ultra-ink);--signature-tint:var(--ultra-tint);--accent:var(--signature);--accent-ink:var(--signature-ink);--accent-tint:var(--signature-tint);--font-sans:"Google Sans Flex","Poppins","Google Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--font-serif:"DM Serif Display",Georgia,"Times New Roman",serif;--font-serif-alt:"Bodoni Moda","DM Serif Display",Georgia,serif;--font-mono:"Google Sans Code",ui-monospace,"SF Mono","Cascadia Code",monospace;--font-script:"Caveat","Segoe Print",cursive;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--sans-axes:"ROND" 12,"opsz" 18;--text-display-lg:64px;--text-display:48px;--text-display-sm:36px;--text-h1:32px;--text-h2:26px;--text-h3:21px;--text-h4:18px;--text-h5:16px;--text-h6:14px;--text-body-lg:18px;--text-body:16px;--text-body-sm:14px;--text-caption:13px;--text-overline:11px;--text-code:14px;--text-code-sm:12px;--text-data:13px;--lh-tight:1.05;--lh-snug:1.2;--lh-normal:1.5;--lh-relaxed:1.7;--ls-tight:-0.01em;--ls-normal:0;--ls-wide:0.04em;--ls-caps:0.12em;--ls-caps-loose:0.18em;--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:40px;--space-8:48px;--space-9:64px;--space-10:96px;--space-11:128px;--radius-0:0;--radius-xs:2px;--radius-sm:3px;--radius-md:6px;--border-width:0.5px;--border-width-strong:1px;--focus-ring:2px;--frost-bg:rgba(246,244,240,0.72);--frost-blur:blur(14px);--scrim:rgba(15,14,12,0.42);--ease:cubic-bezier(0.2,0,0,1);--dur-fast:120ms;--dur:180ms;--dur-slow:260ms;--container:1200px;--container-narrow:760px;--sidenav-w:248px;--topbar-h:60px}[data-theme=dark]{--bg-canvas:var(--black-900);--bg-surface:var(--black-700);--bg-raised:#2A251D;--bg-sunken:var(--black-dk-surface);--bg-inverse:var(--white-100);--border:var(--black-600);--border-strong:#403A30;--text-primary:var(--white-100);--text-secondary:var(--black-dk-secondary);--text-tertiary:var(--black-dk-tertiary);--text-inverse:var(--black-800);--frost-bg:rgba(15,14,12,0.66);--scrim:rgba(0,0,0,0.6);--molten-tint:rgba(255,77,26,0.16);--hot-red-tint:rgba(236,28,45,0.16);--magenta-tint:rgba(221,30,154,0.16);--violet-tint:rgba(122,47,242,0.18);--ultra-tint:rgba(31,53,224,0.20);--tiffany-tint:rgba(15,194,192,0.16);--acid-tint:rgba(194,240,0,0.16);--amber-tint:rgba(255,176,32,0.16);--cobalt-tint:rgba(30,107,255,0.18);--cyan-tint:rgba(0,181,216,0.16);--emerald-tint:rgba(16,163,122,0.16);--tangerine-tint:rgba(255,138,0,0.16);--rose-tint:rgba(244,53,110,0.16);--grape-tint:rgba(168,47,224,0.18);--indigo-tint:rgba(75,65,224,0.20);--success-tint:rgba(16,147,106,0.16);--danger-tint:rgba(236,28,45,0.16);--warning-tint:rgba(255,176,32,0.16);--info-tint:rgba(31,53,224,0.20);--signature-tint:rgba(255,77,26,0.16)}[data-surface=student]{--accent:var(--tiffany);--accent-ink:var(--tiffany-ink);--accent-tint:var(--tiffany-tint)}[data-surface=teacher]{--accent:var(--cobalt);--accent-ink:var(--cobalt-ink);--accent-tint:var(--cobalt-tint)}[data-surface=admin]{--accent:var(--violet);--accent-ink:var(--violet-ink);--accent-tint:var(--violet-tint)}[data-surface=parent]{--accent:var(--indigo);--accent-ink:var(--indigo-ink);--accent-tint:var(--indigo-tint)}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:300;src:url(/_next/static/media/poppins-devanagari-300-normal.11e974e9.woff2) format("woff2"),url(/_next/static/media/poppins-devanagari-300-normal.8b0f672b.woff) format("woff");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:300;src:url(/_next/static/media/poppins-latin-ext-300-normal.435b7c2a.woff2) format("woff2"),url(/_next/static/media/poppins-latin-ext-300-normal.22065c91.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:300;src:url(/_next/static/media/poppins-latin-300-normal.c0455185.woff2) format("woff2"),url(/_next/static/media/poppins-latin-300-normal.599ec7be.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/poppins-devanagari-400-normal.d249ccec.woff2) format("woff2"),url(/_next/static/media/poppins-devanagari-400-normal.d65a6efd.woff) format("woff");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/poppins-latin-ext-400-normal.d13a3802.woff2) format("woff2"),url(/_next/static/media/poppins-latin-ext-400-normal.f3d40bd4.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/poppins-latin-400-normal.916d3686.woff2) format("woff2"),url(/_next/static/media/poppins-latin-400-normal.cbe785df.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/poppins-devanagari-500-normal.59713c24.woff2) format("woff2"),url(/_next/static/media/poppins-devanagari-500-normal.ffb75300.woff) format("woff");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/poppins-latin-ext-500-normal.e809e1d5.woff2) format("woff2"),url(/_next/static/media/poppins-latin-ext-500-normal.e1148c49.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/poppins-latin-500-normal.7777133e.woff2) format("woff2"),url(/_next/static/media/poppins-latin-500-normal.fd8e96c2.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/poppins-devanagari-600-normal.41ac365d.woff2) format("woff2"),url(/_next/static/media/poppins-devanagari-600-normal.7730d06d.woff) format("woff");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/poppins-latin-ext-600-normal.3d81d8b7.woff2) format("woff2"),url(/_next/static/media/poppins-latin-ext-600-normal.7da6f78a.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/poppins-latin-600-normal.d8692086.woff2) format("woff2"),url(/_next/static/media/poppins-latin-600-normal.c070cf14.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Google Sans Code Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/_next/static/media/google-sans-code-adlam-wght-normal.98e5bf86.woff2) format("woff2-variations");unicode-range:u+061f,u+0640,u+2015,u+201b,u+2020-2021,u+2030,u+204f,u+25cc,u+2e28-2e29,u+2e41,u+1e900-1e95f}@font-face{font-family:Google Sans Code Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/_next/static/media/google-sans-code-canadian-aboriginal-wght-normal.78bc8e25.woff2) format("woff2-variations");unicode-range:u+02c7,u+02d8-02d9,u+02db,u+0307,u+1400-167f,u+18b0-18f5,u+25cc,u+11ab?}@font-face{font-family:Google Sans Code Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/_next/static/media/google-sans-code-cherokee-wght-normal.66cbeeeb.woff2) format("woff2-variations");unicode-range:u+0300-0302,u+0304,u+030b-030c,u+0323-0324,u+0330-0331,u+13a0-13ff,u+ab70-abbf}@font-face{font-family:Google Sans Code Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/_next/static/media/google-sans-code-math-wght-normal.41d1993e.woff2) format("woff2-variations");unicode-range:u+0302-0303,u+0305,u+0307-0308,u+0310,u+0312,u+0315,u+031a,u+0326-0327,u+032c,u+032f-0330,u+0332-0333,u+0338,u+033a,u+0346,u+034d,u+0391-03a1,u+03a3-03a9,u+03b1-03c9,u+03d1,u+03d5-03d6,u+03f0-03f1,u+03f4-03f5,u+2016-2017,u+2034-2038,u+203c,u+2040,u+2043,u+2047,u+2050,u+2057,u+205f,u+2070-2071,u+2074-208e,u+2090-209c,u+20d0-20dc,u+20e1,u+20e5-20ef,u+2100-2112,u+2114-2115,u+2117-2121,u+2123-214f,u+2190,u+2192,u+2194-21ae,u+21b0-21e5,u+21f1-21f2,u+21f4-2211,u+2213-2214,u+2216-22ff,u+2308-230b,u+2310,u+2319,u+231c-2321,u+2336-237a,u+237c,u+2395,u+239b-23b7,u+23d0,u+23dc-23e1,u+2474-2475,u+25af,u+25b3,u+25b7,u+25bd,u+25c1,u+25ca,u+25cc,u+25fb,u+266d-266f,u+27c0-27ff,u+2900-2aff,u+2b0e-2b11,u+2b30-2b4c,u+2bfe,u+3030,u+ff5b,u+ff5d,u+1d400-1d7ff,u+1ee??}@font-face{font-family:Google Sans Code Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/_next/static/media/google-sans-code-old-permic-wght-normal.b28bf679.woff2) format("woff2-variations");unicode-range:u+0300,u+0306-0308,u+0313,u+0483,u+20db,u+25cc,u+10350-1037a}@font-face{font-family:Google Sans Code Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/_next/static/media/google-sans-code-symbols-wght-normal.c7a634fb.woff2) format("woff2-variations");unicode-range:u+0001-000c,u+000e-001f,u+007f-009f,u+20dd-20e0,u+20e2-20e4,u+2150-218f,u+2190,u+2192,u+2194-2199,u+21af,u+21e6-21f0,u+21f3,u+2218-2219,u+2299,u+22c4-22c6,u+2300-243f,u+2440-244a,u+2460-24ff,u+25a0-27bf,u+28??,u+2921-2922,u+2981,u+29bf,u+29eb,u+2b??,u+4dc0-4dff,u+fff9-fffb,u+10140-1018e,u+10190-1019c,u+101a0,u+101d0-101fd,u+102e0-102fb,u+10e60-10e7e,u+1d2c0-1d2d3,u+1d2e0-1d37f,u+1f0??,u+1f100-1f1ad,u+1f1e6-1f1ff,u+1f30d-1f30f,u+1f315,u+1f31c,u+1f31e,u+1f320-1f32c,u+1f336,u+1f378,u+1f37d,u+1f382,u+1f393-1f39f,u+1f3a7-1f3a8,u+1f3ac-1f3af,u+1f3c2,u+1f3c4-1f3c6,u+1f3ca-1f3ce,u+1f3d4-1f3e0,u+1f3ed,u+1f3f1-1f3f3,u+1f3f5-1f3f7,u+1f408,u+1f415,u+1f41f,u+1f426,u+1f43f,u+1f441-1f442,u+1f444,u+1f446-1f449,u+1f44c-1f44e,u+1f453,u+1f46a,u+1f47d,u+1f4a3,u+1f4b0,u+1f4b3,u+1f4b9,u+1f4bb,u+1f4bf,u+1f4c8-1f4cb,u+1f4d6,u+1f4da,u+1f4df,u+1f4e3-1f4e6,u+1f4ea-1f4ed,u+1f4f7,u+1f4f9-1f4fb,u+1f4fd-1f4fe,u+1f503,u+1f507-1f50b,u+1f50d,u+1f512-1f513,u+1f53e-1f54a,u+1f54f-1f5fa,u+1f610,u+1f650-1f67f,u+1f687,u+1f68d,u+1f691,u+1f694,u+1f698,u+1f6ad,u+1f6b2,u+1f6b9-1f6ba,u+1f6bc,u+1f6c6-1f6cf,u+1f6d3-1f6d7,u+1f6e0-1f6ea,u+1f6f0-1f6f3,u+1f6f7-1f6fc,u+1f7??,u+1f800-1f80b,u+1f810-1f847,u+1f850-1f859,u+1f860-1f887,u+1f890-1f8ad,u+1f8b0-1f8bb,u+1f8c0-1f8c1,u+1f900-1f90b,u+1f93b,u+1f946,u+1f984,u+1f996,u+1f9e9,u+1fa00-1fa6f,u+1fa70-1fa7c,u+1fa80-1fa89,u+1fa8f-1fac6,u+1face-1fadc,u+1fadf-1fae9,u+1faf0-1faf8,u+1fb??}@font-face{font-family:Google Sans Code Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/_next/static/media/google-sans-code-symbols2-wght-normal.e159b75b.woff2) format("woff2-variations");unicode-range:u+2000-2001,u+2004-2008,u+200a,u+23b8-23bd,u+2500-259f}@font-face{font-family:Google Sans Code Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/_next/static/media/google-sans-code-syriac-wght-normal.bf02ad47.woff2) format("woff2-variations");unicode-range:u+0303-0304,u+0307-0308,u+030a,u+0320,u+0323-0325,u+032d-032e,u+0330-0331,u+060c,u+061b-061c,u+061f,u+0621,u+0640,u+064b-0655,u+0660-066c,u+0670,u+0700-074f,u+0860-086a,u+1df8,u+1dfa,u+200c-200f,u+25cc,u+2670-2671}@font-face{font-family:Google Sans Code Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/_next/static/media/google-sans-code-vietnamese-wght-normal.15b3253f.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Google Sans Code Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/_next/static/media/google-sans-code-latin-ext-wght-normal.33a444f0.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Google Sans Code Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/_next/static/media/google-sans-code-latin-wght-normal.72a2a501.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/caveat-cyrillic-ext-400-normal.64a6e830.woff2) format("woff2"),url(/_next/static/media/caveat-cyrillic-ext-400-normal.1f479711.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/caveat-cyrillic-400-normal.37a51f11.woff2) format("woff2"),url(/_next/static/media/caveat-cyrillic-400-normal.db8d4456.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/caveat-latin-ext-400-normal.b6d2befb.woff2) format("woff2"),url(/_next/static/media/caveat-latin-ext-400-normal.d435cff4.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/caveat-latin-400-normal.b60fe5ec.woff2) format("woff2"),url(/_next/static/media/caveat-latin-400-normal.e841907a.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/caveat-cyrillic-ext-500-normal.a0d10130.woff2) format("woff2"),url(/_next/static/media/caveat-cyrillic-ext-500-normal.735d5e2a.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/caveat-cyrillic-500-normal.b1f2573f.woff2) format("woff2"),url(/_next/static/media/caveat-cyrillic-500-normal.4270da09.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/caveat-latin-ext-500-normal.26478c9f.woff2) format("woff2"),url(/_next/static/media/caveat-latin-ext-500-normal.d215da3d.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/caveat-latin-500-normal.bb53c197.woff2) format("woff2"),url(/_next/static/media/caveat-latin-500-normal.0ff7e852.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg-canvas);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--lh-normal);font-weight:var(--fw-regular);font-variation-settings:var(--sans-axes);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:var(--accent);color:#fff}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}:focus-visible{outline:var(--focus-ring) solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}.display,.display-lg,.display-sm{font-family:var(--font-sans);font-weight:300;font-variation-settings:var(--sans-axes);line-height:var(--lh-tight);letter-spacing:-.02em;margin:0}.display-lg{font-size:var(--text-display-lg)}.display{font-size:var(--text-display)}.display-sm{font-size:var(--text-display-sm)}.display-serif,.display-sm{font-weight:400;letter-spacing:var(--ls-tight)}.display-serif{font-family:var(--font-serif)}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);margin:0;color:var(--text-primary);font-variation-settings:var(--sans-axes);line-height:var(--lh-snug);letter-spacing:var(--ls-tight)}.h1,h1{font-size:var(--text-h1)}.h1,.h2,h1,h2{font-weight:var(--fw-semibold)}.h2,h2{font-size:var(--text-h2)}.h3,h3{font-size:var(--text-h3)}.h3,.h4,h3,h4{font-weight:var(--fw-medium)}.h4,h4{font-size:var(--text-h4)}.h5,h5{font-size:var(--text-h5)}.h5,.h6,h5,h6{font-weight:var(--fw-medium)}.h6,h6{font-size:var(--text-h6)}.body-lg{font-size:var(--text-body-lg);line-height:var(--lh-relaxed)}.body{font-size:var(--text-body)}.body,.body-sm{line-height:var(--lh-normal)}.body-sm{font-size:var(--text-body-sm)}.caption{font-size:var(--text-caption);line-height:var(--lh-normal)}.caption,.muted{color:var(--text-secondary)}.overline,.quiet{color:var(--text-tertiary)}.overline{font-size:var(--text-overline);font-weight:var(--fw-medium);letter-spacing:var(--ls-caps);text-transform:uppercase}.data,.mono,.overline{font-family:var(--font-mono)}.data,.mono{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.data{font-size:var(--text-data);color:var(--text-secondary)}.code{font-family:var(--font-mono);font-size:var(--text-code)}.handnote,.script{font-family:var(--font-script)}.handnote{font-size:21px;color:var(--text-secondary);line-height:1.2;display:inline-block}.container{max-width:var(--container);margin:0 auto;padding:0 var(--space-6)}.stack>*+*{margin-top:var(--space-4)}.row,.row-between{display:flex;align-items:center;gap:var(--space-3)}.row-between{justify-content:space-between}.grid{display:grid;grid-gap:var(--space-5);gap:var(--space-5)}.divider{height:var(--border-width);border:0;margin:var(--space-5) 0}.divider,.divider-v{background:var(--border)}.divider-v{width:var(--border-width);align-self:stretch}.eyebrow{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.eyebrow:after{content:"";flex:1 1;height:var(--border-width);background:var(--border)}.icon{width:20px;height:20px;stroke:currentColor;stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:none}.icon-sm{width:16px;height:16px}.icon-lg{width:24px;height:24px}.btn{position:relative;z-index:0;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-sans);font-size:var(--text-body-sm);font-weight:var(--fw-medium);font-variation-settings:var(--sans-axes);padding:9px 18px;border-radius:var(--radius-sm);border:var(--border-width) solid transparent;cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease),transform var(--dur-fast) var(--ease);white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;text-decoration:none}.btn:active{transform:scale(.985)}.btn:disabled,.btn[aria-disabled=true]{opacity:.4;pointer-events:none}.btn .icon{width:18px;height:18px}.btn:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:var(--accent);border-radius:inherit}.btn-primary{background:transparent;color:var(--text-inverse)}.btn-primary:after{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;background:var(--bg-inverse);border-radius:inherit}.btn-primary:before{transform:translateY(100%);transition:transform .32s var(--ease)}.btn-primary:hover{color:#fff;border-color:var(--accent)}.btn-primary:hover:before{transform:translateY(0)}.btn-secondary{background:transparent;color:var(--text-primary);border-color:var(--border-strong)}.btn-secondary:before{transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}.btn-secondary:hover{color:#fff;border-color:var(--accent)}.btn-secondary:hover:before{transform:scaleX(1)}.btn-accent:before,.btn-danger:before,.btn-ghost:before{content:none}.btn-ghost{background:transparent;color:var(--text-secondary);padding:9px 12px}.btn-ghost:hover{color:var(--text-primary);background:var(--bg-sunken)}.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover{filter:brightness(.92)}.btn-danger{background:transparent;color:var(--danger);border-color:var(--danger)}.btn-danger:hover{background:var(--danger);color:#fff}.btn-sm{padding:6px 12px;font-size:var(--text-caption)}.btn-lg{padding:12px 24px;font-size:var(--text-body)}.btn-icon{padding:9px;width:38px;height:38px}.btn-block{display:flex;width:100%}.card{background:var(--bg-surface);border:var(--border-width) solid var(--border);border-radius:var(--radius-sm);padding:var(--space-5)}.card-pad-lg{padding:var(--space-6)}.card-hover{transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease);cursor:pointer}.card-hover:hover{border-color:var(--border-strong)}.card-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.subject-card{background:var(--bg-surface);border:var(--border-width) solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.subject-card .band{background:var(--subject);padding:12px 16px;display:flex;align-items:baseline;justify-content:space-between}.subject-card .band .name{color:var(--subject-ink);font-size:var(--text-body-sm);font-weight:var(--fw-medium)}.subject-card .band .code{color:var(--subject-ink);opacity:.7;font-family:var(--font-mono);font-size:var(--text-overline)}.subject-card .body{padding:var(--space-4) var(--space-4) var(--space-5)}.stat{background:var(--bg-surface);border:var(--border-width) solid var(--border);border-radius:var(--radius-sm);padding:var(--space-4) var(--space-5)}.stat .label{font-size:var(--text-caption);color:var(--text-secondary);margin-bottom:var(--space-2)}.stat .value{font-family:var(--font-sans);font-variation-settings:var(--sans-axes);font-size:30px;font-weight:500;line-height:1;color:var(--text-primary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat .delta{font-family:var(--font-mono);font-size:var(--text-overline);margin-top:var(--space-2)}.stat .delta.up{color:var(--success)}.stat .delta.down{color:var(--danger)}.field,.field-label{display:block}.field-label{font-size:var(--text-caption);font-weight:var(--fw-medium);color:var(--text-secondary);margin-bottom:var(--space-2)}.input,.select,.textarea{width:100%;font-family:var(--font-sans);font-size:var(--text-body-sm);color:var(--text-primary);background:var(--bg-surface);border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-sm);padding:9px 12px;height:38px;transition:border-color var(--dur) var(--ease);font-variation-settings:var(--sans-axes)}.textarea{height:auto;min-height:88px;padding:10px 12px;resize:vertical;line-height:var(--lh-normal)}.input::placeholder,.textarea::placeholder{color:var(--text-tertiary)}.input:hover,.select:hover,.textarea:hover{border-color:var(--text-tertiary)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--text-primary);box-shadow:0 0 0 var(--focus-ring) var(--accent-tint)}.input.is-error,.textarea.is-error{border-color:var(--danger)}.input:disabled{background:var(--bg-sunken);color:var(--text-tertiary);cursor:not-allowed}.field-hint{color:var(--text-tertiary)}.field-error,.field-hint{font-size:var(--text-caption);margin-top:var(--space-2)}.field-error{color:var(--danger)}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238B857A' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.search{position:relative}.search .icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--text-tertiary);width:17px;height:17px}.search .input{padding-left:36px}.check{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer;font-size:var(--text-body-sm)}.check input{position:absolute;opacity:0;width:0;height:0}.check .box{width:18px;height:18px;border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-xs);background:var(--bg-surface);display:inline-grid;place-items:center;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease);flex:none}.check .box.round{border-radius:50%}.check input:checked+.box{background:var(--bg-inverse);border-color:var(--bg-inverse);color:var(--text-inverse)}.check input:focus-visible+.box{outline:var(--focus-ring) solid var(--accent);outline-offset:2px}.check .box svg{width:12px;height:12px;stroke:currentColor;stroke-width:2.5;fill:none;opacity:0}.check input:checked+.box svg{opacity:1}.check .dot{width:7px;height:7px;border-radius:50%;background:var(--text-inverse);transform:scale(0);transition:transform var(--dur) var(--ease)}.check input:checked+.box.round .dot{transform:scale(1)}.switch{position:relative;display:inline-flex;align-items:center;cursor:pointer}.switch input{position:absolute;opacity:0;width:0;height:0}.switch .track{width:38px;height:22px;border-radius:999px;background:var(--white-300);transition:background var(--dur) var(--ease);position:relative;flex:none}[data-theme=dark] .switch .track{background:var(--black-600)}.switch .track:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform var(--dur) var(--ease)}.switch input:checked+.track{background:var(--accent)}.switch input:checked+.track:after{transform:translateX(16px)}.tag{display:inline-flex;align-items:center;gap:5px;font-size:var(--text-overline);font-weight:var(--fw-medium);letter-spacing:var(--ls-wide);text-transform:uppercase;padding:3px 8px;border-radius:var(--radius-xs);background:var(--bg-sunken);color:var(--text-secondary);font-family:var(--font-mono)}.tag .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.tag-success{background:var(--success-tint);color:var(--success-ink)}.tag-danger{background:var(--danger-tint);color:var(--danger-ink)}.tag-warning{background:var(--warning-tint);color:var(--warning-ink)}.tag-info{background:var(--info-tint);color:var(--info-ink)}.tag-molten{background:var(--molten-tint);color:var(--molten-ink)}[data-theme=dark] .tag-success{color:var(--success)}[data-theme=dark] .tag-danger{color:var(--hot-red)}[data-theme=dark] .tag-warning{color:var(--amber)}[data-theme=dark] .tag-info{color:var(--ultramarine)}[data-theme=dark] .tag-molten{color:var(--molten)}.badge{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-xs);background:var(--accent);color:#fff;font-family:var(--font-mono);font-size:11px;font-weight:var(--fw-medium);line-height:1}.badge-neutral{background:var(--bg-inverse);color:var(--text-inverse)}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--bg-sunken);color:var(--text-secondary);font-family:var(--font-sans);font-size:var(--text-caption);font-weight:var(--fw-medium);border:var(--border-width) solid var(--border)}.avatar-sm{width:28px;height:28px;font-size:11px}.avatar-lg{width:48px;height:48px;font-size:var(--text-body)}.progress{height:6px;background:var(--bg-sunken);border-radius:999px;overflow:hidden}.progress>span{display:block;height:100%;background:var(--text-primary);border-radius:999px}.progress.accent>span{background:var(--accent)}.ring{position:relative;width:56px;height:56px}.ring svg{transform:rotate(-90deg);width:100%;height:100%}.ring .track-c{stroke:var(--bg-sunken)}.ring .fill-c{stroke:var(--text-primary);stroke-linecap:round}.ring .label{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--font-mono);font-size:var(--text-caption);font-weight:var(--fw-medium)}.table-wrap{border:var(--border-width) solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-surface)}.table{width:100%;border-collapse:collapse;font-size:var(--text-body-sm)}.table thead th{text-align:left;font-family:var(--font-mono);font-size:var(--text-overline);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--text-tertiary);font-weight:var(--fw-medium);padding:12px 16px;background:var(--bg-canvas);border-bottom:var(--border-width) solid var(--border);white-space:nowrap}.table td.num,.table thead th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.table tbody td{padding:13px 16px;border-bottom:var(--border-width) solid var(--border);color:var(--text-primary);vertical-align:middle}.table tbody tr:last-child td{border-bottom:0}.table tbody tr{transition:background var(--dur-fast) var(--ease)}.table tbody tr:hover{background:var(--bg-sunken)}.table td .data{color:var(--text-secondary)}.table .th-sort{cursor:pointer;display:inline-flex;align-items:center;gap:4px}.table .th-sort .icon{width:13px;height:13px}.topbar{height:var(--topbar-h);gap:var(--space-5);padding:0 var(--space-6);background:var(--bg-surface);border-bottom:var(--border-width) solid var(--border)}.brand,.topbar{display:flex;align-items:center}.brand{gap:10px;font-family:var(--font-sans);font-variation-settings:var(--sans-axes);font-size:20px;font-weight:600;color:var(--text-primary);letter-spacing:-.02em}.brand .mark{width:10px;height:10px;border-radius:2px;background:var(--signature)}.sidenav{width:var(--sidenav-w);background:var(--bg-surface);border-right:var(--border-width) solid var(--border);padding:var(--space-5) var(--space-3)}.nav-group+.nav-group{margin-top:var(--space-5)}.nav-group .overline{padding:0 var(--space-3);margin-bottom:var(--space-2);display:block}.nav-item{display:flex;align-items:center;gap:var(--space-3);padding:9px var(--space-3);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--text-body-sm);font-weight:var(--fw-medium);cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease);position:relative}.nav-item.active,.nav-item:hover{background:var(--bg-sunken);color:var(--text-primary)}.nav-item.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:2px;pointer-events:none;border-radius:2px;background:var(--accent)}.nav-item .icon{width:18px;height:18px;color:inherit}.nav-item .badge{margin-left:auto}.tabs{display:flex;gap:var(--space-5);border-bottom:var(--border-width) solid var(--border)}.tab{padding:0 0 12px;font-size:var(--text-body-sm);font-weight:var(--fw-medium);color:var(--text-secondary);cursor:pointer;position:relative;transition:color var(--dur) var(--ease)}.tab.active,.tab:hover{color:var(--text-primary)}.tab.active:after{content:"";position:absolute;left:0;right:0;bottom:-.5px;height:2px;pointer-events:none;background:var(--text-primary)}.segmented{display:inline-flex;background:var(--bg-sunken);border-radius:var(--radius-sm);padding:3px;gap:2px}.segmented button{font-family:var(--font-sans);font-size:var(--text-caption);font-weight:var(--fw-medium);color:var(--text-secondary);background:transparent;border:0;padding:6px 14px;border-radius:var(--radius-xs);cursor:pointer;transition:all var(--dur-fast) var(--ease)}.segmented button.active{background:var(--bg-surface);color:var(--text-primary)}.breadcrumb{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-caption);color:var(--text-tertiary)}.breadcrumb a:hover{color:var(--text-primary)}.breadcrumb .sep{opacity:.5}.alert{display:flex;gap:var(--space-3);padding:12px 16px;border-radius:var(--radius-sm);border:var(--border-width) solid var(--border);background:var(--bg-surface);font-size:var(--text-body-sm);color:var(--text-primary)}.alert .icon{flex:none;margin-top:1px}.alert-info{background:var(--info-tint);border-color:transparent;color:var(--info-ink)}.alert-success{background:var(--success-tint);border-color:transparent;color:var(--success-ink)}.alert-warning{background:var(--warning-tint);border-color:transparent;color:var(--warning-ink)}.alert-danger{background:var(--danger-tint);border-color:transparent;color:var(--danger-ink)}[data-theme=dark] .alert-danger,[data-theme=dark] .alert-info,[data-theme=dark] .alert-success,[data-theme=dark] .alert-warning{color:var(--text-primary)}.tip{position:relative;display:inline-flex}.tip .tip-body{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);background:var(--bg-inverse);color:var(--text-inverse);font-size:var(--text-caption);padding:6px 10px;border-radius:var(--radius-xs);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--dur) var(--ease);z-index:20}.tip:hover .tip-body{opacity:1}.scrim{position:absolute;inset:0;background:var(--scrim);-webkit-backdrop-filter:var(--frost-blur);backdrop-filter:var(--frost-blur);display:grid;place-items:center;padding:var(--space-5)}.modal{width:100%;max-width:440px;background:var(--bg-surface);border:var(--border-width) solid var(--border);border-radius:var(--radius-md);padding:var(--space-6)}.modal h3{font-family:var(--font-sans);font-variation-settings:var(--sans-axes);font-size:24px;font-weight:600;letter-spacing:var(--ls-tight);margin-bottom:var(--space-2)}.empty{text-align:center;padding:var(--space-9) var(--space-5)}.empty .glyph{width:44px;height:44px;margin:0 auto var(--space-4);color:var(--text-tertiary)}.empty h4{margin-bottom:var(--space-2)}.empty p{color:var(--text-secondary);max-width:360px;margin:0 auto var(--space-4)}.empty p,.toast{font-size:var(--text-body-sm)}.toast{display:flex;align-items:center;gap:var(--space-3);padding:12px 16px;background:var(--bg-inverse);color:var(--text-inverse);border-radius:var(--radius-sm);max-width:380px}.toast .icon{color:var(--accent)}.kbd{font-size:var(--text-code-sm);padding:2px 6px;border:var(--border-width) solid var(--border-strong)}.confidence,.kbd{font-family:var(--font-mono);border-radius:var(--radius-xs);background:var(--bg-sunken);color:var(--text-secondary)}.confidence{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-overline);letter-spacing:var(--ls-wide);text-transform:uppercase;padding:3px 8px}.confidence .bars{display:inline-flex;align-items:flex-end;gap:2px;height:11px}.confidence .bars i{width:3px;background:currentColor;opacity:.28;border-radius:1px}.confidence .bars i:first-child{height:5px}.confidence .bars i:nth-child(2){height:8px}.confidence .bars i:nth-child(3){height:11px}.confidence.high{background:var(--success-tint);color:var(--success-ink)}.confidence.high .bars i{opacity:1}.confidence.middle{background:var(--warning-tint);color:var(--warning-ink)}.confidence.middle .bars i:first-child,.confidence.middle .bars i:nth-child(2){opacity:1}.confidence.low{background:var(--danger-tint);color:var(--danger-ink)}.confidence.low .bars i:first-child{opacity:1}[data-theme=dark] .confidence.high{color:var(--success)}[data-theme=dark] .confidence.middle{color:var(--amber)}[data-theme=dark] .confidence.low{color:var(--hot-red)}.suggestion-chip{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-sans);font-size:var(--text-body-sm);font-weight:var(--fw-medium);font-variation-settings:var(--sans-axes);color:var(--text-secondary);background:var(--bg-surface);border:var(--border-width) solid var(--border);border-radius:var(--radius-sm);padding:7px 13px;cursor:pointer;transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease),background var(--dur) var(--ease)}.suggestion-chip:hover{border-color:var(--border-strong);color:var(--text-primary);background:var(--bg-sunken)}.suggestion-chip .icon{width:15px;height:15px;color:var(--accent)}.composer{display:flex;align-items:flex-end;gap:var(--space-3);background:var(--bg-surface);border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-md);padding:var(--space-3);transition:border-color var(--dur) var(--ease)}.composer:focus-within{border-color:var(--text-primary)}.composer .composer-input{flex:1 1;border:0;background:transparent;resize:none;font-family:var(--font-sans);font-variation-settings:var(--sans-axes);font-size:var(--text-body);line-height:var(--lh-normal);color:var(--text-primary);min-height:24px;max-height:200px;padding:6px 4px}.composer .composer-input:focus{outline:none}.composer .composer-input::placeholder{color:var(--text-tertiary)}.composer .composer-send{flex:none;width:38px;height:38px;display:inline-grid;place-items:center;border:0;border-radius:var(--radius-sm);cursor:pointer;background:var(--bg-inverse);color:var(--text-inverse);transition:background var(--dur) var(--ease),opacity var(--dur) var(--ease)}.composer .composer-send:disabled{opacity:.35;cursor:not-allowed}.composer .composer-send .icon{width:18px;height:18px}.matrix{display:grid;grid-gap:var(--border-width);gap:var(--border-width);background:var(--border);border:var(--border-width) solid var(--border);border-radius:var(--radius-md);overflow:hidden}.matrix>*{background:var(--bg-surface);margin:0;border:0;border-radius:0}.matrix .cell{position:relative;padding:var(--space-4) var(--space-5);transition:background var(--dur) var(--ease)}.matrix .cell:hover{background:var(--bg-raised)}.matrix .cell:after{content:"";position:absolute;left:0;right:0;top:0;height:2px;pointer-events:none;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-slow) var(--ease)}.matrix .cell:hover:after{transform:scaleX(1)}.matrix .subject-card{overflow:hidden}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.reveal{opacity:0;animation:rise var(--dur-slow) var(--ease) forwards}.reveal-1{animation-delay:.04s}.reveal-2{animation-delay:.09s}.reveal-3{animation-delay:.14s}.reveal-4{animation-delay:.19s}.reveal-5{animation-delay:.24s}.reveal-6{animation-delay:.29s}.reveal-7{animation-delay:.34s}.reveal-8{animation-delay:.39s}@keyframes fillbar{0%{width:0}to{width:var(--val,100%)}}.progress.animate>span{width:0;animation:fillbar var(--dur-slow) var(--ease) .35s forwards}.ignite{position:relative;display:inline-block;width:8px;height:8px;flex:none}.ignite:before{inset:0;background:var(--signature)}.ignite:after,.ignite:before{content:"";position:absolute;pointer-events:none;border-radius:50%}.ignite:after{inset:-5px;border:2px solid var(--signature);animation:ignitering 1.8s var(--ease) infinite}@keyframes ignitering{0%{transform:scale(.5);opacity:.85}to{transform:scale(1.7);opacity:0}}.c-lift{transition:transform .3s var(--ease),border-color .3s var(--ease),background var(--dur) var(--ease)}.c-lift:hover{transform:translateY(-5px);border-color:var(--accent);background:var(--bg-raised)}.c-tilt{transition:transform .25s var(--ease);transform-style:preserve-3d;will-change:transform}.c-spot{position:relative;overflow:hidden;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease);--spot-color:var(--accent)}.c-spot:hover{border-color:var(--border-strong);background:var(--bg-raised)}.c-spot--hero:before{content:"";position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity var(--dur) var(--ease);background:radial-gradient(180px circle at var(--mx,50%) var(--my,50%),color-mix(in srgb,var(--spot-color) 12%,transparent),transparent 60%)}.c-spot--hero:hover:before{opacity:1}.c-line{position:relative;transition:background var(--dur) var(--ease)}.c-line:after{content:"";position:absolute;left:0;right:0;top:0;height:2px;pointer-events:none;background:var(--accent);transform:scaleX(0);transform-origin:left}.c-line:after,.c-line>*{transition:transform .3s var(--ease)}.c-line:hover{background:var(--bg-raised)}.c-line:hover:after{transform:scaleX(1)}.c-line:hover>*{transform:translateX(3px)}.c-draw{position:relative}.c-draw .frame{position:absolute;inset:0;pointer-events:none}.c-draw .frame rect{fill:none;stroke:var(--accent);stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;pathLength:1;transition:stroke-dashoffset .55s var(--ease)}.c-draw:hover .frame rect{stroke-dashoffset:0}.c-reveal.run,.run .r-fade{animation:rise .55s var(--ease) both}.run .r-casc>*{animation:rise .5s var(--ease) both}.run .r-casc>:first-child{animation-delay:.05s}.run .r-casc>:nth-child(2){animation-delay:.13s}.run .r-casc>:nth-child(3){animation-delay:.21s}.run .r-clip{animation:clipup .6s var(--ease) both}.run .r-blur{animation:blurin .6s var(--ease) both}.run .r-mask{position:relative;overflow:hidden}.run .r-mask:after{content:"";position:absolute;inset:0;pointer-events:none;background:var(--bg-canvas);animation:maskoff .6s var(--ease) both}@keyframes clipup{0%{-webkit-clip-path:inset(100% 0 0 0);clip-path:inset(100% 0 0 0)}to{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0)}}@keyframes blurin{0%{filter:blur(12px);opacity:0}to{filter:blur(0);opacity:1}}@keyframes maskoff{0%{transform:translateY(0)}to{transform:translateY(-101%)}}.odo{display:inline-flex;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:500;font-size:38px;line-height:1}.odo,.odo .col{overflow:hidden;height:1em}.odo .col{width:.62ch}.odo .col .strip{display:flex;flex-direction:column;transition:transform .9s var(--ease)}.odo .col .strip span{height:1em}.barwrap{width:100%;max-width:220px}.barwrap .lbl{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:11px;color:var(--text-tertiary);margin-bottom:6px}.lab-prog{height:6px;background:var(--bg-sunken);border-radius:999px;overflow:hidden}.lab-prog>span{display:block;height:100%;width:0;background:var(--accent);border-radius:999px}.run .e-out>span{animation:grow 1s var(--ease) forwards}.run .e-spring>span{animation:grow 1.1s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes grow{to{width:var(--val,80%)}}.ringbox svg{transform:rotate(-90deg)}.ringbox .trk{fill:none;stroke:var(--bg-sunken);stroke-width:5}.ringbox .fil{fill:none;stroke:var(--accent);stroke-width:5;stroke-linecap:round;stroke-dasharray:151;stroke-dashoffset:151}.run .ringbox .fil{animation:ringdraw 1.1s var(--ease) forwards}@keyframes ringdraw{to{stroke-dashoffset:40}}.spark path{fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:240;stroke-dashoffset:240}.run .spark path{animation:linedraw2 1.2s var(--ease) forwards}@keyframes linedraw2{to{stroke-dashoffset:0}}.ig{position:relative;width:12px;height:12px}.ig .core{position:absolute;inset:0;pointer-events:none;border-radius:50%;background:var(--signature)}.run .ig-a .core{animation:pop .4s var(--ease) both}.run .ig-a:after{content:"";position:absolute;inset:-6px;pointer-events:none;border-radius:50%;border:2px solid var(--signature);animation:ring1 1s var(--ease) both}.run .ig-b .core{animation:pop .4s var(--ease) both}.run .ig-b:after,.run .ig-b:before{content:"";position:absolute;inset:-6px;pointer-events:none;border-radius:50%;border:2px solid var(--signature);animation:ring1 1.1s var(--ease) both}.run .ig-b:before{animation-delay:.18s}.ig-c-cell{position:relative;overflow:hidden}.ig-c-cell .flood{position:absolute;inset:0;pointer-events:none;background:var(--signature);transform:scale(0);border-radius:50%;opacity:.16}.run .ig-c-cell .flood{animation:flood 1.1s var(--ease) both}.run .ig-d .core{animation:pop2 .5s cubic-bezier(.34,1.56,.64,1) both}.run .ig-d:after{content:"";position:absolute;inset:-5px;pointer-events:none;border-radius:50%;border:1.5px solid var(--signature);opacity:.5;animation:ring1 1.2s var(--ease) infinite}@keyframes pop{0%{transform:scale(0)}60%{transform:scale(1.25)}to{transform:scale(1)}}@keyframes pop2{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes ring1{0%{transform:scale(.5);opacity:.85}to{transform:scale(1.9);opacity:0}}@keyframes flood{0%{transform:scale(0);opacity:.22}to{transform:scale(3);opacity:0}}.replay{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:11px;color:var(--text-secondary);border:.5px solid var(--border);border-radius:4px;padding:6px 11px;background:var(--bg-surface);cursor:pointer;transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease)}.replay:hover{border-color:var(--accent);color:var(--accent)}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;animation:none}.progress.animate>span{width:var(--val,100%);animation:none}.ignite:after{animation:none;opacity:0}.matrix .cell:after{transition:none}*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}