@font-face{font-family:Inter Tight;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/c95a17d6aa1ccc69-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter Tight;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/84792440f5374347-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter Tight;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/10735954b8957dce-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter Tight;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/69c8297e91a203ed-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter Tight;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/32ec8d161d520037-s.woff2) format("woff2");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:Inter Tight;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ceda3e828136e1b8-s.woff2) format("woff2");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:Inter Tight;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/103fc5fac08dcb15-s.p.woff2) format("woff2");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:Inter Tight;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/c95a17d6aa1ccc69-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter Tight;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/84792440f5374347-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter Tight;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/10735954b8957dce-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter Tight;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/69c8297e91a203ed-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter Tight;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/32ec8d161d520037-s.woff2) format("woff2");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:Inter Tight;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ceda3e828136e1b8-s.woff2) format("woff2");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:Inter Tight;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/103fc5fac08dcb15-s.p.woff2) format("woff2");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:Inter Tight;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c95a17d6aa1ccc69-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter Tight;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/84792440f5374347-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter Tight;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/10735954b8957dce-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter Tight;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/69c8297e91a203ed-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter Tight;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/32ec8d161d520037-s.woff2) format("woff2");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:Inter Tight;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ceda3e828136e1b8-s.woff2) format("woff2");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:Inter Tight;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/103fc5fac08dcb15-s.p.woff2) format("woff2");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:Inter Tight;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/c95a17d6aa1ccc69-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter Tight;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/84792440f5374347-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter Tight;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/10735954b8957dce-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter Tight;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/69c8297e91a203ed-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter Tight;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/32ec8d161d520037-s.woff2) format("woff2");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:Inter Tight;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/ceda3e828136e1b8-s.woff2) format("woff2");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:Inter Tight;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/103fc5fac08dcb15-s.p.woff2) format("woff2");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:Inter Tight Fallback;src:local("Arial");ascent-override:100.51%;descent-override:25.03%;line-gap-override:0.00%;size-adjust:96.39%}.__className_eb7c85{font-family:Inter Tight,Inter Tight Fallback;font-style:normal}.__variable_eb7c85{--font-sans:"Inter Tight","Inter Tight Fallback"}@font-face{font-family:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/5ece437c7024c161-s.woff2) format("woff2");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:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/9cc5b37ab1350db7-s.p.woff2) format("woff2");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:"Instrument Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/35f3de0ebb1cfc70-s.woff2) format("woff2");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:"Instrument Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e6099e249fd938cc-s.p.woff2) format("woff2");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:"Instrument Serif Fallback";src:local("Times New Roman");ascent-override:117.94%;descent-override:36.93%;line-gap-override:0.00%;size-adjust:83.94%}.__className_1f5468{font-family:"Instrument Serif","Instrument Serif Fallback";font-weight:400}.__variable_1f5468{--font-serif:"Instrument Serif","Instrument Serif Fallback"}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");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:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");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:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");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:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");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:JetBrains Mono Fallback;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_e896d9{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_e896d9{--font-mono:"JetBrains Mono","JetBrains Mono Fallback"}:root{--sans:var(--font-sans),-apple-system,BlinkMacSystemFont,"PingFang SC","Helvetica Neue",sans-serif;--serif:var(--font-serif),"Iowan Old Style","Times New Roman",serif;--mono:var(--font-mono),ui-monospace,"SF Mono",Menlo,monospace;--radius:14px;--radius-sm:10px;--radius-xs:7px;--acc-h:55;--acc-c-mult:1;--ev-piano:oklch(0.62 0.14 305);--ev-art:oklch(0.64 0.16 12);--ev-eng:oklch(0.64 0.11 162);--ev-math:oklch(0.62 0.12 250);--ev-dance:oklch(0.72 0.13 60);--ev-care:oklch(0.58 0.13 274)}.mode-dark{--bg-0:oklch(0.175 0.004 70);--bg-1:oklch(0.205 0.004 70);--bg-2:oklch(0.245 0.005 70);--line:oklch(1 0 0/0.08);--line-2:oklch(1 0 0/0.15);--text:oklch(0.96 0.004 80);--text-2:oklch(0.75 0.005 80);--text-3:oklch(0.58 0.005 80);--text-4:oklch(0.44 0.005 80);--acc-l:0.785;--acc-c:calc(0.145 * var(--acc-c-mult, 1));--accent:oklch(var(--acc-l) var(--acc-c) var(--acc-h));--accent-soft:oklch(var(--acc-l) var(--acc-c) var(--acc-h)/0.16);--accent-line:oklch(var(--acc-l) var(--acc-c) var(--acc-h)/0.42);--accent-dim:oklch(var(--acc-l) var(--acc-c) var(--acc-h)/0.08);--on-accent:oklch(0.18 0.03 var(--acc-h));--crit:oklch(0.70 0.165 25);--warn:oklch(0.80 0.12 72);--info:oklch(0.74 0.07 250);--ok:oklch(0.76 0.10 158);--panel:oklch(0.21 0.004 70/0.58);--panel-2:oklch(0.17 0.004 70/0.40);--raised:oklch(1 0 0/0.05);--raised-2:oklch(1 0 0/0.09);--blur:28px;--shadow:0 1px 0 0 oklch(1 0 0/0.05) inset,0 22px 60px -20px oklch(0 0 0/0.65)}.mode-dark,.mode-light{background:var(--bg-0);color:var(--text)}.mode-light{--bg-0:oklch(0.975 0.003 85);--bg-1:oklch(1 0 0);--bg-2:oklch(0.968 0.004 85);--line:oklch(0.25 0.02 70/0.11);--line-2:oklch(0.25 0.02 70/0.20);--text:oklch(0.255 0.006 70);--text-2:oklch(0.44 0.006 70);--text-3:oklch(0.58 0.006 70);--text-4:oklch(0.69 0.008 70);--acc-l:0.60;--acc-c:calc(0.16 * var(--acc-c-mult, 1));--accent:oklch(var(--acc-l) var(--acc-c) var(--acc-h));--accent-soft:oklch(var(--acc-l) var(--acc-c) var(--acc-h)/0.13);--accent-line:oklch(var(--acc-l) var(--acc-c) var(--acc-h)/0.32);--accent-dim:oklch(var(--acc-l) var(--acc-c) var(--acc-h)/0.07);--on-accent:oklch(0.99 0.01 var(--acc-h));--crit:oklch(0.585 0.195 25);--warn:oklch(0.62 0.14 62);--info:oklch(0.52 0.13 252);--ok:oklch(0.55 0.12 158);--panel:oklch(1 0 0/0.58);--panel-2:oklch(1 0 0/0.42);--raised:oklch(0.25 0.02 70/0.045);--raised-2:oklch(0.25 0.02 70/0.08);--blur:24px;--shadow:0 1px 0 0 oklch(1 0 0/0.9) inset,0 22px 60px -24px oklch(0.3 0.03 60/0.24)}*{box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased}body,html{height:100%}dialog:modal{margin:auto;max-height:calc(100vh - 48px)}dialog::-webkit-backdrop{background:oklch(0 0 0/.5);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}dialog::backdrop{background:oklch(0 0 0/.5);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}body{font-family:var(--sans);font-size:14px;line-height:1.45;letter-spacing:-.01em;overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit}select{background:var(--bg-2);color:var(--text);border:1px solid var(--line);border-radius:var(--radius-sm);padding:9px 12px;font-size:13.5px;outline:none}select:focus{border-color:var(--accent-line)}select optgroup,select option{background:var(--bg-2);color:var(--text)}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{background:var(--bg-2);color:var(--text);border:1px solid var(--line);border-radius:var(--radius-sm);padding:9px 12px;font-size:13.5px;outline:none;color-scheme:dark}input[type=date]:focus,input[type=datetime-local]:focus,input[type=month]:focus,input[type=time]:focus{border-color:var(--accent-line)}.mode-light input[type=date],.mode-light input[type=datetime-local],.mode-light input[type=month],.mode-light input[type=time]{color-scheme:light}::-webkit-calendar-picker-indicator{cursor:pointer}.mode-dark ::-webkit-calendar-picker-indicator{filter:invert(.7)}.mono{font-family:var(--mono)}.serif{font-family:var(--serif);font-style:italic;font-weight:400}.section-label{font-family:var(--mono);font-size:9.5px;color:var(--text-4);letter-spacing:.13em;text-transform:uppercase}.nv-ambient{position:fixed;inset:0;z-index:0;pointer-events:none}.mode-dark .nv-ambient{background:radial-gradient(120% 90% at 8% 0,oklch(var(--acc-l) var(--acc-c) var(--acc-h)/.14) 0,transparent 46%),radial-gradient(120% 100% at 100% 100%,oklch(.34 .05 230/.4) 0,transparent 55%),var(--bg-0)}.mode-light .nv-ambient{background:radial-gradient(120% 92% at 6% 0,oklch(var(--acc-l) var(--acc-c) var(--acc-h)/.16) 0,transparent 48%),radial-gradient(120% 100% at 100% 100%,oklch(.86 .05 235/.7) 0,transparent 56%),var(--bg-0)}.win{z-index:1;width:100%;height:100vh;flex-direction:column;isolation:isolate}.titlebar,.win{position:relative;display:flex}.titlebar{height:calc(46px + env(safe-area-inset-top, 0px));flex-grow:0;flex-shrink:0;flex-basis:calc(46px + env(safe-area-inset-top, 0px));align-items:center;gap:14px;padding:env(safe-area-inset-top,0) 15px 0;background:var(--panel-2);-webkit-backdrop-filter:blur(var(--blur)) saturate(150%);backdrop-filter:blur(var(--blur)) saturate(150%);border-bottom:1px solid var(--line);z-index:6}.traffic{display:flex;gap:8px}.traffic span{width:12px;height:12px;border-radius:50%;border:.5px solid oklch(0 0 0/.22)}.traffic .r{background:oklch(.7 .17 25)}.traffic .y{background:oklch(.84 .16 85)}.traffic .g{background:oklch(.76 .16 145)}.wordmark{display:flex;align-items:center;gap:9px}.wordmark .t{font-family:var(--mono);font-size:12px;color:var(--text-2);letter-spacing:.1em}.navtabs{gap:2px;padding:3px;border-radius:11px;background:var(--panel-2);border:1px solid var(--line);margin-left:8px}.navtab,.navtabs{display:inline-flex;align-items:center}.navtab{gap:6px;padding:6px 13px;border-radius:8px;cursor:pointer;color:var(--text-3);font-size:12.5px;font-weight:500;transition:.12s;border:0;background:transparent}.navtab:hover{color:var(--text);background:var(--raised)}.navtab.on{color:var(--accent);background:var(--accent-soft)}.tb-right{margin-left:auto;display:flex;align-items:center;gap:10px}.seg{padding:3px;gap:2px;border-radius:12px;background:var(--panel-2);border:1px solid var(--line)}.seg,.seg button{display:inline-flex}.seg button{border:0;background:transparent;cursor:pointer;font-size:12px;font-weight:500;color:var(--text-3);padding:5px 11px;border-radius:9px;transition:.14s;align-items:center;gap:6px}.seg button:hover{color:var(--text)}.seg button.on{background:var(--accent);color:var(--on-accent);box-shadow:0 4px 12px -4px oklch(var(--acc-l) var(--acc-c) var(--acc-h)/.55)}.seg .segtab{border:0;background:transparent;cursor:pointer;font-size:12px;font-weight:500;color:var(--text-3);padding:5px 11px;border-radius:9px;transition:.14s;display:inline-flex;align-items:center;gap:6px;text-decoration:none}.seg .segtab:hover{color:var(--text)}.seg .segtab.on{background:var(--accent);color:var(--on-accent);box-shadow:0 4px 12px -4px oklch(var(--acc-l) var(--acc-c) var(--acc-h)/.55)}.avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--info),var(--ok));display:grid;place-items:center;font-weight:700;color:#fff;font-size:12px;font-family:var(--mono)}.appbody{flex:1 1;display:grid;grid-template-columns:58px 1fr;min-height:0;transition:grid-template-columns .26s cubic-bezier(.2,.8,.2,1)}.appbody.nav-open{grid-template-columns:190px 1fr}.rail{background:var(--panel);-webkit-backdrop-filter:blur(var(--blur)) saturate(160%);backdrop-filter:blur(var(--blur)) saturate(160%);border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:stretch;padding:12px 9px;gap:4px;position:relative;z-index:5;overflow:hidden}.rail>.halo{align-self:center;flex:0 0 auto}.rail-top{display:flex;align-items:center;gap:9px;height:34px;margin-bottom:8px;padding-left:4px}.appbody:not(.nav-open) .rail-top{justify-content:center;padding-left:0}.rail-mark{width:30px;height:30px;flex:0 0 auto;border-radius:9px;display:grid;place-items:center;color:var(--on-accent);background:var(--accent);box-shadow:0 5px 14px -6px oklch(var(--acc-l) var(--acc-c) var(--acc-h)/.6);font-weight:800;font-size:14px;cursor:pointer;border:none}.rail-word{font-family:var(--mono);font-size:11px;color:var(--text-2);letter-spacing:.08em;white-space:nowrap}.rail-toggle{margin-left:auto;width:26px;height:26px;border-radius:7px;border:none;background:transparent;color:var(--text-3);cursor:pointer;display:grid;place-items:center;flex:0 0 auto}.rail-toggle:hover{background:var(--raised);color:var(--text)}.rail-toggle svg{width:15px;height:15px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}.appbody:not(.nav-open) .rail-toggle,.appbody:not(.nav-open) .rail-word{display:none}.rail-item{height:36px;width:36px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:0;border-radius:10px;color:var(--text-3);cursor:pointer;transition:background .12s,color .12s;position:relative;border:none;background:transparent;overflow:hidden}.appbody.nav-open .rail-item{width:100%;margin:0;justify-content:flex-start;gap:11px;padding:0 10px}.rail-item:hover{background:var(--raised);color:var(--text)}.rail-item.active{background:var(--accent-soft);color:var(--accent)}.rail-item svg{width:20px;height:20px;flex:0 0 auto;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}.rail-item .lab{font-size:13.5px;font-weight:500;white-space:nowrap;max-width:0;opacity:0;transition:max-width .24s,opacity .18s}.appbody.nav-open .rail-item .lab{max-width:120px;opacity:1}.rail-item .bd{position:absolute;top:7px;right:7px;width:7px;height:7px;border-radius:50%;background:var(--crit);border:1.5px solid var(--panel)}.appbody.nav-open .rail-item .bd{top:50%;right:11px;transform:translateY(-50%)}.rail-sp{flex:1 1}.rail-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:2px;scrollbar-width:thin}.rail-scroll::-webkit-scrollbar{width:6px}.rail-scroll::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:3px}.rail-group{display:flex;flex-direction:column;gap:1px}.rail-group+.rail-group{margin-top:2px}.rail-group-label{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-4);padding:3px 10px 0;white-space:nowrap;overflow:hidden;opacity:1;transition:opacity .16s}.appbody:not(.nav-open) .rail-group-label{height:1px;padding:0;margin:7px 8px;opacity:0;background:var(--line);border-radius:1px}.appbody:not(.nav-open) .rail-group:first-of-type .rail-group-label{display:none}.iconbtn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:11px;color:var(--text-3);background:var(--panel-2);border:1px solid var(--line);cursor:pointer;transition:color .13s,background .13s}.iconbtn:hover{color:var(--text);background:var(--raised)}.iconbtn.on{color:var(--accent);background:var(--accent-soft);border-color:var(--accent-line)}.iconbtn svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}.iconbtn-badge{position:absolute;top:-5px;right:-5px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--crit);color:#fff;font-family:var(--mono);font-size:9.5px;font-weight:600;line-height:16px;text-align:center;border:1.5px solid var(--panel-2);box-shadow:0 2px 6px -1px oklch(0 0 0/.3)}.halo{width:var(--halo,38px);height:var(--halo,38px)}.halo,.halo .orb{position:relative;display:flex;align-items:center;justify-content:center}.halo .orb{width:100%;height:100%;border-radius:50%;background:radial-gradient(60% 55% at 38% 30%,oklch(1 0 0/.28),transparent 60%),radial-gradient(80% 80% at 50% 58%,oklch(var(--acc-l) var(--acc-c) var(--acc-h)/.55),oklch(var(--acc-l) var(--acc-c) var(--acc-h)/.12) 62%,transparent 75%),var(--panel);border:1px solid var(--accent-line);box-shadow:inset 0 1px 1px oklch(1 0 0/.35),inset 0 -10px 24px oklch(var(--acc-l) var(--acc-c) var(--acc-h)/.3),0 14px 40px -10px oklch(var(--acc-l) var(--acc-c) var(--acc-h)/.45);color:var(--accent);z-index:2;font-size:calc(var(--halo, 38px) * .4)}.halo .glow{position:absolute;inset:-18%;border-radius:50%;background:radial-gradient(closest-side,oklch(var(--acc-l) var(--acc-c) var(--acc-h)/.4),transparent 72%);filter:blur(8px);z-index:0}@keyframes nv-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.045)}}@keyframes nv-glow{0%,to{opacity:.55}50%{opacity:1}}@media (prefers-reduced-motion:no-preference){.halo .orb{animation:nv-breathe 5.5s ease-in-out infinite}.halo .glow{animation:nv-glow 5.5s ease-in-out infinite}}.content{position:relative;overflow-y:auto;overflow-x:hidden;padding:24px 26px 22px}.phead{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:20px}.phead h1{font-family:var(--serif);font-style:italic;font-weight:400;font-size:31px;line-height:1.1}.phead .sub{font-size:10.5px;color:var(--text-3);letter-spacing:.04em;margin-top:7px;text-transform:uppercase}.datepill,.phead .sub{font-family:var(--mono)}.datepill{font-size:11px;color:var(--text-2);background:var(--raised);border:1px solid var(--line);padding:7px 12px;border-radius:999px;letter-spacing:.03em}.card{border-radius:var(--radius);border:1px solid var(--line);background:var(--panel-2);-webkit-backdrop-filter:blur(calc(var(--blur) * .7)) saturate(140%);backdrop-filter:blur(calc(var(--blur) * .7)) saturate(140%);overflow:hidden;position:relative}.card.solid{background:var(--bg-1);-webkit-backdrop-filter:none;backdrop-filter:none}.ch{justify-content:space-between;padding:15px 18px}.ch,.ch h3{display:flex;align-items:center}.ch h3{font-size:14.5px;font-weight:600;gap:9px}.ch .more{font-family:var(--mono);font-size:10px;color:var(--text-3);letter-spacing:.04em;text-transform:uppercase}.kpis{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:14px;gap:14px;margin-bottom:16px}.kpi{border-radius:var(--radius);border:1px solid var(--line);background:var(--panel-2);-webkit-backdrop-filter:blur(calc(var(--blur) * .7)) saturate(140%);backdrop-filter:blur(calc(var(--blur) * .7)) saturate(140%);padding:16px 17px;position:relative;overflow:hidden;transition:transform .25s,border-color .25s}.kpi:hover{transform:translateY(-4px);border-color:var(--line-2)}.glow2{position:absolute;width:120px;height:120px;border-radius:50%;filter:blur(34px);opacity:.16;top:-42px;right:-28px;pointer-events:none}.kpi .ktop{display:flex;align-items:center;gap:8px}.kpi .kdot{width:7px;height:7px;border-radius:50%;flex:0 0 auto}.kpi .klab{font-family:var(--mono);font-size:9.5px;color:var(--text-3);letter-spacing:.1em;text-transform:uppercase}.kpi .kval{font-size:28px;font-weight:700;letter-spacing:-.03em;margin-top:11px;font-feature-settings:"tnum"}.kpi .kval s{font-size:13px;color:var(--text-4);font-weight:500;text-decoration:none}.kpi .ksub{font-family:var(--mono);font-size:10px;margin-top:5px}.up{color:var(--ok)}.down{color:var(--crit)}.wn{color:var(--warn)}.grid2{display:grid;grid-template-columns:1.55fr 1fr;grid-gap:14px;gap:14px}.btn{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;background:var(--raised);border:1px solid var(--line);color:var(--text);cursor:pointer;letter-spacing:-.1px;transition:.13s}.btn:hover{background:var(--raised-2)}.btn.primary{background:var(--accent);color:var(--on-accent);border-color:transparent;box-shadow:0 6px 18px -6px oklch(var(--acc-l) var(--acc-c) var(--acc-h)/.6)}.btn.primary:hover{filter:brightness(.96)}.btn.sm{padding:6px 11px;font-size:12px}.btn:disabled{opacity:.55;cursor:default}.toolbar{gap:12px;margin-bottom:16px;flex-wrap:wrap}.searchbox,.toolbar{display:flex;align-items:center}.searchbox{gap:8px;background:var(--raised);border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px 12px;color:var(--text-3);width:240px}.searchbox input{border:none;background:none;outline:none;font-size:13px;color:var(--text);width:100%}.spacer{flex:1 1}.chips{display:flex;gap:7px;flex-wrap:wrap}.chip{font-size:12px;font-weight:500;padding:6px 13px;border-radius:999px;color:var(--text-3);background:transparent;border:1px solid var(--line);cursor:pointer}.chip.on{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-line)}.tbl{border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-1);overflow:hidden;box-shadow:var(--shadow)}.thead,.trow2{display:grid;align-items:center;grid-gap:12px;gap:12px;padding:12px 18px}.thead{background:var(--bg-2);font-family:var(--mono);font-size:9.5px;color:var(--text-4);letter-spacing:.1em;text-transform:uppercase}.thead,.trow2{border-bottom:1px solid var(--line)}.trow2{transition:background .12s}.trow2:last-child{border-bottom:none}.trow2.click{cursor:pointer}.trow2.click:hover{background:var(--raised)}.who2{display:flex;align-items:center;gap:11px}.who2 .av{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-weight:700;color:#fff;font-size:13px;flex:none}.who2 .nm{font-size:13.5px;font-weight:500}.who2 .mt{font-family:var(--mono);font-size:10px;color:var(--text-3);margin-top:2px}.coursetags{display:flex;gap:6px;flex-wrap:wrap}.ctag{font-size:11px;padding:3px 9px;border-radius:999px;background:var(--raised-2);color:var(--text-2);border:1px solid var(--line)}.bal{font-family:var(--mono);font-size:13px;font-weight:600;font-feature-settings:"tnum"}.bal.low{color:var(--crit)}.bal.mid{color:var(--warn)}.stat{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:500}.stat .d{width:7px;height:7px;border-radius:50%}.row-acts{display:flex;gap:6px;justify-content:flex-end}.field,.field label{display:block}.field label{font-family:var(--mono);font-size:9.5px;color:var(--text-3);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px;font-size:13.5px;background:var(--bg-2);color:var(--text);outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent-line)}.field2{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.formcard{max-width:520px}.cal-tools{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}.cal-tools,.wk{align-items:center}.wk{display:inline-flex;gap:5px;padding:3px;border-radius:12px;background:var(--panel-2);border:1px solid var(--line)}.wk .lbl{font-size:12px;font-weight:500;padding:0 8px}.hint,.wk .lbl{font-family:var(--mono)}.hint{margin-left:auto;display:inline-flex;align-items:center;gap:7px;font-size:10px;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-line);padding:7px 12px;border-radius:999px;letter-spacing:.03em}.cal{border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-1);overflow:hidden;box-shadow:var(--shadow)}.cal-grid{display:grid}.cc,.colhead{border-bottom:1px solid var(--line);border-right:1px solid var(--line)}.colhead{padding:12px;display:flex;align-items:center;gap:9px;justify-content:center;background:var(--bg-2)}.colhead:last-child{border-right:none}.chav{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;font-weight:700;font-size:13px;color:#fff;flex:none}.colhead b{font-size:13px;font-weight:600}.colhead span{font-family:var(--mono);font-size:9.5px;color:var(--text-3)}.timecol{border-right:1px solid var(--line)}.tcell{height:88px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:10px;color:var(--text-4);text-align:right;padding:6px 8px 0}.daycol{position:relative;border-right:1px solid var(--line)}.daycol:last-child{border-right:none}.slot{height:88px;border-bottom:1px solid var(--line)}.ev{position:absolute;left:5px;right:5px;border-radius:9px;padding:7px 10px;color:#fff;overflow:hidden;box-shadow:0 4px 12px -4px oklch(0 0 0/.45);border-left:3px solid oklch(1 0 0/.45)}.ev b{font-size:12.5px;font-weight:600;display:block;line-height:1.3}.ev span{font-size:10.5px;opacity:.92;display:block}.ev .who{margin-top:4px;font-family:var(--mono);font-size:9px;background:oklch(1 0 0/.22);color:#fff;display:inline-block;padding:2px 7px;border-radius:999px}.ev-scrim{position:fixed;inset:0;z-index:30}.ev-menu{position:absolute;left:0;top:100%;margin-top:4px;z-index:31;min-width:180px;background:var(--bg-1);border:1px solid var(--line-2);border-radius:12px;box-shadow:var(--shadow);padding:6px;display:flex;flex-direction:column;gap:2px}.ev-mi{display:block;width:100%;text-align:left;background:none;border:none;color:var(--text);font-size:13px;padding:9px 11px;border-radius:8px;cursor:pointer}.ev-mi:hover{background:var(--raised)}.ev-mi.danger{color:var(--crit)}.ev.menu-open{overflow:visible;z-index:41}.ev.dragging{cursor:-webkit-grabbing;cursor:grabbing}.split{display:grid;grid-template-columns:300px 1fr;grid-gap:16px;gap:16px}.sesslist{display:flex;flex-direction:column;gap:8px}.sesscard{border-radius:var(--radius-sm);padding:13px 15px;background:var(--panel-2);cursor:pointer;transition:.12s;border:1px solid var(--line);border-left:3px solid var(--evc,var(--accent));display:block;color:inherit}.sesscard:hover{background:var(--raised)}.sesscard.on{border-color:var(--accent-line);background:var(--accent-soft)}.sesscard .st{font-family:var(--mono);font-size:11px;color:var(--text-3)}.sesscard .sn{font-size:14px;font-weight:600;margin-top:4px}.sesscard .sm{font-size:11.5px;color:var(--text-2);margin-top:3px}.sesscard .sdone{font-family:var(--mono);font-size:9px;color:var(--ok);margin-top:6px;letter-spacing:.06em;text-transform:uppercase}.roster .ro{display:flex;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line)}.roster .ro:last-child{border:none}.roster .ro .av{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-weight:700;color:#fff;font-size:13px;flex:none}.roster .ro .nm{font-size:13.5px;font-weight:500}.roster .ro .mt{font-family:var(--mono);font-size:10px;color:var(--text-3);margin-top:2px}.attseg{margin-left:auto;display:inline-flex;padding:3px;gap:2px;border-radius:9px;background:var(--panel-2);border:1px solid var(--line)}.attseg button{border:0;background:transparent;cursor:pointer;font-size:12px;font-weight:500;color:var(--text-3);padding:5px 11px;border-radius:7px}.attseg button.on.present{background:var(--ok);color:#fff}.attseg button.on.leave{background:var(--warn);color:#fff}.consume{font-family:var(--mono);font-size:10px;color:var(--text-3);margin-left:10px;min-width:64px;text-align:right}.attseg .att-opt{display:inline-flex;cursor:pointer}.attseg .att-opt span{font-size:12px;font-weight:500;color:var(--text-3);padding:5px 11px;border-radius:7px}.attseg .att-opt input[value=present]:checked+span{background:var(--ok);color:#fff}.attseg .att-opt input[value=leave]:checked+span{background:var(--warn);color:#fff}.dfoot{padding:14px 18px;border-top:1px solid var(--line);display:flex;gap:10px}.fb-out{margin-top:12px;padding:14px 15px;border:1px solid var(--accent-line);border-radius:var(--radius-sm);background:var(--accent-dim);font-size:13.5px;line-height:1.7;color:var(--text)}.fb-out .tag2{font-family:var(--mono);font-size:9px;color:var(--accent);letter-spacing:.1em;text-transform:uppercase;display:block;margin-bottom:7px}.kw{font-size:12px;padding:6px 11px;border-radius:999px;border:1px dashed var(--line-2);color:var(--text-2);cursor:pointer;background:transparent}.kw.on{border-style:solid;border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent)}.statusbar{height:30px;flex:0 0 30px;display:flex;align-items:center;gap:14px;padding:0 16px;background:var(--panel-2);-webkit-backdrop-filter:blur(var(--blur)) saturate(150%);backdrop-filter:blur(var(--blur)) saturate(150%);border-top:1px solid var(--line);font-family:var(--mono);font-size:10px;color:var(--text-3);letter-spacing:.03em;position:relative;z-index:6}.statusbar .sd{display:inline-flex;align-items:center;gap:6px}.statusbar .pulse-dot{width:8px;height:8px;border-radius:50%;background:var(--ok)}.statusbar .right{margin-left:auto;display:flex;gap:14px}.banner{display:flex;align-items:center;gap:12px;padding:13px 16px;border-radius:var(--radius);background:var(--accent-dim);border:1px solid var(--accent-line);margin-bottom:16px;font-size:13px}.empty{display:grid;place-items:center;height:50vh;text-align:center}.empty,.note{color:var(--text-3)}.note{padding:14px}.flash,.note{font-size:13px}.flash{padding:10px 14px;border-radius:var(--radius-sm);background:color-mix(in oklch,var(--ok) 14%,transparent);border:1px solid color-mix(in oklch,var(--ok) 36%,transparent);color:var(--ok);margin-bottom:14px}.campus-sel{font-size:12.5px;font-weight:600;color:var(--text);background:var(--raised);border:1px solid var(--line);border-radius:var(--radius-sm);padding:6px 10px;cursor:pointer;outline:none}.campus-sel:focus{border-color:var(--accent-line)}.campus-tag{font-weight:600;background:var(--raised);border:1px solid var(--line);border-radius:999px;padding:6px 12px}.campus-tag,.userchip{font-size:12.5px;color:var(--text-2)}.userchip{display:inline-flex;align-items:center;gap:7px;font-weight:500}.login-wrap{position:relative;z-index:1;height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:380px;max-width:92vw;padding:28px;-webkit-backdrop-filter:blur(var(--blur)) saturate(150%);backdrop-filter:blur(var(--blur)) saturate(150%)}.login-demo{margin-top:22px;padding-top:16px;border-top:1px solid var(--line);font-family:var(--mono);font-size:10.5px;color:var(--text-3);line-height:1.9}.toast-host{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:50;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}.toast{pointer-events:auto;max-width:78vw;padding:11px 18px;border-radius:12px;font-size:13px;line-height:1.5;-webkit-backdrop-filter:blur(var(--blur)) saturate(150%);backdrop-filter:blur(var(--blur)) saturate(150%);border:1px solid var(--line);background:var(--panel-2);color:var(--text);box-shadow:0 8px 28px oklch(0 0 0/.28);animation:toast-in .22s ease}.toast-error{border-color:var(--danger,oklch(.62 .2 25));color:var(--danger,oklch(.7 .2 25))}.toast-warn{color:var(--accent)}.toast-ok,.toast-warn{border-color:var(--accent-line)}.toast-ok{color:var(--ok,oklch(.72 .16 155))}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.empty-state{padding:40px 24px;text-align:center;color:var(--text-3)}.empty-state .es-emoji{font-size:30px;opacity:.7}.empty-state .es-title{margin-top:12px;font-size:15px;color:var(--text)}.empty-state .es-desc{margin-top:6px;font-size:12.5px;line-height:1.7}.empty-state .es-steps{margin-top:14px;display:inline-flex;flex-wrap:wrap;gap:8px;justify-content:center}.boundary-wrap{height:100%;min-height:320px;display:grid;place-items:center;padding:40px}.boundary-card{text-align:center;max-width:460px}.msheet-root,.mtab{display:none}@media (max-width:768px){.titlebar{gap:8px;padding:env(safe-area-inset-top,0) 10px 0;height:calc(42px + env(safe-area-inset-top, 0px));flex-basis:calc(42px + env(safe-area-inset-top, 0px))}.iconbtn{width:32px;height:32px}.avatar{width:26px;height:26px}.navtabs,.traffic{display:none}.wordmark .t{font-size:10px;letter-spacing:.06em}.tb-right{gap:7px}.tb-right .seg,.tb-right form{display:none}.campus-sel,.campus-tag{font-size:11.5px;padding:5px 8px;max-width:116px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.userchip{font-size:0;gap:0}.userchip .avatar{font-size:12px}.appbody,.appbody.nav-open{grid-template-columns:1fr}.rail{display:none}.content{padding:16px 14px calc(64px + env(safe-area-inset-bottom, 0px))}.phead{flex-direction:column;align-items:flex-start;gap:12px}.phead h1{font-size:24px}.phead>*{width:100%}.phead .row-acts,.phead .toolbar{flex-wrap:wrap}.kpis{grid-template-columns:repeat(2,1fr);gap:10px}.kpi{padding:13px}.kpi .kval{font-size:23px}.field2,.grid2,.split{grid-template-columns:1fr}.tbl{overflow-x:auto;-webkit-overflow-scrolling:touch}.tbl .thead,.tbl .trow2{min-width:680px}.field input,.field select,.field textarea,.searchbox input,input,select,textarea{font-size:16px}.statusbar{display:none}.mtab{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;height:calc(58px + env(safe-area-inset-bottom, 0px));padding-bottom:env(safe-area-inset-bottom,0);background:var(--panel-2);-webkit-backdrop-filter:blur(var(--blur)) saturate(150%);backdrop-filter:blur(var(--blur)) saturate(150%);border-top:1px solid var(--line)}.mtab-item{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:44px;border:none;background:transparent;color:var(--text-3);cursor:pointer;padding:6px 0;text-decoration:none;transition:color .12s}.mtab-item.on{color:var(--accent)}.mtab-item svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}.mtab-item svg circle{fill:currentColor;stroke:none}.mtab-lab{font-size:10px;font-weight:500;letter-spacing:.01em}.msheet-root{display:block;position:fixed;inset:0;z-index:60}.msheet-scrim{position:absolute;inset:0;border:none;background:oklch(0 0 0/.5);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:pointer}.msheet{position:absolute;left:0;right:0;bottom:0;max-height:84vh;display:flex;flex-direction:column;background:var(--bg-1);border-top:1px solid var(--line-2);border-radius:18px 18px 0 0;box-shadow:0 -18px 50px -20px oklch(0 0 0/.6);padding-bottom:env(safe-area-inset-bottom,0);animation:msheet-in .22s cubic-bezier(.2,.8,.2,1)}@keyframes msheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}.msheet-grip{width:38px;height:4px;border-radius:999px;background:var(--line-2);margin:9px auto 2px}.msheet-head{display:flex;align-items:center;justify-content:space-between;padding:8px 18px 10px;border-bottom:1px solid var(--line)}.msheet-title{font-size:15px;font-weight:600}.msheet-close{border:none;background:var(--raised);color:var(--text-2);font-size:13px;padding:7px 14px;border-radius:999px;cursor:pointer;min-height:36px}.msheet-body{overflow-y:auto;padding:12px 14px;-webkit-overflow-scrolling:touch}.msheet-group+.msheet-group{margin-top:14px}.msheet-group-label{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-4);padding:0 4px 8px}.msheet-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px}.msheet-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:12px 4px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--panel-2);color:var(--text-2);min-height:44px;text-align:center}.msheet-cell.on{border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent)}.msheet-cell-ic{position:relative;display:inline-flex}.msheet-cell-ic svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}.msheet-bd{position:absolute;top:-3px;right:-4px;width:7px;height:7px;border-radius:50%;background:var(--crit);border:1.5px solid var(--bg-1)}.msheet-cell-lab{font-size:11px;line-height:1.25}.msheet-foot{display:flex;gap:10px;padding:12px 14px;border-top:1px solid var(--line)}.msheet-foot .btn{min-height:44px;justify-content:center}.msheet-foot svg{width:17px;height:17px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}.only-desktop{display:none}.scards.only-mobile{display:flex}}.only-mobile{display:none}.scards{gap:10px}.scard,.scards{flex-direction:column}.scard{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;display:flex;gap:9px;-webkit-backdrop-filter:blur(calc(var(--blur) * .7)) saturate(140%);backdrop-filter:blur(calc(var(--blur) * .7)) saturate(140%)}.scard-main,.scard-row{display:flex;align-items:center;gap:11px}.scard-main{flex:1 1;min-width:0}.scard-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.scard-meta .coursetags{display:flex;gap:5px;flex-wrap:wrap}.scard-acts{display:flex;gap:8px;flex-wrap:wrap;align-items:center}