:root{--bg:#0b1220;--panel:#121a2b;--panel-2:#182235;--text:#e8eefc;--muted:#9db0d0;--accent:#5eead4;--accent-2:#38bdf8;--danger:#fb7185;--line:#243047;--ok:#4ade80;--warn:#fbbf24;--font:"Segoe UI","IBM Plex Sans",system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body,html{margin:0;padding:0;min-height:100%;background:radial-gradient(1200px 600px at 10% -10%,#12304a 0,transparent 55%),radial-gradient(900px 500px at 90% 0,#1a2744 0,transparent 50%),var(--bg);color:var(--text);font-family:var(--font)}a{color:var(--accent-2)}.skip-link{position:absolute;left:-999px;top:0;background:var(--accent);color:#041018;padding:8px 12px;z-index:20}.skip-link:focus{left:12px;top:12px}main{max-width:1180px;margin:0 auto;padding:32px 20px 64px}.hero{margin-bottom:20px}.brand{margin:8px 0 12px;font-size:clamp(2.4rem,5vw,3.6rem);letter-spacing:-.03em}.lede{font-size:1.05rem;line-height:1.55}.lede,.notice{max-width:760px;color:var(--muted)}.notice{margin:14px 0 0;font-size:.95rem;line-height:1.5;border-left:3px solid var(--accent);padding-left:12px}.muted{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:.75rem}.badge-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.badge{border:1px solid var(--line);background:rgba(94,234,212,.08);color:var(--accent);border-radius:999px;padding:6px 12px;font-size:.8rem}.toc{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 22px}.toc a{text-decoration:none;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:.85rem}.toc a:focus-visible,.toc a:hover{color:var(--text);border-color:var(--accent);outline:none}.grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(12,1fr)}.card{background:linear-gradient(180deg,var(--panel) 0,var(--panel-2) 100%);border:1px solid var(--line);border-radius:18px;padding:18px}.span-3{grid-column:span 3}.span-4{grid-column:span 4}.span-6{grid-column:span 6}.span-8{grid-column:span 8}.span-12{grid-column:span 12}@media (max-width:900px){.span-12,.span-3,.span-4,.span-6,.span-8{grid-column:span 12}.bar-row{grid-template-columns:1fr}}.kpi{font-size:1.8rem;font-weight:700}.hint,.kpi-card .hint{margin:8px 0 0;color:var(--muted);font-size:.85rem;line-height:1.4}.section-copy{margin:0 0 14px;color:var(--muted);line-height:1.5;font-size:.95rem}.list{margin:0;padding-left:18px;color:var(--muted);line-height:1.55}.list.compact{margin-top:12px}.empty{color:var(--muted);margin:0}.error{color:var(--danger);border:1px solid #7f1d1d;background:#2a1218;padding:12px 14px;border-radius:12px;margin-bottom:16px}h2{margin:0 0 8px;font-size:1.15rem}.subhead{margin:16px 0 8px;font-size:.95rem}.tag{display:inline-block;padding:4px 10px;border-radius:999px;border:1px solid var(--line);color:var(--accent);font-size:.75rem;margin-right:8px}.chart-wrap{width:100%;min-height:260px}.table-wrap{overflow-x:auto}.matrix{width:100%;border-collapse:collapse;font-size:.85rem}.matrix td,.matrix th{padding:8px;border-bottom:1px solid var(--line);text-align:center}.matrix th[scope=row],.matrix thead th:first-child,.matrix thead th:nth-child(2){text-align:left}.heat{display:inline-block;min-width:48px;padding:6px 8px;border-radius:8px;color:var(--text)}.callout{border:1px solid var(--line);background:rgba(56,189,248,.08);border-radius:12px;padding:10px 12px;color:var(--muted);line-height:1.45}.sev{text-transform:uppercase;font-size:.72rem;letter-spacing:.06em}.sev-high{color:var(--danger)}.sev-medium{color:var(--warn)}.sev-low{color:var(--ok)}.memo-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:8px}.memo-card{border:1px solid var(--line);border-radius:14px;padding:14px;background:rgba(13,21,36,.65)}.memo-card h3{margin:0 0 8px;font-size:1rem}.memo-card p{margin:0 0 8px;color:var(--muted);line-height:1.45;font-size:.92rem}.skeleton.block{min-height:96px;background:linear-gradient(90deg,rgba(36,48,73,.4),rgba(94,234,212,.12),rgba(36,48,73,.4));background-size:200% 100%;animation:shimmer 1.4s infinite}.skeleton.tall{min-height:220px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.footer{margin-top:28px;color:var(--muted);font-size:.9rem}