/* Zero Hour Assault page (30.09.2026) -- additions to /site.css, same dark palette and focus style. */
.zha-hero{background:radial-gradient(1200px 380px at 15% 0%,rgba(227,179,65,.14),transparent 60%),linear-gradient(180deg,#161b22,#0d1117);border:1px solid var(--border);border-radius:18px;padding:2.4rem 1.8rem 1.6rem;margin-top:.4rem}
.zha-hero h1{font-size:2.9rem;letter-spacing:-1px;margin-top:0}
.zha-kicker{margin:0 0 .4rem;color:var(--gold);font-weight:700;text-transform:uppercase;letter-spacing:2px;font-size:.85rem}
.zha-hero .lead{color:#c9d4df}
.zha-tags{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;margin:1.2rem 0 0;padding:0}
.zha-tags li{border:1px solid var(--border);background:var(--bg3);border-radius:999px;padding:.2rem .85rem;font-size:.92rem}
.zha-toc ul{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem .5rem;margin:1rem 0 0;padding:0}
.zha-toc a{display:inline-block;padding:.35rem .8rem;border:1px solid var(--border);border-radius:8px;background:var(--bg2);color:var(--text);text-decoration:none}
.zha-toc a:hover,.zha-toc a:focus{border-color:var(--accent)}
.zha-sub{font-weight:400;font-size:.92rem}
h4{font-size:1rem;margin:1.1rem 0 .4rem;color:#c9d4df}

/* Download buttons. "Coming soon" stays focusable (aria-disabled, not disabled) so it is found with Tab. */
.zha-dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;margin:1rem 0}
.zha-dl .card{display:flex;flex-direction:column;gap:.6rem}
.zha-dl .card h3{margin:0}
.zha-dl .btn{text-align:center;font:inherit;font-weight:700;cursor:pointer}
.btn[aria-disabled=true]{background:transparent;color:var(--muted);border:2px dashed #6e7681;cursor:not-allowed}
.btn[aria-disabled=true]:hover,.btn[aria-disabled=true]:focus{border-color:#6e7681}
button.btn{font:inherit;font-weight:600;cursor:pointer}

/* Live */
.zha-total{font-size:1.5rem;font-weight:800;color:#fff;margin:0}
.zha-livebar{display:flex;flex-wrap:wrap;gap:.8rem 1.4rem;align-items:center;background:var(--bg2);border:1px solid var(--border);border-left:4px solid var(--accent2);border-radius:12px;padding:1rem 1.3rem;margin:1rem 0}
.zha-livebar p{margin:0}
.zha-servers{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.1rem}
.zha-servers .card h3{margin-top:0}
.zha-servers dl.facts{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}
.zha-servers dl.facts div{background:var(--bg)}
.zha-names{list-style:none;margin:.4rem 0 1rem;padding:0;display:flex;flex-wrap:wrap;gap:.35rem .5rem}
.zha-names li{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:.2rem .65rem}
.zha-down{margin:.6rem 0}

/* Tables */
.zha-boards{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1.1rem;margin:1rem 0}
.zha-table{width:100%;border-collapse:collapse;background:var(--bg2);border:1px solid var(--border);border-radius:12px;overflow:hidden}
.zha-table caption{text-align:left;font-weight:700;padding:.2rem 0 .5rem;color:#fff}
.zha-table th,.zha-table td{padding:.45rem .7rem;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}
.zha-table thead th{background:var(--bg3);font-size:.85rem;color:#c9d4df}
.zha-table tbody tr:last-child th,.zha-table tbody tr:last-child td{border-bottom:0}
.zha-table tbody th{font-weight:600}
.zha-table td.num,.zha-table th.num{text-align:right;font-variant-numeric:tabular-nums}
.zha-table tbody tr:first-child td.rank{color:var(--gold);font-weight:800}
.zha-scroll{overflow-x:auto}
.zha-keys td:first-child,.zha-keys th:first-child{white-space:nowrap}
kbd{font-family:Consolas,"Courier New",monospace;background:var(--bg3);border:1px solid var(--border);border-bottom-width:2px;border-radius:5px;padding:.05rem .4rem;font-size:.92em}

/* What's new + FAQ: native <details>, keyboard and screen reader friendly without script */
details{background:var(--bg2);border:1px solid var(--border);border-radius:12px;margin:.7rem 0;padding:0}
details>summary{cursor:pointer;padding:.85rem 1.1rem;font-weight:700;border-radius:12px}
details>summary:hover{background:var(--bg3)}
details[open]>summary{border-bottom:1px solid var(--border);border-radius:12px 12px 0 0}
details>.zha-body{padding:.6rem 1.1rem 1rem}
.zha-changes{list-style:none;margin:0;padding:0}
.zha-changes li{margin:.45rem 0;padding-left:0}
.zha-kind{display:inline-block;min-width:5.2rem;font-size:.75rem;font-weight:800;letter-spacing:.5px;padding:.08rem .45rem;border-radius:6px;margin-right:.35rem;text-align:center;border:1px solid var(--border)}
.zha-kind-NEW{color:#3fb950;border-color:rgba(63,185,80,.5)}
.zha-kind-IMPROVED{color:#58a6ff;border-color:rgba(88,166,255,.5)}
.zha-kind-FIXED{color:#e3b341;border-color:rgba(227,179,65,.5)}
.zha-fair{border-left:4px solid var(--gold)}
audio{width:100%;max-width:420px;margin:.3rem 0}
.zha-policy p{margin:.5rem 0}
@media (max-width:640px){.zha-hero{padding:1.6rem 1.1rem 1.1rem}.zha-hero h1{font-size:2.1rem}}
