@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-ext-wght-normal-B5bTHO_g.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-wght-normal-BbzFLZTg.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Spline Sans Mono Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/spline-sans-mono-latin-ext-wght-normal-Dh0aNLWd.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Spline Sans Mono Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/spline-sans-mono-latin-wght-normal-DlaB5ohX.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink-950:#14110f;--ink-900:#1e1a17;--ink-800:#2b2622;--ink-700:#3c352f;--ink-600:#554c44;--ink-500:#6e645b;--ink-400:#92877d;--ink-300:#b5aca3;--ink-200:#d6cfc8;--ink-150:#e4dfd9;--ink-100:#ede9e3;--ink-50:#f5f2ee;--paper:#fbfaf7;--white:#fff;--pulse-700:#9c2317;--pulse-600:#c43323;--pulse-500:#e8442e;--pulse-400:#f0684f;--pulse-300:#f79a82;--pulse-100:#fce4dc;--pulse-50:#fdf1ec;--gold-600:#a9741b;--gold-500:#c98a2e;--gold-100:#f7e9cf;--gold-50:#fbf4e5;--success-600:#17714a;--success-500:#1f8a5b;--success-100:#d8efe2;--warning-600:#9a6516;--warning-500:#b7791f;--warning-100:#f6e8cc;--danger-600:#8f2018;--danger-500:#b3261e;--danger-100:#f6dbd8;--info-600:#1f58b5;--info-500:#2a6fdb;--info-100:#dbe7fa;--surface-page:var(--paper);--surface-card:var(--white);--surface-sunken:var(--ink-50);--surface-inverse:var(--ink-950);--surface-brand:var(--pulse-500);--surface-brand-tint:var(--pulse-50);--text-strong:var(--ink-950);--text-body:var(--ink-800);--text-muted:var(--ink-500);--text-faint:var(--ink-400);--text-on-brand:#fff;--text-on-inverse:#f5f2ee;--text-brand:var(--pulse-600);--text-link:var(--pulse-600);--border-subtle:var(--ink-100);--border-default:var(--ink-150);--border-strong:var(--ink-300);--border-focus:var(--pulse-500);--action-primary:var(--pulse-500);--action-primary-hover:var(--pulse-600);--action-primary-press:var(--pulse-700);--tint-brand:var(--pulse-50);--on-tint-brand:var(--pulse-600);--tint-brand-border:var(--pulse-100);--tint-success:var(--success-100);--on-tint-success:var(--success-600);--tint-warning:var(--warning-100);--on-tint-warning:var(--warning-600);--tint-danger:var(--danger-100);--on-tint-danger:var(--danger-600);--tint-info:var(--info-100);--on-tint-info:var(--info-600);--tint-gold:var(--gold-100);--on-tint-gold:var(--gold-600);--surface-track:var(--ink-100);--control-off:var(--ink-200);--font-display:"Bricolage Grotesque", "Instrument Sans", system-ui, sans-serif;--font-text:"Instrument Sans", system-ui, -apple-system, sans-serif;--font-mono:"Spline Sans Mono", ui-monospace, "SF Mono", monospace;--size-xs:12px;--size-sm:13px;--size-base:15px;--size-md:17px;--size-lg:20px;--size-xl:24px;--size-2xl:30px;--size-3xl:38px;--size-4xl:50px;--size-5xl:66px;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-display:700;--weight-display-black:800;--leading-tight:1.1;--leading-snug:1.25;--leading-normal:1.5;--leading-relaxed:1.65;--tracking-tight:-.02em;--tracking-display:-.03em;--tracking-caps:.08em;--text-hero:var(--weight-display-black) var(--size-5xl)/var(--leading-tight) var(--font-display);--text-h1:var(--weight-display) var(--size-3xl)/var(--leading-tight) var(--font-display);--text-h2:var(--weight-display) var(--size-2xl)/var(--leading-snug) var(--font-display);--text-h3:var(--weight-semibold) var(--size-xl)/var(--leading-snug) var(--font-display);--text-title:var(--weight-semibold) var(--size-md)/var(--leading-snug) var(--font-text);--text-body-md:var(--weight-regular) var(--size-base)/var(--leading-normal) var(--font-text);--text-body-sm:var(--weight-regular) var(--size-sm)/var(--leading-normal) var(--font-text);--text-label:var(--weight-medium) var(--size-sm)/1 var(--font-text);--text-caption:var(--weight-regular) var(--size-xs)/var(--leading-snug) var(--font-text);--text-overline:var(--weight-semibold) var(--size-xs)/1 var(--font-text);--text-data:var(--weight-medium) var(--size-sm)/1.4 var(--font-mono);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-pill:999px;--control-sm:32px;--control-md:40px;--control-lg:48px;--page-max:1200px;--sidebar-w:248px;--mobile-w:390px;--shadow-card:0 1px 2px #14110f0d, 0 4px 14px #14110f0d;--shadow-raised:0 2px 6px #14110f14, 0 10px 28px #14110f1a;--shadow-overlay:0 8px 16px #14110f1f, 0 24px 56px #14110f2e;--shadow-focus:0 0 0 3px #e8442e40;--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-in-out:cubic-bezier(.45, 0, .2, 1);--duration-fast:.12s;--duration-base:.2s;--duration-slow:.32s}[data-theme=dark]{--gold-500:#e0a94a;--gold-100:#3a2e17;--success-500:#34a873;--success-100:#17301f;--danger-500:#e05248;--danger-100:#3a1b18;--warning-500:#d29a3d;--warning-100:#3a2e14;--info-500:#6e9beb;--info-100:#1c2c4a;--surface-page:#131010;--surface-card:#1e1a18;--surface-sunken:#171413;--surface-inverse:#f5f2ee;--surface-brand-tint:#33201b;--text-strong:#f7f4f0;--text-body:#e0dad3;--text-muted:#9c9187;--text-faint:#756b62;--text-on-inverse:#1e1a17;--text-brand:#f0684f;--text-link:#f0684f;--border-subtle:#2a2523;--border-default:#332d2a;--border-strong:#4a423c;--tint-brand:#3a211c;--on-tint-brand:#f79a82;--tint-brand-border:#4c2a22;--tint-success:#17301f;--on-tint-success:#5fc391;--tint-warning:#3a2e14;--on-tint-warning:#ddae55;--tint-danger:#3a1b18;--on-tint-danger:#f0908a;--tint-info:#1c2c4a;--on-tint-info:#8ab0f2;--tint-gold:#3a2e17;--on-tint-gold:#e0a94a;--surface-track:#2e2925;--control-off:#3d3632}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--gold-500:#e0a94a;--gold-100:#3a2e17;--success-500:#34a873;--success-100:#17301f;--danger-500:#e05248;--danger-100:#3a1b18;--warning-500:#d29a3d;--warning-100:#3a2e14;--info-500:#6e9beb;--info-100:#1c2c4a;--surface-page:#131010;--surface-card:#1e1a18;--surface-sunken:#171413;--surface-inverse:#f5f2ee;--surface-brand-tint:#33201b;--text-strong:#f7f4f0;--text-body:#e0dad3;--text-muted:#9c9187;--text-faint:#756b62;--text-on-inverse:#1e1a17;--text-brand:#f0684f;--text-link:#f0684f;--border-subtle:#2a2523;--border-default:#332d2a;--border-strong:#4a423c;--tint-brand:#3a211c;--on-tint-brand:#f79a82;--tint-brand-border:#4c2a22;--tint-success:#17301f;--on-tint-success:#5fc391;--tint-warning:#3a2e14;--on-tint-warning:#ddae55;--tint-danger:#3a1b18;--on-tint-danger:#f0908a;--tint-info:#1c2c4a;--on-tint-info:#8ab0f2;--tint-gold:#3a2e17;--on-tint-gold:#e0a94a;--surface-track:#2e2925;--control-off:#3d3632}}:root{--action-primary:var(--pulse-600);--action-primary-hover:var(--pulse-700);--font-display:"Bricolage Grotesque Variable", "Instrument Sans Variable", system-ui, sans-serif;--font-text:"Instrument Sans Variable", system-ui, -apple-system, sans-serif;--font-mono:"Spline Sans Mono Variable", ui-monospace, "SF Mono", monospace}*,:before,:after{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial}}body{background:var(--surface-page);min-height:100vh;color:var(--text-body);font:var(--text-body-md);-webkit-font-smoothing:antialiased;margin:0}::selection{background:var(--tint-brand);color:var(--on-tint-brand)}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}a{color:var(--text-link);text-underline-offset:.2em}.lockup{color:var(--text-strong);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.lockup-word{font:800 var(--size-lg) / 1 var(--font-display);letter-spacing:-.03em}.button{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-md);padding:0 var(--space-5);border-radius:var(--radius-md);font:var(--text-label);font-size:var(--size-base);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);border:1px solid #0000;text-decoration:none;display:inline-flex}.button:active{transform:scale(.98)}.button:disabled{cursor:not-allowed;opacity:.55}.button-primary{background:var(--action-primary);color:var(--text-on-brand)}.button-primary:hover:not(:disabled){background:var(--action-primary-hover)}.button-quiet{color:var(--text-body);border-color:var(--border-default);background:0 0}.button-quiet:hover:not(:disabled){background:var(--surface-sunken)}.preferences{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.switch{border:1px solid var(--border-default);border-radius:var(--radius-pill);padding:2px;display:inline-flex}.switch button{border-radius:var(--radius-pill);min-width:36px;min-height:28px;color:var(--text-muted);font:var(--text-label);font-size:var(--size-xs);letter-spacing:var(--tracking-caps);cursor:pointer;background:0 0;border:0;place-items:center;display:inline-grid}.theme button{min-width:32px}.switch button:hover:not([aria-pressed=true]){color:var(--text-strong)}.switch button[aria-pressed=true]{background:var(--surface-inverse);color:var(--text-on-inverse)}.notice{min-height:100vh;padding:var(--space-6) var(--space-8);grid-template-rows:auto 1fr;display:grid}.notice-top{justify-content:space-between;align-items:center;display:flex}.notice-body{place-self:center;width:min(100%,34rem);padding-bottom:12vh}.notice-title{margin:0 0 var(--space-3);font:var(--text-h2);letter-spacing:var(--tracking-display);color:var(--text-strong);text-wrap:balance}.notice-text{margin:0 0 var(--space-8);max-width:60ch;color:var(--text-muted)}.notice-quiet{color:var(--text-muted)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.shell{--school-ink:var(--school-ink-light,var(--text-brand));--active-share:18%;grid-template-columns:var(--sidebar-w) minmax(0, 1fr);min-height:100vh;display:grid}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .shell{--school-ink:var(--school-ink-dark,var(--text-brand));--active-share:30%}}:root[data-theme=dark] .shell{--school-ink:var(--school-ink-dark,var(--text-brand));--active-share:30%}.side{gap:var(--space-6);height:100vh;padding:var(--space-5) var(--space-3);background:var(--surface-card);border-right:1px solid var(--border-subtle);flex-direction:column;display:flex;position:sticky;top:0;overflow-y:auto}.side-top{padding:var(--space-1) var(--space-3)}.side-school{align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-lg);background:var(--surface-sunken);display:flex}.side-school-badge{border-radius:var(--radius-md);object-fit:cover;flex:none;width:36px;height:36px}.side-school-initial{background:var(--surface-inverse);color:var(--text-on-inverse);font:var(--weight-bold) var(--size-md) / 1 var(--font-text);place-items:center;display:grid}.shell-branded .side-school-initial{background:var(--action-primary);color:var(--text-on-brand)}.side-school-text{flex-direction:column;min-width:0;display:flex}.side-school-name{font:var(--text-title);font-size:var(--size-sm);color:var(--text-strong);-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.side-school-role{font:var(--text-caption);color:var(--text-muted)}.side-nav ul{gap:2px;margin:0;padding:0;list-style:none;display:grid}.side-link,.side-action{align-items:center;gap:var(--space-3);width:100%;min-height:40px;padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--text-body);font:var(--text-label);font-size:var(--size-sm);text-align:left;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out);background:0 0;border:0;text-decoration:none;display:flex}.side-link svg,.side-action svg{color:var(--text-muted);flex:none}.side-link:hover,.side-action:hover{background:var(--surface-sunken)}.side-link[aria-current=page]{background:var(--tint-brand);color:var(--text-strong);font-weight:var(--weight-semibold)}.shell-branded .side-link[aria-current=page]{background:color-mix(in oklab, var(--school-ink) var(--active-share), var(--surface-card))}.side-link[aria-current=page] svg{color:var(--school-ink)}.side-foot{padding-top:var(--space-4);border-top:1px solid var(--border-subtle);gap:2px;margin-top:auto;display:grid}.side-preferences{padding:var(--space-3) var(--space-3) 0}.shell-main{padding:var(--space-8) var(--space-10);max-width:var(--page-max)}.page-title{animation:page-in var(--duration-base) var(--ease-out);margin:0 0 var(--space-2);font:var(--text-h1);letter-spacing:var(--tracking-display);color:var(--text-strong);text-wrap:balance}.page-lead{color:var(--text-muted);margin:0}.page-part{margin-top:var(--space-12);padding-top:var(--space-6);border-top:1px solid var(--border-subtle);max-width:60ch}.page-part-title{margin:0 0 var(--space-2);font:var(--text-title);font-size:var(--size-lg);color:var(--text-strong)}.page-part-text{color:var(--text-muted);margin:0}@media (width<=1100px){.shell-main{padding:var(--space-6) var(--space-8)}}.schools{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.school{align-items:center;gap:var(--space-4);width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-card);color:inherit;font:inherit;text-align:left;display:flex}button.school{cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out)}button.school:hover{border-color:var(--border-strong);box-shadow:var(--shadow-card)}.school-off{background:0 0;border-style:dashed}.school-initial{border-radius:var(--radius-md);background:var(--surface-inverse);width:40px;height:40px;color:var(--text-on-inverse);font:var(--weight-bold) var(--size-md) / 1 var(--font-text);flex:none;place-items:center;display:grid}.school-off .school-initial{background:var(--surface-sunken);color:var(--text-muted)}.school-text{flex-direction:column;flex:1;min-width:0;display:flex}.school-name{font:var(--text-title);color:var(--text-strong)}.school-role{font:var(--text-body-sm);color:var(--text-muted)}.school-go{color:var(--text-muted);flex:none}.starting{background:linear-gradient(to right, var(--surface-card) var(--sidebar-w), var(--surface-page) var(--sidebar-w));min-height:100vh}@keyframes page-in{0%{opacity:.4;transform:translateY(4px)}}@media (prefers-reduced-motion:reduce){.page-title{animation:none}}.side{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}
