@font-face{font-family:Geist Pixel;src:url(/fonts/GeistPixel-Square.woff2)format("woff2");font-display:swap}@font-face{font-family:Geist;src:url(/fonts/Geist-Variable.woff2)format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/GeistMono-Variable.woff2)format("woff2");font-weight:100 900;font-display:swap}:root{--outer:#e4e4e2;--paper:#fbfbfa;--ink:#121212;--ink-2:#4a4a48;--line:#121212;--hair:#d6d6d3;--amber:#d9a21b;--blue:#7c97dc;--green:#1f5a3a;--pink:#ecb6cb;--red:#e0391d;--pixel:"Geist Pixel", ui-monospace, monospace;--sans:"Geist", system-ui, sans-serif;--mono:"Geist Mono", ui-monospace, monospace;--kana:"DotGothic16", "Geist Pixel", sans-serif;--gut:16px;--pad:clamp(20px, 4vw, 48px);--snap:cubic-bezier(.34, 1.56, .64, 1);color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{background:var(--outer);color:var(--ink);font:400 17px/1.55 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}::selection{background:var(--ink);color:var(--amber)}:focus-visible{outline:2px solid var(--red);outline-offset:3px}html{scrollbar-color:var(--ink) var(--outer)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.frame{margin:var(--gut);border:1px solid var(--line);background:var(--paper)}.nav{border-bottom:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:stretch;min-height:72px;display:grid}.brand{border-right:1px solid var(--line);align-items:center;gap:14px;padding:0 22px 0 0;text-decoration:none;display:flex}.mono{place-items:center;padding-left:18px;display:grid}.mono svg{width:41px;height:46px}.wordmark{color:var(--ink);display:flex}.wordmark svg{width:154px;height:14px}.wordmark.stack{display:none}.wordmark.stack svg{width:94px;height:34px}.mono-img{width:27px;height:30px}.keys{justify-content:center;align-items:center;gap:clamp(16px,3vw,40px);padding:0 16px;display:flex}.keys a{font:500 15px/1 var(--sans);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.keys a:hover{text-decoration:underline}.lang{border-left:1px solid var(--line);font:500 14px/1 var(--mono);place-items:center;padding:0 22px;text-decoration:none;display:grid}.lang:hover{background:var(--ink);color:var(--paper)}kbd.key{border:1px solid var(--line);min-width:22px;height:22px;font:500 12px/1 var(--mono);color:var(--ink);background:var(--paper);place-items:center;padding:0 5px;display:inline-grid}.key.amber{background:var(--amber)}.key.blue{background:var(--blue)}.key.green{background:var(--green);color:var(--paper)}.key.pink{background:var(--pink)}.key.red{background:var(--red);color:var(--paper)}.sq{background:currentColor;flex:none;width:8px;height:8px;display:inline-block}.ticker{border-bottom:1px solid var(--line);background:var(--ink);height:34px;color:var(--paper);overflow:hidden}.ticker ul{transition:transform .42s var(--snap);margin:0;padding:0;list-style:none}.ticker li{height:34px;font:400 13px/1 var(--mono);letter-spacing:.02em;justify-content:center;align-items:center;gap:10px;display:flex}.ticker b{color:var(--amber);font-weight:600}.ticker .sq{background:var(--red)}.foot{padding:16px var(--pad) 16px 16px;border-top:1px solid var(--line);color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:12px 20px;font-size:14px;display:flex}.foot .kana{font:400 13px/1 var(--kana);margin-right:auto}.btn{border:1px solid var(--line);height:48px;font:500 15px/1 var(--sans);background:var(--paper);align-items:center;gap:14px;padding:0 12px 0 18px;text-decoration:none;transition:background .16s ease-out,color .16s ease-out;display:inline-flex}.btn:hover{background:var(--outer)}.btn.primary{background:var(--ink);color:var(--paper)}.btn.primary:hover{background:var(--red)}.sec-head{padding:var(--pad) var(--pad) 32px;max-width:760px}.sec-head h2,.sec-head h1{font:400 clamp(2.4rem, 5vw, 4rem)/.95 var(--pixel);text-transform:uppercase;margin:0 0 12px}.sec-head p{color:var(--ink-2);max-width:52ch;margin:0;font-size:1.1rem}@media (width<=640px){:root{--gut:8px}.keys a:not(:last-child){display:none}.keys{justify-content:flex-end}.wordmark{display:none}.wordmark.stack{display:flex}.mono{padding-left:12px}.mono svg{width:32px;height:36px}.brand{padding-right:14px}.ticker li{font-size:12px}}
