:root{--bg:#fafafa;--fg:#1a1a1a;--muted:#6b6b6b;--line:#e3e3e3;--card:#fff;--accent:#0b5fff;--pos:#137a3a;--neg:#b3261e;--s0:#0b5fff;--s1:#e07b00;--s2:#5a5a5a;--s3:#8e44ad;--s4:#16a085;color-scheme:light dark}
@media (prefers-color-scheme:dark){:root{--bg:#111;--fg:#ececec;--muted:#9a9a9a;--line:#2a2a2a;--card:#1a1a1a;--accent:#6ea0ff;--pos:#4cc57a;--neg:#ff7b72}}
*{box-sizing:border-box}html{font:14px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--fg)}
body{margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}
header.top{display:flex;gap:1.5rem;align-items:center;padding:.75rem 1.25rem;border-bottom:1px solid var(--line);background:var(--card)}
.brand{font-weight:700;color:var(--fg);font-size:1.05rem}nav a{margin-right:1rem;color:var(--muted)}nav a.active{color:var(--fg);font-weight:600}
main{max-width:1100px;margin:0 auto;padding:1.25rem}footer{max-width:1100px;margin:2rem auto;padding:0 1.25rem;color:var(--muted);font-size:.85rem}
h1{font-size:1.6rem;margin:.25rem 0 .25rem}h2{font-size:1.1rem;margin:1.75rem 0 .5rem}.sub{color:var(--muted);margin:0 0 1rem;display:flex;gap:1rem;flex-wrap:wrap;align-items:center}
.muted{color:var(--muted);font-size:.85rem}.picker select{font:inherit;padding:.2rem .4rem;background:var(--card);color:var(--fg);border:1px solid var(--line);border-radius:4px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin:1rem 0}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:.75rem}.kpi .v{font-size:1.5rem;font-weight:700;font-variant-numeric:tabular-nums}.kpi .l{color:var(--muted);font-size:.8rem}.kpi .s{font-size:.8rem;margin-top:.25rem}
.tw{overflow-x:auto;border:1px solid var(--line);border-radius:6px;background:var(--card)}
table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums;white-space:nowrap}th,td{padding:.4rem .6rem;border-bottom:1px solid var(--line);text-align:left}
th{position:sticky;top:0;background:var(--card);font-weight:600;color:var(--muted);font-size:.8rem;cursor:pointer;user-select:none}th[data-sort]:after{content:" ↕";opacity:.4}th.asc:after{content:" ↑";opacity:1}th.desc:after{content:" ↓";opacity:1}
td.r,th.r{text-align:right}td.b{font-weight:600}.pos{color:var(--pos)}.neg{color:var(--neg)}tbody tr:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}
svg.chart{width:100%;height:auto;background:var(--card);border:1px solid var(--line);border-radius:6px;padding:.25rem}
svg .grid{stroke:var(--line);stroke-width:1}svg .tick,svg .legend text{fill:var(--muted);font-size:11px}svg .line{stroke-width:2}
svg .s0{stroke:var(--s0);fill:var(--s0)}svg .s1{stroke:var(--s1);fill:var(--s1)}svg .s2{stroke:var(--s2);fill:var(--s2)}svg .s3{stroke:var(--s3);fill:var(--s3)}svg .s4{stroke:var(--s4);fill:var(--s4)}
svg .line.s0,svg .line.s1,svg .line.s2,svg .line.s3,svg .line.s4{fill:none}svg .bar{fill:var(--accent)}
@media (max-width:600px){header.top{flex-wrap:wrap;gap:.5rem}nav a{margin-right:.75rem}h1{font-size:1.3rem}main{padding:.75rem}}
.secnav{display:flex;flex-wrap:wrap;gap:.25rem .75rem;margin:.25rem 0 1rem;font-size:.85rem;position:sticky;top:0;background:var(--bg);padding:.4rem 0;z-index:2;border-bottom:1px solid var(--line)}
.secnav a{color:var(--muted)}.secnav a:hover{color:var(--fg)}h2 .count{color:var(--muted);font-weight:400;font-size:.85rem;margin-left:.25rem}
section[id]{scroll-margin-top:3rem}button.more{margin:.5rem 0 0;font:inherit;font-size:.85rem;padding:.35rem .8rem;border:1px solid var(--line);border-radius:4px;background:var(--card);color:var(--accent);cursor:pointer}button.more:hover{border-color:var(--accent)}
.badge{display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;padding:.1rem .4rem;border-radius:3px;background:color-mix(in srgb,var(--s1) 18%,transparent);color:var(--s1)}
.notice{border:1px solid color-mix(in srgb,var(--s1) 50%,transparent);background:color-mix(in srgb,var(--s1) 8%,transparent);border-radius:6px;padding:.6rem .8rem;font-size:.9rem;margin:0 0 1rem}
