@layer tokens{:root{--mx-font-display:"Newsreader", Georgia, "Times New Roman", serif;--mx-font-body:"Schibsted Grotesk", system-ui, -apple-system, sans-serif;--mx-font-ui:"Schibsted Grotesk", system-ui, -apple-system, sans-serif;--mx-font-mono:"Spline Sans Mono", ui-monospace, "SF Mono", Menlo, monospace;--mx-font-math:"Newsreader", Georgia, "Times New Roman", serif;--mx-text-xs:.75rem;--mx-text-s:.875rem;--mx-text-m:clamp(1rem, .95rem + .25vw, 1.125rem);--mx-text-l:clamp(1.15rem, 1.05rem + .5vw, 1.35rem);--mx-text-xl:clamp(1.45rem, 1.3rem + .9vw, 1.9rem);--mx-text-2xl:clamp(1.9rem, 1.6rem + 1.6vw, 2.7rem);--mx-s1:.25rem;--mx-s2:.5rem;--mx-s3:.75rem;--mx-s4:1rem;--mx-s5:1.5rem;--mx-s6:2.25rem;--mx-s7:3.5rem;--mx-s8:5rem;--mx-radius-s:8px;--mx-radius-m:12px;--mx-radius-l:18px;--mx-measure:66ch;--mx-lane:11rem;--mx-flow:1.1em;--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--mx-paper:#f5f2e9;--mx-surface:#fffef9;--mx-surface-2:#e7e3d7;--mx-ink:#212536;--mx-ink-2:#6c6f7b;--mx-ink-3:#9a9da8;--mx-line:#21253624;--mx-line-2:#2125364d;--mx-accent:#c94b1b;--mx-accent-ink:#8f340e;--mx-accent-hover:#a93a16;--mx-ember:#a97f2f;--mx-good:#33724c;--mx-bad:#b6143f;--mx-gold:#c3963b;--mx-accent-tint:#c94b1b14;--mx-accent-line:#c94b1b47;--mx-ember-tint:#a97f2f1a;--mx-ember-line:#a97f2f66;--mx-good-tint:#33724c17;--mx-good-line:#33724c52;--mx-bad-tint:#b6143f12;--mx-bad-line:#b6143f4d;--mx-grid-line:#2125360d;--mx-grid-size:28px;--mx-shadow-s:0 1px 2px #2125360d, 0 2px 8px #2125360d;--mx-shadow-m:0 2px 6px #21253612, 0 12px 32px -8px #2125361f;--mx-canvas-bg:#fffef9;--mx-canvas-grid:#2125360f;--mx-canvas-axis:#2125363d;--mx-canvas-primary:#c94b1b;--mx-canvas-secondary:#212536;--mx-canvas-accent:#33724c;--mx-canvas-highlight:#a97f2f;--mx-canvas-text:#212536;--mx-canvas-muted:#6c6f7b;--mx-canvas-danger:#b6143f;--mx-canvas-tertiary:#27709c;--mx-canvas-warning:#a97f2f}@supports (color:lab(0% 0 0)){:root{--mx-paper:lab(95.5422% -.145763 4.59052);--mx-surface:lab(99.5827% -.302404 2.65005);--mx-surface-2:lab(90.3481% -.177711 6.5237);--mx-ink:lab(14.9376% 1.98567 -11.6596);--mx-ink-2:lab(46.8554% .819057 -7.09232);--mx-ink-3:lab(64.7471% .542492 -6.00978);--mx-line:lab(14.9376% 1.98567 -11.6596/.14);--mx-line-2:lab(14.9376% 1.98567 -11.6596/.3);--mx-accent:lab(49.6463% 49.4044 52.6589);--mx-accent-ink:lab(35.2467% 38.0344 42.0547);--mx-accent-hover:lab(41.0375% 45.2527 45.3199);--mx-ember:lab(56.3097% 11.0564 48.2435);--mx-good:lab(43.1759% -28.5579 14.7064);--mx-bad:lab(39.8746% 61.4433 22.0487);--mx-gold:lab(65.3039% 10.6903 53.0736);--mx-accent-tint:lab(49.6463% 49.4044 52.6589/.08);--mx-accent-line:lab(49.6463% 49.4044 52.6589/.28);--mx-ember-tint:lab(56.3097% 11.0564 48.2435/.1);--mx-ember-line:lab(56.3097% 11.0564 48.2435/.4);--mx-good-tint:lab(43.1759% -28.5579 14.7064/.09);--mx-good-line:lab(43.1759% -28.5579 14.7064/.32);--mx-bad-tint:lab(39.8746% 61.4433 22.0487/.07);--mx-bad-line:lab(39.8746% 61.4433 22.0487/.3);--mx-grid-line:lab(14.9376% 1.98567 -11.6596/.05);--mx-shadow-s:0 1px 2px lab(14.9376% 1.98567 -11.6596/.05), 0 2px 8px lab(14.9376% 1.98567 -11.6596/.05);--mx-shadow-m:0 2px 6px lab(14.9376% 1.98567 -11.6596/.07), 0 12px 32px -8px lab(14.9376% 1.98567 -11.6596/.12);--mx-canvas-bg:lab(99.5827% -.302404 2.65005);--mx-canvas-grid:lab(14.9376% 1.98567 -11.6596/.06);--mx-canvas-axis:lab(14.9376% 1.98567 -11.6596/.24);--mx-canvas-primary:lab(49.6463% 49.4044 52.6589);--mx-canvas-secondary:lab(14.9376% 1.98567 -11.6596);--mx-canvas-accent:lab(43.1759% -28.5579 14.7064);--mx-canvas-highlight:lab(56.3097% 11.0564 48.2435);--mx-canvas-text:lab(14.9376% 1.98567 -11.6596);--mx-canvas-muted:lab(46.8554% .819057 -7.09232);--mx-canvas-danger:lab(39.8746% 61.4433 22.0487);--mx-canvas-tertiary:lab(44.2258% -11.0612 -31.3121);--mx-canvas-warning:lab(56.3097% 11.0564 48.2435)}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--mx-paper:#0e111b;--mx-surface:#1a1d2b;--mx-surface-2:#252939;--mx-ink:#eeebe3;--mx-ink-2:#a2a4ae;--mx-ink-3:#777a83;--mx-line:#eeebe326;--mx-line-2:#eeebe34d;--mx-accent:#ea6f3c;--mx-accent-ink:#f58f5d;--mx-accent-hover:#fc854f;--mx-ember:#d2a652;--mx-good:#5db37f;--mx-bad:#e75e6a;--mx-gold:#dfb866;--mx-accent-tint:#ea6f3c21;--mx-accent-line:#ea6f3c5c;--mx-ember-tint:#d2a6521f;--mx-ember-line:#d2a65266;--mx-good-tint:#5db37f1f;--mx-good-line:#5db37f57;--mx-bad-tint:#e75e6a1f;--mx-bad-line:#e75e6a57;--mx-grid-line:#eeebe30b;--mx-grid-size:28px;--mx-shadow-s:0 1px 2px #00000059, 0 2px 8px #0000004d;--mx-shadow-m:0 2px 6px #0006, 0 12px 32px -8px #00000080;--mx-canvas-bg:#1a1d2b;--mx-canvas-grid:#eeebe312;--mx-canvas-axis:#eeebe33d;--mx-canvas-primary:#ea6f3c;--mx-canvas-secondary:#d2cebf;--mx-canvas-accent:#5db37f;--mx-canvas-highlight:#d2a652;--mx-canvas-text:#eeebe3;--mx-canvas-muted:#a2a4ae;--mx-canvas-danger:#e75e6a;--mx-canvas-tertiary:#68a6d1;--mx-canvas-warning:#dfb866}@supports (color:lab(0% 0 0)){:root:not([data-theme=light]){--mx-paper:lab(5.12959% 1.04737 -7.2613);--mx-surface:lab(11.0268% 1.73904 -10.2017);--mx-surface-2:lab(16.8182% 1.73782 -10.9682);--mx-ink:lab(93.1009% -.136077 4.20632);--mx-ink-2:lab(67.4261% .542343 -5.25836);--mx-ink-3:lab(51.1777% .607997 -5.61919);--mx-line:lab(93.1009% -.136077 4.20632/.15);--mx-line-2:lab(93.1009% -.136077 4.20632/.3);--mx-accent:lab(61.6428% 45.969 50.7728);--mx-accent-ink:lab(70.0969% 36.4385 43.7355);--mx-accent-hover:lab(68.7194% 43.2147 49.7069);--mx-ember:lab(71.129% 9.74503 49.3807);--mx-good:lab(66.7078% -36.3832 18.7226);--mx-bad:lab(58.7387% 54.7355 22.372);--mx-gold:lab(76.9969% 7.60111 46.406);--mx-accent-tint:lab(61.6428% 45.969 50.7728/.13);--mx-accent-line:lab(61.6428% 45.969 50.7728/.36);--mx-ember-tint:lab(71.129% 9.74503 49.3807/.12);--mx-ember-line:lab(71.129% 9.74503 49.3807/.4);--mx-good-tint:lab(66.7078% -36.3832 18.7226/.12);--mx-good-line:lab(66.7078% -36.3832 18.7226/.34);--mx-bad-tint:lab(58.7387% 54.7355 22.372/.12);--mx-bad-line:lab(58.7387% 54.7355 22.372/.34);--mx-grid-line:lab(93.1009% -.136077 4.20632/.045);--mx-shadow-s:0 1px 2px lab(0% 0 0/.35), 0 2px 8px lab(0% 0 0/.3);--mx-shadow-m:0 2px 6px lab(0% 0 0/.4), 0 12px 32px -8px lab(0% 0 0/.5);--mx-canvas-bg:lab(11.0268% 1.73904 -10.2017);--mx-canvas-grid:lab(93.1009% -.136077 4.20632/.07);--mx-canvas-axis:lab(93.1009% -.136077 4.20632/.24);--mx-canvas-primary:lab(61.6428% 45.969 50.7728);--mx-canvas-secondary:lab(82.7067% -.181317 7.69537);--mx-canvas-accent:lab(66.7078% -36.3832 18.7226);--mx-canvas-highlight:lab(71.129% 9.74503 49.3807);--mx-canvas-text:lab(93.1009% -.136077 4.20632);--mx-canvas-muted:lab(67.4261% .542343 -5.25836);--mx-canvas-danger:lab(58.7387% 54.7355 22.372);--mx-canvas-tertiary:lab(65.1979% -11.7457 -28.5567);--mx-canvas-warning:lab(76.9969% 7.60111 46.406)}}}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--mx-paper:#0e111b;--mx-surface:#1a1d2b;--mx-surface-2:#252939;--mx-ink:#eeebe3;--mx-ink-2:#a2a4ae;--mx-ink-3:#777a83;--mx-line:#eeebe326;--mx-line-2:#eeebe34d;--mx-accent:#ea6f3c;--mx-accent-ink:#f58f5d;--mx-accent-hover:#fc854f;--mx-ember:#d2a652;--mx-good:#5db37f;--mx-bad:#e75e6a;--mx-gold:#dfb866;--mx-accent-tint:#ea6f3c21;--mx-accent-line:#ea6f3c5c;--mx-ember-tint:#d2a6521f;--mx-ember-line:#d2a65266;--mx-good-tint:#5db37f1f;--mx-good-line:#5db37f57;--mx-bad-tint:#e75e6a1f;--mx-bad-line:#e75e6a57;--mx-grid-line:#eeebe30b;--mx-grid-size:28px;--mx-shadow-s:0 1px 2px #00000059, 0 2px 8px #0000004d;--mx-shadow-m:0 2px 6px #0006, 0 12px 32px -8px #00000080;--mx-canvas-bg:#1a1d2b;--mx-canvas-grid:#eeebe312;--mx-canvas-axis:#eeebe33d;--mx-canvas-primary:#ea6f3c;--mx-canvas-secondary:#d2cebf;--mx-canvas-accent:#5db37f;--mx-canvas-highlight:#d2a652;--mx-canvas-text:#eeebe3;--mx-canvas-muted:#a2a4ae;--mx-canvas-danger:#e75e6a;--mx-canvas-tertiary:#68a6d1;--mx-canvas-warning:#dfb866}@supports (color:lab(0% 0 0)){html[data-theme=dark]{--mx-paper:lab(5.12959% 1.04737 -7.2613);--mx-surface:lab(11.0268% 1.73904 -10.2017);--mx-surface-2:lab(16.8182% 1.73782 -10.9682);--mx-ink:lab(93.1009% -.136077 4.20632);--mx-ink-2:lab(67.4261% .542343 -5.25836);--mx-ink-3:lab(51.1777% .607997 -5.61919);--mx-line:lab(93.1009% -.136077 4.20632/.15);--mx-line-2:lab(93.1009% -.136077 4.20632/.3);--mx-accent:lab(61.6428% 45.969 50.7728);--mx-accent-ink:lab(70.0969% 36.4385 43.7355);--mx-accent-hover:lab(68.7194% 43.2147 49.7069);--mx-ember:lab(71.129% 9.74503 49.3807);--mx-good:lab(66.7078% -36.3832 18.7226);--mx-bad:lab(58.7387% 54.7355 22.372);--mx-gold:lab(76.9969% 7.60111 46.406);--mx-accent-tint:lab(61.6428% 45.969 50.7728/.13);--mx-accent-line:lab(61.6428% 45.969 50.7728/.36);--mx-ember-tint:lab(71.129% 9.74503 49.3807/.12);--mx-ember-line:lab(71.129% 9.74503 49.3807/.4);--mx-good-tint:lab(66.7078% -36.3832 18.7226/.12);--mx-good-line:lab(66.7078% -36.3832 18.7226/.34);--mx-bad-tint:lab(58.7387% 54.7355 22.372/.12);--mx-bad-line:lab(58.7387% 54.7355 22.372/.34);--mx-grid-line:lab(93.1009% -.136077 4.20632/.045);--mx-shadow-s:0 1px 2px lab(0% 0 0/.35), 0 2px 8px lab(0% 0 0/.3);--mx-shadow-m:0 2px 6px lab(0% 0 0/.4), 0 12px 32px -8px lab(0% 0 0/.5);--mx-canvas-bg:lab(11.0268% 1.73904 -10.2017);--mx-canvas-grid:lab(93.1009% -.136077 4.20632/.07);--mx-canvas-axis:lab(93.1009% -.136077 4.20632/.24);--mx-canvas-primary:lab(61.6428% 45.969 50.7728);--mx-canvas-secondary:lab(82.7067% -.181317 7.69537);--mx-canvas-accent:lab(66.7078% -36.3832 18.7226);--mx-canvas-highlight:lab(71.129% 9.74503 49.3807);--mx-canvas-text:lab(93.1009% -.136077 4.20632);--mx-canvas-muted:lab(67.4261% .542343 -5.25836);--mx-canvas-danger:lab(58.7387% 54.7355 22.372);--mx-canvas-tertiary:lab(65.1979% -11.7457 -28.5567);--mx-canvas-warning:lab(76.9969% 7.60111 46.406)}}}@layer base{*,:before,:after{box-sizing:border-box}*{margin:0;padding:0}html{interpolate-size:allow-keywords;scrollbar-gutter:stable}body{background:var(--mx-paper);color:var(--mx-ink);font-family:var(--mx-font-body);font-size:var(--mx-text-m);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;line-height:1.65}h1,h2,h3,h4{font-family:var(--mx-font-display);letter-spacing:-.012em;color:var(--mx-ink);text-wrap:balance;font-weight:560;line-height:1.18}h1{font-size:var(--mx-text-2xl);font-variation-settings:"opsz" 60}h2{font-size:var(--mx-text-xl)}h3{font-size:var(--mx-text-l)}h4{font-size:var(--mx-text-m);font-family:var(--mx-font-ui);font-weight:600}p{text-wrap:pretty}a{color:var(--mx-accent-ink);text-decoration:underline;-webkit-text-decoration-color:var(--mx-accent-line);text-decoration-color:var(--mx-accent-line);text-underline-offset:.18em;transition:text-decoration-color .15s}a:hover{text-decoration-color:currentColor}strong{font-weight:660}em{font-style:italic}ul,ol{padding-inline-start:1.4em}li{margin-block:.3em}::selection{background:var(--mx-accent);color:var(--mx-paper)}:focus-visible{outline:2px solid var(--mx-accent);outline-offset:2px;border-radius:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}mjx-container{color:inherit}mjx-container[display=true]{max-width:100%;overflow:auto clip}}@layer layout{.sheet{--gutter:clamp(1.25rem, 4vw, 3rem);grid-template-columns:[full-start] minmax(var(--gutter), 1fr) [wide-start] minmax(0, var(--mx-lane)) [content-start] min(var(--mx-measure), calc(100% - 2 * var(--gutter))) [content-end] minmax(0, var(--mx-lane)) [wide-end] minmax(var(--gutter), 1fr) [full-end];padding-block:var(--mx-s6) var(--mx-s8);display:grid}.sheet>*{grid-column:content}.sheet>.wide{grid-column:wide}.sheet>.full{grid-column:full}.sheet>*+*,.flow>*+*{margin-block-start:var(--mx-flow)}.sheet>*+h2,.flow>*+h2{margin-block-start:var(--mx-s7)}.sheet>*+h3,.flow>*+h3{margin-block-start:var(--mx-s6)}.prose>*+*{margin-block-start:var(--mx-flow)}.sheet-fluid{--gutter:clamp(1.25rem, 3vw, 3rem);padding-inline:var(--gutter);padding-block:var(--mx-s6) var(--mx-s8)}.sheet-fluid>*+*{margin-block-start:var(--mx-flow)}.sheet-fluid>*+h2{margin-block-start:var(--mx-s7)}.sheet-fluid>*+h3{margin-block-start:var(--mx-s6)}.measure{max-width:var(--mx-measure)}.split{gap:var(--mx-s6);grid-template-columns:repeat(auto-fit,minmax(min(34rem,100%),1fr));align-items:start;display:grid}.split[data-ratio=wide-narrow]{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.split[data-ratio=narrow-wide]{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}@media (max-width:900px){.split[data-ratio]{grid-template-columns:1fr}}.sticky{top:var(--mx-s5);position:sticky}@media (max-width:900px){.sticky{position:static}}.sheet>.band{grid-column:full;grid-template-columns:subgrid;background:var(--mx-surface-2);border-block:1px solid var(--mx-line);padding-block:var(--mx-s6);display:grid}.band>*{grid-column:content}.band>.wide{grid-column:wide}.band>.full{grid-column:full}.band>*+*{margin-block-start:var(--mx-flow)}.band>*+h2{margin-block-start:var(--mx-s6)}.with-aside{gap:var(--mx-s7);grid-template-columns:minmax(0,1fr) 15rem;align-items:start;display:grid}.with-aside>aside{top:var(--mx-s5);font-family:var(--mx-font-ui);font-size:var(--mx-text-s);position:sticky}.with-aside[data-aside=left]{grid-template-columns:15rem minmax(0,1fr)}.with-aside[data-aside=left]>aside{order:-1}.cols-2{gap:var(--mx-s5);grid-template-columns:repeat(auto-fit,minmax(min(30ch,100%),1fr));display:grid}.cols-3{gap:var(--mx-s5);grid-template-columns:repeat(auto-fit,minmax(min(20ch,100%),1fr));display:grid}.text-cols{columns:2;column-gap:var(--mx-s7);column-rule:1px solid var(--mx-line)}.text-cols>*{break-inside:avoid-column}@media (max-width:760px){.with-aside,.with-aside[data-aside=left]{grid-template-columns:1fr}.with-aside>aside{order:0;position:static}.text-cols{columns:1}}}@layer components{.masthead{padding-block-end:var(--mx-s5)}.kicker{font-family:var(--mx-font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mx-accent);margin-block-end:var(--mx-s3);font-size:.6875rem;font-weight:600}.eyebrow{font-family:var(--mx-font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mx-ink-2);font-size:.6875rem;font-weight:600}.masthead h1{margin-block-end:var(--mx-s3)}.masthead .meta{align-items:center;gap:var(--mx-s2);font-family:var(--mx-font-ui);font-size:var(--mx-text-s);color:var(--mx-ink-2);flex-wrap:wrap;display:flex}.subtitle{font-size:var(--mx-text-l);color:var(--mx-ink-2);font-style:italic}.lede{font-size:var(--mx-text-l);color:var(--mx-ink);line-height:1.55}.chip{font-family:var(--mx-font-ui);font-size:var(--mx-text-xs);border:1px solid var(--mx-line-2);background:var(--mx-surface);color:var(--mx-ink-2);white-space:nowrap;border-radius:999px;align-items:center;gap:.35em;padding:.28em .75em;font-weight:600;display:inline-flex}.chip[data-tier=school]{border-color:var(--mx-line-2);color:var(--mx-ink-2)}.chip[data-tier=city]{border-color:var(--mx-line-2);color:var(--mx-ink)}.chip[data-tier=regional],.chip[data-tier=republic]{border-color:var(--mx-ember-line);color:var(--mx-ember);background:var(--mx-ember-tint)}.chip[data-tier=national]{border-color:var(--mx-accent-line);color:var(--mx-accent-ink);background:var(--mx-accent-tint)}.chip[data-tier=international]{border-color:var(--mx-accent);color:var(--mx-surface);background:var(--mx-accent)}html[data-theme=dark] .chip[data-tier=national]{color:var(--mx-accent-ink)}html[data-theme=dark] .chip[data-tier=international]{color:var(--mx-ink)}.difficulty{align-items:center;gap:3px;display:inline-flex}.difficulty i{border:1px solid var(--mx-line-2);background:0 0;border-radius:50%;width:7px;height:7px}.difficulty i.on{background:var(--mx-accent);border-color:var(--mx-accent)}.attribution{font-family:var(--mx-font-ui);font-size:var(--mx-text-xs);color:var(--mx-ink-2);border-block-start:1px solid var(--mx-line);padding-block-start:var(--mx-s3)}[data-card]{background:var(--mx-surface);border:1px solid var(--mx-line);border-radius:var(--mx-radius-l);padding:clamp(var(--mx-s5), 3vw, var(--mx-s6));box-shadow:var(--mx-shadow-s);display:flow-root;position:relative}[data-card][data-title]:before{content:attr(data-title);font-family:var(--mx-font-ui);font-size:var(--mx-text-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--mx-ink-2);margin-block-end:var(--mx-s4);font-weight:700;display:block}[data-card]>*+*{margin-block-start:var(--mx-flow)}[data-card=problem]{border-inline-start:3px solid var(--mx-accent)}[data-card=problem][data-title]:before{color:var(--mx-accent-ink)}[data-card=problem]>p{font-family:var(--mx-font-display);text-wrap:pretty;max-width:46rem;font-size:clamp(1.25rem,1.05rem + .85vw,1.6rem);font-weight:400;line-height:1.45}[data-card=answer]{border-color:var(--mx-good-line);background:var(--mx-good-tint)}[data-card=answer][data-title]:before{color:var(--mx-good)}[data-card=key-idea]{background:linear-gradient(135deg, var(--mx-accent-tint), var(--mx-ember-tint));border-color:var(--mx-accent-line)}[data-card=key-idea][data-title]:before{color:var(--mx-accent-ink)}.choices{gap:var(--mx-s3);grid-template-columns:repeat(auto-fit,minmax(min(8rem,100%),1fr));padding:0;list-style:none;display:grid}.choices[data-cols="1"]{grid-template-columns:1fr}.choice{align-items:baseline;gap:var(--mx-s3);padding:var(--mx-s3) var(--mx-s4);background:var(--mx-paper);border:1px solid var(--mx-line);border-radius:var(--mx-radius-m);margin:0;transition:border-color .15s,background .15s;display:flex}.choice:hover{border-color:var(--mx-line-2)}.choice-letter{font-family:var(--mx-font-ui);font-size:var(--mx-text-s);color:var(--mx-accent-ink);font-weight:700}.choices[data-revealed] .choice{opacity:.55}.choices[data-revealed] .choice[data-correct]{opacity:1;border-color:var(--mx-good-line);background:var(--mx-good-tint)}.choices[data-revealed] .choice[data-correct] .choice-letter{color:var(--mx-good)}.solution-label{align-items:baseline;gap:var(--mx-s3);font-size:var(--mx-text-l);border-block-end:1px solid var(--mx-line);padding-block-end:var(--mx-s2);display:flex}.solution-tag{font-family:var(--mx-font-ui);font-size:var(--mx-text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--mx-ink-2);font-weight:600}.proof>*+*{margin-block-start:var(--mx-flow)}.proof>:last-child:after{content:"∎";color:var(--mx-ink-2);margin-inline-start:.5em}.result{background:var(--mx-good-tint);border:1px solid var(--mx-good-line);white-space:nowrap;border-radius:999px;padding:.05em .55em;font-weight:600}.crossed{color:var(--mx-bad);opacity:.75;text-decoration:line-through}blockquote,.remark{border-inline-start:3px solid var(--mx-line-2);color:var(--mx-ink-2);padding-inline-start:var(--mx-s5)}.remark>*+*{margin-block-start:var(--mx-flow)}.hints{counter-reset:hint;gap:var(--mx-s3);display:grid}.hints>details{counter-increment:hint}.hints>details>summary:before{content:"Hint " counter(hint);font-family:var(--mx-font-ui);font-size:var(--mx-text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--mx-accent-ink);margin-inline-end:var(--mx-s3);font-weight:700}details.disclosure,.hints>details,.checkpoint>details{border:1px solid var(--mx-accent-line);background:var(--mx-accent-tint);border-radius:var(--mx-radius-m);overflow:hidden}details.disclosure>summary,.hints>details>summary,.checkpoint>details>summary{padding:var(--mx-s3) var(--mx-s4);cursor:pointer;font-family:var(--mx-font-ui);font-size:var(--mx-text-s);color:var(--mx-ink);-webkit-user-select:none;user-select:none;padding-inline-end:calc(var(--mx-s4) * 2 + .7em);font-weight:500;list-style:none;display:block;position:relative}details.disclosure>summary::-webkit-details-marker{display:none}.hints>details>summary::-webkit-details-marker{display:none}.checkpoint>details>summary::-webkit-details-marker{display:none}details.disclosure>summary:after,.hints>details>summary:after,.checkpoint>details>summary:after{content:"+";font-family:var(--mx-font-ui);font-size:1.1em;font-weight:400;line-height:inherit;color:var(--mx-ink-2);transition:rotate .2s;position:absolute;inset-block-start:var(--mx-s3);inset-inline-end:var(--mx-s4)}details[open].disclosure>summary:after,.hints>details[open]>summary:after,.checkpoint>details[open]>summary:after{rotate:45deg}details.disclosure>summary:hover,.hints>details>summary:hover,.checkpoint>details>summary:hover{background:var(--mx-accent-tint)}.detail-body{padding:var(--mx-s2) var(--mx-s4) var(--mx-s4);border-block-start:1px solid var(--mx-accent-line)}.detail-body>*+*{margin-block-start:var(--mx-flow)}.checkpoint>details{border-color:var(--mx-good-line);background:var(--mx-good-tint)}.checkpoint>details>summary{color:var(--mx-good)}.checkpoint .detail-body{border-block-start-color:var(--mx-good-line)}.math-block{background:var(--mx-surface-2);border:1px solid var(--mx-line);border-radius:var(--mx-radius-m);padding:var(--mx-s4) var(--mx-s5);position:relative;overflow-x:auto}.math-block[data-eq]:after{content:attr(data-eq);font-family:var(--mx-font-ui);font-size:var(--mx-text-s);color:var(--mx-ink-2);position:absolute;inset-block-start:50%;inset-inline-end:var(--mx-s4);translate:0 -50%}body{counter-reset:fig}.fig{background:var(--mx-surface);border:1px solid var(--mx-line);border-radius:var(--mx-radius-l);padding:var(--mx-s5);box-shadow:var(--mx-shadow-s)}.fig>svg,.fig>canvas,.fig>img{max-width:100%;height:auto;margin-inline:auto;display:block}.fig>canvas{touch-action:none}.fig>figcaption{text-align:center;font-family:var(--mx-font-ui);font-size:var(--mx-text-s);color:var(--mx-ink-2);text-wrap:balance;margin-block-start:var(--mx-s4)}.fig:not([data-unnumbered])>figcaption:not([data-unnumbered]):before{counter-increment:fig;content:"Figure " counter(fig);color:var(--mx-ink);margin-inline-end:.6em;font-weight:600}.fig-plain{box-shadow:none;background:0 0;border:none;padding:0}.fig-side{float:inline-end;width:min(46%,21rem);margin:.3rem 0 var(--mx-s4) var(--mx-s5)}@media (max-width:600px){.fig-side{float:none;width:100%;margin:var(--mx-s4) 0}}.fig-row{gap:var(--mx-s4);display:grid}.canvas-controls{align-items:center;gap:var(--mx-s4);border-block-start:1px solid var(--mx-line);font-family:var(--mx-font-ui);font-size:var(--mx-text-s);color:var(--mx-ink-2);flex-wrap:wrap;margin-block-start:var(--mx-s4);padding-block-start:var(--mx-s4);display:flex}.canvas-controls label{align-items:center;gap:var(--mx-s2);display:inline-flex}.canvas-controls input[type=range]{accent-color:var(--mx-accent)}.canvas-controls output{color:var(--mx-ink);font-variant-numeric:tabular-nums;font-weight:600}.lesson{counter-reset:definition theorem lemma example principle}.box{background:var(--mx-surface);border:1px solid var(--mx-line);border-inline-start:3px solid var(--mx-line-2);border-radius:var(--mx-radius-m);padding:var(--mx-s5)}.box>*+*{margin-block-start:var(--mx-s3)}.box-label{font-family:var(--mx-font-ui);font-size:var(--mx-text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--mx-ink-2);font-weight:700}.box[data-box=definition]{border-inline-start-color:var(--mx-accent)}.box[data-box=definition] .box-label{color:var(--mx-accent-ink)}.box[data-box=definition] .box-label:after{counter-increment:definition;content:" " counter(definition)}.box[data-box=theorem],.box[data-box=lemma]{border-inline-start-color:var(--mx-ember);background:var(--mx-ember-tint)}.box[data-box=theorem] .box-label,.box[data-box=lemma] .box-label{color:var(--mx-ember)}.box[data-box=theorem] .box-label:after{counter-increment:theorem;content:" " counter(theorem)}.box[data-box=lemma] .box-label:after{counter-increment:lemma;content:" " counter(lemma)}.box[data-box=example]{border-inline-start-color:var(--mx-good)}.box[data-box=example] .box-label{color:var(--mx-good)}.box[data-box=example] .box-label:after{counter-increment:example;content:" " counter(example)}.box[data-box=principle]{border-inline-start-color:var(--mx-gold);background:linear-gradient(135deg, var(--mx-ember-tint), transparent)}.box[data-box=principle] .box-label{color:var(--mx-ember)}html[data-theme=dark] .box[data-box=principle] .box-label{color:var(--mx-gold)}.box[data-box=notation]{background:var(--mx-surface-2)}.box[data-box=warning]{border-inline-start-color:var(--mx-bad);background:var(--mx-bad-tint)}.box[data-box=warning] .box-label{color:var(--mx-bad)}.toc{padding:0;list-style:none}.toc li{margin:0}.toc a{padding:var(--mx-s2) var(--mx-s4);color:var(--mx-ink-2);border-inline-start:2px solid #0000;text-decoration:none;display:block}.toc a:hover{color:var(--mx-ink);border-inline-start-color:var(--mx-line-2)}.toc a[aria-current]{color:var(--mx-accent-ink);border-inline-start-color:var(--mx-accent);font-weight:600}.pcard{gap:var(--mx-s2) var(--mx-s4);padding:var(--mx-s4) var(--mx-s5);background:var(--mx-surface);border:1px solid var(--mx-line);border-radius:var(--mx-radius-m);color:var(--mx-ink);grid-template-columns:auto minmax(0,1fr);min-width:0;text-decoration:none;transition:border-color .15s,box-shadow .15s,translate .15s;display:grid;overflow:hidden}.pcard>*{min-width:0}.pcard:hover{border-color:var(--mx-accent-line);box-shadow:var(--mx-shadow-m);translate:0 -2px}.pcard-number{font-family:var(--mx-font-display);font-size:var(--mx-text-xl);color:var(--mx-line-2);grid-row:span 2;line-height:1}.pcard:hover .pcard-number{color:var(--mx-accent)}.pcard-meta{gap:var(--mx-s2);font-family:var(--mx-font-ui);font-size:var(--mx-text-xs);color:var(--mx-ink-2);flex-wrap:wrap;align-items:center;display:flex}.pcard-text{font-size:var(--mx-text-s);overflow-wrap:break-word;-webkit-line-clamp:6;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.pcard-text mjx-container{max-width:100%}.pcard-text mjx-container[display=true]{margin-block:var(--mx-s2)}.step{gap:var(--mx-s4);padding-block:var(--mx-s3);display:flex}.step+.step{border-block-start:1px dashed var(--mx-line)}.step-badge{background:var(--mx-accent);width:1.9rem;height:1.9rem;color:var(--mx-paper);font-family:var(--mx-font-ui);font-size:var(--mx-text-s);border-radius:50%;flex:none;place-items:center;margin-block-start:.15rem;font-weight:700;display:grid}.step-content{flex:1;min-width:0}.step-content>*+*{margin-block-start:var(--mx-s3)}.step-title{font-family:var(--mx-font-ui);font-size:var(--mx-text-m);font-weight:600}.table-surface{background:var(--mx-surface);border:1px solid var(--mx-line);border-radius:var(--mx-radius-m);overflow:clip}table{border-collapse:collapse;width:100%;font-size:var(--mx-text-s)}.table-surface th:first-child,.table-surface td:first-child{padding-inline-start:var(--mx-s5)}.table-surface th:last-child,.table-surface td:last-child{padding-inline-end:var(--mx-s5)}.table-surface tbody tr:last-child td{border-block-end:0}th,td{padding:var(--mx-s3) var(--mx-s4);border-block-end:1px solid var(--mx-line);text-align:left;vertical-align:top}th{font-family:var(--mx-font-ui);font-size:var(--mx-text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--mx-ink-2);border-block-end-color:var(--mx-line-2);font-weight:600}tbody tr:hover td{background:var(--mx-accent-tint)}.callout{border-inline-start:3px solid var(--mx-accent);background:var(--mx-accent-tint);border-radius:0 var(--mx-radius-s) var(--mx-radius-s) 0;padding:var(--mx-s3) var(--mx-s4);font-size:var(--mx-text-s)}.callout[data-tone=warn]{border-color:var(--mx-bad);background:var(--mx-bad-tint)}.callout[data-tone=good]{border-color:var(--mx-good);background:var(--mx-good-tint)}.term{font-family:var(--mx-font-ui);color:var(--mx-accent-ink);background:var(--mx-accent-tint);white-space:nowrap;border-radius:999px;padding:.06em .6em;font-size:.85em;font-weight:600}.toolbar{align-items:center;gap:var(--mx-s2);padding-block:var(--mx-s3);border-block:1px solid var(--mx-line);flex-wrap:wrap;display:flex}.toolbar-spacer{margin-inline-start:auto}.toolbar-label{font-family:var(--mx-font-ui);font-size:var(--mx-text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--mx-ink-2);margin-inline-end:var(--mx-s2);font-weight:600}a.chip{cursor:pointer;text-decoration:none;transition:border-color .15s,color .15s,background .15s}a.chip:hover{border-color:var(--mx-ink-2);color:var(--mx-ink)}.chip[data-active]{background:var(--mx-ink);border-color:var(--mx-ink);color:var(--mx-paper)}.card-grid{--card-cols:4;--card-min:19rem;grid-template-columns:repeat(auto-fill, minmax(max(min(var(--card-min), 100%), (100% - (var(--card-cols) - 1) * var(--mx-s4)) / var(--card-cols)), 1fr));gap:var(--mx-s4);display:grid}.theme-toggle{z-index:10;font-family:var(--mx-font-ui);font-size:var(--mx-text-xs);padding:var(--mx-s2) var(--mx-s4);border:1px solid var(--mx-line-2);background:var(--mx-surface);color:var(--mx-ink-2);cursor:pointer;box-shadow:var(--mx-shadow-s);border-radius:999px;font-weight:600;position:fixed;inset-block-start:var(--mx-s4);inset-inline-end:var(--mx-s4)}.theme-toggle:hover{color:var(--mx-ink);border-color:var(--mx-ink-2)}}@layer utilities{.center{text-align:center}.muted{color:var(--mx-ink-2)}.small{font-size:var(--mx-text-s)}.ui{font-family:var(--mx-font-ui)}.no-flow{--mx-flow:0}.spread{gap:var(--mx-s3);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}}@layer print{@media print{body{color:#000;background:#fff}.theme-toggle,.canvas-controls{display:none}[data-card],.fig,.box{box-shadow:none;break-inside:avoid}details{border:none}details>summary{display:none}details:not([open])::details-content{content-visibility:visible}.sheet{padding-block:0}}}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}}@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.isolate{isolation:isolate}.z-1{z-index:1}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-1{margin:var(--spacing)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.size-1{width:var(--spacing);height:var(--spacing)}.h-34{height:calc(var(--spacing) * 34)}.w-1{width:var(--spacing)}.shrink{flex-shrink:1}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-wrap{flex-wrap:wrap}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.lowercase{text-transform:lowercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}body{background-color:var(--mx-paper);background-image:linear-gradient(var(--mx-grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--mx-grid-line) 1px, transparent 1px);background-size:var(--mx-grid-size) var(--mx-grid-size)}@layer components{.site-header{z-index:50;justify-content:space-between;align-items:center;gap:var(--mx-s4);padding:var(--mx-s3) clamp(1.25rem, 3vw, 3.5rem);background:var(--mx-surface);display:flex;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.site-header{background:color-mix(in oklab, var(--mx-surface) 82%, transparent)}}.site-header{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-block-end:1px solid var(--mx-line);font-family:var(--mx-font-ui);font-size:.84375rem;font-weight:500}.header-actions{align-items:center;gap:var(--mx-s3);display:flex}.brand{font-family:var(--mx-font-display);letter-spacing:-.02em;color:var(--mx-ink);font-size:1.6875rem;font-weight:600;line-height:1;text-decoration:none}.brand:after{content:".";color:var(--mx-accent)}.brand:hover{color:var(--mx-ink);text-decoration:none}.site-nav{align-items:center;gap:var(--mx-s5);flex-wrap:wrap;display:flex}.nav-link{color:var(--mx-ink-2);border-block-end:2px solid #0000;padding-block-end:3px;font-weight:500;text-decoration:none}.nav-link:hover{color:var(--mx-ink);text-decoration:none}.nav-link[data-active]{color:var(--mx-ink);border-block-end-color:var(--mx-accent)}.site-theme-switch{border:1px solid var(--mx-line-2);color:var(--mx-ink-2);font-family:var(--mx-font-mono);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:.4em;padding:.375em .8em;font-size:.75rem;font-weight:500;line-height:1;transition:border-color .15s,color .15s;display:inline-flex}.site-theme-switch:hover{border-color:var(--mx-ink-2);color:var(--mx-ink)}.site-theme-switch svg{flex:none;width:13px;height:13px}.avatar{background:var(--mx-ink);width:34px;height:34px;color:var(--mx-paper);font-family:var(--mx-font-ui);letter-spacing:.02em;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;text-decoration:none;display:inline-flex}.avatar:hover{color:var(--mx-paper);background:var(--mx-accent);text-decoration:none}.btn{font-family:var(--mx-font-ui);font-size:var(--mx-text-s);border-radius:var(--mx-radius-s);border:1.5px solid var(--mx-ink);color:var(--mx-ink);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:.5em;min-height:44px;padding:.6em 1.25em;font-weight:600;text-decoration:none;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.btn:hover{background:var(--mx-ink);color:var(--mx-paper);text-decoration:none}.btn-primary{background:var(--mx-accent);border-color:var(--mx-accent);color:var(--mx-paper);font-weight:700}.btn-primary:hover{background:var(--mx-accent-hover);border-color:var(--mx-accent-hover);color:var(--mx-paper)}.btn-danger{border-color:var(--mx-bad-line);color:var(--mx-bad);background:var(--mx-bad-tint)}.btn-small{min-height:36px;padding:.35em .9em}.btn[disabled]{opacity:.55;cursor:default}.field{gap:var(--mx-s1);font-family:var(--mx-font-ui);display:grid}.field>label{font-size:var(--mx-text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--mx-ink-2);font-weight:600}.input,.select{font-family:var(--mx-font-ui);font-size:var(--mx-text-m);color:var(--mx-ink);background:var(--mx-surface);border:1px solid var(--mx-line-2);border-radius:var(--mx-radius-s);width:100%;min-height:44px;padding:.6em .85em}.input:focus,.select:focus{outline:2px solid var(--mx-accent);outline-offset:1px}.form-card{background:var(--mx-surface);border:1px solid var(--mx-line);border-radius:var(--mx-radius-l);padding:clamp(var(--mx-s5), 4vw, var(--mx-s6));box-shadow:var(--mx-shadow-s);gap:var(--mx-s4);display:grid}.form-error{font-family:var(--mx-font-ui);font-size:var(--mx-text-s);color:var(--mx-bad);background:var(--mx-bad-tint);border:1px solid var(--mx-bad-line);border-radius:var(--mx-radius-s);padding:var(--mx-s2) var(--mx-s3)}.form-success{font-family:var(--mx-font-ui);font-size:var(--mx-text-s);color:var(--mx-good);background:var(--mx-good-tint);border:1px solid var(--mx-good-line);border-radius:var(--mx-radius-s);padding:var(--mx-s2) var(--mx-s3)}.narrow-sheet{max-width:26rem;padding:var(--mx-s7) clamp(1.25rem, 4vw, 2rem) var(--mx-s8);gap:var(--mx-s5);margin-inline:auto;display:grid}.divider{align-items:center;gap:var(--mx-s3);color:var(--mx-ink-2);font-family:var(--mx-font-ui);font-size:var(--mx-text-xs);display:flex}.divider:before,.divider:after{content:"";border-block-start:1px solid var(--mx-line);flex:1}.pcard-state{font-family:var(--mx-font-ui);font-weight:700}.pcard-state[data-state=solved]{color:var(--mx-good)}.pcard-state[data-state=attempted]{color:var(--mx-gold)}.stat{gap:var(--mx-s1);background:var(--mx-surface);border:1px solid var(--mx-line);border-radius:var(--mx-radius-m);padding:var(--mx-s4) var(--mx-s5);font-family:var(--mx-font-ui);display:grid}.stat .stat-value{font-family:var(--mx-font-display);font-size:var(--mx-text-xl);line-height:1}.stat .stat-label{font-size:var(--mx-text-xs);color:var(--mx-ink-2);text-transform:uppercase;letter-spacing:.1em;font-weight:600}}.sheet[data-measure=wide]{--mx-measure:72rem}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
@layer components{body:has(.app-shell) .site-header{display:none}.app-shell{--side-w:15.5rem;grid-template-columns:minmax(0,1fr);align-items:start;min-height:100vh;display:grid;position:relative}@media (min-width:68rem){.app-shell{grid-template-columns:var(--side-w) minmax(0, 1fr);background:linear-gradient(90deg, color-mix(in oklab, var(--mx-surface) 55%, transparent) 0 var(--side-w), transparent var(--side-w))}.app-shell[data-collapsed]{--side-w:0px}.app-shell[data-collapsed] .app-side{display:none}.app-shell[data-resizing]{-webkit-user-select:none;user-select:none;cursor:col-resize}.app-shell>.app-main{grid-column:2}.app-shell>.app-side{grid-column:1}}.app-side{gap:var(--mx-s6);padding:var(--mx-s5) var(--mx-s4) var(--mx-s6);background:color-mix(in oklab, var(--mx-surface) 55%, transparent);font-family:var(--mx-font-ui);flex-direction:column;display:flex}@media (min-width:68rem){.app-side{min-height:100vh;max-height:100vh;padding:var(--mx-s5) var(--mx-s5) var(--mx-s5) clamp(1rem, 2vw, 2rem);background:0 0;position:sticky;top:0;overflow-y:auto}}.side-brand{align-self:start}.side-bottom{align-items:center;gap:var(--mx-s3);font-family:var(--mx-font-ui);font-size:var(--mx-text-s);font-weight:500;display:flex}@media (min-width:68rem){.side-bottom{margin-block-start:auto}}.side-auth{align-items:center;gap:var(--mx-s3);display:flex}.side-auth a{color:var(--mx-ink-2);text-decoration:none}.side-auth a:hover{color:var(--mx-ink)}.side-auth .btn{color:var(--mx-paper)}@media (max-width:68rem){.app-side{align-items:center;gap:var(--mx-s3) var(--mx-s4);flex-flow:wrap}.side-brand{order:0}.side-bottom{order:1;margin-inline-start:auto}.side-nav{flex-basis:100%;order:2}.side-context{flex-basis:100%;order:3}}.app-main{min-width:0}.side-controls{display:contents}.side-handle,.side-collapse{display:none}@media (min-width:68rem){.side-handle{cursor:col-resize;z-index:30;touch-action:none;width:10px;display:block;position:absolute;inset-block:0;inset-inline-start:calc(var(--side-w) - 5px)}.side-handle:after{content:"";background:0 0;border-radius:999px;width:2px;transition:background .15s;position:absolute;inset-block:0;inset-inline-start:4px}.side-handle:hover:after,.side-handle:focus-visible:after,.app-shell[data-resizing] .side-handle:after{background:var(--mx-accent)}.side-handle:focus-visible{outline:none}.side-collapse{top:var(--mx-s4);border:1px solid var(--mx-line-2);background:var(--mx-surface);width:1.625rem;height:1.625rem;color:var(--mx-ink-2);font-family:var(--mx-font-ui);cursor:pointer;z-index:31;border-radius:50%;place-items:center;padding:0;font-size:.875rem;line-height:1;transition:color .15s,border-color .15s;display:grid;position:absolute;inset-inline-start:calc(var(--side-w) - .8125rem)}.side-collapse:hover{color:var(--mx-ink);border-color:var(--mx-ink-2)}.app-shell[data-collapsed] .side-collapse{inset-inline-start:.5rem}}.side-nav{gap:2px;display:grid}.side-link{border-radius:var(--mx-radius-s);color:var(--mx-ink-2);padding:.5em .75em;font-size:.9375rem;font-weight:500;text-decoration:none;transition:color .15s,background .15s;position:relative}.side-link:hover{color:var(--mx-ink);background:var(--mx-surface);text-decoration:none}.side-link[data-active]{color:var(--mx-ink);font-weight:700}.side-link[data-active]:after{content:".";color:var(--mx-accent)}.side-link[data-active]:before{content:"";background:var(--mx-accent);border-radius:999px;width:2.5px;position:absolute;inset-block:.55em;inset-inline-start:-.35em}@media (max-width:68rem){.side-nav{gap:var(--mx-s2);flex-wrap:wrap;display:flex}}.side-context{gap:var(--mx-s5);align-content:start;display:grid}.side-block{gap:var(--mx-s2);display:grid}.side-label{font-family:var(--mx-font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mx-ink-2);font-size:.625rem;font-weight:600}.side-block .fpill-set{gap:6px}.ghost-num{font-family:var(--mx-font-display);color:var(--mx-ink);opacity:.09;-webkit-user-select:none;user-select:none;pointer-events:none;font-style:italic;font-weight:500;line-height:.8}.ruler-bar{--fill:0;background:repeating-linear-gradient(90deg, var(--mx-line-2) 0 1px, transparent 1px 10%), linear-gradient(to right, var(--mx-accent) calc(var(--fill) * 1%), var(--mx-line) calc(var(--fill) * 1%));border-radius:2px;height:8px}.mono-tag{background:color-mix(in oklab, var(--mx-ink) 8%, transparent);font-family:var(--mx-font-mono);letter-spacing:.06em;color:var(--mx-ink);border-radius:4px;padding:3px 7px;font-size:.65rem;font-weight:600;display:inline-block}.mono-tag[data-tone=accent]{background:var(--mx-accent);color:var(--mx-paper)}.construction{pointer-events:none;opacity:.35;color:var(--mx-ink-2);position:absolute}.construction svg{width:100%;height:100%;display:block}}
@layer components{.compete-hero{padding-block:var(--mx-s6) var(--mx-s4);position:relative}.compete-arc{opacity:.16;width:280px;height:190px;inset-block-start:-.5rem;inset-inline-end:0}@media (max-width:56rem){.compete-arc{display:none}}.compete-hero-title{font-family:var(--mx-font-display);letter-spacing:-.02em;text-wrap:balance;font-size:clamp(2rem,1.5rem + 2.2vw,2.625rem);font-weight:500;line-height:1.12}.compete-hero-lede{color:var(--mx-ink-2);max-width:30rem;margin-block-start:var(--mx-s3);font-size:.875rem;line-height:1.6}.compete-filters{align-items:end;gap:var(--mx-s6);flex-wrap:wrap;display:flex}.fpill-group{gap:var(--mx-s2);justify-items:start;display:grid}.side-filters{gap:var(--mx-s5);align-content:start;display:grid}.fpill-label{font-family:var(--mx-font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mx-ink-2);font-size:.625rem;font-weight:600}.fpill-set{gap:var(--mx-s2);flex-wrap:wrap;display:flex}.fpill{border:1px solid var(--mx-line-2);font-family:var(--mx-font-ui);font-size:var(--mx-text-s);color:var(--mx-ink-2);border-radius:999px;padding:.5em 1.15em;font-weight:500;line-height:1;text-decoration:none;transition:border-color .15s,background .15s,color .15s}.fpill:hover{border-color:var(--mx-ink-2);color:var(--mx-ink);text-decoration:none}.fpill[data-active]{background:var(--mx-ink);border-color:var(--mx-ink);color:var(--mx-paper)}.year-block{position:relative}.year-ghost{z-index:-1;font-size:clamp(4.5rem,3rem + 6vw,8.125rem);position:absolute;inset-block-start:-.28em;inset-inline-start:-.06em}.year-rule{align-items:baseline;gap:var(--mx-s4);margin-block:var(--mx-s6) var(--mx-s3);display:flex}.year-rule:first-of-type{margin-block-start:var(--mx-s5)}.year-rule span{font-family:var(--mx-font-display);color:var(--mx-ink-2);font-size:1.375rem;font-style:italic}.year-rule i{border-block-end:1px solid var(--mx-line);flex:1}.year-rule .year-season{font-family:var(--mx-font-mono);letter-spacing:.08em;color:var(--mx-ink-2);font-size:.625rem;font-style:normal}.paper-list{gap:var(--mx-s2);flex-direction:column;display:flex}.prow{gap:var(--mx-s4);padding:var(--mx-s4) var(--mx-s5);background:var(--mx-surface);border:1px solid var(--mx-line);border-radius:var(--mx-radius-m);color:var(--mx-ink);grid-template-columns:minmax(0,1fr) 8.5rem 6.5rem 7.5rem 9rem;align-items:center;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:grid}.prow[data-guest]{grid-template-columns:minmax(0,1fr) 8.5rem 9rem}.prow[data-progress]{border:1.5px solid var(--mx-accent);box-shadow:0 3px 12px color-mix(in oklab, var(--mx-accent) 10%, transparent)}.prow:hover,.prow:focus-visible{border-color:var(--mx-accent);box-shadow:var(--mx-shadow-s);text-decoration:none}.prow:focus-visible{outline:2px solid var(--mx-accent);outline-offset:2px}.prow-head{gap:3px;min-width:0;display:grid}.prow-title{font-family:var(--mx-font-display);font-size:var(--mx-text-l);letter-spacing:-.01em;font-weight:500;line-height:1.2;display:block}.prow-sub{font-family:var(--mx-font-mono);color:var(--mx-ink-2);font-size:.6875rem;display:block}.prow-mono{font-family:var(--mx-font-mono);font-size:var(--mx-text-xs);color:var(--mx-ink-2)}.prow-status{font-family:var(--mx-font-mono);font-size:var(--mx-text-xs);font-weight:600}.prow-status[data-state=solved]{color:var(--mx-good)}.prow-status[data-state=partial]{color:var(--mx-accent-ink)}.prow-status[data-state=none]{color:var(--mx-ink-2);opacity:.6}.prow-note{font-family:var(--mx-font-ui);font-size:var(--mx-text-xs);color:var(--mx-ink-2)}.prow-btn{text-align:center;border:1.5px solid var(--mx-ink);border-radius:var(--mx-radius-s);font-family:var(--mx-font-ui);font-size:var(--mx-text-xs);color:var(--mx-ink);padding:.65em 1em;font-weight:700;transition:background .15s,border-color .15s,color .15s;display:block}.prow-btn[data-primary]{background:var(--mx-accent);border-color:var(--mx-accent);color:var(--mx-paper)}.prow:hover .prow-btn{background:var(--mx-ink);color:var(--mx-paper)}.prow:hover .prow-btn[data-primary]{background:var(--mx-accent-hover);border-color:var(--mx-accent-hover)}@media (max-width:56rem){.prow,.prow[data-guest]{align-items:center;gap:var(--mx-s2) var(--mx-s4);flex-wrap:wrap;display:flex}.prow-head{flex-basis:100%}.prow-action{margin-inline-start:auto}}.paper-overview{max-width:56rem;margin-inline:auto}.paper-facts{gap:var(--mx-s2);justify-items:start;display:grid}.paper-fact{font-family:var(--mx-font-mono);font-size:var(--mx-text-xs);color:var(--mx-ink-2)}.pcard-column{gap:var(--mx-s3);flex-direction:column;display:flex}.exam-pane{grid-template-columns:[full-start] var(--gutter) [wide-start] minmax(0, var(--mx-lane)) [content-start] min(var(--mx-measure), calc(100% - 2 * var(--gutter))) [content-end] minmax(0, var(--mx-lane)) [wide-end] minmax(var(--gutter), 1fr) [full-end];padding-block-start:var(--mx-s5)}.paper-bar{align-items:baseline;gap:var(--mx-s3);font-family:var(--mx-font-ui);font-size:var(--mx-text-s);color:var(--mx-ink-2);flex-wrap:wrap;padding-block-start:var(--mx-s4);display:flex}.paper-bar-back{color:var(--mx-accent-ink);font-weight:600;text-decoration:none}.paper-bar-back:hover{text-decoration:underline}.paper-bar-count{font-family:var(--mx-font-mono);font-size:var(--mx-text-xs);margin-inline-start:auto}.paper-rail{gap:var(--mx-s2);padding-block:var(--mx-s5) var(--mx-s4);align-content:start;display:grid}.paper-rail-head{justify-content:space-between;align-items:baseline;display:flex}.paper-rail-label{font-family:var(--mx-font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mx-ink-2);font-size:.625rem;font-weight:600}.paper-rail-count{font-family:var(--mx-font-mono);font-size:var(--mx-text-xs);color:var(--mx-ink-2)}.paper-rail-list{gap:var(--mx-s2);flex-wrap:wrap;display:flex}.rail-problem{align-items:center;gap:var(--mx-s3);background:var(--mx-surface);border:1px solid var(--mx-line);border-radius:var(--mx-radius-m);color:var(--mx-ink);padding:.45em .8em;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:flex}.rail-problem:hover,.rail-problem:focus-visible{border-color:var(--mx-accent);text-decoration:none}.rail-problem:focus-visible{outline:2px solid var(--mx-accent);outline-offset:1px}.rail-problem[data-current]{border-color:var(--mx-accent);box-shadow:var(--mx-shadow-s);border-width:1.5px}.rail-dot{border:1px solid var(--mx-line-2);width:24px;height:24px;color:var(--mx-ink-2);border-radius:50%;flex:none;place-items:center;font-size:11px;display:grid}.rail-problem[data-state=solved] .rail-dot{background:var(--mx-good);border-color:var(--mx-good);color:var(--mx-paper)}.rail-problem[data-state=attempted] .rail-dot{border-color:var(--mx-gold);color:var(--mx-gold)}.rail-problem[data-current] .rail-dot{border-color:var(--mx-accent)}.rail-problem[data-current]:not([data-state]) .rail-dot{color:var(--mx-accent-ink)}.rail-problem-body{gap:2px;min-width:0;display:grid}.rail-problem-id{font-family:var(--mx-font-mono);font-size:var(--mx-text-xs);font-weight:600}.rail-problem[data-current] .rail-problem-id{color:var(--mx-accent-ink)}.rail-problem-excerpt{font-family:var(--mx-font-display);font-size:var(--mx-text-s);color:var(--mx-ink-2);white-space:nowrap;text-overflow:ellipsis;display:none;overflow:hidden}.paper-rail-foot{display:none}@media (min-width:68rem){.paper-rail{max-height:calc(100vh - 8rem);overflow-y:auto}.paper-rail-list{gap:var(--mx-s2);display:grid}.rail-problem{padding:var(--mx-s3) var(--mx-s4)}.rail-problem-excerpt{display:block}.paper-rail-foot{gap:var(--mx-s3);font-family:var(--mx-font-mono);color:var(--mx-ink-2);padding-block-start:var(--mx-s2);font-size:.65rem;display:flex}.paper-rail-foot [data-state=solved]{color:var(--mx-good)}.paper-rail-foot [data-state=attempted]{color:var(--mx-gold)}}}
@layer components{.ruler-seg{--bar-ink:var(--mx-accent);background:repeating-linear-gradient(90deg, var(--mx-line-2) 0 1px, transparent 1px calc(100% / var(--segs,10))), linear-gradient(to right, var(--bar-ink) calc(var(--fill,0) * 1%), var(--mx-line) calc(var(--fill,0) * 1%))}.ruler-seg[data-complete]{--bar-ink:var(--mx-good)}.compass-ring{flex:none;display:inline-grid;position:relative}.compass-ring:after{content:"";background:var(--mx-line-2);width:1.5px;height:8px;position:absolute;top:-2px;left:50%;translate:-50%}.progress-ring{display:block}.ring-track{stroke:var(--mx-line)}.ring-fill{stroke:var(--mx-accent);transform-origin:50%;transform:rotate(-90deg)}.progress-ring[data-complete] .ring-fill{stroke:var(--mx-good)}.ring-label{font-family:var(--mx-font-mono);fill:var(--mx-ink);font-weight:600}@media (prefers-reduced-motion:no-preference){.ring-fill{animation:.9s cubic-bezier(.22,1,.36,1) both ring-in}}@keyframes ring-in{0%{stroke-dashoffset:var(--ring-c)}}.side-cats{gap:2px;margin:0;padding:0;list-style:none;display:grid}.side-cat{justify-content:space-between;align-items:baseline;gap:var(--mx-s3);border-radius:var(--mx-radius-s);color:var(--mx-ink-2);padding:.4em .6em;font-size:.8125rem;text-decoration:none;display:flex}a.side-cat:hover{background:var(--mx-surface);color:var(--mx-ink);text-decoration:none}.side-cat[data-active]{color:var(--mx-ink);font-weight:700}.side-cat-note{font-family:var(--mx-font-mono);letter-spacing:.08em;color:var(--mx-ink-3);white-space:nowrap;font-size:.625rem}.side-cat[data-active] .side-cat-note{color:var(--mx-accent-ink)}@media (max-width:68rem){.side-cats{gap:var(--mx-s1) var(--mx-s3);flex-wrap:wrap;display:flex}.side-cat{padding:.3em .5em}}.courses-page{position:relative}.courses-ghost{top:var(--mx-s4);right:var(--gutter);font-size:clamp(3.25rem,8vw,7.5rem);position:absolute}.courses-construction{top:7.5rem;right:calc(var(--gutter) + 1.5rem);aspect-ratio:3/2;opacity:.12;width:clamp(11rem,18vw,17rem)}@media (max-width:68rem){.courses-construction{display:none}}.courses-hero{padding-block:var(--mx-s4) var(--mx-s2)}.courses-hero-title{font-family:var(--mx-font-display);letter-spacing:-.02em;text-wrap:balance;max-width:22ch;font-size:clamp(2rem,1.5rem + 2.2vw,2.625rem);font-weight:500;line-height:1.12}.courses-hero-title em{color:inherit;font-style:italic}.courses-hero-lede{color:var(--mx-ink-2);max-width:34rem;margin-block-start:var(--mx-s3);font-size:.875rem;line-height:1.6}.courses-hero-count{font-family:var(--mx-font-mono);letter-spacing:.04em;color:var(--mx-ink-2);margin-block-start:var(--mx-s4);font-size:.6875rem}.ccard-grid{gap:var(--mx-s5);grid-template-columns:repeat(auto-fit,minmax(min(19rem,100%),1fr));margin-block-start:var(--mx-s6);display:grid}.ccard{align-content:start;gap:var(--mx-s4);padding:clamp(var(--mx-s5), 3vw, var(--mx-s6));background:var(--mx-surface);border:1px solid var(--mx-line);border-radius:var(--mx-radius-m);color:var(--mx-ink);text-decoration:none;transition:box-shadow .2s,border-color .2s;display:grid;position:relative;overflow:clip}.ccard:hover,.ccard:focus-visible{box-shadow:var(--mx-shadow-s);border-color:var(--mx-accent);text-decoration:none}.ccard:focus-visible{outline:2px solid var(--mx-accent);outline-offset:2px}.ccard[data-status=active]{border-color:var(--mx-accent);box-shadow:0 4px 16px color-mix(in oklab, var(--mx-accent) 14%, transparent)}.ccard-ghost{font-size:4.625rem;position:absolute;top:.375rem;right:.75rem}.ccard[data-status=active] .ccard-ghost{color:var(--mx-accent);opacity:.1}.ccard-head{justify-content:space-between;align-items:center;gap:var(--mx-s4);min-height:44px;display:flex}.ccard-status{letter-spacing:.12em;text-transform:uppercase;color:var(--mx-ink-2);font-size:.59375rem}.ccard[data-status=done] .ccard-status{background:var(--mx-good-tint);color:var(--mx-good)}.ccard[data-status=active] .ccard-status{background:var(--mx-accent-tint);color:var(--mx-accent-ink)}.ccard-title{font-family:var(--mx-font-display);font-size:var(--mx-text-xl);letter-spacing:-.015em;margin:0;font-weight:500;line-height:1.12}.ccard-tagline{font-family:var(--mx-font-display);color:var(--mx-ink-2);margin:0;font-size:.9375rem;font-style:italic;line-height:1.5}.ccard-ruler{height:6px}.ccard-count{font-family:var(--mx-font-mono);letter-spacing:.02em;color:var(--mx-ink-2);font-size:.65625rem}.ccard-cta{font-family:var(--mx-font-ui);font-size:var(--mx-text-s);color:var(--mx-accent-ink);justify-self:start;align-items:center;gap:.5em;font-weight:600;display:inline-flex}.ccard-cta .arrow{transition:translate .2s}.ccard:hover .ccard-cta .arrow{translate:4px}.ccard[data-status=active] .ccard-cta{border-radius:var(--mx-radius-s);background:var(--mx-accent);color:var(--mx-paper);padding:.6em 1.25em;font-weight:700}.ccard[data-status=active]:hover .ccard-cta{background:var(--mx-accent-hover)}@media (prefers-reduced-motion:no-preference){.ccard[style*=--i]{animation:.5s cubic-bezier(.22,1,.36,1) both ccard-rise;animation-delay:calc(var(--i,0) * 70ms)}}@keyframes ccard-rise{0%{opacity:0;translate:0 14px}}.courses-upcoming{align-items:baseline;gap:var(--mx-s2) var(--mx-s4);max-width:58rem;padding:var(--mx-s4) var(--mx-s5);border:1px dashed var(--mx-line-2);border-radius:var(--mx-radius-m);font-family:var(--mx-font-ui);color:var(--mx-ink-2);flex-wrap:wrap;font-size:.8125rem;display:flex}.side-chapters{gap:var(--mx-s3);display:grid}.side-chapter{min-width:0;color:var(--mx-ink-2);gap:5px;text-decoration:none;display:grid}.side-chapter:hover{color:var(--mx-ink);text-decoration:none}.side-chapter-row{align-items:baseline;gap:var(--mx-s2);font-size:.8125rem;line-height:1.35;display:flex}.side-chapter-no{width:1.25rem;font-family:var(--mx-font-display);flex:none;font-size:.9375rem;font-style:italic}.side-chapter-title{min-width:0}.side-chapter-count{font-family:var(--mx-font-mono);color:var(--mx-ink-3);white-space:nowrap;margin-inline-start:auto;font-size:.59375rem}.side-chapter-count[data-done]{color:var(--mx-good)}.side-chapter[data-current]{color:var(--mx-ink);font-weight:700}.side-chapter[data-current] .side-chapter-no,.side-chapter[data-current] .side-chapter-count{color:var(--mx-accent-ink)}.side-chapter-ruler{height:5px;margin-inline-start:calc(1.25rem + var(--mx-s2))}@media (max-width:68rem){.side-chapters{gap:var(--mx-s3) var(--mx-s5);grid-template-columns:repeat(auto-fit,minmax(13rem,1fr))}}.course-page{position:relative}.course-ghost{top:3.75rem;left:var(--gutter);opacity:.06;font-size:clamp(7rem,16vw,14.375rem);position:absolute}.course-back{font-family:var(--mx-font-mono);letter-spacing:.06em;font-size:.71875rem}.course-back a{color:var(--mx-ink-2);text-decoration:none}.course-back a:hover{color:var(--mx-ink);text-decoration:underline}.course-hero{justify-content:space-between;align-items:flex-end;gap:var(--mx-s5) var(--mx-s6);flex-wrap:wrap;padding-block-end:var(--mx-s4);display:flex}.course-hero-text{min-width:0;max-width:46rem}@media (min-width:68rem){.course-hero-text{padding-inline-start:4.5rem}}.course-hero h1{font-family:var(--mx-font-display);letter-spacing:-.02em;text-wrap:balance;margin-block-end:var(--mx-s2);font-size:clamp(2rem,1.5rem + 2.4vw,2.75rem);font-weight:500;line-height:1.1}.course-tagline{font-family:var(--mx-font-display);font-size:var(--mx-text-m);color:var(--mx-ink-2);margin-block-end:var(--mx-s3);font-style:italic}.course-hero .lede{max-width:44rem;color:var(--mx-ink-2);font-size:.875rem;line-height:1.6}.course-count{font-family:var(--mx-font-mono);letter-spacing:.04em;color:var(--mx-ink-2);margin-block-start:var(--mx-s3);font-size:.6875rem}.course-standing{align-items:center;gap:var(--mx-s4) var(--mx-s5);font-family:var(--mx-font-ui);flex-wrap:wrap;display:flex}.course-standing-text{gap:2px;display:grid}.course-standing-text strong{font-size:var(--mx-text-m)}.course-standing-text span{font-size:var(--mx-text-s);color:var(--mx-ink-2)}.course-trail{max-width:66rem}.chapter{margin-block-start:var(--mx-s7)}.chapter:first-of-type{margin-block-start:var(--mx-s6)}.chapter-head{align-items:baseline;gap:var(--mx-s3) var(--mx-s4);display:flex}.chapter-no{font-family:var(--mx-font-display);color:var(--mx-ink-2);-webkit-user-select:none;user-select:none;flex:none;font-size:1.625rem;font-style:italic;font-weight:500;line-height:1.2}.chapter-head h2{font-family:var(--mx-font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mx-ink);margin:0;font-size:.75rem;font-weight:600;line-height:1.4}.chapter-rule{min-width:var(--mx-s5);border-block-end:1px solid var(--mx-line);flex:1;align-self:center}.chapter-count{font-family:var(--mx-font-mono);color:var(--mx-ink-2);white-space:nowrap;flex:none;font-size:.6875rem}.chapter-summary{color:var(--mx-ink-2);max-width:60ch;margin-block-start:var(--mx-s3);font-size:.84375rem;line-height:1.6}.chapter-arc{gap:var(--mx-s2);flex-wrap:wrap;margin-block-start:var(--mx-s3);display:flex}.trail{margin:var(--mx-s4) 0 0;gap:var(--mx-s2);padding:0;list-style:none;display:grid}.trail-item{position:relative}.trail-node{background:var(--mx-paper);border:1.5px solid var(--mx-line-2);width:26px;height:26px;font-family:var(--mx-font-ui);color:var(--mx-ink-2);border-radius:50%;flex:none;place-items:center;font-size:11px;font-weight:700;transition:border-color .2s,background .2s;display:grid}.trail-node[data-kind=lesson]{background:var(--mx-accent-tint);border-color:var(--mx-accent-line);color:var(--mx-accent-ink);border-radius:7px}.trail-node[data-state=solved]{background:var(--mx-good);border-color:var(--mx-good);color:#faf8f5;color:lab(97.7005% .135839 1.90169)}.trail-node[data-state=attempted]{border-color:var(--mx-gold);color:var(--mx-gold)}.trail-item[data-next] .trail-node{border-color:var(--mx-accent);color:var(--mx-accent-ink)}@media (prefers-reduced-motion:no-preference){.trail-item[data-next] .trail-node{animation:2.4s ease-out infinite node-pulse}}@keyframes node-pulse{0%{box-shadow:0 0 0 0 var(--mx-accent-line)}60%{box-shadow:0 0 0 9px #0000}to{box-shadow:0 0 #0000}}.trail-link{align-items:center;gap:var(--mx-s2) var(--mx-s4);padding:var(--mx-s3) var(--mx-s5);border-radius:var(--mx-radius-m);background:var(--mx-surface);border:1px solid var(--mx-line);color:var(--mx-ink);flex-wrap:wrap;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:flex}a.trail-link:hover,a.trail-link:focus-visible{border-color:var(--mx-accent);box-shadow:var(--mx-shadow-s);text-decoration:none}a.trail-link:focus-visible{outline:2px solid var(--mx-accent);outline-offset:1px}.trail-item[data-next] .trail-link{border-color:var(--mx-accent)}.trail-kind{letter-spacing:.1em;text-transform:uppercase;color:var(--mx-ink-2);flex:none;font-size:.59375rem}.trail-kind[data-role=lesson],.trail-kind[data-role=concept-introduction]{background:var(--mx-accent-tint);color:var(--mx-accent-ink)}.trail-kind[data-role=challenge]{background:var(--mx-ember-tint);color:var(--mx-ember)}.trail-text{min-width:0;font-family:var(--mx-font-display);-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:18rem;margin:0;font-size:1.03125rem;line-height:1.45;display:-webkit-box;overflow:hidden}.trail-item[data-kind=lesson] .trail-text{letter-spacing:-.01em;font-weight:500}.trail-item[data-next] .trail-text{font-weight:500}.trail-tier{font-family:var(--mx-font-mono);color:var(--mx-ink-2);white-space:nowrap;flex:none;font-size:.6875rem}.trail-next-tag{font-family:var(--mx-font-ui);font-weight:700;font-size:var(--mx-text-xs);color:var(--mx-accent-ink);border:1px solid var(--mx-accent-line);background:var(--mx-accent-tint);border-radius:999px;flex:none;padding:.1em .7em}.side-label-split{justify-content:space-between;align-items:baseline;gap:var(--mx-s3);display:flex}.side-trail{gap:6px;display:grid}.side-trail-item{align-items:center;gap:var(--mx-s2);background:var(--mx-surface);border:1px solid var(--mx-line);min-width:0;color:var(--mx-ink-2);border-radius:10px;padding:8px 10px;font-size:.75rem;text-decoration:none;transition:border-color .15s,color .15s;display:flex}a.side-trail-item:hover,a.side-trail-item:focus-visible{border-color:var(--mx-accent-line);color:var(--mx-ink);text-decoration:none}.side-trail-item[data-current]{border-color:var(--mx-accent);color:var(--mx-ink);box-shadow:0 2px 8px color-mix(in oklab, var(--mx-accent) 12%, transparent);font-weight:600}.side-trail-node{border:1px solid var(--mx-line-2);width:20px;height:20px;font-family:var(--mx-font-mono);color:var(--mx-ink-2);border-radius:50%;flex:none;place-items:center;font-size:.5625rem;font-weight:600;display:grid}.side-trail-node[data-kind=lesson]{background:var(--mx-accent-tint);border-color:var(--mx-accent-line);color:var(--mx-accent-ink);border-radius:5px}.side-trail-node[data-state=solved]{background:var(--mx-good);border-color:var(--mx-good);color:#faf8f5;color:lab(97.7005% .135839 1.90169)}.side-trail-node[data-state=attempted]{border-color:var(--mx-gold);color:var(--mx-gold)}.side-trail-item[data-current] .side-trail-node[data-kind=lesson]{background:var(--mx-accent);border-color:var(--mx-accent);color:var(--mx-paper)}.side-trail-text{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.side-trail .side-trail-text mjx-container[display=true]{margin:0!important;display:inline!important}@media (max-width:68rem){.side-trail{grid-auto-columns:minmax(13rem,15rem);grid-auto-flow:column;padding-block-end:var(--mx-s1);overflow-x:auto}}.lesson-wrap{--gutter:clamp(1.25rem, 3vw, 3rem);padding:var(--mx-s5) var(--gutter) var(--mx-s8);position:relative}.lesson-ghost{top:5.5rem;right:var(--gutter);opacity:.05;font-size:clamp(6rem,14vw,11.875rem);position:absolute}.lesson-coursebar{align-items:baseline;gap:var(--mx-s2) var(--mx-s4);font-family:var(--mx-font-mono);letter-spacing:.03em;color:var(--mx-ink-2);flex-wrap:wrap;font-size:.71875rem;display:flex}.lesson-coursebar a{color:var(--mx-accent-ink);font-weight:600;text-decoration:none}.lesson-coursebar a:hover{text-decoration:underline}.lesson-coursebar .spacer{margin-inline-start:auto}.lesson-ruler{margin-block-start:var(--mx-s3)}.lesson-nav{gap:var(--mx-s4);max-width:62rem;grid-template-columns:repeat(auto-fit,minmax(min(18rem,100%),1fr));margin-block-start:var(--mx-s5);margin-inline:auto;display:grid}.lesson-nav-card{gap:var(--mx-s2);padding:var(--mx-s4) var(--mx-s5);background:var(--mx-surface);border:1px solid var(--mx-line);border-radius:var(--mx-radius-m);box-shadow:var(--mx-shadow-s);color:var(--mx-ink);align-content:start;text-decoration:none;transition:translate .2s,box-shadow .2s,border-color .2s;display:grid}.lesson-nav-card:hover,.lesson-nav-card:focus-visible{box-shadow:var(--mx-shadow-m);border-color:var(--mx-accent-line);text-decoration:none;translate:0 -3px}.lesson-nav-card[data-dir=next]{text-align:end}.lesson-nav-label{font-family:var(--mx-font-ui);font-size:var(--mx-text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--mx-ink-2);font-weight:700}.lesson-nav-text{font-size:var(--mx-text-s);color:var(--mx-ink-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}}.lesson-sheet{--gutter:clamp(1.125rem, 2.5vw, 2rem);isolation:isolate;padding-block:var(--mx-s6) var(--mx-s7);margin-block-start:var(--mx-s5);position:relative}.lesson-sheet:before{content:"";z-index:-1;inset-block:0;inset-inline:calc(-1 * var(--gutter));background:var(--mx-surface);border:1px solid var(--mx-line);border-radius:var(--mx-radius-l);box-shadow:var(--mx-shadow-s);grid-column:wide;position:absolute}
@layer components{.filter-rail{gap:var(--mx-s5);align-content:start;display:grid}.filter-rail .fpill{font-size:var(--mx-text-xs);padding:.45em .9em}.side-toggle{align-items:center;gap:var(--mx-s2);font-family:var(--mx-font-ui);font-size:var(--mx-text-s);color:var(--mx-ink);justify-self:start;font-weight:500;text-decoration:none;display:inline-flex}.side-toggle:hover{color:var(--mx-accent-ink);text-decoration:none}.side-toggle-track{background:var(--mx-line-2);border-radius:999px;flex:none;width:30px;height:17px;transition:background .15s;position:relative}.side-toggle-track:after{content:"";background:var(--mx-paper);border-radius:50%;width:13px;height:13px;transition:inset-inline-start .15s;position:absolute;inset-block-start:2px;inset-inline-start:2px}.side-toggle[data-active] .side-toggle-track{background:var(--mx-accent)}.side-toggle[data-active] .side-toggle-track:after{inset-inline-start:15px}@media (max-width:68rem){.filter-rail{gap:var(--mx-s4) var(--mx-s5);grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}.side-toggle{align-self:end}}.practice-head{position:relative}.practice-ghost{font-size:clamp(4.5rem,3rem + 7vw,9.5rem);position:absolute;inset-block-start:-.12em;inset-inline-end:0}.practice-head-row{justify-content:space-between;align-items:flex-end;gap:var(--mx-s3) var(--mx-s5);flex-wrap:wrap;display:flex;position:relative}.practice-head-row h1{margin-block-end:0}.practice-head-meta{align-items:baseline;gap:var(--mx-s2);font-family:var(--mx-font-mono);font-size:var(--mx-text-xs);color:var(--mx-ink-2);flex-wrap:wrap;display:flex}.practice-sort{color:var(--mx-accent-ink);font-weight:600}@media (min-width:110rem){.practice-grid{--card-cols:5}}.practice-grid .pcard[data-featured] .pcard-text{font-family:var(--mx-font-display);font-size:var(--mx-text-l);-webkit-line-clamp:4;line-height:1.5}.pcard-open{border:1.5px solid var(--mx-ink);border-radius:var(--mx-radius-s);font-family:var(--mx-font-ui);font-size:var(--mx-text-xs);color:var(--mx-ink);grid-column:2;justify-self:start;margin-block-start:var(--mx-s2);padding:.5em 1.2em;font-weight:700;transition:background .15s,color .15s}.pcard:hover .pcard-open{background:var(--mx-ink);color:var(--mx-paper)}@media (min-width:48rem){.practice-grid .pcard[data-featured]{padding:var(--mx-s5) var(--mx-s6);grid-column:span 2}}.ws-head,.ws-head>:not(.ws-ghost){position:relative}.ws-ghost{font-size:clamp(4rem,3rem + 5vw,8.5rem);position:absolute;inset-block-start:-.15em;inset-inline-end:0}.rail-problem[data-kind=lesson] .rail-dot{background:var(--mx-accent-tint);border-color:var(--mx-accent-line);color:var(--mx-accent-ink);border-radius:6px;font-size:10px;font-weight:600}}
@layer components{.dash{flex-direction:column;gap:2.25rem;max-width:1360px;padding:clamp(1.75rem,3.5vw,3rem) clamp(1.25rem,3.5vw,3rem) 3.75rem;display:flex;position:relative}.dash-art{opacity:.16;width:clamp(14rem,22vw,20rem);inset-block-start:.75rem;inset-inline-end:clamp(1rem,3vw,2.5rem)}@media (max-width:80rem){.dash-art{display:none}}.dash-hero{isolation:isolate;position:relative}.dash-ghost{z-index:-1;font-size:clamp(6.5rem,11vw,9.375rem);position:absolute;inset-block-start:-2.25rem;inset-inline-start:min(30rem,62%)}@media (max-width:52rem){.dash-ghost{display:none}}.dash-date{font-family:var(--mx-font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mx-ink-2);font-size:.6875rem;font-weight:500}.dash-greet{font-family:var(--mx-font-display);letter-spacing:-.02em;margin-block-start:.625rem;font-size:clamp(2rem,4vw,2.875rem);font-weight:500;line-height:1.1}.pick{max-width:980px}.pick-eyebrow{font-family:var(--mx-font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mx-accent-ink);font-size:.6875rem;font-weight:500}.pick-quote{font-family:var(--mx-font-display);letter-spacing:-.01em;text-wrap:pretty;margin-block-start:.75rem;font-size:clamp(1.5rem,2.4vw,1.875rem);font-weight:400;line-height:1.45}.pick-quote i{font-style:italic}.pick-row{flex-wrap:wrap;align-items:center;gap:1.125rem;margin-block-start:1rem;display:flex}.pick-btn{border:1.5px solid var(--mx-ink);border-radius:var(--mx-radius-s);font-family:var(--mx-font-ui);color:var(--mx-ink);padding:.625rem 1.125rem;font-size:.8125rem;font-weight:700;text-decoration:none;transition:background .15s,color .15s;display:inline-block}.pick-btn:hover{background:var(--mx-ink);color:var(--mx-paper);text-decoration:none}.pick-meta{font-family:var(--mx-font-mono);color:var(--mx-ink-2);font-size:.6875rem}.modes{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;display:grid}@media (max-width:52rem){.modes{grid-template-columns:minmax(0,1fr)}}.mode{background:var(--mx-surface);border:1px solid var(--mx-line);border-radius:var(--mx-radius-m);color:var(--mx-ink);flex-direction:column;gap:2.75rem;padding:1.5rem;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:flex}.mode:hover{border-color:var(--mx-accent);box-shadow:var(--mx-shadow-s);color:var(--mx-ink);text-decoration:none}.mode-head{justify-content:space-between;align-items:baseline;display:flex}.mode>span:not(.mode-head){display:block}.mode-num{font-family:var(--mx-font-mono);letter-spacing:.14em;color:var(--mx-ink-2);font-size:.6875rem;font-weight:500}.mode-arrow{color:var(--mx-accent);font-size:.9375rem}.mode-title{font-family:var(--mx-font-display);font-size:1.375rem;font-weight:500;line-height:1.2;display:block}.mode-desc{color:var(--mx-ink-2);margin-block-start:.3125rem;font-size:.78125rem;line-height:1.5;display:block}.mode-stat{font-family:var(--mx-font-mono);color:var(--mx-ink);margin-block-start:.75rem;font-size:.6875rem;display:block}.dash-band{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);align-items:stretch;gap:1.5rem;display:grid}@media (max-width:62rem){.dash-band{grid-template-columns:minmax(0,1fr)}}.panel{background:var(--mx-surface);border:1px solid var(--mx-line);border-radius:var(--mx-radius-m);padding:1.625rem 1.75rem}.panel-head{justify-content:space-between;align-items:baseline;gap:var(--mx-s3);display:flex}.panel-note{font-family:var(--mx-font-mono);color:var(--mx-ink-2);font-size:.6875rem}.week{margin-block-start:1.25rem}.week-row{border-block-end:1px solid var(--mx-line-2);grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;min-height:3.25rem;padding-block-end:3px;display:grid}.week-cell{min-width:0;color:var(--mx-ink);justify-content:center;align-items:flex-end;gap:4px;display:flex}.week-cell[data-today]{color:var(--mx-accent)}.tally{max-width:100%;display:block}.week-more{font-family:var(--mx-font-mono);color:currentColor;font-size:.625rem}.week-labels{grid-template-columns:repeat(7,minmax(0,1fr));margin-block-start:.5rem;display:grid}.week-labels>span{text-align:center;font-family:var(--mx-font-mono);color:var(--mx-ink-2);font-size:.625rem}.week-labels>span[data-today]{color:var(--mx-accent)}.week-note{font-family:var(--mx-font-mono);color:var(--mx-ink-3);margin-block-start:.875rem;font-size:.625rem}.cprog{flex-direction:column;gap:1.125rem;margin-block-start:1.25rem;display:flex}.cprog-row{color:var(--mx-ink);text-decoration:none;display:block}.cprog-row:hover{color:var(--mx-ink);text-decoration:none}.cprog-row:hover .cprog-title{color:var(--mx-accent-ink)}.cprog-line{justify-content:space-between;align-items:baseline;gap:var(--mx-s3);display:flex}.cprog-title{font-family:var(--mx-font-display);font-size:1rem;transition:color .15s}.cprog-count{font-family:var(--mx-font-mono);color:var(--mx-ink-2);flex:none;font-size:.75rem}.cprog-row .ruler-bar{margin-block-start:.5rem;display:block}.panel-empty{color:var(--mx-ink-2);margin-block-start:.875rem;font-size:.8125rem;line-height:1.55}.side-cards{gap:var(--mx-s2);display:grid}.side-card{background:var(--mx-surface);border:1px solid var(--mx-line);border-radius:var(--mx-radius-m);color:var(--mx-ink);padding:.8125rem .875rem;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:block}.side-card:hover{border-color:var(--mx-accent);box-shadow:var(--mx-shadow-s);color:var(--mx-ink);text-decoration:none}.side-card-title{font-family:var(--mx-font-display);margin-block-start:.5rem;font-size:.9375rem;font-weight:500;line-height:1.3;display:block}.side-card .ruler-bar{height:6px;margin-block-start:.5625rem;display:block}.side-card-note{font-family:var(--mx-font-mono);color:var(--mx-ink-2);margin-block-start:.4375rem;font-size:.625rem;display:block}@media (max-width:68rem){.side-cards{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr))}}}
@layer components{.landing{--gutter:clamp(1.25rem, 4vw, 3rem);--l-max:74rem;overflow-x:clip}.l-sec{max-width:var(--l-max);padding:clamp(var(--mx-s7), 9vh, 6.5rem) var(--gutter) 0;margin-inline:auto}.l-sec-head{max-width:46rem}.l-h2{font-family:var(--mx-font-display);letter-spacing:-.02em;text-wrap:balance;font-size:clamp(2rem,1.45rem + 2.6vw,3.2rem);font-weight:550;line-height:1.06}.l-h2 em,.l-hero-title em,.l-cta h2 em{color:var(--mx-accent-ink);font-style:italic}.l-sub{font-size:var(--mx-text-l);color:var(--mx-ink-2);max-width:56ch;margin-block-start:var(--mx-s4);line-height:1.55}body:has(.landing) .site-header{display:none}.l-top .brand{font-size:2.125rem}.l-top{max-width:var(--l-max);padding:var(--mx-s4) var(--gutter) 0;justify-content:space-between;align-items:center;margin-inline:auto;display:flex}.l-hero{isolation:isolate;border-block-end:1px solid var(--mx-line);position:relative;overflow:clip}.l-hero:before{content:"";z-index:-2;background:linear-gradient(var(--mx-line) 1px, transparent 1px), linear-gradient(90deg, var(--mx-line) 1px, transparent 1px);opacity:.38;background-size:44px 44px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(130% 95% at 50% 0,#000 25%,#0000 80%);mask-image:radial-gradient(130% 95% at 50% 0,#000 25%,#0000 80%)}.l-hero:after{content:"";z-index:-1;background:radial-gradient(50rem 28rem at 85% 8%, var(--mx-accent-tint), transparent 65%), radial-gradient(42rem 24rem at 0% 105%, var(--mx-ember-tint), transparent 60%);position:absolute;inset:0}.l-hero-inner{max-width:var(--l-max);padding:clamp(var(--mx-s7), 9vh, 6.5rem) var(--gutter) var(--mx-s7);gap:var(--mx-s6);margin-inline:auto;display:grid}@media (min-width:60rem){.l-hero-inner{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;min-height:min(86svh,52rem)}}.l-hero-title{font-family:var(--mx-font-display);font-variation-settings:"opsz" 144;letter-spacing:-.025em;text-wrap:balance;font-size:clamp(2.9rem,2rem + 4.8vw,5.4rem);font-weight:540;line-height:1.02}.l-hero-lede{font-size:var(--mx-text-l);color:var(--mx-ink-2);max-width:46ch;margin-block-start:var(--mx-s5);line-height:1.55}.l-hero-ctas{gap:var(--mx-s3);flex-wrap:wrap;margin-block-start:var(--mx-s5);display:flex}.l-hero-facts{gap:var(--mx-s2);flex-wrap:wrap;margin-block-start:var(--mx-s5);display:flex}@media (prefers-reduced-motion:no-preference){.l-rise{opacity:0;animation:.9s cubic-bezier(.22,1,.36,1) forwards l-rise;animation-delay:calc(var(--i,0) * .13s + 80ms);translate:0 22px}}@keyframes l-rise{to{opacity:1;translate:0}}.l-fig{display:none}@media (min-width:60rem){.l-fig{margin:0;display:block}}.l-fig svg{width:100%;height:auto;overflow:visible}.c-stroke{fill:none;stroke-linecap:round}.c-base{stroke:var(--mx-ink);stroke-width:2px}.c-circ{stroke:var(--mx-ink-2);stroke-width:1.4px;opacity:.5}.c-side{stroke:var(--mx-accent);stroke-width:2.4px}.c-pt{fill:var(--mx-ink)}.c-pt[data-apex]{fill:var(--mx-accent)}.c-label{font-family:var(--mx-font-display);fill:var(--mx-ink-2);font-size:21px;font-style:italic}.c-ring{fill:none;stroke:var(--mx-accent);stroke-width:1.5px;transform-box:fill-box;transform-origin:50%;opacity:0}.c-caption{font-family:var(--mx-font-ui);font-size:var(--mx-text-xs);color:var(--mx-ink-2);text-align:center;margin-block-start:var(--mx-s3)}@media (prefers-reduced-motion:no-preference){.c-draw{stroke-dasharray:1;stroke-dashoffset:1px;animation:c-draw var(--dur,1s) cubic-bezier(.4, 0, .2, 1) forwards;animation-delay:var(--del,0s)}.c-fade{opacity:0;animation:.8s forwards c-fade;animation-delay:var(--del,0s)}.c-ring{animation:3.2s ease-out 5.4s infinite c-ring}.l-fig svg{animation:9s ease-in-out 5s infinite alternate l-float}}@keyframes c-draw{to{stroke-dashoffset:0}}@keyframes c-fade{to{opacity:1}}@keyframes c-ring{0%{opacity:.65;transform:scale(.4)}60%{opacity:0;transform:scale(2.4)}to{opacity:0;transform:scale(2.4)}}@keyframes l-float{0%{translate:0 6px}to{translate:0 -8px}}.l-marquee{border-block-end:1px solid var(--mx-line);background:var(--mx-surface);padding-block:var(--mx-s3);overflow:hidden}.l-marquee-track{width:max-content;display:flex}.l-mq-half{align-items:baseline;gap:var(--mx-s6);padding:0 var(--mx-s6) 0 0;margin:0;list-style:none;display:flex}.l-mq-half li{font-family:var(--mx-font-display);font-style:italic;font-size:var(--mx-text-l);color:var(--mx-ink-2);white-space:nowrap;margin:0}.l-mq-half li:after{content:"·";color:var(--mx-line-2);margin-inline-start:var(--mx-s6);font-style:normal}@media (prefers-reduced-motion:no-preference){.l-marquee-track{animation:48s linear infinite l-marquee}.l-marquee:hover .l-marquee-track{animation-play-state:paused}}@keyframes l-marquee{to{translate:-50%}}.l-ladder{gap:var(--mx-s4);margin-block-start:var(--mx-s6);display:grid}@media (min-width:64rem){.l-ladder{grid-template-columns:repeat(5,1fr);align-items:end}.l-ladder .l-step{margin-block-end:calc(var(--i,0) * 2.4rem)}}.l-step{gap:var(--mx-s2);padding:var(--mx-s4) var(--mx-s4) var(--mx-s5);background:var(--mx-surface);border:1px solid var(--mx-line);border-block-start:3px solid var(--step-color,var(--mx-line-2));border-radius:var(--mx-radius-m);box-shadow:var(--mx-shadow-s);align-content:start;transition:translate .2s,box-shadow .2s;display:grid;position:relative}.l-step:hover{box-shadow:var(--mx-shadow-m);translate:0 -4px}.l-step[data-tier=school]{--step-color:var(--mx-line-2)}.l-step[data-tier=city]{--step-color:#008287b3}@supports (color:lab(0% 0 0)){.l-step[data-tier=city]{--step-color:lab(48.7634% -31.2502 -12.8129/.7)}}.l-step[data-tier=regional]{--step-color:var(--mx-accent)}.l-step[data-tier=national]{--step-color:#724aabb3}@supports (color:lab(0% 0 0)){.l-step[data-tier=national]{--step-color:lab(39.6801% 33.0382 -46.413/.7)}}.l-step[data-tier=international]{--step-color:var(--mx-gold)}.l-step-no{font-family:var(--mx-font-display);color:#0000;-webkit-text-stroke:1.1px var(--mx-line-2);-webkit-user-select:none;user-select:none;font-size:2rem;font-weight:550;line-height:1}@supports not (-webkit-text-stroke:1px black){.l-step-no{color:var(--mx-line-2)}}.l-step h3{font-family:var(--mx-font-display);font-size:var(--mx-text-l);letter-spacing:-.01em;font-weight:600;line-height:1.15}.l-step p{font-size:var(--mx-text-s);color:var(--mx-ink-2);line-height:1.5}.l-step-count{font-family:var(--mx-font-ui);font-size:var(--mx-text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--mx-ink-2);margin-block-start:auto;padding-block-start:var(--mx-s2);font-weight:600}.l-ladder-note{font-family:var(--mx-font-ui);font-size:var(--mx-text-s);color:var(--mx-ink-2);max-width:60ch;margin-block-start:var(--mx-s5)}.l-band{background:var(--mx-surface-2);border-block:1px solid var(--mx-line);margin-block-start:clamp(var(--mx-s7), 9vh, 6.5rem)}.l-band-inner{max-width:var(--l-max);padding:clamp(var(--mx-s6), 7vh, var(--mx-s8)) var(--gutter);margin-inline:auto}.l-demo-grid{gap:var(--mx-s6);margin-block-start:var(--mx-s6);display:grid}@media (min-width:62rem){.l-demo-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start}}.l-demo-statement{background:var(--mx-surface);border:1px solid var(--mx-line);border-inline-start:3px solid var(--mx-accent);border-radius:var(--mx-radius-m);padding:var(--mx-s4) var(--mx-s5);box-shadow:var(--mx-shadow-s)}.l-demo-statement .kicker{margin-block-end:var(--mx-s2)}.l-demo-aside{font-size:var(--mx-text-s);color:var(--mx-ink-2);max-width:44ch;margin-block-start:var(--mx-s4)}.cb{gap:var(--mx-s4);align-content:start;display:grid}.cb-figure{background:var(--mx-surface);border:1px solid var(--mx-line);border-radius:var(--mx-radius-l);box-shadow:var(--mx-shadow-s);padding:clamp(var(--mx-s4), 3vw, var(--mx-s5))}.cb-figure svg{width:100%;max-width:21rem;height:auto;margin-inline:auto;display:block}.cb-sq{fill:var(--mx-surface-2);stroke:var(--mx-line);stroke-width:1px;transition:fill .5s;transition-delay:var(--d,0s)}.cb[data-colored] .cb-sq[data-dark]{fill:var(--mx-accent)}.cb[data-colored] .cb-sq:not([data-dark]){fill:var(--mx-surface)}.cb-gone{fill:none;stroke:var(--mx-line-2);stroke-width:1.5px;stroke-dasharray:4 4;transition:stroke .4s}.cb[data-verdict] .cb-gone{stroke:var(--mx-ember)}@media (prefers-reduced-motion:no-preference){.cb[data-verdict] .cb-gone{animation:1.6s ease-out 2 cb-gone-pulse}}@keyframes cb-gone-pulse{0%{stroke-width:1.5px}40%{stroke-width:3.5px}to{stroke-width:1.5px}}.cb-dom{fill:var(--mx-ember-tint);stroke:var(--mx-ember);stroke-width:2.2px;opacity:0;transition:opacity .45s;transition-delay:var(--d,0s)}.cb[data-dominoes] .cb-dom{opacity:1}.cb-counts{justify-content:center;gap:var(--mx-s2);opacity:0;flex-wrap:wrap;margin-block-start:var(--mx-s4);transition:opacity .5s,translate .5s;display:flex;translate:0 6px}.cb-counts[data-live]{opacity:1;translate:0}.cb-counts .chip[data-dark-chip]{border-color:var(--mx-accent-line);color:var(--mx-accent-ink);background:var(--mx-accent-tint)}.cb-counts .chip[data-ember-chip]{border-color:var(--mx-ember-line);color:var(--mx-ember);background:var(--mx-ember-tint)}.cb-panel{gap:var(--mx-s3);display:grid}.cb-hint{gap:var(--mx-s1);padding:var(--mx-s3) var(--mx-s4);border:1px solid var(--mx-accent-line);background:var(--mx-accent-tint);border-radius:var(--mx-radius-m);font-size:var(--mx-text-s);line-height:1.55;display:grid}.cb-hint[data-verdict-box]{border-color:var(--mx-good-line);background:var(--mx-good-tint)}.cb-hint-label{font-family:var(--mx-font-ui);font-size:var(--mx-text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--mx-accent-ink);font-weight:700}.cb-hint[data-verdict-box] .cb-hint-label{color:var(--mx-good)}@media (prefers-reduced-motion:no-preference){.cb-hint{animation:.45s cubic-bezier(.22,1,.36,1) both cb-hint-in}}@keyframes cb-hint-in{0%{opacity:0;translate:0 10px}}.cb-controls{gap:var(--mx-s2);flex-wrap:wrap;display:flex}.cb-reset{color:var(--mx-ink-2);background:0 0;border-color:#0000}.cb-reset:hover{border-color:var(--mx-line-2)}.l-stats{gap:var(--mx-s5);padding-block:var(--mx-s5);border-block:1px solid var(--mx-line);grid-template-columns:repeat(auto-fit,minmax(min(10rem,100%),1fr));margin-block-start:var(--mx-s6);display:grid}.l-stat{gap:var(--mx-s2);border-inline-start:1px solid var(--mx-line);align-content:start;padding-inline-start:var(--mx-s4);display:grid}.l-stat-value{font-family:var(--mx-font-display);letter-spacing:-.02em;color:var(--mx-accent-ink);font-variant-numeric:tabular-nums;font-size:clamp(2.5rem,1.9rem + 2.6vw,3.9rem);font-weight:560;line-height:1}.l-stat-label{font-family:var(--mx-font-ui);font-size:var(--mx-text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--mx-ink-2);font-weight:600}.l-topics{gap:var(--mx-s2);flex-wrap:wrap;margin-block-start:var(--mx-s5);display:flex}.l-topics .chip{text-decoration:none;transition:border-color .15s,color .15s}.l-topics .chip:hover{border-color:var(--mx-accent-line);color:var(--mx-accent-ink)}.l-sample{background:var(--mx-surface);border:1px solid var(--mx-line);border-radius:var(--mx-radius-l);box-shadow:var(--mx-shadow-m);padding:clamp(var(--mx-s5), 4vw, var(--mx-s6));max-width:54rem;margin-block-start:var(--mx-s6)}.l-sample-meta{align-items:center;gap:var(--mx-s2);font-family:var(--mx-font-ui);font-size:var(--mx-text-s);color:var(--mx-ink-2);flex-wrap:wrap;margin-block-end:var(--mx-s4);display:flex}.l-sample-foot{align-items:center;gap:var(--mx-s4);flex-wrap:wrap;margin-block-start:var(--mx-s5);display:flex}.l-sample .attribution{margin:0}.l-courses-grid{gap:var(--mx-s5);grid-template-columns:repeat(auto-fit,minmax(min(22rem,100%),1fr));align-items:start;margin-block-start:var(--mx-s6);display:grid}.l-upcoming{gap:var(--mx-s3);padding:clamp(var(--mx-s5), 3vw, var(--mx-s6));border:1px dashed var(--mx-line-2);border-radius:var(--mx-radius-l);align-content:start;display:grid}.l-upcoming h3{font-family:var(--mx-font-ui);font-size:var(--mx-text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--mx-ink-2);font-weight:700}.l-upcoming p{font-size:var(--mx-text-s);color:var(--mx-ink-2)}.l-upcoming-chips{gap:var(--mx-s2);flex-wrap:wrap;display:flex}.l-upcoming-chips .chip{background:0 0;border-style:dashed}.l-modes{gap:var(--mx-s4);grid-template-columns:repeat(auto-fit,minmax(min(16rem,100%),1fr));margin-block-start:var(--mx-s6);display:grid}.l-mode{gap:var(--mx-s2);padding:var(--mx-s5);background:var(--mx-surface);border:1px solid var(--mx-line);border-block-start:3px solid var(--mode-color,var(--mx-line-2));border-radius:var(--mx-radius-m);box-shadow:var(--mx-shadow-s);align-content:start;display:grid}.l-mode[data-mode=unaided]{--mode-color:var(--mx-good)}.l-mode[data-mode=hints]{--mode-color:var(--mx-gold)}.l-mode[data-mode=read]{--mode-color:var(--mx-accent)}.l-mode h3{font-family:var(--mx-font-ui);font-size:var(--mx-text-m);font-weight:600}.l-mode p{font-size:var(--mx-text-s);color:var(--mx-ink-2);line-height:1.55}.l-free{max-width:54rem;padding:var(--mx-s4) var(--mx-s5);border:1px solid var(--mx-good-line);background:var(--mx-good-tint);border-radius:var(--mx-radius-m);font-size:var(--mx-text-s);margin-block-start:var(--mx-s6);line-height:1.6}.l-cta{isolation:isolate;padding:clamp(var(--mx-s7), 10vh, 7rem) var(--gutter);border-block-start:1px solid var(--mx-line);text-align:center;margin-block-start:clamp(var(--mx-s7), 9vh, 6.5rem);position:relative;overflow:clip}.l-cta:before{content:"";z-index:-1;background:radial-gradient(46rem 24rem at 50% 0%, var(--mx-accent-tint), transparent 70%);position:absolute;inset:0}.l-cta h2{font-family:var(--mx-font-display);font-variation-settings:"opsz" 144;letter-spacing:-.022em;font-size:clamp(2.2rem,1.6rem + 3.2vw,3.8rem);font-weight:540;line-height:1.05}.l-cta-buttons{justify-content:center;gap:var(--mx-s3);flex-wrap:wrap;margin-block-start:var(--mx-s5);display:flex}.l-cta-fine{font-family:var(--mx-font-ui);font-size:var(--mx-text-s);color:var(--mx-ink-2);margin-block-start:var(--mx-s4)}.l-footer{border-block-start:1px solid var(--mx-line);font-family:var(--mx-font-ui);font-size:var(--mx-text-s);color:var(--mx-ink-2)}.l-footer-inner{max-width:var(--l-max);padding:var(--mx-s5) var(--gutter) var(--mx-s6);justify-content:space-between;align-items:baseline;gap:var(--mx-s4);flex-wrap:wrap;margin-inline:auto;display:flex}.l-footer .brand{font-size:1.1rem}.l-footer nav{gap:var(--mx-s4);flex-wrap:wrap;display:flex}.l-footer nav a{color:var(--mx-ink-2);text-decoration:none}.l-footer nav a:hover{color:var(--mx-ink);text-decoration:underline}.l-labs{gap:clamp(var(--mx-s5), 4vw, var(--mx-s6));margin-block-start:var(--mx-s6);display:grid}.lab{gap:var(--mx-s5);padding:clamp(var(--mx-s4), 3vw, var(--mx-s6));background:var(--mx-surface);border:1px solid var(--mx-line);border-radius:var(--mx-radius-l);box-shadow:var(--mx-shadow-m);display:grid}@media (min-width:62rem){.lab{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center}.lab[data-flip] .lab-copy{order:2}}.lab-copy{gap:var(--mx-s3);align-content:center;display:grid}.lab-no{font-family:var(--mx-font-ui);font-size:var(--mx-text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--mx-accent-ink);font-weight:700}.lab-copy h3{font-family:var(--mx-font-display);font-size:var(--mx-text-xl);letter-spacing:-.012em;text-wrap:balance;font-weight:600;line-height:1.12}.lab-copy>p{color:var(--mx-ink-2);max-width:48ch;line-height:1.6}.lab-chips{gap:var(--mx-s2);flex-wrap:wrap;display:flex}.lab-figure{gap:var(--mx-s4);min-width:0;display:grid}.lab-stage{border:1px solid var(--mx-line);border-radius:var(--mx-radius-m);background-color:var(--mx-paper);background-image:linear-gradient(var(--mx-line) 1px, transparent 1px), linear-gradient(90deg, var(--mx-line) 1px, transparent 1px);padding:var(--mx-s3);background-size:28px 28px;overflow:clip}.lab-stage svg{width:100%;max-width:24rem;height:auto;margin-inline:auto;display:block}.cube-canvas{aspect-ratio:10/8.5;touch-action:none;cursor:grab;width:100%;max-width:26rem;margin-inline:auto;display:block}.cube-canvas[data-dragging]{cursor:grabbing}.lab-readout{text-align:center;min-height:2.6em;font-family:var(--mx-font-body);font-size:var(--mx-text-m);font-variant-numeric:tabular-nums;color:var(--mx-ink-2);align-content:center}.lab-readout strong{color:var(--mx-ink)}.lab-readout[data-regular] strong{color:var(--mx-accent-ink)}.lab-hintline{font-family:var(--mx-font-ui);font-size:var(--mx-text-xs);color:var(--mx-ink-2);text-align:center}.lab-controls{gap:var(--mx-s3) var(--mx-s4);flex-wrap:wrap;align-items:end;display:flex}.lab-slider{gap:var(--mx-s1);flex:12rem;display:grid}.lab-control-label{justify-content:space-between;gap:var(--mx-s3);font-family:var(--mx-font-ui);font-size:var(--mx-text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--mx-ink-2);font-variant-numeric:tabular-nums;font-weight:600;display:flex}.lab-range{appearance:none;cursor:pointer;background:0 0;width:100%;height:1.5rem;margin:0}.lab-range:focus-visible{outline:2px solid var(--mx-accent);outline-offset:4px;border-radius:6px}.lab-range::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--mx-accent) var(--fill,50%), var(--mx-line-2) var(--fill,50%));border-radius:999px;height:5px}.lab-range::-webkit-slider-thumb{appearance:none;background:var(--mx-surface);border:2.5px solid var(--mx-accent);width:1.2rem;height:1.2rem;box-shadow:var(--mx-shadow-s);border-radius:50%;margin-top:calc(2.5px - .6rem)}.lab-range::-moz-range-track{background:var(--mx-line-2);border-radius:999px;height:5px}.lab-range::-moz-range-progress{background:var(--mx-accent);border-radius:999px;height:5px}.lab-range::-moz-range-thumb{background:var(--mx-surface);border:2.5px solid var(--mx-accent);width:1.2rem;height:1.2rem;box-shadow:var(--mx-shadow-s);border-radius:50%}.lab-chipbtns{gap:var(--mx-s1);display:flex}.lab-chipbtn{font-family:var(--mx-font-ui);font-size:var(--mx-text-xs);border:1px solid var(--mx-line-2);background:var(--mx-surface);color:var(--mx-ink-2);cursor:pointer;font-variant-numeric:tabular-nums;border-radius:999px;padding:.3em .75em;font-weight:600}.lab-chipbtn:hover{border-color:var(--mx-ink-2)}.lab-chipbtn[aria-pressed=true]{border-color:var(--mx-accent-line);background:var(--mx-accent-tint);color:var(--mx-accent-ink)}.lab-ghost{color:var(--mx-ink-2);background:0 0;border-color:#0000}.lab-ghost:hover{border-color:var(--mx-line-2)}.osq-dot{fill:var(--mx-accent);transform-box:fill-box;transform-origin:50%;transition:opacity .45s}.osq-dot[data-alt]{fill:var(--mx-ember)}.osq-dot[data-old]{opacity:.62}@media (prefers-reduced-motion:no-preference){.osq-dot{animation:.5s cubic-bezier(.22,1,.36,1) backwards osq-pop;animation-delay:var(--d,0s)}}@keyframes osq-pop{0%{opacity:0;transform:scale(.2)}}.osq-eq{font-variant-numeric:tabular-nums}.osq-term{color:var(--mx-accent-ink);font-weight:600}.osq-term[data-alt]{color:var(--mx-ember)}.osq-eq strong{font-size:1.15em}.cir-sector{fill:var(--mx-accent);opacity:.85;stroke:var(--mx-paper);stroke-width:1px}.cir-sector[data-alt]{opacity:.55}.cir-guide line{stroke:var(--mx-ink-2);stroke-width:1.2px}.cir-glabel{font-family:var(--mx-font-body);fill:var(--mx-ink);font-size:15px;font-style:italic}.l-labs-note{font-size:var(--mx-text-m);color:var(--mx-ink-2);max-width:58ch;margin-block-start:var(--mx-s6);line-height:1.6}.l-labs-note strong{color:var(--mx-ink)}.l-parents{gap:var(--mx-s3);max-width:54rem;padding:clamp(var(--mx-s5), 3vw, var(--mx-s6));border:1px solid var(--mx-good-line);background:var(--mx-good-tint);border-radius:var(--mx-radius-l);margin-block-start:var(--mx-s6);display:grid}.l-parents h3{font-family:var(--mx-font-display);font-size:var(--mx-text-xl);letter-spacing:-.012em;font-weight:600;line-height:1.12}.l-parents p{font-size:var(--mx-text-m);color:var(--mx-ink-2);max-width:58ch;line-height:1.6}.l-parents .btn{justify-self:start}@media (prefers-reduced-motion:no-preference){.reveal{opacity:0;transition:opacity .8s,translate .8s cubic-bezier(.22,1,.36,1);transition-delay:var(--rd,0s);translate:0 26px}.reveal[data-shown]{opacity:1;translate:0}}.l-hero-login{gap:var(--mx-s3);justify-items:center;width:min(24rem,100%);display:grid}@media (min-width:60rem){.l-hero-login{justify-self:end}}}
