:root{--bg:#faf9f7;--ink:#14161a;--ink-2:#5c626d;--ink-3:#6b7078;--line:rgba(20,22,26,.11);--fill:rgba(20,22,26,.04);color-scheme:light}
html[data-mode="dark"]{--bg:#141519;--ink:#f7f8f8;--ink-2:#9b9ca6;--ink-3:#989ba4;--line:rgba(255,255,255,.09);--fill:rgba(255,255,255,.04);color-scheme:dark}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",system-ui,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.65}
header,.site-footer{width:90%;margin-inline:auto;display:flex;align-items:center;justify-content:space-between}
header{padding:20px 0;min-height:80px}
a{color:inherit;text-underline-offset:4px;text-decoration-thickness:1px;text-decoration-color:var(--line)}
a:hover{color:var(--ink);text-decoration-color:currentColor}
a:focus-visible,button:focus-visible{outline:2px solid var(--ink-2);outline-offset:5px;border-radius:3px}
.brand{display:inline-flex;align-items:center;gap:8px;font-size:19px;font-weight:650;letter-spacing:-.04em;text-decoration:none;line-height:1}
.brand-logo{width:28px;height:28px;border-radius:24%;display:block}
html[data-mode="dark"] .brand-logo{filter:invert(1) grayscale(1)}
.brand .sub{margin-left:.2em;font-weight:500;color:var(--ink-2);letter-spacing:-.02em}
.mode{width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:50%;padding:0;background:none;color:var(--ink-3);cursor:pointer}
.mode:hover{color:var(--ink);background:var(--fill)}
.mode .moon{display:none}html[data-mode="dark"] .mode .sun{display:none}html[data-mode="dark"] .mode .moon{display:block}
main{flex:1;width:min(720px,calc(100% - 48px));margin:0 auto;padding:64px 0 96px}
.page-intro{margin-bottom:46px}
h1,h2,h3{color:var(--ink);font-weight:600}
h1{font-size:clamp(40px,4.5vw,54px);line-height:1.08;letter-spacing:-.055em;margin:0 0 20px;font-weight:650}
.lede{font-size:19px;line-height:1.55;letter-spacing:-.018em;color:var(--ink-2);max-width:610px;margin:0}
.updated{font-size:13px;color:var(--ink-3);margin:18px 0 0}
article{font-size:16px;letter-spacing:-.008em;color:var(--ink-2);overflow-wrap:anywhere}
section+section{margin-top:38px}h2{font-size:22px;letter-spacing:-.025em;line-height:1.3;margin:0 0 13px}
h3{font-size:17px;letter-spacing:-.018em;line-height:1.4;margin:24px 0 8px}
p{margin:0 0 14px}p:last-child{margin-bottom:0}ul{padding-left:21px;margin:0}li+li{margin-top:12px}strong{font-weight:600;color:var(--ink)}
code{display:block;font:12px/1.65 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ink-3);overflow-wrap:anywhere;margin-top:16px}
.site-footer{flex-wrap:wrap;gap:16px 24px;padding:20px 0 28px;font-size:13px;color:var(--ink-3)}
.flinks{display:flex;flex-wrap:wrap;gap:10px 22px;justify-content:center}
.flinks a{text-decoration:none}.flinks a:hover,.flinks a[aria-current="page"]{color:var(--ink)}
.credit-avatars,.credit-weather{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0 22px}.credit-weather img{display:block;width:64px;height:64px}.credit-avatars img{width:64px;height:64px;border-radius:50%;background:var(--fill);object-fit:cover}
.skip{position:absolute;left:24px;top:-100px;background:var(--bg);padding:10px 16px;z-index:5}.skip:focus{top:12px}
@media(max-width:640px){header,.site-footer{width:calc(100% - 48px)}header{padding:20px 0}main{padding:40px 0 64px}.page-intro{margin-bottom:36px}.lede{font-size:18px}h1{font-size:40px}h2{font-size:21px}.site-footer{justify-content:center;text-align:center}.flinks{gap:10px 20px}.credit-avatars img,.credit-weather img{width:56px;height:56px}}
@media(prefers-reduced-motion:no-preference){html.theming body,html.theming header,html.theming main,html.theming footer,html.theming a,html.theming p,html.theming h1,html.theming h2,html.theming h3{transition:color .2s,background-color .2s}}
