:root{--bg: #fbfbf9;--surface: #f0f0ec;--surface-2: #e5e5df;--surface-3: #d3d3cc;--ink: #121212;--muted: #4d4d4d;--faint: #6b6b6b;--aed: #0b7a4b;--aed-press: #096640;--aed-ink: #ffffff;--open: #0b7a4b;--closed: #c62828;--closed-text: #b3261e;--closed-soft: #f2c9c5;--unknown: #8a8a8a;--hi: #8f5f00;--overlay: rgba(251, 251, 249, .92);--shadow: rgba(18, 18, 18, .16);--map-ground: #ecece8;--school: #ffd100;--school-ink: #111111;--night: #1e4bd7;--night-ink: #ffffff;--locked: #c81e1e;--locked-ink: #ffffff;--font: "Cabinet Grotesk", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--code: ui-monospace, "Cascadia Code", "SF Mono", Menlo, Consolas, monospace;--step-small: clamp(.8125rem, .79rem + .1vw, .875rem);--step-body: clamp(1.0625rem, 1rem + .25vw, 1.1875rem);--step-lead: clamp(1.25rem, 1.1rem + .7vw, 1.625rem);--step-head: clamp(2.5rem, 1.2rem + 5vw, 5.5rem);--step-display: clamp(3.25rem, 1rem + 6.4vw, 7rem);--margin: clamp(16px, 3vw, 40px);--radius: 0px;--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);color-scheme:light}[data-theme=dark],.chapter--school,.chapter--night,.chapter--locked,.site-footer{--bg: #121212;--surface: #1c1c1c;--surface-2: #262626;--surface-3: #313131;--ink: #ffffff;--muted: #b3b3b3;--faint: #8c8c8c;--open: #3ee08f;--closed: #e2453b;--closed-text: #ff8a80;--closed-soft: #4a2523;--unknown: #9a9a9a;--hi: #ffd100;--overlay: rgba(18, 18, 18, .88);--shadow: rgba(0, 0, 0, .55);--map-ground: #161616}[data-theme=dark]{color-scheme:dark}.theme-switching *,.theme-switching *:before,.theme-switching *:after{transition:none!important}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scrollbar-color:var(--surface-3) var(--bg)}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:var(--step-body);line-height:1.5;font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--school);color:var(--school-ink)}img,svg,canvas{display:block;max-width:100%}h1,h2,h3,h4{margin:0;font-weight:800;line-height:.95;letter-spacing:-.035em;text-wrap:balance}p{margin:0;text-wrap:pretty}a{color:inherit;text-decoration-thickness:2px;text-underline-offset:.18em}:focus-visible{outline:3px solid var(--hi);outline-offset:3px}code,pre,kbd{font-family:var(--code);font-size:.9em}.num{font-variant-numeric:tabular-nums}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.wrap{width:100%;max-width:1480px;margin-inline:auto;padding-inline:var(--margin)}.button{display:inline-flex;align-items:center;gap:.6em;min-height:52px;padding:0 1.4em;border:0;border-radius:var(--radius);background:var(--aed);color:var(--aed-ink);font:500 var(--step-body) / 1 var(--font);text-decoration:none;cursor:pointer;transition:background-color .16s ease,transform .16s var(--ease-out)}.button:active{transform:scale(.97)}@media(hover:hover)and (pointer:fine){.button:hover{background:var(--aed-press)}}.button[disabled]{opacity:.5;cursor:not-allowed}.button--quiet{background:var(--surface-2);color:var(--ink)}@media(hover:hover)and (pointer:fine){.button--quiet:hover{background:var(--surface-3)}}.button--ink{background:var(--ink);color:var(--bg)}.button svg{width:1.1em;height:1.1em;flex:none}.site-header{position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:72px;padding-inline:var(--margin)}.wordmark{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:1.5rem;letter-spacing:-.03em;text-decoration:none}.wordmark svg{width:28px;height:28px}.wordmark__bolt{fill:var(--bg)}.theme-toggle{display:inline-grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:var(--radius);background:transparent;color:var(--ink);cursor:pointer;transition:background-color .16s ease,transform .16s var(--ease-out)}.theme-toggle:active{transform:scale(.94)}@media(hover:hover)and (pointer:fine){.theme-toggle:hover{background:var(--surface-2)}}.theme-toggle svg{grid-area:1 / 1;width:22px;height:22px}.theme-toggle__sun,[data-theme=dark] .theme-toggle__moon{display:none}[data-theme=dark] .theme-toggle__sun{display:block}.site-nav{display:flex;align-items:center;gap:clamp(14px,2vw,32px)}.site-nav a:not(.button){position:relative;text-decoration:none;font-weight:500;padding-block:8px}.site-nav a:not(.button):after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .22s var(--ease-out)}.site-nav a[aria-current=page]:after{transform:scaleX(1)}@media(hover:hover)and (pointer:fine){.site-nav a:not(.button):hover:after{transform:scaleX(1)}}.site-nav .button{min-height:44px}.wordmark,.site-nav .button{white-space:nowrap}@media(max-width:760px){.site-nav a:not(.button):not(.keep){display:none}.site-header{gap:12px}.site-nav{gap:6px}.wordmark{gap:8px;font-size:1.25rem}.wordmark svg{width:24px;height:24px}.site-nav .button{padding-inline:.9em;font-size:.9375rem}}@media(max-width:340px){.wordmark__name{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}.stack{background:var(--surface);padding-block:clamp(56px,8vw,112px)}.stack__grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(24px,4vw,64px)}.stack h2{font-size:clamp(2rem,1rem + 3vw,3.5rem)}.stack__intro{margin-top:20px;color:var(--muted);max-width:34ch}.stack__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px;margin:0;padding:0;list-style:none}.stack__list li{background:var(--surface-2);padding:18px 20px 20px}.stack__list b{display:block;font-weight:800;font-size:1.125rem;letter-spacing:-.01em}.stack__list span{display:block;margin-top:6px;color:var(--muted);font-size:1rem;line-height:1.45}@media(max-width:900px){.stack__grid{grid-template-columns:1fr}}.site-footer{background:var(--aed);color:var(--aed-ink);overflow:hidden;padding:clamp(96px,10vw,144px) 0 32px}.site-footer__name{font-weight:800;font-size:clamp(4rem,17vw,17rem);line-height:.8;letter-spacing:-.05em;white-space:nowrap}.site-footer__row{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:32px;margin-top:72px}.site-footer__places{display:grid;gap:4px;font-size:clamp(1.5rem,1rem + 1.4vw,2.25rem);font-weight:800;letter-spacing:-.02em}.site-footer__places a{text-decoration:none}.site-footer__places a:hover{text-decoration:underline}.site-footer__cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;font-size:.95rem}.site-footer__cols h3{font-size:1rem;letter-spacing:0;margin-bottom:10px}.site-footer__cols ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.site-footer__legal{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:96px;font-size:var(--step-small)}@media(max-width:760px){.site-footer__row{grid-template-columns:1fr}.site-footer__cols{grid-template-columns:1fr 1fr}}.rise{transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}.js .rise:not(.is-in){opacity:0;transform:translateY(24px)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .rise:not(.is-in){opacity:1;transform:none}.rise{transition:opacity .3s ease}}.emergency{display:inline-flex;align-items:center;gap:10px;font-weight:500}.emergency svg{width:20px;height:20px;flex:none}
