:root{--ink:#0f2233;--muted:#5b6b78;--rule:#d8e1e8;--panel:#fff;--accent:#00224e;--bg:#d6e4ec;--bg-soft:#f4f8fa;color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ink:#e6edf3;--muted:#9fb0bd;--rule:#2b3a46;--panel:#121b23;--accent:#fee838;--bg:#0b141b;--bg-soft:#17222c}}*{box-sizing:border-box}[hidden]{display:none!important}html,body{background:var(--bg);min-height:100%;margin:0}body.map-page{grid-template-columns:1fr 380px;height:100%;display:grid}#map{height:100vh}.crumbs{color:var(--muted);margin-bottom:10px;font-size:12px}.crumbs a{color:inherit}.hint{color:var(--muted);margin:4px 0 0;font-size:12px}body.landing{background:var(--panel)}body.landing main{max-width:980px;margin:0 auto;padding:48px 16px 32px;font-size:15px;line-height:1.5}body.landing h1{font-size:32px}body.landing .lede{max-width:680px;font-size:16px}.cards{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-top:28px;display:grid}.card{border:1px solid var(--rule);color:inherit;background:var(--bg-soft);border-radius:12px;flex-direction:column;gap:8px;padding:20px;text-decoration:none;display:flex}.card:hover{border-color:var(--accent)}.card h2{color:var(--ink);text-transform:none;letter-spacing:-.01em;margin:0;font-size:20px}.card p{color:var(--muted);margin:0}.card .figures{grid-template-columns:1fr 1fr;gap:10px 14px;margin:8px 0;display:grid}.card .figures strong{color:var(--accent);font-variant-numeric:tabular-nums;font-size:22px;display:block}.card .figures span{color:var(--muted);font-size:12px}.card .go{color:var(--accent);margin-top:auto;font-weight:600}table.strip,table.runs{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:12px}table.strip th,table.strip td,table.runs td{border-bottom:1px solid var(--rule);text-align:right;padding:4px}table.strip th:first-child,table.runs td:first-child{text-align:left}table.strip thead th{color:var(--muted);font-weight:600}table.strip tbody th{text-align:left;font-weight:500}table.runs td{text-align:left}.hbar{grid-template-columns:64px 1fr 70px;align-items:center;gap:8px;margin:3px 0;font-size:12px;display:grid}.hbar-track{background:var(--rule);border-radius:5px;height:10px;overflow:hidden}.hbar-fill{background:#2e84c8;height:100%;display:block}.hbar-value{text-align:right;font-variant-numeric:tabular-nums;color:var(--muted)}#legend .bins{gap:4px;display:flex}#legend .chip{text-align:center;color:#fff;border-radius:4px;flex:1;padding:3px 0;font-size:12px;font-weight:600}#panel{background:var(--panel);border-left:1px solid var(--rule);height:100vh;padding:20px 20px 28px;font-size:14px;line-height:1.45;overflow-y:auto}h1{letter-spacing:-.01em;margin:0 0 6px;font-size:22px}h2{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:22px 0 8px;font-size:13px}.lede{color:var(--muted);margin:0}#metrics{grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;display:grid}.metric{border:1px solid var(--rule);border-radius:8px;padding:10px 12px}.metric strong{font-variant-numeric:tabular-nums;color:var(--accent);font-size:22px;display:block}.metric .label{font-weight:600;display:block}.metric .note{color:var(--muted);font-size:12px;display:block}.controls{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:8px;display:flex}select{font:inherit;padding:3px 6px}#legend .ramp{border-radius:5px;height:10px}#legend .ticks{color:var(--muted);justify-content:space-between;margin-top:4px;font-size:12px;display:flex}button{font:inherit;border:1px solid var(--accent);color:var(--accent);cursor:pointer;background:0 0;border-radius:6px;margin-top:12px;padding:7px 12px;font-weight:600}button:hover{background:color-mix(in srgb, var(--accent) 10%, transparent)}#lis-summary{margin-top:10px}#lis-summary table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:12px}#lis-summary th,#lis-summary td{text-align:right;border-bottom:1px solid var(--rule);padding:3px 4px}#lis-summary th:first-child,#lis-summary td:first-child{text-align:left}footer{color:var(--muted);margin-top:24px;font-size:12px}footer a{color:inherit}@media (max-width:820px){body.map-page{grid-template-rows:55vh auto;grid-template-columns:1fr;height:auto}#map{height:55vh}#panel{border-left:0;border-top:1px solid var(--rule);height:auto;padding:16px}}
