:root{color-scheme:light dark;--bg:#f7f8fa;--surface:#ffffff;--fg:#1b1f24;--muted:#5f6b7a;--border:#d9dee5;--accent:#2f5bd3;--accent-soft:#e8eefc;--danger:#b42318;--danger-soft:#fdecea;--series-1:#2f5bd3;--series-2:#c2410c;--series-3:#0f8b6e;--series-4:#7c4dcc;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--text-xs:0.75rem;--text-sm:0.875rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:1.75rem;--radius:8px;--radius-pill:999px;--border-width:1px;--line:var(--border-width) solid var(--border);--font:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--page-width:1100px}@media (prefers-color-scheme:dark){:root{--bg:#0f1216;--surface:#171b21;--fg:#e6e9ee;--muted:#97a3b3;--border:#2c333d;--accent:#7ea2ff;--accent-soft:#1d2a47;--danger:#ff8a7a;--danger-soft:#3a1d1a;--series-1:#7ea2ff;--series-2:#fb923c;--series-3:#34d399;--series-4:#c4b5fd}}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font);font-size:var(--text-md);line-height:1.5}main{max-width:var(--page-width);margin:0 auto;padding:var(--space-5) var(--space-4) var(--space-6)}h1{font-size:var(--text-xl);line-height:1.2;margin:0 0 var(--space-4)}h2{font-size:var(--text-lg);line-height:1.3;margin:var(--space-6) 0 var(--space-3)}p{margin:0 0 var(--space-3)}ul{padding-left:var(--space-5)}a{color:var(--accent)}code{font-family:var(--font-mono);font-size:var(--text-sm)}button,input,select{font:inherit;color:inherit}button{cursor:pointer;padding:var(--space-2) var(--space-4);border:var(--line);border-radius:var(--radius);background:var(--surface)}button:hover{border-color:var(--accent)}input{background:var(--surface)}input,select{padding:var(--space-2) var(--space-3);border:var(--line);border-radius:var(--radius)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:var(--space-6);background-color:var(--surface);background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:right var(--space-4) center,right var(--space-3) center;background-size:5px 5px;background-repeat:no-repeat;cursor:pointer}select:hover{border-color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}figure{margin:var(--space-5) 0}figcaption{font-size:var(--text-sm);color:var(--muted);margin-bottom:var(--space-2)}svg{max-width:100%;height:auto}.chart{width:100%;border:var(--line);border-radius:var(--radius);background:var(--surface)}.chart-marker{stroke:var(--muted)}.chart-baseline{stroke:var(--accent);stroke-dasharray:2 3}.chart-axis{stroke:var(--muted)}.chart-text{fill:var(--muted);font-size:11px}.chart-key{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;color:var(--muted);font-size:12px}.chart-key-line{width:20px;border-top:2px solid}.chart-key-line~.chart-key-line{margin-left:12px}.chart-key-baseline{border-top:2px dotted var(--accent)}.chart-key-release{border-top:2px dashed var(--muted)}.chart-hit{fill:transparent}.chart-part:focus{outline:none}.chart-part:focus .chart-hit{stroke:var(--accent)}.chart-tip{opacity:0;fill:var(--fg);font-size:12px;pointer-events:none}.chart-part:focus .chart-tip,.chart-part:hover .chart-tip{opacity:1}.series-1{fill:var(--series-1);background:var(--series-1)}.series-2{fill:var(--series-2);background:var(--series-2)}.series-3{fill:var(--series-3);background:var(--series-3)}.series-4{fill:var(--series-4);background:var(--series-4)}.legend{display:flex;flex-wrap:wrap;gap:var(--space-3);margin:var(--space-2) 0 0;padding:0;list-style:none;font-size:var(--text-sm);color:var(--muted)}.legend-item{display:flex;align-items:center;gap:var(--space-1)}.swatch{display:inline-block;width:var(--space-3);height:var(--space-3);border-radius:var(--border-width)}.panel{margin:0 0 var(--space-5);padding:var(--space-4) var(--space-5);border:var(--line);border-radius:var(--radius);background:var(--surface)}.panel h2{margin-top:0}.panel>:last-child{margin-bottom:0}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:var(--space-3);gap:var(--space-3);margin:var(--space-4) 0 var(--space-5);padding:0;list-style:none}.card{padding:var(--space-4);border:var(--line);border-radius:var(--radius);background:var(--surface)}.card,.card-link{display:flex;flex-direction:column;gap:var(--space-1)}.card-link{color:inherit;text-decoration:none}.card-link:hover .card-label{color:var(--accent)}.card-label{color:var(--muted);font-size:var(--text-sm)}.card-value{font-size:var(--text-lg)}.card-hint,.card-sub{color:var(--muted);font-size:var(--text-xs)}.question,.window{margin-top:0;color:var(--muted)}.note{color:var(--muted);font-size:var(--text-sm);font-style:italic}.alert{padding:var(--space-3) var(--space-4);border:var(--border-width) solid var(--danger);border-radius:var(--radius);background:var(--danger-soft);color:var(--danger)}.badge{display:inline-block;padding:0 var(--space-2);border:var(--line);border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--muted);font-size:var(--text-xs)}.banner{display:flex;justify-content:center;padding:var(--space-1) var(--space-4)}.filters{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:end;margin:0 0 var(--space-3)}.filters .field{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-sm)}.filters .field.check{flex-direction:row;align-items:center}.pager{display:flex;gap:var(--space-3);align-items:baseline}.pager,.table-wrap{margin:0 0 var(--space-4)}.table-wrap{overflow-x:auto;border:var(--line);border-radius:var(--radius);background:var(--surface)}table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}td,th{padding:var(--space-2) var(--space-3);border-bottom:var(--line);text-align:left;white-space:nowrap}th{color:var(--muted);font-weight:600}tbody tr:last-child td{border-bottom:none}.bar{height:var(--space-2);margin:0 0 var(--space-4);border:var(--line);border-radius:var(--radius-pill);background:var(--surface);overflow:hidden}.bar>div{height:100%;background:var(--accent)}.bar.over>div{background:var(--danger)}