
:root{--bg:#07080A;--panel:#121418;--faint:#1D2228;--mid:#4A525B;--dim:#7D858D;--ink:#E6E1D3;
--nut:#E6E1D3;--k1:#6AA9DC;--k2:#8FBF6A;--k3:#E6E1D3;--k4:#E0894A;color-scheme:dark;
--mono:ui-monospace,SFMono-Regular,"Cascadia Mono",Menlo,Consolas,monospace;
--sans:"Helvetica Neue",Helvetica,Arial,system-ui,sans-serif}
@media (prefers-color-scheme:light){:root:not([data-theme="dark"]){--bg:#F3F1EC;--panel:#E9E6DE;--faint:#D6D2C8;--mid:#A8A49A;--dim:#686E75;--ink:#181A1E;--nut:#181A1E;color-scheme:light;--k1:#5A90BB;--k2:#709553;--k3:#8C8981;--k4:#C57941;}}
:root[data-theme="light"]{--bg:#F3F1EC;--panel:#E9E6DE;--faint:#D6D2C8;--mid:#A8A49A;--dim:#686E75;--ink:#181A1E;--nut:#181A1E;color-scheme:light;--k1:#5A90BB;--k2:#709553;--k3:#8C8981;--k4:#C57941;}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 var(--sans)}
a{color:var(--nuttext,var(--ink));text-decoration-thickness:1px;text-underline-offset:3px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--k1);outline-offset:2px}
code{font:0.88em var(--mono);background:var(--panel);padding:0.08em 0.35em;border-radius:3px}
pre{background:var(--panel);padding:12px 14px;overflow-x:auto;border-radius:4px;border:1px solid var(--faint)}
pre code{background:none;padding:0}
pre.notice{white-space:pre-wrap;font:12px/1.5 var(--mono);color:var(--dim)}
.wrap{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}
nav.side{border-right:1px solid var(--faint);padding:18px 16px 40px;font:13px/1.5 var(--mono);position:sticky;
top:0;height:100vh;overflow-y:auto}
nav.side .brand{display:flex;align-items:center;gap:10px;margin:0 0 18px;color:var(--ink);text-decoration:none}
nav.side .brand .mark{width:44px;height:44px;color:var(--ink);flex:none}
nav.side .brand b{font-size:18px;letter-spacing:0.04em}
nav.side .brand span{display:block;color:var(--dim);font-size:11px}
nav.side h2{font:600 11px var(--mono);color:var(--dim);letter-spacing:0.12em;text-transform:uppercase;margin:18px 0 6px}
nav.side ul{list-style:none;margin:0;padding:0}
nav.side li a{display:flex;align-items:center;gap:8px;padding:3px 6px;border-radius:3px;color:var(--ink);
text-decoration:none}
nav.side li a:hover{background:var(--panel)}
nav.side li a[aria-current]{background:var(--panel);box-shadow:inset 3px 0 0 var(--navc,var(--ink))}
nav.side li img{width:14px;height:14px;flex:none}
main{padding:0 40px 80px;max-width:1040px;min-width:0}
.status{display:flex;align-items:center;gap:10px;font:13px var(--mono);border-bottom:1px solid var(--nut);
padding:14px 0 10px;margin-bottom:8px;color:var(--dim);flex-wrap:wrap}
.status .nm{color:var(--nuttext,var(--ink));font-weight:700;letter-spacing:0.04em}
.status img{width:20px;height:20px}
.status .grow{flex:1}
.status button{font:12px var(--mono);background:none;color:var(--dim);border:1px solid var(--faint);
border-radius:3px;padding:3px 8px;cursor:pointer}
h1{font:700 34px/1.15 var(--mono);letter-spacing:0.02em;margin:22px 0 6px;color:var(--nuttext,var(--ink))}
h2{font:700 20px var(--mono);margin:44px 0 10px;padding-top:8px;border-top:1px solid var(--faint)}
h3{font:700 16px var(--mono);margin:30px 0 8px;color:var(--nuttext,var(--ink))}
h4{font:700 14px var(--mono);margin:22px 0 6px}
p,li{max-width:70ch}
blockquote{margin:16px 0;padding:8px 14px;border-left:3px solid var(--faint);background:var(--panel);max-width:70ch}
main>p:first-of-type{font-size:18px;color:var(--ink)}
table{border-collapse:collapse;font-size:14px;margin:12px 0;display:block;overflow-x:auto;max-width:100%}
th,td{text-align:left;padding:5px 12px 5px 0;border-bottom:1px solid var(--faint);vertical-align:top}
th{font:600 11px var(--mono);color:var(--dim);letter-spacing:0.08em;text-transform:uppercase}
td code{white-space:nowrap}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;border:2px solid var(--k);margin-right:7px}
details summary{cursor:pointer;color:var(--dim)}
details{font:13px var(--mono)}
figure{margin:0}
.lcd{background:#000;padding:10px;border-radius:12px;border:1px solid var(--faint);width:fit-content;flex:none}
.lcd img{display:block;width:240px;height:240px;image-rendering:auto;border-radius:2px}
.lcd.solo{margin:14px 0}
.lcd figcaption{font:12px var(--mono);color:#7D858D;margin-top:8px;max-width:240px}
.legend{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin-top:6px;width:240px}
.kc{font:10px/1.2 var(--mono);color:#E6E1D3;border-top:2px solid var(--k);padding:3px 2px 0;min-height:30px}
.kc .kl{display:block;color:#7D858D}
.kc .kv{display:block;font-size:11px}
.kc.empty{border-top-color:#1D2228}
.card{display:flex;gap:28px;align-items:flex-start;flex-wrap:wrap;margin:18px 0 8px}
.cardtext{flex:1;min-width:240px}
.card .about{font:15px var(--mono);color:var(--nuttext,var(--ink));margin:0 0 12px}
dl{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;font-size:14px;margin:0}
dt{font:600 11px var(--mono);color:var(--dim);letter-spacing:0.08em;text-transform:uppercase;padding-top:3px}
dd{margin:0}
.pgrow{display:flex;gap:28px;align-items:flex-start;flex-wrap:wrap}
.pgrow.bare{margin:14px 0}
.pgtext{flex:1;min-width:260px}
.pgtext p:first-child{margin-top:0}
.presets{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;font:12px var(--mono)}
.presets li{border:1px solid var(--faint);padding:2px 8px;border-radius:3px}
.diag{margin:16px 0;overflow-x:auto;max-width:100%}
.diag img{display:block;max-width:100%;height:auto}
.nutgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin:14px 0}
.nutcell{display:grid;grid-template-columns:24px 1fr;gap:2px 10px;padding:10px 12px;border:1px solid var(--faint);
border-left:3px solid var(--nut);border-radius:4px;text-decoration:none;color:var(--ink);background:var(--panel)}
.nutcell:hover{border-color:var(--nut)}
.nutcell img{grid-row:span 3}
.nutcell .nn{font:700 14px var(--mono)}
.nutcell .na{font-size:13px}
.nutcell .nw{font:11px var(--mono);color:var(--dim)}
footer{margin-top:60px;padding-top:14px;border-top:1px solid var(--faint);font-size:13px;color:var(--dim)}
footer p{max-width:none}
.pager{display:flex;justify-content:space-between;gap:12px;margin-top:40px;font:13px var(--mono)}
.menu{display:none}
@media (max-width:820px){
.wrap{display:block}
nav.side{position:static;height:auto;border-right:0;border-bottom:1px solid var(--faint);padding:12px 16px}
nav.side .groups{display:none}
nav.side.open .groups{display:block}
.menu{display:inline-block;font:12px var(--mono);background:none;color:var(--ink);border:1px solid var(--faint);
border-radius:3px;padding:4px 10px;margin-left:auto;cursor:pointer}
nav.side .top{display:flex;align-items:center}
nav.side .brand{margin:0}
main{padding:0 16px 60px}
h1{font-size:26px}
.lcd img,.legend{width:min(240px,calc(100vw - 54px));height:auto}
}
