:root{--bg: #08090b;--panel: #101216;--line: rgba(255, 255, 255, .09);--ink: #eef1f6;--ink-2: rgba(238, 241, 246, .62);--ink-3: rgba(238, 241, 246, .38);--south: #e0323f;--north: #5da9d8;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink)}body{font-family:var(--sans);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;padding:0 clamp(14px,3vw,40px) 64px;max-width:1560px;margin-inline:auto}h1,h2{font-weight:620;letter-spacing:-.015em;margin:0}button{font:inherit;color:inherit;cursor:pointer}.top{padding:clamp(26px,5vw,54px) 0 18px}.brand{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.mark{font-weight:800;letter-spacing:.16em;font-size:clamp(22px,4.4vw,34px);color:var(--south)}.slash{color:var(--ink-3);font-size:22px}.day{font-size:clamp(16px,2.6vw,22px);font-weight:500}.tag-line{margin:8px 0 0;color:var(--ink-2);max-width:62ch}.mapwrap{position:relative;border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,#0d0f13,#0a0c0f);padding:4px 4px 10px}#livemap{display:block;width:100%;height:190px}.chips{display:flex;gap:6px;flex-wrap:wrap;padding:0 12px 6px}.chips button{background:transparent;border:1px solid var(--line);color:var(--ink-2);border-radius:999px;padding:4px 12px;font-size:12px}.chips button:hover{border-color:#ffffff47;color:var(--ink)}.chips button.on{background:var(--ink);color:#0a0b0d;border-color:var(--ink)}.controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 2px 4px}.play{background:var(--south);border:0;border-radius:8px;color:#fff;padding:7px 16px;font-weight:600;min-width:78px}#scrub{flex:1 1 260px;accent-color:var(--south);min-width:180px}.readout{font-family:var(--mono);font-size:17px;min-width:62px;text-align:center}.rates,.jumps{display:flex;gap:4px}.rates button,.jumps button{background:transparent;border:1px solid var(--line);color:var(--ink-2);border-radius:7px;padding:5px 11px;font-size:12.5px}.rates button.on{background:#ffffff1a;color:var(--ink);border-color:transparent}.rates button:hover,.jumps button:hover{color:var(--ink);border-color:#ffffff42}.grid{display:grid;gap:16px;margin-top:16px;grid-template-columns:minmax(0,1fr) 330px}@media(max-width:900px){.grid{grid-template-columns:1fr}}.chart{border:1px solid var(--line);border-radius:14px;background:#0b0d10;padding:16px 14px 10px}.chart-head h1{font-size:17px}.chart-head p{margin:4px 0 12px;color:var(--ink-2);font-size:13px;max-width:70ch}#stringline{display:block;width:100%;height:clamp(380px,58vh,700px)}.panel{border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:18px}.pn-head h2{font-size:26px;font-family:var(--mono);letter-spacing:-.02em}.tag{display:inline-block;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);border:1px solid var(--line);border-radius:5px;padding:2px 7px;margin-bottom:8px}.tag.south{color:var(--south);border-color:#e0323f73}.tag.north{color:var(--north);border-color:#5da9d873}.sub{margin:4px 0 0;color:var(--ink-2);font-size:13px}.note{margin:8px 0 0;color:var(--ink-3);font-size:12.5px}table.calls{width:100%;border-collapse:collapse;margin:16px 0 12px;font-size:13px}table.calls th{text-align:left;font-weight:500;color:var(--ink-3);font-size:11px;text-transform:uppercase;letter-spacing:.07em;padding-bottom:6px;border-bottom:1px solid var(--line)}table.calls td{padding:7px 0;border-bottom:1px solid rgba(255,255,255,.045)}table.calls td.tm,table.calls td.no{font-family:var(--mono)}table.calls td.dep{color:var(--ink-3)}table.calls tr.at td{background:#e0323f1f}table.calls tr.past td{opacity:.42}table.calls td.no.south{color:var(--south)}table.calls td.no.north{color:var(--north)}.stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.stat{border:1px solid var(--line);border-radius:10px;padding:10px 11px}.stat b{display:block;font-family:var(--mono);font-size:19px;letter-spacing:-.02em}.stat span{color:var(--ink-3);font-size:11.5px}.verify{border-radius:10px;padding:12px;font-size:12.5px;border:1px solid}.verify.ok{border-color:#5dd88f52;background:#5dd88f0f}.verify.bad{border-color:#e0323f66;background:#e0323f14}.verify p{margin:5px 0;color:var(--ink-2)}.verify ul{margin:6px 0 0;padding-left:16px;font-family:var(--mono);font-size:11.5px;color:var(--ink-2)}.hint{color:var(--ink-3);font-size:12.5px;margin:14px 0 0}.ghost{background:transparent;border:1px solid var(--line);border-radius:8px;color:var(--ink-2);padding:6px 14px;font-size:13px}.ghost:hover{color:var(--ink);border-color:#ffffff47}.prov{margin-top:40px;border-top:1px solid var(--line);padding-top:28px}.prov h2{font-size:20px}.lede{color:var(--ink-2);max-width:72ch;margin:8px 0 20px}.srcs{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(310px,1fr))}.src{display:flex;gap:12px;border:1px solid var(--line);border-radius:11px;padding:12px 13px}.src b{font-size:13.5px}.src p{margin:4px 0 0;color:var(--ink-2);font-size:12.5px}.badge{flex:0 0 auto;align-self:flex-start;font-size:10px;letter-spacing:.08em;text-transform:uppercase;border-radius:5px;padding:3px 7px;font-weight:600}.src.published .badge{background:#5dd88f24;color:#6fdc98}.src.derived .badge{background:#5da9d824;color:var(--north)}.src.estimate .badge{background:#e8b45024;color:#e8b450}.where{display:inline-block;margin-top:6px;font-family:var(--mono);font-size:11px;color:var(--ink-3)}.disclaim{margin:20px 0 0;padding-left:18px;color:var(--ink-3);font-size:12.5px}.foot{margin-top:34px;border-top:1px solid var(--line);padding-top:16px;color:var(--ink-3);font-size:12.5px}.foot b{color:var(--ink-2)}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.world{position:relative;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#0b1018;margin-bottom:12px}#world{display:block;width:100%;height:clamp(340px,54vh,580px)}.worldbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:10px 14px 12px;border-top:1px solid var(--line);background:linear-gradient(180deg,#0b101800,#0a0c10 22%)}.cams{display:flex;gap:4px}.cams button{background:transparent;border:1px solid var(--line);color:var(--ink-2);border-radius:7px;padding:5px 12px;font-size:12.5px}.cams button.on{background:var(--south);border-color:var(--south);color:#fff}.cams button:hover{color:var(--ink)}.worldnote{margin:0;color:var(--ink-3);font-size:12px;max-width:62ch}.worldnote b{color:var(--ink-2)}.nowebgl{margin:0;padding:28px 16px;color:var(--ink-2);font-size:13.5px}
