:root{--bg:#09090b;--panel:#121216;--panel2:#18181d;--line:#26262d;--text:#ecebe8;--muted:#9a9aa3;--dim:#6b6b74;--red:#e5383b;--amber:#f4a259;--green:#5fb38a;--blue:#7aa2f7}
*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif}
a{color:#f2b8a0}a:hover{color:#fff}
header.top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(9,9,11,.92);backdrop-filter:blur(8px);z-index:20}
.brand{font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:14px}.brand span{color:var(--red)}
.live{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12.5px}.dot{width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 0 0 rgba(229,56,59,.7);animation:pulse 2s infinite}
.dot.stale{background:var(--dim);animation:none}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(229,56,59,.6)}70%{box-shadow:0 0 0 9px rgba(229,56,59,0)}100%{box-shadow:0 0 0 0 rgba(229,56,59,0)}}
nav a{color:var(--muted);text-decoration:none;margin-left:16px;font-size:13px}nav a:hover{color:var(--text)}
main{max-width:1280px;margin:0 auto;padding:18px}
.hero{display:grid;grid-template-columns:minmax(260px,380px) 1fr;gap:24px;align-items:center;padding:8px 0 18px}
.clockwrap svg{width:100%;height:auto;display:block}
.headline{font-size:clamp(30px,5vw,54px);font-weight:800;line-height:1.05;margin:0 0 6px}.headline em{font-style:normal;color:var(--red)}
.sub{color:var(--muted);margin:0 0 16px;max-width:60ch}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}
.stat{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 12px}.stat b{display:block;font-size:22px}.stat small{color:var(--muted);font-size:12px}
.grid{display:grid;grid-template-columns:1fr 380px;gap:16px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px;position:relative}
.card h2{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 10px;font-weight:700}
.search{position:relative;margin-bottom:10px}.search input{width:100%;padding:11px 14px;border-radius:10px;border:1px solid var(--line);background:var(--panel2);color:var(--text);font-size:15px;outline:none}
.search input:focus{border-color:#55303a}
.ac{position:absolute;left:0;right:0;top:100%;margin-top:4px;background:var(--panel2);border:1px solid var(--line);border-radius:10px;max-height:300px;overflow:auto;z-index:30;display:none}
.ac div{padding:8px 12px;cursor:pointer;display:flex;justify-content:space-between;gap:8px}.ac div:hover,.ac div.on{background:#2a1a1e}.ac small{color:var(--muted)}
#map{width:100%;height:auto;display:block;touch-action:none;cursor:grab;border-radius:8px;background:#0d0d10}
#map path.unit{stroke:#0b0b0d;stroke-width:.25;vector-effect:non-scaling-stroke}#map path.unit:hover{stroke:#fff;stroke-width:1}
#map path.sel{stroke:#fff!important;stroke-width:2!important}
#map .mesh{fill:none;stroke:#3a3a44;stroke-width:.7;vector-effect:non-scaling-stroke;pointer-events:none}
#map circle.inc{fill:rgba(255,209,102,.85);stroke:#111;stroke-width:.6;vector-effect:non-scaling-stroke;pointer-events:none}#map circle.inc.t1{fill:none;stroke:#ffd166;stroke-dasharray:2 2;stroke-width:1.2}
.legend{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;margin-top:8px;flex-wrap:wrap}.legend .bar{height:10px;width:180px;border-radius:5px}
.zoombtns{position:absolute;right:22px;top:72px;display:flex;flex-direction:column;gap:6px}.zoombtns button{width:32px;height:32px;border-radius:8px;border:1px solid var(--line);background:var(--panel2);color:var(--text);font-size:18px;cursor:pointer}
.tip{position:fixed;pointer-events:none;background:#000;border:1px solid var(--line);padding:6px 9px;border-radius:8px;font-size:12.5px;display:none;z-index:50}
.panel .name{font-size:22px;font-weight:800;margin:0}.panel .where{color:var(--muted);font-size:13px;margin-bottom:10px}
.score{display:flex;align-items:baseline;gap:10px;margin:6px 0 10px}.score b{font-size:46px;line-height:1}.score span{color:var(--muted)}
.chip{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:700;border:1px solid var(--line)}
.chip.R{color:#ff8a8a;border-color:#5a2a2e;background:#2a1416}.chip.F{color:#8fe0b5;border-color:#21483a;background:#10241c}.chip.S{color:#cfcfd6}
.chip.t1{color:#ffd166;border-color:#5a4a1e;background:#2a2410}.chip.t2{color:#9ad1ff;border-color:#1e3a5a;background:#101c2a}.chip.ret{color:#aaa;text-decoration:line-through}
dl.kv{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:8px 0;font-size:13.5px}dl.kv dt{color:var(--muted)}dl.kv dd{margin:0}
.list{display:flex;flex-direction:column;gap:8px}.item{border:1px solid var(--line);border-radius:10px;padding:9px 11px;background:var(--panel2)}
.item .meta{color:var(--muted);font-size:12px;margin-top:3px}.item .src a{font-size:12.5px;margin-right:10px}
.muted{color:var(--muted)}.small{font-size:12.5px}.bar{display:block}.note{font-size:12px;color:var(--dim);margin-top:8px}
.row3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px}
footer{color:var(--dim);font-size:12px;text-align:center;padding:30px 16px;border-top:1px solid var(--line);margin-top:30px}
.about{max-width:860px;margin:0 auto}.about h1{font-size:30px}.about h2{font-size:18px;margin-top:28px;color:#f2b8a0}.about table{width:100%;border-collapse:collapse;font-size:13.5px}
.about td,.about th{border-bottom:1px solid var(--line);padding:7px 6px;text-align:left;vertical-align:top}.about code{background:#1b1b20;padding:1px 5px;border-radius:5px}
@media (max-width:980px){.grid{grid-template-columns:1fr}.row3{grid-template-columns:1fr}.hero{grid-template-columns:1fr}.clockwrap{max-width:320px;margin:0 auto}nav{display:none}}

#map .top{fill:#1e90ff;stroke:#9be3ff;stroke-width:1.2;vector-effect:non-scaling-stroke;pointer-events:none;filter:url(#glow)}
.sw-top{display:inline-block;width:12px;height:12px;border-radius:3px;background:#1e90ff;box-shadow:0 0 6px 2px rgba(0,179,255,.7);vertical-align:-1px;margin-right:4px}
.chip.top{color:#bfe8ff;border-color:#1e5a8a;background:#0c2236}
