/* UI batch 1: preserves agreed design #3 + map palette #2. */
.source-live{display:flex;align-items:center;gap:7px;padding:6px 4px 9px;font-size:10px;color:#c9bcdb;min-height:30px;line-height:1.4}
.source-live a{color:#bea9ff;text-decoration:underline;text-underline-offset:2px}
.source-live.good{color:#8de6bd}.source-live.offline{color:#ff9aad}
.source-led{height:7px;width:7px;flex:0 0 7px;border-radius:50%;background:#988ba7}
.source-live.good .source-led{background:#55dba0;box-shadow:0 0 10px #55dba088}
.source-live.offline .source-led{background:#ec7285}
.source-retry{font-size:10px;font-weight:750;margin-left:auto;min-width:63px;padding:5px 7px;border:1px solid #8e76b4;background:#41375c;border-radius:9px}
.analysis-explanation{margin:9px 0 4px;background:#28223e;border:1px solid #53466a;border-radius:12px;padding:12px}
.analysis-explanation strong{font-size:13px;color:#dac6ff}
.analysis-explanation p{font-size:11px;line-height:1.6;color:#c5bcd8;margin:5px 0 0}
.map-legend{display:flex;gap:8px;justify-content:space-between;align-items:center;padding:8px 9px;margin:7px 0 12px;background:#142440;border:1px solid #3c5c8b;border-radius:12px;font-size:9px;color:#d5e2ff}
.map-legend>span{display:flex;align-items:center;gap:4px}
.legend-dot{display:inline-block;flex:0 0 9px;width:9px;height:9px;border:1px solid #84a8e2;background:#29466c;border-radius:2px}
.legend-dot.danger{background:#8c354f;border-color:#ff7e94}
.legend-dot.unknown{background:repeating-linear-gradient(45deg,#8d91a9 0 2px,#26334f 2px 4px)}
.map-bg .oblast:focus-visible{stroke:#f4e1ff;stroke-width:3;outline:none;filter:drop-shadow(0 0 4px #b899ff)}
.region-selector,.nav-item,.top-tabs button,.horizon,.region-chip{touch-action:manipulation}
.source-retry:focus-visible,.region-chip:focus-visible{outline:2px solid #bda0ff;outline-offset:2px}
#page{min-width:0}
@media(max-width:360px){.source-live{font-size:9px}.map-legend{font-size:8px;gap:4px;padding:7px 5px}.region-chip-grid{gap:6px}.region-chip{padding:9px 8px;font-size:11px}.top-tabs button{font-size:11px}}
@media(max-width:320px){.bottom-nav{padding-left:3px;padding-right:3px}.nav-item{font-size:9px}.nav-icon{width:21px;height:21px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
