:root{--bg:#fbfaf7;--surface:#fff;--text:#1c1b18;--muted:#5f5b52;--line:#e6e2d9;--accent:#a87b12;--accent-ink:#fff;--accent-soft:#f6eedb;--good:#1f7a4d;--bad:#b3261e;--radius:10px;--max:1080px;--font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#141310;--surface:#1c1b17;--text:#efece4;--muted:#a9a499;--line:#2f2d27;--accent:#e0b44c;--accent-ink:#1c1b18;--accent-soft:#2b2416;--good:#57c28c;--bad:#ff8a80;color-scheme:dark}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font:16px/1.6 var(--font);text-rendering:optimizelegibility;margin:0}a{color:inherit;text-underline-offset:3px}a:hover{color:var(--accent)}img,svg{max-width:100%;height:auto}code,pre{font-family:var(--mono);font-size:.9em}pre{white-space:pre-wrap;word-break:break-word;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;overflow-x:auto}.wrap{max-width:var(--max);margin:0 auto;padding:0 16px}.skip{position:absolute;left:-999px}.skip:focus{background:var(--surface);z-index:10;padding:8px 12px;top:8px;left:16px}header.site{border-bottom:1px solid var(--line);background:var(--bg)}header.site .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;min-height:60px;display:flex}.logo{letter-spacing:-.02em;align-items:center;gap:8px;font-size:1.15rem;font-weight:750;text-decoration:none;display:inline-flex}.logo .mark{background:var(--accent);border-radius:3px;width:14px;height:14px;transform:rotate(45deg)}nav.main{flex-wrap:wrap;gap:18px;font-size:.95rem;display:flex}nav.main a{color:var(--muted);text-decoration:none}nav.main a[aria-current=page],nav.main a:hover{color:var(--text)}main{padding:40px 0 72px}footer.site{border-top:1px solid var(--line);color:var(--muted);padding:28px 0 40px;font-size:.9rem}footer.site .wrap{flex-wrap:wrap;justify-content:space-between;gap:24px;display:flex}h1,h2,h3{letter-spacing:-.02em;margin:0 0 12px;line-height:1.2}h1{font-size:clamp(1.9rem,4.5vw,3rem)}h2{margin-top:48px;font-size:clamp(1.35rem,3vw,1.8rem)}h3{font-size:1.1rem}p{margin:0 0 14px}.lead{color:var(--muted);max-width:720px;font-size:1.15rem}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;font-size:.85rem;font-weight:650}.muted{color:var(--muted)}.small{font-size:.9rem}.btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;font-weight:600;font:inherit;color:var(--text);border-radius:8px;padding:11px 18px;font-weight:600;text-decoration:none;display:inline-block}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn:hover{border-color:var(--accent);color:inherit}.btn.primary:hover{filter:brightness(1.05);color:var(--accent-ink)}.btn[disabled],.btn[aria-disabled=true]{opacity:.5;pointer-events:none}.actions{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.grid{gap:16px;display:grid}.grid.two{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.grid.four{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px}.card h3{margin-bottom:6px}.card p:last-child{margin-bottom:0}a.card{text-decoration:none;display:block}a.card:hover{border-color:var(--accent);color:inherit}.step-n{font-family:var(--mono);color:var(--accent);font-size:.85rem}.badge{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:2px 8px;font-size:.78rem;font-weight:650;display:inline-block}.badge.gray{background:var(--line);color:var(--muted)}ul.clean{margin:0;padding:0;list-style:none}ul.clean li{border-bottom:1px solid var(--line);padding:8px 0}ul.clean li:last-child{border-bottom:0}ul.ticks{padding-left:1.2em}ul.ticks li{margin:6px 0}.table-wrap{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.95rem}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:10px 14px}th{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);white-space:nowrap;font-size:.8rem;font-weight:650}tr:last-child td{border-bottom:0}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.rank{font-variant-numeric:tabular-nums;font-weight:750}.bar{background:var(--line);border-radius:3px;min-width:80px;height:6px;margin-top:4px;overflow:hidden}.bar>span{background:var(--accent);height:100%;display:block}dl.timeline{grid-template-columns:max-content 1fr;gap:6px 16px;margin:0;display:grid}dl.timeline dt{color:var(--muted)}dl.timeline dd{font-variant-numeric:tabular-nums;margin:0}form.stack{gap:16px;max-width:640px;display:grid}label{margin-bottom:4px;font-weight:600;display:block}.hint{color:var(--muted);font-size:.88rem;font-weight:400}input[type=text],input[type=email],input[type=url],select,textarea{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--text);font:inherit;border-radius:8px;padding:10px 12px}input:focus-visible,select:focus-visible,textarea:focus-visible,.btn:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.checks{flex-wrap:wrap;gap:8px 18px;display:flex}.checks label{align-items:center;gap:6px;margin:0;font-weight:400;display:inline-flex}.error{color:var(--bad);margin-top:4px;font-size:.9rem}.notice{border:1px solid var(--line);border-left:4px solid var(--accent);background:var(--surface);border-radius:8px;padding:12px 16px}.notice.bad{border-left-color:var(--bad)}.notice.good{border-left-color:var(--good)}.hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.subscribe{flex-wrap:wrap;align-items:stretch;gap:8px;max-width:720px;display:flex}.subscribe input[type=email]{flex:260px;width:auto}.subscribe select{flex:0 190px;width:auto}.subscribe .btn{flex:none}.steps{counter-reset:s;flex-wrap:wrap;gap:8px;margin:0 0 24px;padding:0;list-style:none;display:flex}.steps li{counter-increment:s;border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:6px 12px;font-size:.9rem}.steps li:before{content:counter(s) ". "}.steps li[aria-current=step]{border-color:var(--accent);color:var(--text)}.vote-pair{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.vote-pair pre{max-height:420px;margin:0 0 12px;overflow:auto}@media (width<=560px){main{padding-top:28px}th,td{padding:8px 10px}}
