:root{--page:#f4f6f9;--surface-1:#fff;--text-primary:#1d2733;--text-secondary:#5f6b7a;--muted:#6c757d;--grid:#e4e8ee;--axis:#c9d1dc;--border:#e0e5ed;--navy:#0d2b55;--gold:#f0b429;--s1:#1268b3;--s2:#e5533c;--s3:#1e7e34;--s4:#b86e00;--good:#1e7e34;--crit:#c0392b;--warn:#b86e00;--chip:#eef2f7;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--page);color:var(--text-primary);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.55}a{color:inherit}.wrap{max-width:1180px;margin:0 auto;padding:0 24px}header.hero{color:#fff;background:linear-gradient(135deg,#0d2b55 0%,#1a4a8a 60%,#1e5fa0 100%)}header.hero .inner{max-width:1180px;margin:0 auto;padding:26px 24px 30px}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:0 0 10px;font-size:11.5px;font-weight:700}h1{letter-spacing:-.02em;color:#fff;margin:0 0 12px;font-size:clamp(26px,4.2vw,38px);font-weight:700;line-height:1.15}.sub{color:#ffffffd9;max-width:74ch;margin:0;font-size:15.5px}.live{background:var(--surface-1);border:1px solid var(--border);border-left:4px solid var(--gold);border-radius:8px;flex-wrap:wrap;align-items:baseline;gap:18px;margin:24px 0 0;padding:16px 18px;display:flex;box-shadow:0 1px 3px #0d2b550f}.live .lbl{letter-spacing:.14em;text-transform:uppercase;color:var(--warn);font-size:11.5px;font-weight:700}.live .txt{color:var(--text-secondary);flex:1;min-width:260px;font-size:14.5px}.live b{color:var(--text-primary)}.countdown{color:var(--navy);background:var(--gold);white-space:nowrap;border-radius:999px;padding:4px 12px;font-size:13px;font-weight:700}.kpis{grid-template-columns:repeat(auto-fit,minmax(178px,1fr));gap:12px;margin:26px 0 8px;display:grid}.kpi{background:var(--surface-1);border:1px solid var(--border);border-radius:10px;padding:15px 16px 14px;box-shadow:0 1px 3px #0d2b550f}.kpi .k{letter-spacing:.11em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}.kpi .v{letter-spacing:-.02em;color:var(--navy);margin-top:5px;font-size:27px;font-weight:700;line-height:1.1}.kpi .d{color:var(--text-secondary);margin-top:3px;font-size:12.5px}.kpi .d.up{color:var(--good);font-weight:600}.kpi .d.dn{color:var(--crit);font-weight:600}section{margin:38px 0}.sechead{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin:0 0 4px;display:flex}h2{letter-spacing:-.01em;color:var(--navy);margin:0;font-size:19px;font-weight:700}.note{color:var(--text-secondary);max-width:82ch;margin:5px 0 14px;font-size:13.5px}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:10px;padding:18px;box-shadow:0 1px 3px #0d2b550f}.toggles{flex-wrap:wrap;gap:6px;display:flex}.tg{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--surface-1);color:var(--text-secondary);border-radius:6px;padding:5px 11px;font-size:12.5px}.tg:hover{color:var(--text-primary);border-color:var(--axis)}.tg[aria-pressed=true]{background:var(--navy);color:#fff;border-color:var(--navy);font-weight:600}.chart{width:100%;display:block;overflow:visible}.chart text{font-family:var(--sans)}.tick{fill:var(--muted);font-size:11px}.gridline{stroke:var(--grid);stroke-width:1px}.axisline{stroke:var(--axis);stroke-width:1px}.dlabel{fill:var(--text-secondary);font-size:11px;font-weight:600}.bar{transition:opacity .12s}.hit{fill:#0000;cursor:pointer}.gapband{fill:var(--grid);opacity:.6}.gaptext{fill:var(--muted);font-size:10.5px;font-style:italic}.legend{color:var(--text-secondary);flex-wrap:wrap;gap:16px;margin:12px 0 0;font-size:12.5px;display:flex}.legend i{vertical-align:-1px;border-radius:2.5px;width:11px;height:11px;margin-right:6px;display:inline-block}.tip{z-index:60;pointer-events:none;background:var(--surface-1);border:1px solid var(--border);opacity:0;border-radius:7px;max-width:290px;padding:9px 11px;font-size:12.5px;line-height:1.45;transition:opacity .1s;position:fixed;box-shadow:0 6px 22px #0d2b5529}.tip.on{opacity:1}.tip .tt{color:var(--text-primary);margin-bottom:3px;font-weight:700}.tip .tr{color:var(--text-secondary);justify-content:space-between;gap:14px;display:flex}.tip .tr b{color:var(--text-primary);font-variant-numeric:tabular-nums}.filters{flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 14px;display:flex}.filters select,.filters input{font:inherit;border:1px solid var(--border);background:var(--surface-1);color:var(--text-primary);border-radius:6px;padding:6px 9px;font-size:13px}.filters input{min-width:210px}.filters .cnt{color:var(--muted);margin-left:auto;font-size:12.5px}.tablewrap{border:1px solid var(--border);background:var(--surface-1);border-radius:10px;overflow-x:auto;box-shadow:0 1px 3px #0d2b550f}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:9px 11px}th{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);white-space:nowrap;background:var(--surface-1);cursor:pointer;z-index:2;font-size:11px;font-weight:700;position:sticky;top:0}th.num,td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}tbody tr:hover{background:var(--chip)}td.award{color:var(--navy);font-weight:700}.rt{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:11.5px}.flag{letter-spacing:.06em;text-transform:uppercase;color:var(--warn);border:1px solid var(--warn);border-radius:3px;margin-left:5px;padding:0 4px;font-size:10px;font-weight:700}.catdot{vertical-align:0;border-radius:2px;width:8px;height:8px;margin-right:6px;display:inline-block}.method{background:var(--surface-1);border:1px solid var(--border);border-radius:10px;padding:20px 22px;box-shadow:0 1px 3px #0d2b550f}.method h3{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 10px;font-size:13px;font-weight:700}.method p{color:var(--text-secondary);max-width:88ch;margin:0 0 11px;font-size:13.5px}.method p:last-child{margin-bottom:0}.method b{color:var(--text-primary)}.srcs{columns:2;color:var(--text-secondary);column-gap:34px;margin:0;padding:0 0 0 18px;font-size:12.5px}.srcs li{break-inside:avoid;margin:0 0 5px}.srcs a{color:#1a4a8a}.srcs a:hover{color:var(--navy)}@media (width<=640px){.srcs{columns:1}.wrap{padding:0 16px}header.hero .inner{padding-left:16px;padding-right:16px}.kpi .v{font-size:23px}}@media print{.toggles,.filters{display:none}}
