
.chart{width:100%;height:auto;display:block;overflow:visible}
.chart .line{fill:none;stroke:var(--text);stroke-width:1.5;vector-effect:non-scaling-stroke}
.chart .line.danger{stroke:var(--danger)}.chart .line.muted{stroke:var(--text-3);stroke-dasharray:3 3}
.chart .area{fill:var(--accent);opacity:.18}
.chart .bar{fill:var(--accent);opacity:.85}
.chart .axis{stroke:var(--border)}.chart .grid{stroke:var(--border);stroke-dasharray:2 4}
.chart .tick{fill:var(--text-3);font-size:10px;font-family:var(--font)}
.spark .line{stroke-width:1.2}
.legend{display:flex;gap:var(--space-3);margin-bottom:var(--space-1)}
.legend .key::before{content:"";display:inline-block;width:12px;height:2px;margin-right:4px;vertical-align:middle;background:var(--text)}
.legend .key.danger::before{background:var(--danger)}.legend .key.muted::before{background:var(--text-3)}
.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--space-4);margin:var(--space-3) 0}
.def{color:var(--text-3);font-size:var(--font-caption);margin-top:var(--space-1)}
.ranges{display:flex;gap:var(--space-2);margin-bottom:var(--space-4)}
.ranges a{padding:var(--space-1) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-pill);text-decoration:none;color:var(--text-2)}
.ranges a[aria-current]{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}

*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:var(--font-body)/1.5 var(--font)}
.top{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-6);align-items:center;padding:var(--space-3) var(--space-4);background:var(--surface);border-bottom:1px solid var(--border)}
.brand{display:flex;gap:var(--space-2);align-items:center;font-weight:600;font-size:var(--font-headline);color:var(--text);text-decoration:none}
nav{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4);flex:1;align-items:center}
nav a{color:var(--text-2);text-decoration:none;padding:var(--space-1) 0;border-bottom:2px solid transparent}
nav a[aria-current]{color:var(--text);font-weight:600;border-bottom-color:var(--accent)}
nav .sep{width:1px;align-self:stretch;background:var(--border)}
.who{display:flex;gap:var(--space-2);align-items:center;color:var(--text-2);font-size:var(--font-footnote)}
main{max-width:1000px;margin:0 auto;padding:var(--space-6) var(--space-4) var(--space-12)}
h1{font-size:var(--font-title3);margin:0 0 var(--space-4)}h2{font-size:var(--font-headline);margin:var(--space-8) 0 var(--space-2)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:var(--space-3)}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--space-4)}
.card .label{color:var(--text-2);font-size:var(--font-footnote)}.card .big{font-size:var(--font-title);font-weight:600;font-variant-numeric:tabular-nums}
.muted{color:var(--text-2)}.small{font-size:var(--font-footnote)}code{font-family:var(--mono);font-size:var(--font-footnote)}
.table{overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card)}
table{border-collapse:collapse;width:100%}
th,td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums;vertical-align:top}
tr:last-child td{border-bottom:0}th{color:var(--text-2);font-weight:500;font-size:var(--font-footnote)}
td.num,th.num{text-align:right}
form.inline{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;margin:var(--space-2) 0}
label{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--font-footnote);color:var(--text-2)}
input,select{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-control);padding:var(--space-2) var(--space-3)}
input:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
button{font:inherit;font-weight:600;cursor:pointer;border-radius:var(--radius-control);padding:var(--space-2) var(--space-4);border:1px solid var(--accent);background:var(--accent);color:var(--on-accent)}
button:hover{background:var(--accent-press)}
button.secondary{background:transparent;color:var(--text);border-color:var(--border)}
button.danger{background:var(--danger-fill);border-color:var(--danger-fill);color:var(--on-danger)}
a{color:var(--link)}
.notice{padding:var(--space-2) var(--space-3);border-radius:var(--radius-control);margin:0 0 var(--space-4)}
.notice.ok{background:var(--success-bg);color:var(--success)}.notice.err{background:var(--danger-bg);color:var(--danger)}
.notice.warn{background:var(--warning-bg);color:var(--warning)}
.pill{display:inline-block;padding:0 var(--space-2);border-radius:var(--radius-pill);font-size:var(--font-caption);background:var(--sunken);color:var(--text-2)}
.pill.ok{background:var(--success-bg);color:var(--success)}.pill.bad{background:var(--danger-bg);color:var(--danger)}
.login{max-width:420px;margin:var(--space-12) auto;text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--space-8)}
.login .button{display:inline-block;margin-top:var(--space-4);padding:var(--space-2) var(--space-4);border-radius:var(--radius-control);background:var(--accent);color:var(--on-accent);font-weight:600;text-decoration:none}
