:root{--bg: #0e1013;--panel: #16191e;--panel-2: #1c2027;--line: #272c35;--ink: #e8eaee;--ink-dim: #9aa2b1;--ink-faint: #6b7383;--accent: #5ec8a0;--warn: #e0a458;--bad: #e06c6c;--good: #5ec8a0;--radius: 10px;--gap: 16px;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;--sans: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}@media(prefers-color-scheme:light){:root{--bg: #f7f8f9;--panel: #ffffff;--panel-2: #f1f3f5;--line: #e0e3e8;--ink: #14181d;--ink-dim: #545c6a;--ink-faint: #858d9b}}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.5;-webkit-text-size-adjust:100%}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.wrap{max-width:1100px;margin:0 auto;padding:16px}nav.top{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid var(--line);padding:10px 16px;background:var(--panel);position:sticky;top:0;z-index:10}nav.top a{color:var(--ink-dim);padding:6px 10px;border-radius:6px;font-size:14px}nav.top a.active{color:var(--ink);background:var(--panel-2)}nav.top .brand{font-weight:700;color:var(--ink);padding:6px 10px;letter-spacing:.02em}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px;margin-bottom:var(--gap)}.panel>h2{margin:0 0 10px;font-size:15px;letter-spacing:.01em}.panel>h3{margin:12px 0 6px;font-size:13px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.06em}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.card{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:12px}.card .label{font-size:12px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.06em}.card .value{font-size:24px;font-weight:650;font-variant-numeric:tabular-nums;margin-top:4px}.card .sub{font-size:12px;color:var(--ink-faint);margin-top:2px}.dash{color:var(--ink-faint);cursor:help;border-bottom:1px dotted var(--ink-faint)}.chip{display:inline-block;font-size:11px;padding:2px 7px;border-radius:999px;border:1px solid var(--line);background:var(--panel-2);color:var(--ink-dim);margin:2px 4px 2px 0;white-space:nowrap}.chip.unlock{border-style:dashed;color:var(--ink-faint)}.chip.good{color:var(--good);border-color:var(--good)}.chip.warn{color:var(--warn);border-color:var(--warn)}.chip.bad{color:var(--bad);border-color:var(--bad)}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:7px 8px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--ink-dim);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.05em}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.scroll-x{overflow-x:auto}button,.btn{font:inherit;font-size:14px;background:var(--panel-2);color:var(--ink);border:1px solid var(--line);border-radius:7px;padding:7px 12px;cursor:pointer}button:hover,.btn:hover{border-color:var(--accent);text-decoration:none}button.primary{background:var(--accent);color:#06231a;border-color:var(--accent);font-weight:600}button:disabled{opacity:.55;cursor:not-allowed}input,textarea,select{font:inherit;font-size:14px;background:var(--panel-2);color:var(--ink);border:1px solid var(--line);border-radius:7px;padding:8px 10px;width:100%}textarea{font-family:var(--mono);font-size:13px;min-height:110px}label{display:block;font-size:12px;color:var(--ink-dim);margin:10px 0 4px}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end}.row>*{flex:1 1 200px}.row>button{flex:0 0 auto}pre.copy{background:var(--panel-2);border:1px solid var(--line);border-radius:7px;padding:10px;font-family:var(--mono);font-size:12.5px;white-space:pre-wrap;word-break:break-word;margin:6px 0;max-height:380px;overflow:auto}.muted{color:var(--ink-dim);font-size:13px}.tiny{font-size:12px;color:var(--ink-faint)}.banner{border:1px solid var(--warn);background:color-mix(in srgb,var(--warn) 12%,transparent);border-radius:8px;padding:10px 12px;margin-bottom:var(--gap);font-size:13.5px}.banner.bad{border-color:var(--bad);background:color-mix(in srgb,var(--bad) 12%,transparent)}@media(max-width:620px){.wrap{padding:10px}.card .value{font-size:20px}table{font-size:13px}}
