/* Живые данные: статус режима, прогноз по часам, воздух, датчики PM */
.live-card{font-size:12.5px;color:var(--ink-2)}
.lv-when{display:flex;align-items:center;gap:7px;font-weight:700;color:var(--ink);font-size:13px}
.lv-fresh{width:8px;height:8px;border-radius:50%;background:#5fbf4a;box-shadow:0 0 8px #5fbf4a}
.lv-fresh.mid{background:#d8c53a;box-shadow:0 0 8px #d8c53a}
.lv-fresh.bad{background:#d9453a;box-shadow:0 0 8px #d9453a}
.lv-reg{margin:8px 0;padding:9px 11px;border-radius:10px;border:1px solid rgba(255,236,190,.16);background:rgba(255,236,190,.06);display:flex;flex-direction:column;gap:3px;line-height:1.35}
.lv-reg b{font:400 15px var(--title);letter-spacing:.3px;color:var(--ink)}
.lv-reg span{font-size:12px;color:var(--ink-2)}
.lv-reg.tr{border-color:rgba(120,200,70,.55);background:rgba(95,191,74,.12)}
.lv-reg.tr b{color:#b6f08a}
.lv-reg.inv{border-color:rgba(170,120,230,.6);background:rgba(130,80,200,.18)}
.lv-reg.inv b{color:#d6b8ff}
.lv-reg.calm{border-color:rgba(200,185,140,.4)}
.lv-reg.calm b{color:#e8d9a8}
.lv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:6px}
.lv-grid>div{background:rgba(255,236,190,.07);border-radius:9px;padding:6px 9px}
.lv-grid small{display:block;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-weight:700}
.lv-grid b{display:block;font:700 15px/1.25 var(--sans);color:var(--ink);font-variant-numeric:tabular-nums}
.lv-grid em{display:block;font-style:normal;font-size:10.5px;color:var(--ink-2);line-height:1.3}
.lv-src{margin-top:8px;font-size:11px;color:var(--ink-3);line-height:1.4}
.lv-src b{color:var(--ink-2);font-weight:600}
.lv-src b.bad,.lv-err{color:var(--danger)}
.lv-err{font-size:12px;line-height:1.4}
.lnk{all:unset;cursor:pointer;float:right;font-size:10.5px;letter-spacing:0;text-transform:none;font-weight:700;color:var(--brass);padding:0 2px}
.lnk:hover{text-decoration:underline}
.lnk:focus-visible{outline:2px solid var(--brass);outline-offset:2px;border-radius:3px}

.fc-strip{display:grid;grid-template-columns:repeat(25,1fr);gap:2px;margin:2px 0 20px}
.fc{all:unset;cursor:pointer;position:relative;height:26px;border-radius:4px;box-sizing:border-box;border:1px solid rgba(255,236,190,.22);background:#46503f;transition:transform .12s;display:flex;align-items:center;justify-content:center}
.fc svg{width:11px;height:11px;fill:#f3e6c4;opacity:.95;pointer-events:none}
.fc.s0{background:#34402f}
.fc.s1{background:#4e6a45}
.fc.s2{background:#7a8a43}
.fc.s3{background:#b0903c}
.fc.s4{background:#c4682f}
.fc.s3 svg,.fc.s4 svg,.fc.s2 svg{fill:#1a120c}
.fc.inv::after{content:"";position:absolute;left:50%;bottom:-6px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:#b890ff}
.fc:hover{transform:translateY(-2px)}
.fc.cur{outline:2px solid var(--ink);outline-offset:1px}
.fc:focus-visible{outline:2px solid var(--brass);outline-offset:1px}
.fc i{position:absolute;left:50%;top:29px;transform:translateX(-50%);font:600 9px var(--sans);font-style:normal;color:var(--ink-3)}
.fc-leg{display:flex;gap:10px;flex-wrap:wrap;font-size:10.5px;color:var(--ink-3);margin-bottom:2px}
.fc-leg i{display:inline-block;width:10px;height:8px;border-radius:2px;margin-right:4px;vertical-align:-1px;border:1px solid rgba(255,236,190,.22)}
.fc-leg i.s0{background:#34402f}.fc-leg i.s2{background:#7a8a43}.fc-leg i.s4{background:#c4682f}
.fc-leg .dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#b890ff;margin-right:4px;vertical-align:1px}

.aq{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;font-size:11px;color:var(--ink-3)}
.aq span{background:rgba(255,236,190,.06);border-radius:7px;padding:4px 7px}
.aq b{display:block;font:700 14px var(--sans);color:var(--ink);font-variant-numeric:tabular-nums}
.air-box .lv-src{margin-top:6px}



.pm-pin{width:0;height:0}
.pm-pin span{position:absolute;transform:translate(-50%,-50%);min-width:26px;text-align:center;font:800 11px var(--sans);color:#1a120c;background:var(--c,#9a8f86);border:2px solid #1a120c;border-radius:999px;padding:1px 5px;box-shadow:0 2px 6px rgba(0,0,0,.45)}
.pm-pin.sus span{background:repeating-linear-gradient(45deg,var(--c,#9a8f86) 0 4px,#cfc3a8 4px 8px);opacity:.8}
@media (prefers-reduced-motion:reduce){.zn.on i{animation:none}.fc{transition:none}}


/* типы мест: города, КП/СНТ; скрытые подписи */
.vil .lbl.off{display:none}
.vil.city .lbl{font:800 17px var(--serif);font-style:normal;letter-spacing:.3px}
.vil.kp .lbl{font-size:10.5px;font-weight:500}
.vil.kp svg{transform:scale(.8)}
.vil.city svg{transform:scale(1.25)}
.hit-note{margin:-4px 0 6px;font-size:10.5px;color:var(--ink-3);line-height:1.35}

/* контраст облака на зелёной карте: насыщеннее + тёмный ореол по краю */
#plume{filter:saturate(1.7) brightness(1.12) drop-shadow(0 0 3px rgba(20,50,0,.75)) drop-shadow(0 0 10px rgba(40,90,0,.35))}

.op-box{margin-top:10px;padding:10px 12px;border-radius:10px;background:rgba(255,236,190,.06);border:1px solid rgba(255,236,190,.14);font-size:12px;line-height:1.45;color:var(--ink-2)}
.op-box b{color:var(--ink);font-size:12.5px}
.op-box p{margin:4px 0 6px}
.op-box ul{margin:0;padding:0;list-style:none;display:grid;gap:6px}
.op-box li a{color:var(--acid);font-weight:700;text-decoration-color:rgba(157,255,98,.5)}
.op-box li span{display:block;font-size:11px;color:var(--ink-3)}
.op-pin{width:0;height:0}
.op-pin span{position:absolute;transform:translate(-50%,-50%);padding:1px 6px;border-radius:5px;background:#1e3a52;color:#e8f4ff;border:2px solid #9fd0ff;font:800 10px var(--sans);white-space:nowrap;box-shadow:0 2px 6px rgba(0,0,0,.45)}
