:root{color-scheme:dark;--bg:#0f1115;--bg-deep:#07080a;--stage:#12151b;--surface:#171a21;--surface-2:#1f232c;--line:#2a2f3a;--line-2:#3a3f4b;--dim:#4a505e;--ink:#f1ece2;--ink-2:#c9c2b6;--muted:#a39c90;--accent:#e9b44c;--accent-hi:#f3cb78;--on-accent:#1a1408;--blue:#8fb3e0;--ok:#a9d1b0;--ok-bg:#18241c;--bad:#e59a84;--bad-bg:#2a1a16;--draft:#ff8a80;--serif:"Fraunces", Georgia, serif;--sans:"Inter", system-ui, sans-serif;--tabs-h:66px}*{box-sizing:border-box}[hidden]{display:none!important}html{background:var(--bg)}body{background:var(--bg);color:var(--ink);font:16px/1.55 var(--sans);-webkit-font-smoothing:antialiased;margin:0}body.has-tabs{padding-bottom:calc(var(--tabs-h) + env(safe-area-inset-bottom))}a{color:var(--accent)}a:hover{color:var(--accent-hi)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.wrap{max-width:680px;margin:0 auto;padding:0 16px}.app{max-width:480px;margin:0 auto;padding:0 24px}@media (width<=360px){.app{padding:0 16px}}h1,h2,h3{font-family:var(--serif);margin:0;font-weight:400;line-height:1.08}.wrap h1{margin:24px 0 8px;font-size:clamp(34px,7vw,46px)}.wrap h2{margin:44px 0 12px;font-size:28px}.wrap h3{margin:28px 0 8px;font-size:22px}.lede{color:var(--muted);font-size:18px}.meta{color:var(--muted);font-size:14px}.eyebrow{font:600 12px/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.serif{font-family:var(--serif)}header.top .topbar{justify-content:space-between;align-items:center;gap:12px;min-height:56px;display:flex}.brand{font:600 13px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:14px 0;text-decoration:none}.brand:hover{color:var(--ink)}.lang{color:var(--muted);padding:14px 0 14px 12px;font-size:14px;font-weight:600;text-decoration:none}.btn{min-height:52px;font:700 16px/1.2 var(--sans);text-align:center;cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;gap:10px;padding:0 16px;text-decoration:none;display:flex}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-primary:hover{background:var(--accent-hi);color:var(--on-accent)}.btn-light{background:var(--ink);color:var(--bg)}.btn-light:hover{color:var(--bg);background:#fff}.btn-muted{background:var(--line);color:var(--ink)}.btn-muted:hover{background:var(--line-2);color:var(--ink)}.btn-ghost{background:var(--surface);min-height:46px;color:var(--ink-2);font-size:14px;font-weight:600}.btn-ghost:hover{background:var(--surface-2);color:var(--ink)}.btn-dashed{border:1px dashed var(--line-2);min-height:46px;color:var(--ink-2);background:0 0;font-size:14px;font-weight:600}.btn-dashed:hover{border-color:var(--muted);color:var(--ink)}.round{background:var(--surface);width:44px;height:44px;color:var(--ink);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;display:flex}.round:hover{color:#fff;background:var(--surface-2)}.row{background:var(--surface);min-height:56px;color:var(--ink);border-radius:16px;align-items:center;gap:12px;padding:10px 14px;font-size:15px;line-height:1.3;text-decoration:none;display:flex}.row:hover{background:var(--surface-2);color:var(--ink)}.text-link{color:var(--muted);padding:10px 4px;font-size:14px;font-weight:600;text-decoration:none}.text-link:hover{color:var(--ink)}.dot{background:var(--branch,var(--accent));border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.branch{color:var(--branch,var(--accent));align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.bars{gap:4px;display:inline-flex}.bars>span{background:var(--line);border-radius:2px;width:18px;height:4px}.bars>span.on{background:var(--accent)}.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;margin:12px 0;padding:16px 18px}.badge{font:700 11px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);vertical-align:middle;border:1px solid;border-radius:6px;padding:4px 7px;display:inline-block}.badge.draft{color:var(--draft)}.src{color:var(--ink-2);margin:6px 0;font-size:14px}.src a{color:var(--ink)}blockquote{background:var(--surface-2);font:italic 400 18px/1.4 var(--serif);color:var(--ink);border-radius:12px;margin:8px 0;padding:10px 14px}article{color:var(--ink-2)}article p{margin:0 0 1.1em}sup a.fn{color:var(--accent);padding:0 1px;font-weight:700;text-decoration:none}ol.notes{padding-left:22px}ol.notes li{margin:14px 0}ol.notes li::marker{color:var(--muted)}footer.site{border-top:1px solid var(--surface-2);color:var(--muted);margin-top:64px;padding:24px 0 40px;font-size:13px;line-height:1.5}footer.site nav{flex-wrap:wrap;gap:4px 18px;margin-bottom:10px;display:flex}footer.site nav a{color:var(--ink-2);padding:6px 0;font-size:14px;font-weight:600;text-decoration:none}footer.site nav a:hover{color:var(--ink)}.tabs{z-index:20;background:var(--bg);border-top:1px solid var(--surface-2);padding-bottom:env(safe-area-inset-bottom);position:fixed;bottom:0;left:0;right:0}.tabs .inner{grid-template-columns:repeat(3,minmax(0,1fr));max-width:480px;margin:0 auto;padding:6px 12px 10px;display:grid}.tabs a{min-height:48px;color:var(--muted);flex-direction:column;align-items:center;gap:4px;padding:6px;font-size:11px;font-weight:600;text-decoration:none;display:flex}.tabs a:hover{color:var(--ink)}.tabs a[aria-current=page]{color:var(--accent)}.previewbar{background:var(--draft);color:#1a0a08;text-align:center;letter-spacing:.06em;padding:6px;font-size:12px;font-weight:700}body.line-surv{color-scheme:light;--bg:#f1e7d3;--bg-deep:#e6d8bc;--stage:#ebdfc7;--surface:#f8f2e6;--surface-2:#e9dcc2;--line:#d6c39f;--line-2:#bfa77c;--dim:#9c8862;--ink:#22302e;--ink-2:#34423f;--muted:#56605d;--accent:#8a5a10;--accent-hi:#6c4508;--on-accent:#22302e;--amber:#e3a23a;--green:#5f8b4c;--blue:#3f6f76;--ok:#3d6b2f;--ok-bg:#e3ecd6;--bad:#8f3b23;--bad-bg:#f3dcd2;--draft:#b3261e;background:var(--bg)}html:has(body.line-surv){background:#f1e7d3}.line-surv h1,.line-surv h2,.line-surv h3{font-family:var(--sans);letter-spacing:-.015em;font-weight:800}.line-surv .btn-primary{background:var(--amber);color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}.line-surv .btn-primary:hover{color:var(--ink);background:#f0c46f}.line-surv .card{box-shadow:0 1px 0 var(--line)}.line-surv blockquote{font-family:var(--sans);font-size:16px;font-style:normal}.line-surv .brand{color:var(--ink);letter-spacing:.1em;align-items:center;gap:10px;font-weight:800;display:inline-flex}.line-surv header.top{border-bottom:2px solid var(--ink);box-shadow:0 4px 0 -2px var(--bg), 0 5px 0 -2px var(--ink)}.line-surv footer.site{border-top:2px solid var(--ink)}.line-surv footer.site nav a{color:var(--ink)}.line-surv .previewbar{color:#fff}
