:root{--paper:#f7f9f7;--card:#fff;--bar:#eef3ee;--ink:#17201c;--ink-soft:#5a6862;--ink-faint:#8b968f;--rule:#dfe6e0;--rule-strong:#c3cfc6;--accent:#0f5c52;--accent-ink:#fff;--accent-soft:#e3efeb;--pos:#2f6b4f;--warn:#8a5a06;--warn-soft:#f6ecd8;--crit:#a33a2a;--crit-soft:#f7e7e3;--shadow:0 1px 2px #17201c0d, 0 8px 24px -16px #17201c4d;--sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--serif:ui-serif, Georgia, "Iowan Old Style", "Times New Roman", serif;--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace}@media (prefers-color-scheme:dark){:root{--paper:#0e1412;--card:#151d1a;--bar:#1a2320;--ink:#e4ece7;--ink-soft:#9aa8a1;--ink-faint:#6d7b75;--rule:#253029;--rule-strong:#35443c;--accent:#57bfa9;--accent-ink:#0c1614;--accent-soft:#17302b;--pos:#6dbd93;--warn:#d8a45c;--warn-soft:#2e2513;--crit:#e08a78;--crit-soft:#33201c;--shadow:0 1px 2px #0006, 0 8px 24px -16px #000c}}:root[data-theme=dark]{--paper:#0e1412;--card:#151d1a;--bar:#1a2320;--ink:#e4ece7;--ink-soft:#9aa8a1;--ink-faint:#6d7b75;--rule:#253029;--rule-strong:#35443c;--accent:#57bfa9;--accent-ink:#0c1614;--accent-soft:#17302b;--pos:#6dbd93;--warn:#d8a45c;--warn-soft:#2e2513;--crit:#e08a78;--crit-soft:#33201c;--shadow:0 1px 2px #0006, 0 8px 24px -16px #000c}:root[data-theme=light]{--paper:#f7f9f7;--card:#fff;--bar:#eef3ee;--ink:#17201c;--ink-soft:#5a6862;--ink-faint:#8b968f;--rule:#dfe6e0;--rule-strong:#c3cfc6;--accent:#0f5c52;--accent-ink:#fff;--accent-soft:#e3efeb;--pos:#2f6b4f;--warn:#8a5a06;--warn-soft:#f6ecd8;--crit:#a33a2a;--crit-soft:#f7e7e3;--shadow:0 1px 2px #17201c0d, 0 8px 24px -16px #17201c4d}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.55}a{color:var(--accent);-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 40%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 40%, transparent)}a:hover{text-decoration-color:currentColor}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.shell{max-width:1240px;margin:0 auto;padding:0 22px 72px}.topbar{border-bottom:1px solid var(--rule);background:var(--card);margin-bottom:26px}.topbar-in{flex-wrap:wrap;align-items:center;gap:26px;max-width:1240px;min-height:58px;margin:0 auto;padding:0 22px;display:flex}.brand{font-family:var(--serif);letter-spacing:-.01em;color:var(--ink);font-size:17px;font-weight:600;text-decoration:none}.brand span{color:var(--accent)}nav.main{flex-wrap:wrap;gap:3px;display:flex}nav.main a{color:var(--ink-soft);border-radius:3px;padding:6px 11px;font-size:14px;text-decoration:none}nav.main a:hover{background:var(--bar);color:var(--ink)}nav.main a[aria-current=page]{background:var(--accent-soft);color:var(--accent);font-weight:600}.topbar form{margin-left:auto}.page-head{flex-direction:column;gap:6px;margin-bottom:20px;display:flex}.page-head .row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}h1{font-family:var(--serif);letter-spacing:-.015em;text-wrap:balance;margin:0;font-size:29px;font-weight:600;line-height:1.15}h2{font-family:var(--serif);letter-spacing:-.01em;margin:0;font-size:19px;font-weight:600;line-height:1.25}h3{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-size:12px;font-family:var(--mono);margin:0;font-weight:600}.sub{color:var(--ink-soft);max-width:74ch;margin:0;font-size:14px;line-height:1.5}section{flex-direction:column;gap:12px;margin-bottom:30px;display:flex}section>h2+.sub{margin-top:-6px}.tiles{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;display:grid}.tiles.scope{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.tiles.scope .tile .c{min-height:2.6em}.tile{background:var(--card);border:1px solid var(--rule);box-shadow:var(--shadow);border-radius:4px;flex-direction:column;gap:3px;padding:12px 14px;display:flex}.tile .k{color:var(--ink-soft);font-size:12.5px;line-height:1.3}.tile .v{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:20px;line-height:1.25}.tile .c{font-family:var(--mono);color:var(--ink-faint);font-variant-numeric:tabular-nums;font-size:11.5px}.tile.lead{border-left:3px solid var(--accent)}.tile.good{border-left:3px solid var(--pos)}.tile.bad{border-left:3px solid var(--crit)}.scope-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.statstrip{background:var(--card);border:1px solid var(--rule);box-shadow:var(--shadow);border-radius:4px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid;overflow:hidden}.statstrip>div{border-right:1px solid var(--rule);flex-direction:column;gap:2px;padding:13px 16px;display:flex}.statstrip>div:last-child{border-right:0}.statstrip .k{color:var(--ink-soft);letter-spacing:.01em;font-size:11.5px}.statstrip .v{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:18px;line-height:1.25}.statstrip .c{font-family:var(--mono);color:var(--ink-faint);font-size:11px}@media (max-width:700px){.statstrip>div{border-right:0;border-bottom:1px solid var(--rule)}.statstrip>div:last-child{border-bottom:0}}.card{background:var(--card);border:1px solid var(--rule);box-shadow:var(--shadow);border-radius:4px;padding:16px}.card>h3{margin-bottom:11px}.grid2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;display:grid}.grid3{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;display:grid}dl.kv{grid-template-columns:1fr auto;gap:7px 14px;margin:0;display:grid}dl.kv dt{color:var(--ink-soft);font-size:13.5px}dl.kv dd{font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right;margin:0;font-size:13.5px}.controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}input,select,textarea,button{font:inherit}input[type=text],input[type=search],input[type=number],input[type=date],input[type=password],select,textarea{border:1px solid var(--rule-strong);background:var(--card);color:var(--ink);border-radius:3px;width:100%;min-width:0;padding:7px 10px;font-size:13.5px}.controls input[type=search]{flex:220px;width:auto}.controls select,.controls input[type=date]{width:auto}label.check{color:var(--ink-soft);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:7px;font-size:13.5px;display:inline-flex}label.check input{width:auto}.field{flex-direction:column;gap:5px;display:flex}.field>span{color:var(--ink-soft);font-size:12.5px}.field .hint{color:var(--ink-faint);font-size:11.5px}.fieldset{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:13px;display:grid}.btn{border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);cursor:pointer;border-radius:3px;align-items:center;gap:7px;padding:8px 14px;font-size:13.5px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{filter:brightness(1.08)}.btn.ghost{background:var(--card);color:var(--ink-soft);border-color:var(--rule-strong);font-weight:400}.btn.ghost:hover{color:var(--ink);border-color:var(--accent);filter:none}.btn.danger{background:var(--card);color:var(--crit);border-color:var(--crit)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-row{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.count{font-family:var(--mono);color:var(--ink-faint);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px}.scroll{border:1px solid var(--rule);background:var(--card);box-shadow:var(--shadow);border-radius:4px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}thead th{z-index:2;background:var(--bar);text-align:left;font-family:var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-soft);border-bottom:1px solid var(--rule-strong);white-space:nowrap;padding:9px 11px;font-size:10.5px;font-weight:600;position:sticky;top:0}thead th:has(.sort){padding:0}a.sort{color:inherit;font:inherit;letter-spacing:inherit;white-space:nowrap;padding:9px 11px;text-decoration:none;display:block}a.sort:hover{background:var(--accent-soft);color:var(--accent)}a.sort.on{color:var(--accent)}a.sort span{width:.9em;display:inline-block}th.num a.sort{text-align:right}tbody td{border-bottom:1px solid var(--rule);white-space:nowrap;padding:7px 11px}tbody tr:nth-child(2n){background:color-mix(in srgb, var(--bar) 55%, transparent)}tbody tr:hover{background:var(--accent-soft)}tfoot td{border-top:2px solid var(--rule-strong);font-family:var(--mono);font-variant-numeric:tabular-nums;background:var(--bar);padding:9px 11px;font-weight:600}.num{font-family:var(--mono);text-align:right;font-variant-numeric:tabular-nums}th.num{text-align:right}.neg{color:var(--crit)}.muted{color:var(--ink-faint)}.ref{font-family:var(--mono);font-size:12.5px}.empty{text-align:center;color:var(--ink-faint);padding:42px;font-size:14px}.chip{font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase;background:var(--bar);color:var(--ink-soft);white-space:nowrap;border-radius:2px;padding:2px 7px;font-size:10.5px;display:inline-block}.chip+.chip{margin-left:5px}.chip.pos{background:var(--accent-soft);color:var(--pos)}.chip.warn{background:var(--warn-soft);color:var(--warn)}.chip.crit{background:var(--crit-soft);color:var(--crit)}.banner{border:1px solid var(--rule-strong);border-left:3px solid var(--warn);background:var(--warn-soft);color:var(--warn);border-radius:3px;padding:11px 14px;font-size:13.5px}.banner.err{border-left-color:var(--crit);background:var(--crit-soft);color:var(--crit)}.banner.ok{border-left-color:var(--pos);background:var(--accent-soft);color:var(--pos)}.chart{flex-direction:column;gap:12px;display:flex}.chart-canvas{width:100%;height:268px}.recharts-cartesian-axis-tick text{fill:var(--ink-faint);font-size:11px;font-family:var(--mono)}.recharts-cartesian-grid line{stroke:var(--rule)}.chart-tip{background:var(--card);border:1px solid var(--rule-strong);box-shadow:var(--shadow);border-radius:3px;padding:9px 11px;font-size:12.5px}.chart-tip b{font-family:var(--sans);margin-bottom:5px;display:block}.chart-tip div{font-family:var(--mono);font-variant-numeric:tabular-nums}.legend{color:var(--ink-soft);flex-wrap:wrap;gap:16px;font-size:12.5px;display:flex}.legend i{vertical-align:baseline;border-radius:2px;width:10px;height:10px;margin-right:6px;display:inline-block}.gate{place-items:center;min-height:100dvh;padding:24px;display:grid}.gate .card{flex-direction:column;gap:15px;width:100%;max-width:370px;display:flex}@media (max-width:700px){.shell{padding:0 14px 64px}.topbar-in{min-height:0;padding:10px 14px}h1{font-size:25px}}
