:root{--bg:#f4f5f8;--card:#fff;--ink:#1a1d24;--muted:#5d6573;--line:#dfe2e8;--neutral:#d8dce3;--none:#eceef2;--accent:#1e3a8a;--on-accent:#fff;--D:#2563c9;--R:#d2342b;--I:#8b5cc7;--L:#c99700;--G:#2f9e5b;--O:#6b7280;--shadow:0 1px 2px #0000000f, 0 2px 8px #0000000a}@media (prefers-color-scheme:dark){:root{--bg:#0f1218;--card:#181c25;--ink:#e8ebf1;--muted:#9aa3b2;--line:#2a303c;--neutral:#333a48;--none:#222733;--accent:#8fb0ff;--on-accent:#0b1020;--D:#4d8cf0;--R:#ef5b52;--I:#a784e0;--L:#e0b21a;--G:#43c07a;--shadow:none}}*{box-sizing:border-box}[hidden]{display:none!important}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;height:100%}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial}}body{background:var(--bg);height:100%;color:var(--ink);margin:0;font:14px/1.35 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button,select,input{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3{margin:0}label{color:var(--muted);flex-direction:column;gap:2px;font-size:11px;display:inline-flex}select,input[type=text],input[type=search]{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:5px 8px}button:disabled{opacity:.6;cursor:progress}.app{flex-direction:column;min-height:100%;display:flex}.app>*{flex:none}.layout{flex:auto}.banner{text-align:center;color:#fff;background:#b45309;padding:4px 16px;font-size:13px;font-weight:600}.banner.live{background:#166534}.banner.warn{background:#991b1b}.banner.hybrid{background:#1e40af}.banner.archive{background:#475569}.banner:empty{display:none}.top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 20px;padding:8px 16px 4px;display:flex}.title{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.title h1{letter-spacing:-.01em;font-size:20px}.title .sub{color:var(--muted);font-size:13px}.source{flex-wrap:wrap;align-items:flex-end;gap:6px 12px;display:flex}.feed-status{color:var(--muted);align-self:center;font-size:12px}#feedUrl{width:240px;max-width:60vw}.ghost,.btnlink{border:1px solid var(--line);color:var(--ink);background:0 0;border-radius:8px;padding:5px 10px;font-size:13px;text-decoration:none}.ghost:hover,.btnlink:hover{background:color-mix(in srgb, var(--accent) 12%, transparent)}.bar{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:10px;flex-wrap:wrap;align-items:flex-end;gap:6px 14px;margin:4px 16px;padding:6px 10px;display:flex}.bar .grow{flex:200px}.bar output{font-variant-numeric:tabular-nums;min-width:78px;padding-bottom:5px;font-weight:600}.bar>button:not(.ghost){background:var(--accent);color:var(--on-accent);border:0;border-radius:8px;padding:6px 12px}.hstatus{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:240px;padding-bottom:5px;font-size:12px;overflow:hidden}.hstatus b{color:var(--ink)}.hstatus .err{color:var(--R)}.btnlink{padding:6px 12px}.pop-wrap{align-self:center;font-size:13px;position:relative}.pop-wrap>summary{cursor:pointer;border:1px solid var(--line);color:var(--muted);-webkit-user-select:none;user-select:none;border-radius:8px;padding:5px 10px;list-style:none}.pop-wrap>summary::-webkit-details-marker{display:none}.pop-wrap[open]>summary{color:var(--ink);background:color-mix(in srgb, var(--accent) 12%, transparent)}.pop{z-index:20;background:var(--card);border:1px solid var(--line);width:min(440px,88vw);max-height:60vh;color:var(--ink);white-space:normal;border-radius:10px;padding:10px 12px;font-size:12px;position:absolute;top:calc(100% + 6px);right:0;overflow:auto;box-shadow:0 8px 24px #00000040}.pop ul{margin:0;padding-left:16px}.pop li{margin:3px 0}.pop a{color:var(--accent)}.about>summary{padding:5px 9px}.control{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:4px 16px;display:grid}@media (width<=760px){.control{grid-template-columns:1fr}}.cc{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:10px;padding:6px 12px 7px}.cc h2{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);justify-content:space-between;gap:8px;font-size:11px;display:flex}.cc .nums{justify-content:space-between;align-items:baseline;margin:2px 0 4px;display:flex}.cc .n{font-variant-numeric:tabular-nums;font-size:26px;font-weight:700;line-height:1}.cc .n small{color:var(--muted);margin-left:6px;font-size:11px;font-weight:500;display:inline}.cc .n.d{color:var(--D)}.cc .n.r{color:var(--R);text-align:right}.cc .n.i{color:var(--I);text-align:center;font-size:18px}.cc .verdict{text-align:center;min-height:17px;margin-top:3px;font-size:12.5px;font-weight:600}.cc .verdict .meta{font-weight:400}.bar-seats{background:var(--none);border-radius:6px;height:12px;display:flex;position:relative;overflow:hidden}.bar-seats>i{height:100%;display:block}.bar-seats .tick{background:var(--ink);opacity:.55;width:2px;position:absolute;top:-2px;bottom:-2px}.tabs{gap:4px;padding:2px 16px 0;display:flex}.tabs button{color:var(--muted);background:0 0;border:0;border-bottom:3px solid #0000;padding:6px 14px;font-size:16px;font-weight:600}.tabs button[aria-selected=true]{color:var(--ink);border-color:var(--accent)}.countdown{color:var(--muted);text-align:right;white-space:nowrap;align-self:center;margin-left:auto;font-size:15px}.countdown b{color:var(--ink);font-variant-numeric:tabular-nums}.countdown .big{font-size:17px}.countdown .done{color:var(--G);font-weight:700}.layout{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:10px;padding:6px 16px 12px;display:grid}@media (width<=999px),(height<=619px){.layout{grid-template-columns:1fr}}.mapcard{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;padding:8px;position:relative}.maptools{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:6px 12px;margin-bottom:4px;display:flex}.crumbs{align-self:center;align-items:center;gap:6px;font-size:15px;font-weight:700;display:inline-flex}.crumb{border:1px solid var(--line);background:0 0;border-radius:8px;padding:4px 10px;font-weight:700}.crumb:hover{background:color-mix(in srgb, var(--accent) 12%, transparent)}.crumb[aria-current=true]{background:var(--accent);color:var(--on-accent);border-color:var(--accent);cursor:default}.where:not(:empty):before{content:"›";color:var(--muted);margin-right:6px}.seg{border:1px solid var(--line);border-radius:8px;display:inline-flex;overflow:hidden}.seg button{background:0 0;border:0;padding:5px 10px}.seg button[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}.zoom{gap:4px;display:inline-flex}.zoom button{background:var(--card);border:1px solid var(--line);border-radius:8px;width:30px;height:30px}.map{aspect-ratio:975/610;background:var(--card);touch-action:manipulation;border-radius:8px;width:100%;overflow:hidden}.map svg{cursor:default;width:100%;height:100%;display:block}.map svg.focused{cursor:grab;touch-action:none}.map svg.focused:active{cursor:grabbing}.map path{vector-effect:non-scaling-stroke}.map .cty{stroke:var(--card);stroke-width:.25px;stroke-opacity:.7}.map .zoomed .cty{stroke-width:.6px}.map .dst{stroke:var(--card);stroke-width:.4px}.map .zoomed .dst{stroke-width:.9px}.map .st{fill:none;stroke:var(--ink);stroke-opacity:.55;stroke-width:.7px;pointer-events:none}.map .sel,.map .zoomed .sel{stroke:var(--ink);stroke-width:2px;stroke-opacity:1}.map .sel-c{fill:none;stroke:var(--ink);stroke-width:2px;pointer-events:none}.map .hit{cursor:pointer}.map .off,.map svg.focused .st{display:none}.legend{color:var(--muted);flex-wrap:wrap;gap:2px 12px;margin-top:5px;font-size:11px;display:flex}.legend span{align-items:center;gap:4px;display:inline-flex}.legend i{border-radius:3px;width:11px;height:11px;display:inline-block}.tip{pointer-events:none;z-index:5;background:var(--ink);color:var(--bg);border-radius:8px;max-width:240px;padding:6px 9px;font-size:12px;position:absolute;box-shadow:0 4px 14px #00000040}.tip b{display:block}.side{flex-direction:column;gap:10px;display:flex}.card,.listcard{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;padding:10px 12px}.listcard{flex-direction:column;min-height:0;display:flex}.listtools{gap:8px;display:flex}.listtools input{flex:1;min-width:0}.chips{flex-wrap:wrap;gap:6px;margin:6px 0;display:flex}.chips button{border:1px solid var(--line);background:0 0;border-radius:99px;padding:2px 10px;font-size:12px}.chips button[aria-pressed=true]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.list{min-height:120px;max-height:460px;margin:0 -4px;overflow:auto}.row{text-align:left;border:0;border-bottom:1px solid var(--line);background:0 0;grid-template-columns:10px 1fr auto;align-items:center;gap:8px;width:100%;padding:6px 4px;display:grid}.row:hover,.row[aria-current=true]{background:color-mix(in srgb, var(--accent) 10%, transparent)}.row .dot{background:var(--neutral);border-radius:50%;width:10px;height:10px}.row .nm{font-weight:600}.row .meta{color:var(--muted);font-size:12px}.row .rt{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.empty,.meta{color:var(--muted)}.empty{padding:14px 4px}.dhead{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.dhead h3{font-size:16px}.close{color:var(--muted);background:0 0;border:0;font-size:18px;line-height:1}.badges{flex-wrap:wrap;gap:6px;margin:5px 0;display:flex}.badge{background:var(--none);color:var(--muted);text-transform:uppercase;letter-spacing:.03em;border-radius:99px;padding:2px 8px;font-size:11px;font-weight:700}.badge.D{background:var(--D);color:#fff}.badge.R{background:var(--R);color:#fff}.badge.I{background:var(--I);color:#fff}.badge.flip{outline:2px solid var(--ink)}.badge.conf-low{color:#fff;background:#b45309}.badge.conf-medium{color:#fff;background:#a16207}.badge.conf-high{color:#fff;background:#15803d}.badge.conf-confirmed,.badge.conf-final{background:var(--accent);color:var(--on-accent)}.badge.warn{background:var(--R);color:#fff}.prog{background:var(--none);border-radius:4px;height:6px;margin:4px 0 2px;overflow:hidden}.prog i{background:var(--accent);height:100%;display:block}.cand{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;gap:1px 8px;padding:5px 0;display:grid}.cand .nm{align-items:center;gap:6px;font-weight:600;display:flex}.cand .pc{font-variant-numeric:tabular-nums;text-align:right;font-weight:700}.cand .vt{color:var(--muted);font-size:12px}.cand .cb{background:var(--none);border-radius:3px;grid-column:1/-1;height:5px;overflow:hidden}.cand .cb i{height:100%;display:block}.pdot{border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.win{color:var(--G)}.sect{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-top:8px;font-size:11px;font-weight:700}.ctable{max-height:200px;margin-top:4px;overflow:auto}.cdetail{background:var(--none);border-radius:8px;margin-top:8px;padding:8px 10px}.cdetail h4{margin:0 0 4px}.evidence{color:var(--muted);margin:6px 0 0;padding-left:18px;font-size:12px}.evidence a{color:var(--accent)}.callbtns{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.callbtns button{border:1px solid var(--line);background:0 0;border-radius:8px;padding:5px 10px;font-weight:600}.callbtns button:hover{background:color-mix(in srgb, var(--accent) 12%, transparent)}.ov h3{font-size:16px}.ov .stats{text-align:center;grid-template-columns:repeat(3,1fr);gap:8px;margin:6px 0;display:grid}.ov .stats b{font-variant-numeric:tabular-nums;font-size:20px;display:block}.ov .stats span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px}@media (pointer:coarse){button,select,input{min-height:40px}.row{padding:9px 4px}.chips button{padding:6px 14px;font-size:13px}.zoom button{width:40px;height:40px}.tabs button{padding:8px 18px;font-size:17px}.pop-wrap>summary{padding:9px 12px}}@media (width>=1000px) and (height>=620px){body{overflow:hidden}.app{height:100dvh;min-height:0}.layout{grid-template-rows:minmax(0,1fr);align-items:stretch;min-height:0}.mapcard{flex-direction:column;min-height:0;display:flex}.map{aspect-ratio:auto;flex:1 1 0;min-height:0;position:relative}.map svg{position:absolute;inset:0}.side{height:100%;min-height:0;max-height:none;position:static}.detail{flex:0 auto;min-height:0;max-height:46%;overflow:auto}.listcard{flex:1 1 0;min-height:0}.list{flex:1 1 0;min-height:0;max-height:none}}
