@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:400;src:url(../media/figtree-latin-ext-400-normal.2pqo2xl2i8-94.woff2)format("woff2"),url(../media/figtree-latin-ext-400-normal.01bow07h7wgyx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Figtree;font-style:normal;font-display:swap;font-weight:400;src:url(../media/figtree-latin-400-normal.31jnf8b-i7jy-.woff2)format("woff2"),url(../media/figtree-latin-400-normal.0xpiu9wyy75md.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:500;src:url(../media/figtree-latin-ext-500-normal.00o45hnkcq13g.woff2)format("woff2"),url(../media/figtree-latin-ext-500-normal.3poo1_3lrt88y.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Figtree;font-style:normal;font-display:swap;font-weight:500;src:url(../media/figtree-latin-500-normal.2sprn8ch4rvz1.woff2)format("woff2"),url(../media/figtree-latin-500-normal.3g8fhou4vzl-0.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:600;src:url(../media/figtree-latin-ext-600-normal.39sag4zw1limo.woff2)format("woff2"),url(../media/figtree-latin-ext-600-normal.2pcqmd95zlusw.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Figtree;font-style:normal;font-display:swap;font-weight:600;src:url(../media/figtree-latin-600-normal.0dmqx9hpf6n_u.woff2)format("woff2"),url(../media/figtree-latin-600-normal.1ww36f-l8id34.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:700;src:url(../media/figtree-latin-ext-700-normal.0sqk2bbc2uhnz.woff2)format("woff2"),url(../media/figtree-latin-ext-700-normal.31vdwnd-cmefj.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Figtree;font-style:normal;font-display:swap;font-weight:700;src:url(../media/figtree-latin-700-normal.3p9l3qyea12fl.woff2)format("woff2"),url(../media/figtree-latin-700-normal.20lvsu7oe0-gt.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:800;src:url(../media/figtree-latin-ext-800-normal.23fflazi7ztx3.woff2)format("woff2"),url(../media/figtree-latin-ext-800-normal.07gl7bfwe3ka6.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Figtree;font-style:normal;font-display:swap;font-weight:800;src:url(../media/figtree-latin-800-normal.3ddre9a-bm6np.woff2)format("woff2"),url(../media/figtree-latin-800-normal.2vn7jhpztf_93.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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-display:swap;font-weight:400;src:url(../media/jetbrains-mono-cyrillic-ext-400-normal.2xgjnt7tqh9_7.woff2)format("woff2"),url(../media/jetbrains-mono-cyrillic-ext-400-normal.2k9shvy03yibn.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/jetbrains-mono-cyrillic-400-normal.0qoulnxh80yge.woff2)format("woff2"),url(../media/jetbrains-mono-cyrillic-400-normal.0-x1dsk872q42.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/jetbrains-mono-greek-400-normal.0_-0tsqse47zs.woff2)format("woff2"),url(../media/jetbrains-mono-greek-400-normal.3y1-6__cta0i8.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/jetbrains-mono-vietnamese-400-normal.2_8hwz_kagcew.woff2)format("woff2"),url(../media/jetbrains-mono-vietnamese-400-normal.1lu2dr36-r4uv.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/jetbrains-mono-latin-ext-400-normal.1y03up-y7l7i4.woff2)format("woff2"),url(../media/jetbrains-mono-latin-ext-400-normal.02j2uvbtesu5k.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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-display:swap;font-weight:400;src:url(../media/jetbrains-mono-latin-400-normal.3crsbyy6lh6yf.woff2)format("woff2"),url(../media/jetbrains-mono-latin-400-normal.2-1gwgi1uvl-u.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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-display:swap;font-weight:500;src:url(../media/jetbrains-mono-cyrillic-ext-500-normal.2ry3kp_o4otap.woff2)format("woff2"),url(../media/jetbrains-mono-cyrillic-ext-500-normal.10q4hyu_x8s5h.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/jetbrains-mono-cyrillic-500-normal.3o7914csi1phi.woff2)format("woff2"),url(../media/jetbrains-mono-cyrillic-500-normal.3h99zp-wt8-ur.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/jetbrains-mono-greek-500-normal.0w8tylf7bnwsx.woff2)format("woff2"),url(../media/jetbrains-mono-greek-500-normal.3g5x6uo9cqznt.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/jetbrains-mono-vietnamese-500-normal.3u6u4bveorfwx.woff2)format("woff2"),url(../media/jetbrains-mono-vietnamese-500-normal.1t3tg1-szi7a0.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/jetbrains-mono-latin-ext-500-normal.0qg_8rqgwzn72.woff2)format("woff2"),url(../media/jetbrains-mono-latin-ext-500-normal.0lszauu02dx6r.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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-display:swap;font-weight:500;src:url(../media/jetbrains-mono-latin-500-normal.2h52d08o60qht.woff2)format("woff2"),url(../media/jetbrains-mono-latin-500-normal.2uxjaecu1qvdf.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{--forest-50:#f0f6f3;--forest-100:#dceae4;--forest-200:#b5d3c6;--forest-300:#82b3a0;--forest-400:#4d8b75;--forest-500:#24664f;--forest-600:#0f4f3b;--forest-700:#063f2e;--forest-800:#003022;--forest-900:#002419;--forest-950:#001810;--signal-50:#ecfff3;--signal-100:#d2fee3;--signal-200:#a4fdc7;--signal-300:#5efc9c;--signal-400:#03fa65;--signal-500:#00dc57;--signal-600:#00a843;--signal-700:#008236;--signal-800:#06652d;--signal-900:#084f26;--spark-50:#fffee6;--spark-100:#fffbb8;--spark-200:#fff86b;--spark-300:#fff51f;--spark-400:#ede200;--spark-500:#c9bf00;--spark-600:#9a9200;--spark-700:#736d00;--neutral-0:#fff;--neutral-25:#fafbfa;--neutral-50:#f4f6f5;--neutral-100:#e9eeec;--neutral-200:#d6dedb;--neutral-300:#b8c4bf;--neutral-400:#8b9a94;--neutral-500:#65746e;--neutral-600:#4a5752;--neutral-700:#36413d;--neutral-800:#232b28;--neutral-900:#131917;--wordmark-grey:#404040;--cream-50:#fdfaf6;--cream-100:#f8f1e8;--cream-200:#efe3d3;--red-50:#fff1f0;--red-100:#ffdcd9;--red-500:#e5372c;--red-600:#c4231a;--red-700:#9c1b14;--amber-50:#fff8eb;--amber-100:#ffebc2;--amber-500:#f0a000;--amber-600:#b86e00;--amber-700:#8a5200;--blue-50:#eef5ff;--blue-100:#d6e6ff;--blue-500:#2f7cf6;--blue-600:#1c60d4;--blue-700:#1849a3;--color-brand-primary:var(--forest-800);--color-brand-secondary:var(--signal-400);--color-brand-accent:var(--spark-300);--color-bg-default:var(--neutral-0);--color-bg-subtle:var(--neutral-25);--color-bg-muted:var(--neutral-50);--color-bg-brand:var(--forest-800);--color-bg-brand-tint:var(--forest-50);--color-bg-inverse:var(--forest-800);--color-bg-highlight:var(--spark-100);--color-bg-warm:var(--cream-50);--color-bg-warm-strong:var(--cream-100);--color-surface-default:var(--neutral-0);--color-surface-raised:var(--neutral-0);--color-surface-sunken:var(--neutral-50);--color-surface-overlay:#0018108f;--color-text-primary:var(--forest-950);--color-text-secondary:var(--neutral-600);--color-text-muted:var(--neutral-500);--color-text-disabled:var(--neutral-400);--color-text-inverse:var(--neutral-0);--color-text-brand:var(--forest-800);--color-text-link:var(--forest-600);--color-text-link-hover:var(--forest-800);--color-text-on-brand:var(--neutral-0);--color-text-on-signal:var(--forest-800);--color-text-on-spark:var(--forest-800);--color-border-subtle:var(--neutral-100);--color-border-default:var(--neutral-200);--color-border-strong:var(--neutral-400);--color-border-brand:var(--forest-800);--color-border-input:var(--neutral-300);--color-border-input-hover:var(--neutral-500);--color-action-primary:var(--forest-800);--color-action-primary-hover:var(--forest-700);--color-action-primary-pressed:var(--forest-950);--color-action-primary-text:var(--neutral-0);--color-action-accent:var(--signal-400);--color-action-accent-hover:var(--signal-300);--color-action-accent-pressed:var(--signal-500);--color-action-accent-text:var(--forest-800);--color-action-secondary:var(--neutral-0);--color-action-secondary-hover:var(--forest-50);--color-action-secondary-pressed:var(--forest-100);--color-action-secondary-text:var(--forest-800);--color-action-secondary-border:var(--forest-800);--color-action-ghost-hover:#0030220f;--color-action-ghost-pressed:#0030221f;--color-action-destructive:var(--red-600);--color-action-destructive-hover:var(--red-700);--color-action-destructive-text:var(--neutral-0);--color-action-disabled:var(--neutral-100);--color-action-disabled-text:var(--neutral-400);--color-action-selected:var(--forest-800);--color-focus-ring:var(--signal-600);--color-focus-ring-offset:var(--neutral-0);--color-feedback-success:var(--signal-700);--color-feedback-success-bg:var(--signal-50);--color-feedback-success-border:var(--signal-200);--color-feedback-warning:var(--amber-700);--color-feedback-warning-bg:var(--amber-50);--color-feedback-warning-border:var(--amber-100);--color-feedback-error:var(--red-600);--color-feedback-error-bg:var(--red-50);--color-feedback-error-border:var(--red-100);--color-feedback-info:var(--blue-600);--color-feedback-info-bg:var(--blue-50);--color-feedback-info-border:var(--blue-100);--color-discipline-project:var(--forest-600);--color-discipline-product:var(--signal-600);--color-discipline-analysis:var(--spark-600);--color-skeleton:var(--neutral-100);--color-skeleton-shine:var(--neutral-50)}[data-theme=dark]{--color-bg-default:var(--forest-900);--color-bg-subtle:var(--forest-800);--color-bg-muted:#0a3a2b;--color-bg-brand:var(--forest-800);--color-bg-brand-tint:#0a3a2b;--color-bg-inverse:var(--neutral-0);--color-bg-highlight:#2b3a12;--color-bg-warm:var(--forest-900);--color-bg-warm-strong:var(--forest-800);--color-surface-default:var(--forest-800);--color-surface-raised:#0a3d2e;--color-surface-sunken:var(--forest-950);--color-surface-overlay:#000c08b8;--color-text-primary:#f0f6f3;--color-text-secondary:#b5d3c6;--color-text-muted:#86ab9c;--color-text-disabled:#4d7566;--color-text-inverse:var(--forest-800);--color-text-brand:var(--signal-400);--color-text-link:var(--signal-400);--color-text-link-hover:var(--signal-300);--color-border-subtle:#0f4433;--color-border-default:#1b5542;--color-border-strong:#3f7b66;--color-border-brand:var(--signal-400);--color-border-input:#2a6551;--color-border-input-hover:#4d8b75;--color-action-primary:var(--signal-400);--color-action-primary-hover:var(--signal-300);--color-action-primary-pressed:var(--signal-500);--color-action-primary-text:var(--forest-800);--color-action-secondary:transparent;--color-action-secondary-hover:#03fa6514;--color-action-secondary-pressed:#03fa6529;--color-action-secondary-text:#f0f6f3;--color-action-secondary-border:#4d8b75;--color-action-ghost-hover:#f0f6f314;--color-action-ghost-pressed:#f0f6f324;--color-action-destructive:#ff6a5f;--color-action-destructive-hover:#ff8a81;--color-action-destructive-text:var(--forest-950);--color-action-disabled:#0f4433;--color-action-disabled-text:#4d7566;--color-action-selected:var(--signal-400);--color-focus-ring:var(--signal-400);--color-focus-ring-offset:var(--forest-900);--color-feedback-success:var(--signal-400);--color-feedback-success-bg:#03fa6514;--color-feedback-success-border:#03fa6547;--color-feedback-warning:#ffc94d;--color-feedback-warning-bg:#ffc94d14;--color-feedback-warning-border:#ffc94d47;--color-feedback-error:#ff8a81;--color-feedback-error-bg:#ff6a5f1a;--color-feedback-error-border:#ff6a5f52;--color-feedback-info:#8ab8ff;--color-feedback-info-bg:#8ab8ff14;--color-feedback-info-border:#8ab8ff47;--color-skeleton:#0f4433;--color-skeleton-shine:#1b5542}
:root{--font-family-sans:"Proxima Nova","Figtree",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--font-family-display:var(--font-family-sans);--font-family-mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-size-display-xl:clamp(2.75rem,2.15rem + 2.67vw,4.5rem);--font-size-display-l:clamp(2.375rem,1.95rem + 1.85vw,3.625rem);--font-size-h1:clamp(2.125rem,1.8rem + 1.39vw,3rem);--font-size-h2:clamp(1.75rem,1.5rem + 1.11vw,2.5rem);--font-size-h3:clamp(1.5rem,1.33rem + .74vw,2rem);--font-size-h4:clamp(1.25rem,1.17rem + .37vw,1.5rem);--font-size-h5:clamp(1.125rem,1.08rem + .19vw,1.25rem);--font-size-body-l:clamp(1.0625rem,1.04rem + .09vw,1.125rem);--font-size-body:1rem;--font-size-small:.875rem;--font-size-caption:.75rem;--font-size-overline:.75rem;--line-height-display:1.05;--line-height-h1:1.1;--line-height-h2:1.15;--line-height-h3:1.2;--line-height-h4:1.25;--line-height-h5:1.3;--line-height-body-l:1.6;--line-height-body:1.55;--line-height-small:1.45;--line-height-caption:1.35;--line-height-ui:1.2;--letter-spacing-display:-.025em;--letter-spacing-heading:-.015em;--letter-spacing-body:0;--letter-spacing-overline:.12em;--measure-narrow:45ch;--measure-default:65ch;--measure-wide:80ch;--text-display-xl:var(--font-weight-bold) var(--font-size-display-xl)/var(--line-height-display) var(--font-family-display);--text-display-l:var(--font-weight-bold) var(--font-size-display-l)/var(--line-height-display) var(--font-family-display);--text-h1:var(--font-weight-bold) var(--font-size-h1)/var(--line-height-h1) var(--font-family-display);--text-h2:var(--font-weight-bold) var(--font-size-h2)/var(--line-height-h2) var(--font-family-display);--text-h3:var(--font-weight-semibold) var(--font-size-h3)/var(--line-height-h3) var(--font-family-sans);--text-h4:var(--font-weight-semibold) var(--font-size-h4)/var(--line-height-h4) var(--font-family-sans);--text-h5:var(--font-weight-semibold) var(--font-size-h5)/var(--line-height-h5) var(--font-family-sans);--text-body-l:var(--font-weight-regular) var(--font-size-body-l)/var(--line-height-body-l) var(--font-family-sans);--text-body:var(--font-weight-regular) var(--font-size-body)/var(--line-height-body) var(--font-family-sans);--text-small:var(--font-weight-regular) var(--font-size-small)/var(--line-height-small) var(--font-family-sans);--text-caption:var(--font-weight-medium) var(--font-size-caption)/var(--line-height-caption) var(--font-family-sans);--text-label:var(--font-weight-semibold) var(--font-size-small)/var(--line-height-ui) var(--font-family-sans)}
:root{--space-0:0;--space-0-5:2px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--space-32:128px;--space-inline-xs:var(--space-1);--space-inline-sm:var(--space-2);--space-inline-md:var(--space-3);--space-inline-lg:var(--space-4);--space-stack-xs:var(--space-2);--space-stack-sm:var(--space-3);--space-stack-md:var(--space-4);--space-stack-lg:var(--space-6);--space-stack-xl:var(--space-8);--space-inset-sm:var(--space-3);--space-inset-md:var(--space-5);--space-inset-lg:var(--space-6);--space-inset-xl:var(--space-8);--space-section-sm:clamp(40px,3vw + 29px,64px);--space-section-md:clamp(56px,5vw + 38px,96px);--space-section-lg:clamp(72px,7.4vw + 45px,128px)}
:root{--breakpoint-sm:480px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--breakpoint-2xl:1536px;--container-max:1280px;--container-narrow:880px;--container-prose:720px;--container-wide:1440px;--page-gutter:clamp(20px,1.11vw + 16px,32px);--grid-gap:clamp(16px,.74vw + 13px,24px);--grid-columns-mobile:4;--grid-columns-tablet:8;--grid-columns-desktop:12;--header-height:72px;--header-height-mobile:64px}
:root{--radius-none:0;--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-2xl:28px;--radius-pill:999px;--radius-circle:50%;--radius-control:var(--radius-md);--radius-card:var(--radius-xl);--radius-dialog:var(--radius-2xl);--radius-chip:var(--radius-pill);--border-width-hairline:1px;--border-width-default:1.5px;--border-width-strong:2px;--shadow-xs:0 1px 2px #0024190f;--shadow-sm:0 1px 3px #00241914,0 1px 2px #0024190a;--shadow-md:0 6px 16px -4px #0024191a,0 2px 4px #0024190a;--shadow-lg:0 16px 32px -8px #00241924,0 4px 8px #0024190d;--shadow-xl:0 28px 56px -12px #00241938,0 8px 16px #0024190f;--shadow-focus:0 0 0 2px var(--color-focus-ring-offset),0 0 0 4px var(--color-focus-ring);--shadow-focus-error:0 0 0 2px var(--color-focus-ring-offset),0 0 0 4px var(--color-feedback-error);--elevation-card:var(--shadow-sm);--elevation-card-hover:var(--shadow-md);--elevation-dropdown:var(--shadow-lg);--elevation-dialog:var(--shadow-xl);--elevation-toast:var(--shadow-lg);--z-base:0;--z-raised:10;--z-sticky:100;--z-dropdown:200;--z-overlay:290;--z-modal:300;--z-popover:350;--z-toast:400;--z-tooltip:500}
:root{--duration-instant:80ms;--duration-fast:.14s;--duration-medium:.22s;--duration-slow:.32s;--duration-slower:.48s;--ease-standard:cubic-bezier(.2,0,0,1);--ease-enter:cubic-bezier(.05,.7,.1,1);--ease-exit:cubic-bezier(.3,0,.8,.15);--ease-spring:cubic-bezier(.34,1.36,.64,1);--ease-linear:linear;--transition-colors:color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard);--press-scale:.97;--hover-lift:-2px}@media (prefers-reduced-motion:reduce){:root{--duration-instant:0s;--duration-fast:0s;--duration-medium:0s;--duration-slow:0s;--duration-slower:0s;--press-scale:1;--hover-lift:0px}}
:root{--control-height-sm:36px;--control-height-md:44px;--control-height-lg:52px;--control-padding-x-sm:14px;--control-padding-x-md:18px;--control-padding-x-lg:24px;--touch-target-min:44px;--icon-size-xs:12px;--icon-size-sm:16px;--icon-size-md:20px;--icon-size-lg:24px;--icon-size-xl:32px;--icon-stroke:2px;--avatar-xs:24px;--avatar-sm:32px;--avatar-md:40px;--avatar-lg:48px;--avatar-xl:64px;--checkbox-size:20px;--switch-width:44px;--switch-height:26px;--dialog-width-sm:400px;--dialog-width-md:560px;--dialog-width-lg:760px;--toast-width:380px;--tooltip-max-width:260px}
*,:before,:after{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%}body{font:var(--text-body);color:var(--color-text-primary);background:var(--color-bg-default);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0}h1,h2,h3,h4,h5,h6,p{text-wrap:pretty;margin:0}h1,h2,h3{text-wrap:balance}img,video,svg{max-width:100%;display:block}a{color:var(--color-text-link);text-underline-offset:.2em;transition:var(--transition-colors);text-decoration:underline;text-decoration-thickness:1px}a:hover{color:var(--color-text-link-hover);text-decoration-thickness:2px}:focus-visible{box-shadow:var(--shadow-focus);border-radius:var(--radius-xs);outline:none}::selection{background:var(--signal-300);color:var(--forest-900)}.sx-sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sx-display-xl{font:var(--text-display-xl);letter-spacing:var(--letter-spacing-display)}.sx-display-l{font:var(--text-display-l);letter-spacing:var(--letter-spacing-display)}.sx-h1{font:var(--text-h1);letter-spacing:var(--letter-spacing-heading)}.sx-h2{font:var(--text-h2);letter-spacing:var(--letter-spacing-heading)}.sx-h3{font:var(--text-h3);letter-spacing:var(--letter-spacing-heading)}.sx-h4{font:var(--text-h4)}.sx-h5{font:var(--text-h5)}.sx-body-l{font:var(--text-body-l)}.sx-body{font:var(--text-body)}.sx-small{font:var(--text-small)}.sx-caption{font:var(--text-caption)}.sx-overline{font:var(--font-weight-bold) var(--font-size-overline)/1.2 var(--font-family-sans);letter-spacing:var(--letter-spacing-overline);text-transform:uppercase}.sx-mono{font-family:var(--font-family-mono);font-size:.92em}.sx-container{width:100%;max-width:calc(var(--container-max) + var(--page-gutter)*2);padding-inline:var(--page-gutter);margin-inline:auto}.sx-grid{gap:var(--grid-gap);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}@media (min-width:768px){.sx-grid{grid-template-columns:repeat(8,minmax(0,1fr))}}@media (min-width:1024px){.sx-grid{grid-template-columns:repeat(12,minmax(0,1fr))}}.sx-auto-grid{gap:var(--grid-gap);grid-template-columns:repeat(auto-fill,minmax(min(100%,var(--sx-min,280px)),1fr));display:grid}.sx-section{padding-block:var(--space-section-md)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
.sx-btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-height-md);padding:0 var(--control-padding-x-md);border:var(--border-width-default) solid transparent;border-radius:var(--radius-control);background:var(--color-action-primary);color:var(--color-action-primary-text);font:var(--font-weight-semibold) var(--font-size-body)/1 var(--font-family-sans);letter-spacing:.005em;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:var(--transition-colors),transform var(--duration-instant) var(--ease-standard);text-decoration:none;display:inline-flex;position:relative}.sx-btn:hover{background:var(--color-action-primary-hover);color:var(--color-action-primary-text);text-decoration:none}.sx-btn:active{background:var(--color-action-primary-pressed);transform:scale(var(--press-scale))}.sx-btn:focus-visible{box-shadow:var(--shadow-focus);border-radius:var(--radius-control);outline:none}.sx-btn--sm{min-height:var(--control-height-sm);padding:0 var(--control-padding-x-sm);font-size:var(--font-size-small);gap:6px}.sx-btn--lg{min-height:var(--control-height-lg);padding:0 var(--control-padding-x-lg);font-size:var(--font-size-body-l)}.sx-btn--full{width:100%}.sx-btn--accent{background:var(--color-action-accent);color:var(--color-action-accent-text)}.sx-btn--accent:hover{background:var(--color-action-accent-hover);color:var(--color-action-accent-text)}.sx-btn--accent:active{background:var(--color-action-accent-pressed)}.sx-btn--secondary{background:var(--color-action-secondary);color:var(--color-action-secondary-text);border-color:var(--color-action-secondary-border)}.sx-btn--secondary:hover{background:var(--color-action-secondary-hover);color:var(--color-action-secondary-text)}.sx-btn--secondary:active{background:var(--color-action-secondary-pressed)}.sx-btn--tertiary{background:var(--color-bg-brand-tint);color:var(--color-text-brand)}.sx-btn--tertiary:hover{background:var(--color-action-secondary-pressed);color:var(--color-text-brand)}.sx-btn--tertiary:active{background:var(--forest-200)}[data-theme=dark] .sx-btn--tertiary:active{background:#1b5542}.sx-btn--ghost{color:var(--color-text-brand);background:0 0}.sx-btn--ghost:hover{background:var(--color-action-ghost-hover);color:var(--color-text-brand)}.sx-btn--ghost:active{background:var(--color-action-ghost-pressed)}.sx-btn--destructive{background:var(--color-action-destructive);color:var(--color-action-destructive-text)}.sx-btn--destructive:hover,.sx-btn--destructive:active{background:var(--color-action-destructive-hover);color:var(--color-action-destructive-text)}.sx-btn:disabled,.sx-btn:disabled:hover,.sx-btn:disabled:active,.sx-btn[aria-disabled=true],.sx-btn[aria-disabled=true]:hover{background:var(--color-action-disabled);color:var(--color-action-disabled-text);cursor:not-allowed;border-color:#0000;transform:none}.sx-btn--ghost:disabled,.sx-btn--ghost:disabled:hover{background:0 0}.sx-btn[data-loading=true]{cursor:progress}.sx-btn[data-loading=true] .sx-btn__content{visibility:hidden}.sx-btn__spinner{place-items:center;display:grid;position:absolute;inset:0}.sx-btn[data-success=true],.sx-btn[data-success=true]:hover{background:var(--color-feedback-success);color:var(--neutral-0);border-color:#0000}[data-theme=dark] .sx-btn[data-success=true],[data-theme=dark] .sx-btn[data-success=true]:hover{color:var(--forest-900)}.sx-btn__content{align-items:center;gap:inherit;display:inline-flex}.sx-btn__icon{width:var(--icon-size-md);height:var(--icon-size-md);flex:none}.sx-btn--sm .sx-btn__icon{width:var(--icon-size-sm);height:var(--icon-size-sm)}.sx-btn:hover .sx-btn__icon--end{transform:translate(2px)}.sx-btn__icon--end{transition:transform var(--duration-fast) var(--ease-standard)}.sx-btn--icon{width:var(--control-height-md);min-width:var(--touch-target-min);padding:0}.sx-btn--icon.sx-btn--sm{width:var(--control-height-sm);min-width:var(--control-height-sm)}.sx-btn--icon.sx-btn--lg{width:var(--control-height-lg)}.sx-btn--round,.sx-btn--round:focus-visible{border-radius:var(--radius-pill)}@media (pointer:coarse){.sx-btn--sm{min-height:var(--touch-target-min)}.sx-btn--icon.sx-btn--sm{width:var(--touch-target-min)}}.sx-spinner{flex:none;animation:.8s linear infinite sx-spin;display:inline-block}@keyframes sx-spin{to{transform:rotate(360deg)}}
.sx-field{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.sx-field__label{align-items:baseline;gap:var(--space-2);font:var(--text-label);color:var(--color-text-primary);display:flex}.sx-field__req{color:var(--color-feedback-error);font-weight:var(--font-weight-bold)}.sx-field__opt{font:var(--text-small);color:var(--color-text-muted)}.sx-field__msg{font:var(--text-small);color:var(--color-text-secondary);align-items:flex-start;gap:6px;display:flex}.sx-field__msg svg{flex:none;margin-top:1px}.sx-field__msg--error{color:var(--color-feedback-error);font-weight:var(--font-weight-medium)}.sx-field__msg--success{color:var(--color-feedback-success);font-weight:var(--font-weight-medium)}.sx-field__count{font:var(--text-caption);color:var(--color-text-muted);font-variant-numeric:tabular-nums;margin-left:auto}.sx-field__row{gap:var(--space-3);display:flex}.sx-input{align-items:center;gap:var(--space-2);min-height:var(--control-height-md);background:var(--color-surface-default);border:var(--border-width-default) solid var(--color-border-input);border-radius:var(--radius-control);color:var(--color-text-primary);transition:var(--transition-colors);cursor:text;padding:0 14px;display:flex}.sx-input:hover{border-color:var(--color-border-input-hover)}.sx-input:focus-within{border-color:var(--color-border-brand);box-shadow:var(--shadow-focus)}.sx-input__el:focus-visible{box-shadow:none;border-radius:inherit}.sx-input--sm{min-height:var(--control-height-sm)}.sx-input--lg{min-height:var(--control-height-lg);padding:0 18px}.sx-input__el{min-width:0;height:100%;min-height:inherit;color:inherit;font:var(--text-body);background:0 0;border:0;outline:0;flex:1;padding:0}.sx-input__el::placeholder{color:var(--color-text-muted);opacity:1}.sx-input__icon{color:var(--color-text-muted);flex:none}.sx-input:focus-within .sx-input__icon{color:var(--color-text-brand)}.sx-input__suffix{font:var(--text-small);color:var(--color-text-muted);flex:none}.sx-input__clear{border-radius:var(--radius-pill);width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;transition:var(--transition-colors);background:0 0;border:0;flex:none;place-items:center;margin-right:-6px;display:grid}.sx-input__clear:hover{background:var(--color-action-ghost-hover);color:var(--color-text-primary)}.sx-input[data-invalid=true]{border-color:var(--color-feedback-error)}.sx-input[data-invalid=true]:focus-within{box-shadow:var(--shadow-focus-error)}.sx-input[data-valid=true]{border-color:var(--color-feedback-success)}.sx-input[data-readonly=true]{background:var(--color-surface-sunken);border-style:dashed;border-color:var(--color-border-default)}.sx-input[data-disabled=true]{background:var(--color-action-disabled);border-color:var(--color-border-subtle);color:var(--color-text-disabled);cursor:not-allowed}.sx-input[data-disabled=true] .sx-input__el{cursor:not-allowed}textarea.sx-input__el{resize:vertical;min-height:112px;line-height:var(--line-height-body);padding:12px 0}.sx-input--area{align-items:stretch}.sx-select{position:relative}.sx-select .sx-input__el{appearance:none;cursor:pointer;padding-right:28px}.sx-select__chev{pointer-events:none;color:var(--color-text-secondary);transition:transform var(--duration-fast) var(--ease-standard);position:absolute;top:50%;right:14px;transform:translateY(-50%)}.sx-select:focus-within .sx-select__chev{color:var(--color-text-brand)}.sx-check{align-items:flex-start;gap:var(--space-3);min-height:var(--touch-target-min);cursor:pointer;font:var(--text-body);color:var(--color-text-primary);-webkit-tap-highlight-color:transparent;padding-block:12px;display:flex}.sx-check--compact{min-height:0;padding-block:4px}.sx-check__box{width:var(--checkbox-size);height:var(--checkbox-size);flex:none;place-items:center;margin-top:2px;display:grid;position:relative}.sx-check__input{appearance:none;border:var(--border-width-strong) solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface-default);cursor:pointer;transition:var(--transition-colors);margin:0;position:absolute;inset:0}.sx-check__input[type=radio]{border-radius:50%}.sx-check:hover .sx-check__input:not(:disabled){border-color:var(--color-action-primary)}.sx-check__input:checked,.sx-check__input:indeterminate{background:var(--color-action-selected);border-color:var(--color-action-selected)}.sx-check__input[type=radio]:checked{background:var(--color-surface-default);border-width:6px}.sx-check__input:focus-visible{box-shadow:var(--shadow-focus)}.sx-check__mark{pointer-events:none;color:var(--color-action-primary-text);transition:transform var(--duration-fast) var(--ease-spring);position:relative;transform:scale(0)}.sx-check__input:checked+.sx-check__mark,.sx-check__input:indeterminate+.sx-check__mark{transform:scale(1)}.sx-check__input[aria-invalid=true]{border-color:var(--color-feedback-error)}.sx-check__input:disabled{background:var(--color-action-disabled);border-color:var(--color-border-default);cursor:not-allowed}.sx-check__input:disabled:checked{background:var(--color-border-strong);border-color:var(--color-border-strong)}.sx-check[data-disabled=true]{color:var(--color-text-disabled);cursor:not-allowed}.sx-check__text{flex-direction:column;gap:2px;display:flex}.sx-check__desc{font:var(--text-small);color:var(--color-text-secondary)}.sx-radiogroup{border:0;flex-direction:column;min-width:0;margin:0;padding:0;display:flex}.sx-radiogroup--row{column-gap:var(--space-6);flex-flow:wrap}.sx-radiogroup legend{margin-bottom:var(--space-1);font:var(--text-label);color:var(--color-text-primary);padding:0}.sx-switch{align-items:center;gap:var(--space-3);min-height:var(--touch-target-min);font:var(--text-body);color:var(--color-text-primary);cursor:pointer;-webkit-tap-highlight-color:transparent;display:inline-flex}.sx-switch__track{width:var(--switch-width);height:var(--switch-height);border-radius:var(--radius-pill);background:var(--color-border-strong);cursor:pointer;transition:var(--transition-colors);border:0;flex:none;padding:0;position:relative}.sx-switch__track:after{content:"";background:var(--neutral-0);width:20px;height:20px;box-shadow:var(--shadow-sm);transition:transform var(--duration-medium) var(--ease-spring);border-radius:50%;position:absolute;top:3px;left:3px}.sx-switch__track[aria-checked=true]{background:var(--color-action-selected)}.sx-switch__track[aria-checked=true]:after{transform:translate(18px)}[data-theme=dark] .sx-switch__track[aria-checked=true]:after{background:var(--forest-900)}.sx-switch__track:hover:not(:disabled){filter:brightness(1.08)}.sx-switch__track:focus-visible{box-shadow:var(--shadow-focus);outline:none}.sx-switch__track:disabled{background:var(--color-action-disabled);cursor:not-allowed}.sx-switch__track:disabled:after{box-shadow:none;background:var(--color-bg-muted)}.sx-switch[data-disabled=true]{color:var(--color-text-disabled);cursor:not-allowed}
.sx-alert{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-feedback-info-border);border-radius:var(--radius-lg);background:var(--color-feedback-info-bg);color:var(--color-text-primary);display:flex}.sx-alert--success{background:var(--color-feedback-success-bg);border-color:var(--color-feedback-success-border)}.sx-alert--warning{background:var(--color-feedback-warning-bg);border-color:var(--color-feedback-warning-border)}.sx-alert--error{background:var(--color-feedback-error-bg);border-color:var(--color-feedback-error-border)}.sx-alert__icon{color:var(--color-feedback-info);flex:none;margin-top:1px}.sx-alert--success .sx-alert__icon{color:var(--color-feedback-success)}.sx-alert--warning .sx-alert__icon{color:var(--color-feedback-warning)}.sx-alert--error .sx-alert__icon{color:var(--color-feedback-error)}.sx-alert__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.sx-alert__title{font:var(--font-weight-semibold) var(--font-size-body)/1.35 var(--font-family-sans)}.sx-alert__text{font:var(--text-small);color:var(--color-text-secondary)}.sx-alert__actions{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.sx-alert__close{flex:none;margin:-8px -8px -8px 0}.sx-toast-region{z-index:var(--z-toast);inset:auto var(--page-gutter) var(--page-gutter) auto;gap:var(--space-3);width:min(var(--toast-width),calc(100vw - var(--page-gutter)*2));pointer-events:none;flex-direction:column;display:flex;position:fixed}@media (max-width:767px){.sx-toast-region{inset:auto var(--page-gutter) var(--page-gutter) var(--page-gutter);width:auto}}.sx-toast{pointer-events:auto;align-items:flex-start;gap:var(--space-3);padding:14px var(--space-4);border-radius:var(--radius-lg);background:var(--forest-800);color:var(--neutral-0);box-shadow:var(--elevation-toast);animation:sx-toast-in var(--duration-slow) var(--ease-enter) both;display:flex}[data-theme=dark] .sx-toast{background:var(--neutral-0);color:var(--forest-900)}.sx-toast__icon{color:var(--signal-400);flex:none;margin-top:1px}[data-theme=dark] .sx-toast__icon{color:var(--signal-700)}.sx-toast--error .sx-toast__icon{color:#ff8a81}.sx-toast--warning .sx-toast__icon{color:#ffc94d}.sx-toast__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.sx-toast__title{font:var(--font-weight-semibold) var(--font-size-body)/1.35 var(--font-family-sans)}.sx-toast__text{font:var(--text-small);opacity:.82}.sx-toast__action{border-radius:var(--radius-sm);color:var(--signal-400);font:var(--text-label);cursor:pointer;background:0 0;border:0;flex:none;align-self:center;margin:-6px 0;padding:6px 8px}.sx-toast__action:hover{background:#ffffff14}.sx-toast__close{border-radius:var(--radius-pill);width:28px;height:28px;color:inherit;opacity:.7;cursor:pointer;background:0 0;border:0;flex:none;place-items:center;margin:-4px -6px -4px 0;display:grid}.sx-toast__close:hover{opacity:1;background:#ffffff1a}.sx-toast :focus-visible{box-shadow:0 0 0 2px var(--signal-400)}@keyframes sx-toast-in{0%{opacity:0;transform:translateY(12px)scale(.98)}}.sx-badge{border-radius:var(--radius-pill);background:var(--color-bg-muted);height:24px;color:var(--color-text-secondary);font:var(--font-weight-semibold) var(--font-size-caption)/1 var(--font-family-sans);letter-spacing:.01em;white-space:nowrap;font-variant-numeric:tabular-nums;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.sx-badge--sm{height:20px;padding:0 8px;font-size:11px}.sx-badge--brand{background:var(--color-bg-brand);color:var(--color-text-on-brand)}.sx-badge--signal{background:var(--signal-400);color:var(--forest-800)}.sx-badge--spark{background:var(--spark-300);color:var(--forest-800)}.sx-badge--success{background:var(--color-feedback-success-bg);color:var(--color-feedback-success)}.sx-badge--warning{background:var(--color-feedback-warning-bg);color:var(--color-feedback-warning)}.sx-badge--error{background:var(--color-feedback-error-bg);color:var(--color-feedback-error)}.sx-badge--info{background:var(--color-feedback-info-bg);color:var(--color-feedback-info)}.sx-badge--outline{box-shadow:inset 0 0 0 1px var(--color-border-default);background:0 0}.sx-badge__dot{background:currentColor;border-radius:50%;width:6px;height:6px}.sx-progress{gap:var(--space-2);flex-direction:column;display:flex}.sx-progress__head{justify-content:space-between;gap:var(--space-3);font:var(--text-small);color:var(--color-text-secondary);display:flex}.sx-progress__label{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.sx-progress__value{font-variant-numeric:tabular-nums}.sx-progress__track{border-radius:var(--radius-pill);background:var(--color-bg-muted);height:8px;overflow:hidden}.sx-progress--sm .sx-progress__track{height:4px}.sx-progress--lg .sx-progress__track{height:12px}.sx-progress__bar{border-radius:inherit;background:var(--color-action-selected);height:100%;transition:width var(--duration-slower) var(--ease-standard)}.sx-progress--signal .sx-progress__bar{background:var(--signal-500)}.sx-progress--indeterminate .sx-progress__bar{animation:sx-indet 1.4s var(--ease-standard) infinite;width:40%!important}@keyframes sx-indet{0%{transform:translate(-100%)}to{transform:translate(250%)}}.sx-skel{background:linear-gradient(90deg,var(--color-skeleton) 0%,var(--color-skeleton-shine) 50%,var(--color-skeleton) 100%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.6s linear infinite sx-shimmer;display:block}.sx-skel--text{height:.9em;margin-block:.25em}.sx-skel--circle{border-radius:50%}.sx-skel--block{border-radius:var(--radius-lg)}@keyframes sx-shimmer{to{background-position:-200% 0}}.sx-empty{text-align:center;align-items:center;gap:var(--space-4);padding:var(--space-12) var(--space-6);flex-direction:column;max-width:440px;margin-inline:auto;display:flex}.sx-empty--compact{padding:var(--space-8) var(--space-4);gap:var(--space-3)}.sx-empty__icon{border-radius:var(--radius-xl);background:var(--color-bg-brand-tint);width:64px;height:64px;color:var(--color-text-brand);place-items:center;display:grid}.sx-empty--error .sx-empty__icon{background:var(--color-feedback-error-bg);color:var(--color-feedback-error)}.sx-empty--warning .sx-empty__icon{background:var(--color-feedback-warning-bg);color:var(--color-feedback-warning)}.sx-empty__title{font:var(--text-h4);color:var(--color-text-primary)}.sx-empty__text{font:var(--text-body);color:var(--color-text-secondary);text-wrap:pretty}.sx-empty__actions{justify-content:center;gap:var(--space-3);margin-top:var(--space-2);flex-wrap:wrap;display:flex}
.sx-dialog{width:min(var(--dialog-width-md),calc(100vw - 32px));border-radius:var(--radius-dialog);background:var(--color-surface-raised);max-height:calc(100dvh - 48px);color:var(--color-text-primary);box-shadow:var(--elevation-dialog);border:0;padding:0;overflow:hidden}.sx-dialog--sm{width:min(var(--dialog-width-sm),calc(100vw - 32px))}.sx-dialog--lg{width:min(var(--dialog-width-lg),calc(100vw - 32px))}.sx-dialog[open]{animation:sx-dialog-in var(--duration-slow) var(--ease-enter);flex-direction:column;display:flex}.sx-dialog::backdrop{background:var(--color-surface-overlay);-webkit-backdrop-filter:blur(4px);animation:sx-fade var(--duration-slow) var(--ease-standard)}.sx-dialog__head{align-items:flex-start;gap:var(--space-4);padding:var(--space-6) var(--space-6) var(--space-2);display:flex}.sx-dialog__titles{gap:var(--space-2);flex-direction:column;flex:1;min-width:0;display:flex}.sx-dialog__title{font:var(--text-h4);letter-spacing:var(--letter-spacing-heading)}.sx-dialog__desc{font:var(--text-body);color:var(--color-text-secondary)}.sx-dialog__close{margin:-8px -8px 0 0}.sx-dialog__body{padding:var(--space-4) var(--space-6);flex:1;overflow:auto}.sx-dialog__foot{justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6) var(--space-6);flex-wrap:wrap-reverse;display:flex}@media (max-width:479px){.sx-dialog{border-radius:var(--radius-dialog) var(--radius-dialog) 0 0;width:100vw;max-width:100vw;max-height:92dvh;margin:auto 0 0}.sx-dialog[open]{animation:sx-sheet-in var(--duration-slow) var(--ease-enter)}.sx-dialog__foot>*{flex:100%}}@keyframes sx-dialog-in{0%{opacity:0;transform:translateY(8px)scale(.97)}}@keyframes sx-sheet-in{0%{transform:translateY(100%)}}@keyframes sx-fade{0%{opacity:0}}.sx-tip{display:inline-flex;position:relative}.sx-tip__bubble{z-index:var(--z-tooltip);width:max-content;max-width:var(--tooltip-max-width);border-radius:var(--radius-sm);background:var(--forest-900);color:var(--neutral-0);font:var(--font-weight-medium) var(--font-size-small)/1.35 var(--font-family-sans);text-align:center;box-shadow:var(--shadow-md);pointer-events:none;opacity:0;transition:opacity var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard);padding:7px 10px;transition-delay:0s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,4px)}.sx-tip__bubble:after{content:"";border:5px solid #0000;border-top-color:var(--forest-900);margin-left:-5px;position:absolute;top:100%;left:50%}.sx-tip--bottom .sx-tip__bubble{top:calc(100% + 8px);bottom:auto;transform:translate(-50%,-4px)}.sx-tip--bottom .sx-tip__bubble:after{border-top-color:#0000;border-bottom-color:var(--forest-900);top:auto;bottom:100%}.sx-tip[data-open=true] .sx-tip__bubble{opacity:1;transform:translate(-50%)}[data-theme=dark] .sx-tip__bubble{background:var(--neutral-0);color:var(--forest-900)}[data-theme=dark] .sx-tip__bubble:after{border-top-color:var(--neutral-0)}
.sx-tabs{gap:var(--space-6);flex-direction:column;min-width:0;display:flex}.sx-tabs__list{gap:var(--space-1);scrollbar-width:none;border-bottom:1px solid var(--color-border-default);-webkit-overflow-scrolling:touch;display:flex;position:relative;overflow-x:auto}.sx-tabs__list::-webkit-scrollbar{display:none}.sx-tab{align-items:center;gap:var(--space-2);min-height:var(--touch-target-min);padding:0 var(--space-4);color:var(--color-text-secondary);font:var(--font-weight-semibold) var(--font-size-body)/1 var(--font-family-sans);cursor:pointer;border-radius:var(--radius-sm) var(--radius-sm) 0 0;transition:var(--transition-colors);background:0 0;border:0;flex:none;display:inline-flex;position:relative}.sx-tab:hover{color:var(--color-text-primary);background:var(--color-action-ghost-hover)}.sx-tab[aria-selected=true]{color:var(--color-text-brand)}.sx-tab:after{content:"";left:var(--space-2);right:var(--space-2);background:var(--color-action-selected);height:3px;transition:transform var(--duration-medium) var(--ease-standard);border-radius:3px 3px 0 0;position:absolute;bottom:-1px;transform:scaleX(0)}.sx-tab[aria-selected=true]:after{transform:scaleX(1)}.sx-tab:focus-visible{box-shadow:inset 0 0 0 2px var(--color-focus-ring)}.sx-tab:disabled{color:var(--color-text-disabled);cursor:not-allowed;background:0 0}.sx-tab__count{border-radius:var(--radius-pill);background:var(--color-bg-muted);min-width:22px;height:20px;font-size:var(--font-size-caption);color:var(--color-text-secondary);place-items:center;padding:0 6px;display:inline-grid}.sx-tab[aria-selected=true] .sx-tab__count{background:var(--color-action-selected);color:var(--color-action-primary-text)}.sx-tabs--pill .sx-tabs__list{background:var(--color-bg-muted);border-radius:var(--radius-pill);border:0;gap:4px;width:max-content;max-width:100%;padding:4px}.sx-tabs--pill .sx-tab{border-radius:var(--radius-pill);min-height:36px;padding:0 var(--space-4)}.sx-tabs--pill .sx-tab:after{display:none}.sx-tabs--pill .sx-tab[aria-selected=true]{background:var(--color-surface-raised);color:var(--color-text-primary);box-shadow:var(--shadow-sm)}.sx-tabs--pill .sx-tab:focus-visible{box-shadow:var(--shadow-focus)}.sx-tabs__panel:focus-visible{box-shadow:none}.sx-navwrap{z-index:var(--z-sticky);position:sticky;top:0;container-type:inline-size}.sx-nav{align-items:center;gap:var(--space-6);height:var(--header-height);padding-inline:var(--page-gutter);background:color-mix(in srgb,var(--color-bg-default) 88%,transparent);-webkit-backdrop-filter:saturate(1.4)blur(12px);border-bottom:1px solid var(--color-border-subtle);display:flex}.sx-nav--brand{background:var(--forest-800);color:var(--neutral-0);border-bottom-color:#ffffff14}.sx-nav__inner{align-items:center;gap:var(--space-6);width:100%;max-width:var(--container-max);margin-inline:auto;display:flex}.sx-nav__logo{border-radius:var(--radius-sm);flex:none;align-items:center;display:flex}.sx-nav__links{align-items:center;gap:var(--space-1);flex:1;margin:0;padding:0;list-style:none;display:flex}.sx-nav__link{min-height:40px;padding:0 var(--space-3);border-radius:var(--radius-sm);color:var(--color-text-secondary);font:var(--font-weight-semibold) var(--font-size-body)/1 var(--font-family-sans);transition:var(--transition-colors);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;text-decoration:none;display:inline-flex;position:relative}.sx-nav__link:hover{color:var(--color-text-primary);background:var(--color-action-ghost-hover);text-decoration:none}.sx-nav__link[aria-current=page]{color:var(--color-text-brand)}.sx-nav__link[aria-current=page]:after{content:"";left:var(--space-3);right:var(--space-3);background:var(--signal-500);border-radius:2px;height:2px;position:absolute;bottom:2px}.sx-nav__link[aria-disabled=true]{color:var(--color-text-disabled);pointer-events:none}.sx-nav--brand .sx-nav__link{color:#ffffffc7}.sx-nav--brand .sx-nav__link:hover{color:#fff;background:#ffffff14}.sx-nav--brand .sx-nav__link[aria-current=page]{color:#fff}.sx-nav__actions{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.sx-nav__burger,.sx-nav__sheet{display:none}@container (max-width:760px){.sx-nav{height:var(--header-height-mobile)}.sx-nav__links,.sx-nav__actions .sx-nav__hide-sm{display:none}.sx-nav__burger{display:inline-flex}.sx-nav__sheet[data-open=true]{gap:var(--space-1);padding:var(--space-3) var(--page-gutter) var(--space-6);background:var(--color-bg-default);border-bottom:1px solid var(--color-border-default);box-shadow:var(--shadow-lg);animation:sx-sheet-down var(--duration-medium) var(--ease-enter);flex-direction:column;display:flex}.sx-nav__sheet .sx-nav__link{min-height:var(--touch-target-min);font-size:var(--font-size-body-l);padding:0 var(--space-3)}.sx-nav__sheet .sx-nav__link[aria-current=page]{background:var(--color-bg-brand-tint)}.sx-nav__sheet .sx-nav__link[aria-current=page]:after{display:none}.sx-nav__sheet-actions{gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border-subtle);flex-direction:column;display:flex}}@keyframes sx-sheet-down{0%{opacity:0;transform:translateY(-8px)}}.sx-crumbs ol{align-items:center;gap:var(--space-1);font:var(--text-small);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.sx-crumbs li{align-items:center;gap:var(--space-1);color:var(--color-text-muted);display:inline-flex}.sx-crumbs a{color:var(--color-text-secondary);border-radius:var(--radius-xs);padding:4px 6px;text-decoration:none}.sx-crumbs a:hover{color:var(--color-text-primary);background:var(--color-action-ghost-hover)}.sx-crumbs [aria-current=page]{color:var(--color-text-primary);font-weight:var(--font-weight-semibold);padding:4px 6px}
.sx-card{border-radius:var(--radius-card);background:var(--color-surface-default);min-width:0;color:var(--color-text-primary);border:1px solid var(--color-border-default);transition:box-shadow var(--duration-medium) var(--ease-standard),transform var(--duration-medium) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard);flex-direction:column;display:flex;position:relative;overflow:hidden}.sx-card--elevated{box-shadow:var(--elevation-card);border-color:#0000}.sx-card--subtle{background:var(--color-bg-muted);border-color:#0000}.sx-card--brand{background:var(--forest-800);color:var(--neutral-0);border-color:#0000}.sx-card--brand .sx-card__meta,.sx-card--brand .sx-card__text{color:#ffffffc2}.sx-card--interactive{cursor:pointer}.sx-card--interactive:hover{transform:translateY(var(--hover-lift));box-shadow:var(--elevation-card-hover);border-color:var(--color-border-strong)}.sx-card--interactive.sx-card--elevated:hover,.sx-card--interactive.sx-card--brand:hover{border-color:#0000}.sx-card--interactive:active{transform:translateY(0)scale(.995)}.sx-card--interactive:focus-within{box-shadow:var(--shadow-focus)}.sx-card__link,.sx-card__link:hover{color:inherit;text-decoration:none}.sx-card__link:focus-visible{box-shadow:none}.sx-card__link:after{content:"";z-index:1;position:absolute;inset:0}.sx-card__media{aspect-ratio:16/9;background:var(--color-bg-brand-tint);position:relative;overflow:hidden}.sx-card__media img{object-fit:cover;width:100%;height:100%;transition:transform var(--duration-slower) var(--ease-standard)}.sx-card--interactive:hover .sx-card__media img{transform:scale(1.03)}.sx-card__body{gap:var(--space-2);padding:var(--space-5);flex-direction:column;flex:1;display:flex}.sx-card--pad-lg .sx-card__body{padding:var(--space-8)}.sx-card__eyebrow{gap:var(--space-2);margin-bottom:var(--space-1);flex-wrap:wrap;display:flex}.sx-card__title{font:var(--text-h5);letter-spacing:var(--letter-spacing-heading);text-wrap:balance}.sx-card__text{font:var(--text-small);color:var(--color-text-secondary)}.sx-card__meta{gap:var(--space-2) var(--space-4);font:var(--text-small);color:var(--color-text-secondary);flex-wrap:wrap;display:flex}.sx-card__meta span{align-items:center;gap:6px;display:inline-flex}.sx-card__foot{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border-subtle);z-index:2;display:flex;position:relative}.sx-card--brand .sx-card__foot{border-top-color:#ffffff1a}.sx-card__media-fallback{color:var(--color-text-brand);place-items:center;display:grid;position:absolute;inset:0}.sx-tag{border:1px solid var(--color-border-default);border-radius:var(--radius-chip);background:var(--color-surface-default);min-height:32px;color:var(--color-text-primary);font:var(--font-weight-medium) var(--font-size-small)/1 var(--font-family-sans);white-space:nowrap;transition:var(--transition-colors),transform var(--duration-instant) var(--ease-standard);align-items:center;gap:6px;padding:0 12px;display:inline-flex}button.sx-tag{cursor:pointer}button.sx-tag:hover{border-color:var(--color-border-strong);background:var(--color-bg-subtle)}button.sx-tag:active{transform:scale(var(--press-scale))}.sx-tag[aria-pressed=true]{background:var(--color-action-selected);border-color:var(--color-action-selected);color:var(--color-action-primary-text)}.sx-tag[aria-pressed=true]:hover{background:var(--color-action-primary-hover);border-color:var(--color-action-primary-hover)}.sx-tag:disabled{color:var(--color-text-disabled);background:var(--color-action-disabled);cursor:not-allowed;border-color:#0000}.sx-tag__dot{border-radius:2px;width:8px;height:8px;transform:rotate(45deg)}.sx-tag__remove{width:20px;height:20px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;margin-right:-6px;display:grid}.sx-tag__remove:hover{background:var(--color-action-ghost-pressed);color:var(--color-text-primary)}@media (pointer:coarse){.sx-tag{min-height:40px}}.sx-avatar{width:var(--avatar-md);height:var(--avatar-md);background:var(--forest-100);color:var(--forest-800);font:var(--font-weight-bold) 15px/1 var(--font-family-sans);-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;place-items:center;display:inline-grid;position:relative;overflow:hidden}.sx-avatar img{object-fit:cover;width:100%;height:100%}.sx-avatar--xs{width:var(--avatar-xs);height:var(--avatar-xs);font-size:9px}.sx-avatar--sm{width:var(--avatar-sm);height:var(--avatar-sm);font-size:12px}.sx-avatar--lg{width:var(--avatar-lg);height:var(--avatar-lg);font-size:18px}.sx-avatar--xl{width:var(--avatar-xl);height:var(--avatar-xl);font-size:24px}.sx-avatar--signal{background:var(--signal-200)}.sx-avatar--spark{background:var(--spark-200)}.sx-avatar--forest{background:var(--forest-800);color:var(--signal-400)}.sx-avatar__status{background:var(--signal-500);width:28%;height:28%;box-shadow:0 0 0 2px var(--color-bg-default);border-radius:50%;position:absolute;bottom:0;right:0}.sx-avatar-group{display:inline-flex}.sx-avatar-group .sx-avatar{box-shadow:0 0 0 2px var(--color-bg-default)}.sx-avatar-group .sx-avatar+.sx-avatar{margin-left:-10px}.sx-logo{flex:none;width:auto;display:block}

.ps-skip{left:var(--space-4);top:var(--space-2);z-index:var(--z-toast);padding:var(--space-2) var(--space-4);border-radius:var(--radius-control);background:var(--color-action-primary);color:var(--color-action-primary-text);font:var(--text-label);position:absolute;transform:translateY(-200%)}.ps-skip:focus{transform:none}#main:focus{box-shadow:none;outline:none}.ps-offline{padding:var(--space-3) var(--page-gutter)}.ps-nav{margin:0;padding:0;list-style:none;display:flex}.ps-nav__link{align-items:center;gap:var(--space-2);min-height:var(--touch-target-min);padding-inline:var(--space-4);border-radius:var(--radius-control);color:var(--color-text-secondary);font:var(--text-label);transition:var(--transition-colors);text-decoration:none;display:flex}.ps-nav__link:hover{background:var(--color-action-ghost-hover);color:var(--color-text-primary)}.ps-nav__link[aria-current=page]{color:var(--color-text-brand);background:var(--color-bg-brand-tint)}.ps-student{background:var(--color-bg-subtle);min-height:100dvh}.ps-student__header{z-index:var(--z-sticky);background:var(--color-bg-default);border-bottom:1px solid var(--color-border-subtle);position:sticky;top:0}.ps-student__bar{align-items:center;gap:var(--space-6);height:var(--header-height-mobile);max-width:var(--container-max);padding-inline:var(--page-gutter);margin-inline:auto;display:flex}.ps-student__logo{border-radius:var(--radius-sm);flex-shrink:0;align-items:center;display:flex}.ps-student__topnav{flex:1;display:none}.ps-student__bell{width:var(--touch-target-min);height:var(--touch-target-min);border-radius:var(--radius-circle);color:var(--color-text-secondary);justify-content:center;align-items:center;margin-inline-start:auto;display:flex;position:relative}.ps-student__bell:hover{background:var(--color-action-ghost-hover);color:var(--color-text-primary)}.ps-student__bell-count{min-width:18px;height:18px;padding:0 var(--space-1);border-radius:var(--radius-pill);background:var(--color-text-brand);color:var(--color-text-on-brand);font:var(--text-caption);text-align:center;line-height:18px;position:absolute;top:2px;right:2px}.ps-student__user{border-radius:var(--radius-circle);display:flex}.ps-student__main{max-width:var(--container-max);padding:var(--space-section-sm) var(--page-gutter);padding-bottom:calc(var(--space-section-sm) + var(--header-height-mobile));margin-inline:auto}.ps-student__bottomnav{inset-inline:0;z-index:var(--z-sticky);background:var(--color-bg-default);border-top:1px solid var(--color-border-default);padding-bottom:env(safe-area-inset-bottom);position:fixed;bottom:0}.ps-nav--bottom{justify-content:space-around}.ps-nav--bottom li{flex:1 1 0;min-width:0}.ps-nav--bottom .ps-nav__link{justify-content:flex-start;gap:var(--space-1);min-height:var(--header-height-mobile);padding:var(--space-2) 0 0;font:var(--text-caption);text-align:center;border-radius:0;flex-direction:column}@media (min-width:1024px){.ps-student__bar{height:var(--header-height)}.ps-student__topnav{display:block}.ps-nav--top{gap:var(--space-1)}.ps-nav--top .ps-nav__link{white-space:nowrap;padding-inline:var(--space-3)}.ps-student__bottomnav{display:none}.ps-student__main{padding-bottom:var(--space-section-sm)}}.ps-staff{background:var(--color-bg-subtle);flex-direction:column;min-height:100dvh;display:flex}.ps-staff__side{align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-3) var(--page-gutter);background:var(--color-bg-default);border-bottom:1px solid var(--color-border-default);flex-wrap:wrap;display:flex}.ps-staff__logo{align-items:center;gap:var(--space-3);border-radius:var(--radius-sm);display:flex}.ps-staff__nav{flex-basis:100%;order:3;overflow-x:auto}.ps-nav--side{gap:var(--space-1)}.ps-nav--side .ps-nav__link{white-space:nowrap}.ps-staff__account{align-items:center;gap:var(--space-3);margin-inline-start:auto;display:flex}.ps-staff__who{align-items:center;gap:var(--space-2);display:flex}.ps-staff__whotext{font:var(--text-small);flex-direction:column;display:none}.ps-staff__whotext span{color:var(--color-text-secondary);font:var(--text-caption)}.ps-staff__content{flex:1;min-width:0}.ps-staff__main{padding:var(--space-6) var(--page-gutter)}@media (min-width:1024px){.ps-staff{flex-direction:row}.ps-staff__side{height:100dvh;width:calc(var(--space-16) * 4);padding:var(--space-5) var(--space-4);border-bottom:0;border-inline-end:1px solid var(--color-border-default);align-self:flex-start;align-items:stretch;gap:var(--space-5);flex-flow:column;flex:none;position:sticky;top:0}.ps-staff__nav{flex:1;order:0;overflow:visible}.ps-nav--side{flex-direction:column}.ps-staff__account{padding-top:var(--space-4);border-top:1px solid var(--color-border-subtle);flex-direction:column;align-items:stretch;margin:0}.ps-staff__whotext{display:flex}.ps-staff__main{padding:var(--space-8);max-width:calc(var(--container-max) + var(--space-8) * 2);margin-inline:auto}}.ps-narrow{max-width:var(--container-narrow)}.ps-move{align-items:center;gap:var(--space-1);display:flex}.ps-move__error{font:var(--text-caption);color:var(--color-feedback-error);max-width:calc(var(--space-16) * 3)}.ps-list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.ps-list__row{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.ps-list__main{gap:var(--space-1);min-width:0;display:grid}.ps-list__meta{font:var(--text-small);color:var(--color-text-secondary)}.ps-list__actions{align-items:center;gap:var(--space-3);display:flex}.ps-section{gap:var(--space-stack-md);display:grid}.ps-stack{gap:var(--space-stack-xl);display:grid}.ps-stack>*,.ps-student__main>*>*,.ps-list>li,.ps-list__main{min-width:0}.ps-student__main,.ps-staff__main{overflow-wrap:anywhere}.ps-file{gap:var(--space-3);justify-items:start;display:grid}.ps-file__name{font:var(--text-label);overflow-wrap:anywhere;margin:0}.ps-archive{align-items:center;gap:var(--space-1);display:flex}.ps-archived{gap:var(--space-stack-sm);display:grid}.ps-archived__title{font:var(--text-label);color:var(--color-text-secondary);margin:0}.ps-release{gap:var(--space-2);justify-items:end;display:grid}.ps-release__state{align-items:center;gap:var(--space-2);display:flex}.ps-release__actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.ps-release__error{max-width:calc(var(--space-16) * 4);text-align:end}.ps-status{align-items:center;gap:var(--space-2);display:flex}.ps-table{border-collapse:collapse;width:100%;font:var(--text-small)}.ps-table th{text-align:start;font:var(--text-label);color:var(--color-text-secondary);padding:var(--space-2) var(--space-3);border-bottom:var(--border-width-default) solid var(--color-border-default)}.ps-table td{padding:var(--space-3);border-bottom:var(--border-width-hairline) solid var(--color-border-subtle);vertical-align:middle}.ps-table-wrap{background:var(--color-surface-default);border:var(--border-width-hairline) solid var(--color-border-default);border-radius:var(--radius-card);overflow-x:auto}.ps-filters{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.ps-pager{align-items:center;gap:var(--space-3);justify-content:space-between;display:flex}.ps-player-wrap{gap:var(--space-3);display:grid}.ps-player{aspect-ratio:16/9;background:var(--color-bg-brand);border-radius:var(--radius-card);width:100%;position:relative;overflow:hidden}.ps-player iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.ps-lesson-nav{justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;display:flex}.ps-upload{gap:var(--space-2);display:grid}.ps-upload__box{justify-items:start;gap:var(--space-3);padding:var(--space-5);border:var(--border-width-default) dashed var(--color-border-strong);border-radius:var(--radius-card);background:var(--color-surface-sunken);color:var(--color-text-secondary);font:var(--text-small);display:grid}.ps-upload__box[data-state=done]{border-style:solid;border-color:var(--color-feedback-success-border);background:var(--color-feedback-success-bg);color:var(--color-text-primary)}.ps-upload__box[data-invalid=true]{border-color:var(--color-feedback-error)}.ps-upload__file{align-items:center;gap:var(--space-2);font:var(--text-label);overflow-wrap:anywhere;display:inline-flex}.ps-student__main>*{max-width:var(--container-narrow);margin-inline:auto}.ps-student__main>.ps-dash{max-width:none}.ps-dash{gap:var(--space-stack-xl);display:grid}.ps-dash .sx-card__eyebrow{align-items:center}.ps-dash__layout{gap:var(--space-4);grid-template-columns:minmax(0,1fr);grid-template-areas:"next""progress""class""announcement""links""outstanding";display:grid}.ps-dash__side{display:contents}.ps-dash__next{grid-area:next}.ps-dash__progress{grid-area:progress}.ps-dash__class{grid-area:class}.ps-dash__announcement{grid-area:announcement}.ps-dash__links{gap:var(--space-3);grid-area:links;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ps-dash__links>:last-child:nth-child(odd){grid-column:1/-1}.ps-dash__outstanding{grid-area:outstanding}@media (min-width:1024px){.ps-dash__layout{align-items:start;gap:var(--space-6);grid-template-columns:minmax(0,1fr) minmax(0,22rem);grid-template-areas:"next side""progress side""outstanding side"}.ps-dash__side{gap:var(--space-4);grid-area:side;display:grid}.ps-dash__side>*{grid-area:auto}}.ps-dash__figures{gap:var(--space-2) var(--space-5);font:var(--text-small);color:var(--color-text-secondary);flex-wrap:wrap;margin:0;display:flex}.ps-profile{gap:var(--space-3);margin:0;display:grid}.ps-profile dt{font:var(--text-small);color:var(--color-text-secondary)}.ps-profile dd{overflow-wrap:anywhere;margin:0}.ps-auth{background:var(--color-bg-default);grid-template-rows:auto 1fr;min-height:100dvh;display:grid}.ps-auth__brand{background:var(--color-bg-brand);color:var(--color-text-on-brand);padding:var(--space-5) var(--page-gutter);align-items:center;display:flex}.ps-auth__pitch,.ps-auth__photo{display:none}.ps-auth__main{background:var(--color-bg-warm);padding:var(--space-section-sm) var(--page-gutter);place-items:start center;display:grid}.ps-auth__panel{gap:var(--space-stack-lg);width:100%;max-width:28rem;padding:var(--space-6);background:var(--color-bg-default);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);display:grid}@media (min-width:900px){.ps-auth__main{align-items:center}.ps-auth__panel{padding:var(--space-8)}.ps-auth{grid-template-rows:none;grid-template-columns:minmax(0,5fr) minmax(0,6fr)}.ps-auth__brand{align-items:flex-start;gap:var(--space-8);padding:var(--space-8);flex-direction:column;height:100dvh;position:sticky;top:0}.ps-auth__pitch{gap:var(--space-stack-lg);max-width:30rem;display:grid}.ps-auth__headline{font:var(--text-display-l);letter-spacing:var(--letter-spacing-display);margin:0}.ps-auth__mark{text-decoration:underline;-webkit-text-decoration-color:var(--spark-300);text-decoration-color:var(--spark-300);text-underline-offset:.14em;text-decoration-thickness:.09em}.ps-auth__sub{font:var(--text-body-l);color:var(--forest-100);margin:0}.ps-auth__photo{box-shadow:var(--space-4) var(--space-4) 0 var(--forest-700);width:calc(100% - var(--space-4));margin-bottom:var(--space-4);border-radius:var(--radius-lg);flex:auto;min-height:10rem;display:block;overflow:hidden}.ps-auth__photo img{object-fit:cover;object-position:62% 25%;width:100%;height:100%;display:block}}
.ps-richtext{font:var(--text-body);color:var(--color-text-primary);max-width:var(--measure-default);overflow-wrap:anywhere}.ps-richtext>*+*{margin-block-start:var(--space-stack-md)}.ps-richtext h2{font:var(--text-h3);margin-block-start:var(--space-stack-xl)}.ps-richtext h3{font:var(--text-h4);margin-block-start:var(--space-stack-lg)}.ps-richtext h4{font:var(--text-h5)}.ps-richtext ul,.ps-richtext ol{padding-inline-start:var(--space-6)}.ps-richtext li+li{margin-block-start:var(--space-1)}.ps-richtext blockquote{border-inline-start:var(--border-width-strong) solid var(--color-border-default);color:var(--color-text-secondary);margin-inline:0;padding-inline-start:var(--space-4)}.ps-richtext a{color:var(--color-text-link)}.ps-editor-field{gap:var(--space-2);display:grid}.ps-editor{border:var(--border-width-default) solid var(--color-border-input);border-radius:var(--radius-control);background:var(--color-surface-default)}.ps-editor:focus-within{border-color:var(--color-border-brand);box-shadow:var(--shadow-focus)}.ps-editor[data-invalid=true]{border-color:var(--color-feedback-error)}.ps-editor--loading{min-height:calc(var(--space-16) * 3);background:var(--color-skeleton);border-radius:var(--radius-control)}.ps-editor__toolbar{gap:var(--space-2);padding:var(--space-2);border-bottom:var(--border-width-hairline) solid var(--color-border-subtle);flex-wrap:wrap;display:flex}.ps-editor__link{align-items:flex-end;gap:var(--space-2);padding:var(--space-2);border-bottom:var(--border-width-hairline) solid var(--color-border-subtle);flex-wrap:wrap;display:flex}.ps-editor__link .sx-field{min-width:calc(var(--space-16) * 3);flex:1}.ps-editor__content{min-height:calc(var(--space-16) * 3);padding:var(--space-3) var(--space-4);outline:none;max-width:none}.ps-editor__content:focus-visible{box-shadow:none}.ps-editor__content p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--color-text-muted);pointer-events:none;float:left;height:0}
