:root{--bg:#fdfdfc;--fg:#1b1b1a;--muted:#63635e;--accent:#0b6b5e;--border:#e2e1dc;--measure:34rem}@media(prefers-color-scheme:dark){:root{--bg:#141413;--fg:#e8e6e1;--muted:#a3a099;--accent:#5fcfc0;--border:#2f2e2b}}*,*::before,*::after{box-sizing:border-box}html{scroll-padding-top:1.5rem;scroll-behavior:smooth;-webkit-text-size-adjust:100%}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,hiragino sans,hiragino kaku gothic pron,noto sans jp,yu gothic,Meiryo,sans-serif;font-size:1rem;line-height:1.9;letter-spacing:.02em;text-rendering:optimizeLegibility}.hero,main,.footer{width:100%;max-width:var(--measure);margin-inline:auto;padding-inline:1.25rem}.skip-link{position:absolute;left:-9999px}.skip-link:focus{position:static;display:inline-block;padding:.5rem 1rem}.hero{padding-block:3rem 1rem}h1{margin:0;font-size:1.75rem;line-height:1.4;letter-spacing:.01em}.tagline{margin:.5rem 0 0;color:var(--muted)}.toc{margin-top:1.75rem}.toc ul{display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none}.toc a{display:inline-block;min-height:2.75rem;padding:.55rem .9rem;border:1px solid var(--border);border-radius:999px;color:var(--fg);font-size:.9rem;text-decoration:none}.toc a:hover,.toc a:focus-visible{border-color:var(--accent);color:var(--accent)}main section{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border)}h2{margin:0 0 1rem;font-size:1.15rem;letter-spacing:.04em;color:var(--accent)}p{margin:0 0 1.4em}ul,ol{margin:0 0 1.4em;padding-left:1.4em}li{margin-bottom:.4em}a{color:var(--accent);text-decoration:underline;text-underline-offset:.2em}a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}code{padding:.1em .35em;border-radius:4px;background:var(--border);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em}img{max-width:100%;height:auto}.footer{margin-top:4rem;padding-block:2rem 3rem;border-top:1px solid var(--border);color:var(--muted)}.footer p{margin:0}@media(min-width:40rem){.hero{padding-block:5rem 1.5rem}h1{font-size:2.25rem}}