/* Заправки и цены на топливо: страница, карта, виджет главной — v2 (2026-10-20)
   Свои цветовые токены для светлой и тёмной темы: текст всегда читается на своём фоне. */
.fz{
  --fz-sig:#0a8bff; --fz-vio:#7a5cff; --fz-ok:#16b97a; --fz-warn:#f5a524; --fz-bad:#ef4b5b;
  --fz-ros:#ffc400; --fz-lk:#ff3b4a; --fz-oth:#8fa3c4;
  --fz-ink:#0e1520; --fz-mute:#566274; --fz-card:#ffffff; --fz-card2:#f2f6fc; --fz-line:#d9e2ef;
  --fz-chip:#ffffff; --fz-chip-ink:#1a2536; --fz-glow:rgba(10,139,255,.28); --fz-sh:0 1px 2px rgba(14,21,32,.05),0 14px 30px -18px rgba(14,21,32,.28);
  --fz-r:18px;
  /* всегда тёмные «приборные» поверхности (баннер, карта, панель) */
  --fz-bg:#071022; --fz-bg2:#0d1a33; --fz-dl:rgba(120,170,255,.22); --fz-dink:#eaf2ff; --fz-dmute:#9db6df;
}
html[data-theme="dark"] .fz{--fz-ink:#edf1f7;--fz-mute:#98a6bb;--fz-card:#111b2e;--fz-card2:#0d1626;--fz-line:#243350;--fz-chip:#14203a;--fz-chip-ink:#dfe9fb;--fz-glow:rgba(10,139,255,.4);--fz-sh:0 1px 2px rgba(0,0,0,.4),0 16px 34px -20px rgba(0,0,0,.9)}
@media (prefers-color-scheme:dark){html:not([data-theme="light"]) .fz{--fz-ink:#edf1f7;--fz-mute:#98a6bb;--fz-card:#111b2e;--fz-card2:#0d1626;--fz-line:#243350;--fz-chip:#14203a;--fz-chip-ink:#dfe9fb;--fz-glow:rgba(10,139,255,.4);--fz-sh:0 1px 2px rgba(0,0,0,.4),0 16px 34px -20px rgba(0,0,0,.9)}}
.fz *{box-sizing:border-box}
.fz button{font-family:inherit}

/* ── Баннер ── */
.fz-hero{position:relative;overflow:hidden;margin:clamp(10px,1.8vw,18px) 0 clamp(14px,2vw,22px);padding:clamp(20px,3.4vw,40px);border-radius:calc(var(--fz-r) + 8px);color:var(--fz-dink);
  background:radial-gradient(90% 120% at 100% 0,rgba(122,92,255,.55),transparent 55%),radial-gradient(80% 110% at 0 100%,rgba(10,139,255,.5),transparent 55%),linear-gradient(160deg,#0b1a38,#060d1e);
  border:1px solid var(--fz-dl);box-shadow:0 30px 70px -40px rgba(10,80,200,.9)}
.fz-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(140,180,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(140,180,255,.08) 1px,transparent 1px);background-size:38px 38px;mask-image:radial-gradient(120% 90% at 70% 0,#000 20%,transparent 75%);pointer-events:none}
.fz-hero::after{content:"";position:absolute;right:-70px;top:-70px;width:280px;height:280px;border-radius:50%;border:1px solid rgba(160,190,255,.25);box-shadow:0 0 0 40px rgba(160,190,255,.05),0 0 0 90px rgba(160,190,255,.04);pointer-events:none;animation:fzRing 9s ease-in-out infinite}
@keyframes fzRing{50%{transform:scale(1.08);opacity:.7}}
.fz-hero>*{position:relative;z-index:1}
.fz-eyebrow{display:inline-flex;align-items:center;gap:8px;font:700 12px/1 var(--font-mono,ui-monospace,monospace);letter-spacing:.1em;text-transform:uppercase;color:#9fc4ff}
.fz-eyebrow svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 6px rgba(80,170,255,.9))}
.fz-hero h1{margin:12px 0 10px;max-width:880px;color:#fff;font:900 clamp(28px,4.4vw,52px)/1.06 var(--font-display,system-ui);letter-spacing:-.025em;text-shadow:0 0 40px rgba(60,140,255,.45)}
.fz-hero h1 em{font-style:normal;background:linear-gradient(90deg,#69c3ff,#a58bff);-webkit-background-clip:text;background-clip:text;color:transparent}
.fz-lead{max-width:760px;color:var(--fz-dmute);font-size:clamp(15px,1.5vw,17px);line-height:1.6;margin:0 0 16px}
.fz-status{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;padding:9px 15px;border-radius:99px;border:1px solid rgba(160,190,255,.3);background:rgba(8,16,36,.55);backdrop-filter:blur(8px);font:700 13px/1.3 var(--font-display,system-ui);color:#fff}
.fz-status i{width:9px;height:9px;border-radius:50%;background:var(--fz-ok);box-shadow:0 0 0 0 rgba(22,185,122,.7);animation:fzPulse 2s infinite}
.fz-status.is-stale i{background:var(--fz-warn);box-shadow:none;animation:none}
.fz-status small{font-weight:500;color:var(--fz-dmute)}
@keyframes fzPulse{0%{box-shadow:0 0 0 0 rgba(22,185,122,.6)}70%{box-shadow:0 0 0 10px rgba(22,185,122,0)}100%{box-shadow:0 0 0 0 rgba(22,185,122,0)}}

/* плитки цен внутри баннера */
.fz-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:clamp(10px,1.4vw,14px);margin:clamp(18px,2.4vw,26px) 0 0}
.fz-kpi{position:relative;overflow:hidden;display:block;width:100%;padding:16px 18px 14px;border-radius:var(--fz-r);text-align:left;color:var(--fz-dink);cursor:pointer;border:1px solid rgba(160,190,255,.24);background:linear-gradient(155deg,rgba(255,255,255,.1),rgba(255,255,255,.03));backdrop-filter:blur(10px);transition:transform .25s,border-color .25s,box-shadow .25s}
.fz-kpi:hover,.fz-kpi.is-on{transform:translateY(-3px);border-color:rgba(90,190,255,.85);box-shadow:0 18px 40px -22px rgba(0,150,255,.95),inset 0 0 0 1px rgba(90,190,255,.35)}
.fz-kpi.is-on::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,#3aa8ff,#8b6bff)}
.fz-kpi__top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.fz-kpi__top span{font:800 12px/1 var(--font-mono,ui-monospace,monospace);letter-spacing:.1em;text-transform:uppercase;color:#a9c8ff}
.fz-trend{font:700 11.5px/1 var(--font-mono,ui-monospace,monospace);padding:5px 8px;border-radius:99px;background:rgba(255,255,255,.1);color:#cfe0ff;white-space:nowrap}
.fz-trend.is-up{background:rgba(239,75,91,.2);color:#ff9aa5}.fz-trend.is-down{background:rgba(22,185,122,.22);color:#6ff0b6}
.fz-kpi b{display:block;margin:8px 0 2px;font:900 clamp(34px,3.6vw,46px)/1 var(--font-display,system-ui);letter-spacing:-.03em;color:#fff;text-shadow:0 0 26px rgba(0,168,255,.6);font-variant-numeric:tabular-nums}
.fz-kpi b em{font-style:normal;font-size:.46em;margin-left:4px;color:#8fd0ff;font-weight:700}
.fz-kpi small{display:block;font-size:12.5px;line-height:1.45;color:var(--fz-dmute)}
.fz-spark{display:block;width:100%;height:30px;margin-top:8px;overflow:visible}
.fz-spark path{fill:none;stroke:#4db3ff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.fz-spark path.a{fill:rgba(77,179,255,.16);stroke:none}
.fz-spark circle{fill:#fff;stroke:#3aa8ff;stroke-width:2}

/* ── Управление ── */
.fz-ctl{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin:0 0 14px}
.fz-seg{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:99px;background:var(--fz-card2);border:1px solid var(--fz-line)}
.fz-seg button{appearance:none;border:0;background:transparent;color:var(--fz-chip-ink);font:700 14px/1 var(--font-display,system-ui);padding:11px 16px;border-radius:99px;cursor:pointer;transition:background .2s,color .2s,box-shadow .2s}
.fz-seg button:hover{background:rgba(10,139,255,.12)}
.fz-seg button.is-on{background:linear-gradient(135deg,#0a8bff,#6a5cff);color:#fff;box-shadow:0 8px 18px -8px var(--fz-glow)}
.fz-chips{display:flex;gap:7px;flex-wrap:wrap}
.fz-chip{appearance:none;cursor:pointer;padding:10px 15px;border-radius:99px;border:1px solid var(--fz-line);background:var(--fz-chip);color:var(--fz-chip-ink);font:700 13.5px/1 var(--font-display,system-ui);transition:border-color .2s,color .2s,box-shadow .2s,transform .2s}
.fz-chip:hover{border-color:var(--fz-sig);transform:translateY(-1px)}
.fz-chip.is-on{border-color:var(--fz-sig);color:var(--fz-sig);background:var(--fz-chip);box-shadow:inset 0 0 0 1px var(--fz-sig),0 8px 18px -12px var(--fz-glow)}
.fz-find{position:relative;flex:1 1 260px;max-width:380px}
.fz-find svg{position:absolute;left:14px;top:50%;width:18px;height:18px;margin-top:-9px;fill:none;stroke:var(--fz-mute);stroke-width:2;stroke-linecap:round;pointer-events:none}
.fz-find input{width:100%;padding:12px 14px 12px 40px;border-radius:99px;border:1px solid var(--fz-line);background:var(--fz-chip);color:var(--fz-ink);font:600 14px/1 var(--font-display,system-ui);outline:0;transition:border-color .2s,box-shadow .2s}
.fz-find input::placeholder{color:var(--fz-mute);font-weight:500}
.fz-find input:focus{border-color:var(--fz-sig);box-shadow:0 0 0 3px var(--fz-glow)}

/* ── Карта и панель ── */
.fz-stage{position:relative;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:clamp(12px,1.8vw,20px);align-items:start}
.fz-mapbox{position:relative;border-radius:calc(var(--fz-r) + 4px);overflow:hidden;height:clamp(440px,66vh,680px);background:var(--fz-bg);border:1px solid var(--fz-dl);box-shadow:0 30px 70px -36px rgba(0,70,190,.85),0 0 0 1px rgba(10,139,255,.08)}
.fz-map{position:absolute;inset:0}
.fz-map iframe{width:100%;height:100%;border:0;display:block}
.fz-stub{position:absolute;inset:0;display:grid;place-items:center;border:0;padding:0;cursor:pointer;color:var(--fz-dink);background:radial-gradient(120% 90% at 50% 120%,#12306a,var(--fz-bg) 60%);font:inherit;overflow:hidden}
.fz-stub::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(120,170,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(120,170,255,.1) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(circle at 50% 50%,#000 30%,transparent 78%)}
.fz-radar{position:absolute;left:50%;top:50%;width:min(86%,540px);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(0,168,255,.35);background:repeating-radial-gradient(circle,transparent 0 46px,rgba(0,168,255,.16) 46px 47px)}
.fz-radar::after{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,rgba(0,200,255,.42),transparent 28%);animation:fzSweep 4.5s linear infinite}
@keyframes fzSweep{to{transform:rotate(360deg)}}
.fz-dot{position:absolute;width:12px;height:12px;border-radius:50%;background:var(--fz-ros);box-shadow:0 0 14px 3px rgba(255,196,0,.7);animation:fzBlink 3s infinite}
.fz-dot:nth-child(2n){background:var(--fz-lk);box-shadow:0 0 14px 3px rgba(255,59,74,.7);animation-delay:.6s}
.fz-dot:nth-child(3n){background:#7fd0ff;box-shadow:0 0 14px 3px rgba(127,208,255,.7);animation-delay:1.3s}
@keyframes fzBlink{0%,100%{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}
.fz-stub__txt{position:relative;z-index:2;text-align:center;padding:0 18px}
.fz-stub__txt b{display:inline-flex;align-items:center;gap:10px;padding:15px 24px;border-radius:99px;background:linear-gradient(135deg,#0a8bff,#7a5cff);color:#fff;font:800 16px/1 var(--font-display,system-ui);box-shadow:0 16px 40px -12px rgba(10,139,255,.95);transition:transform .2s}
.fz-stub:hover .fz-stub__txt b{transform:scale(1.05)}
.fz-stub__txt small{display:block;margin-top:14px;font-size:12.5px;color:var(--fz-dmute)}
.fz-fab{position:absolute;z-index:5;display:grid;place-items:center;width:42px;height:42px;border-radius:12px;border:1px solid var(--fz-dl);background:rgba(8,16,34,.86);color:#dcebff;cursor:pointer;backdrop-filter:blur(8px);transition:background .2s,transform .2s}
.fz-fab:hover{background:var(--fz-sig);transform:scale(1.06)}
.fz-fab svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.fz-fab--geo{right:12px;bottom:112px}.fz-fab--fit{right:12px;bottom:62px}
.fz-hud{position:absolute;left:12px;top:12px;z-index:5;padding:8px 12px;border-radius:12px;background:rgba(8,16,34,.8);border:1px solid var(--fz-dl);color:#bcd2f5;font:600 12px/1.35 var(--font-mono,ui-monospace,monospace);backdrop-filter:blur(8px);pointer-events:none}
.fz-hud b{color:#fff}
.fz-legend{position:absolute;left:12px;bottom:40px;z-index:5;display:flex;gap:10px;flex-wrap:wrap;padding:8px 12px;border-radius:12px;background:rgba(8,16,34,.8);border:1px solid var(--fz-dl);color:#c6daf8;font:600 11.5px/1 var(--font-display,system-ui);backdrop-filter:blur(8px)}
.fz-legend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px;vertical-align:-1px}

/* метки на карте */
.fz-pin{position:relative;transform:translate(-50%,-100%);cursor:pointer;display:grid;justify-items:center;filter:drop-shadow(0 6px 10px rgba(0,0,0,.55));transition:transform .2s}
.fz-pin:hover,.fz-pin.is-on{transform:translate(-50%,-100%) scale(1.14);z-index:10}
.fz-pin__b{display:flex;align-items:center;gap:6px;padding:6px 10px 6px 7px;border-radius:99px;background:#0b1730;border:2px solid var(--c,#8fa3c4);color:#fff;font:800 13px/1 var(--font-display,system-ui);white-space:nowrap}
.fz-pin__b::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--c,#8fa3c4);box-shadow:0 0 10px var(--c,#8fa3c4)}
.fz-pin__b.is-none{color:#a9c0e6;font-weight:700;border-style:dashed}
.fz-pin::after{content:"";width:2px;height:9px;background:var(--c,#8fa3c4)}
.fz-pin.is-on .fz-pin__b{box-shadow:0 0 0 4px rgba(10,139,255,.45)}
.fz-pin.is-cheap .fz-pin__b{animation:fzGlow 2.2s infinite;background:linear-gradient(135deg,#0b2d2a,#0b1730)}
.fz-pin.is-cheap .fz-pin__b::after{content:"выгодно";margin-left:2px;font:700 10px/1 var(--font-mono,ui-monospace,monospace);color:#5ff0b0;text-transform:uppercase;letter-spacing:.06em}
@keyframes fzGlow{0%{box-shadow:0 0 0 0 rgba(22,185,122,.7)}70%{box-shadow:0 0 0 12px rgba(22,185,122,0)}100%{box-shadow:0 0 0 0 rgba(22,185,122,0)}}
.fz-me{width:16px;height:16px;border-radius:50%;background:#2a8dff;border:3px solid #fff;box-shadow:0 0 0 8px rgba(42,141,255,.3);transform:translate(-50%,-50%)}

/* панель станции (всегда тёмная) */
.fz-panel{position:relative;border-radius:calc(var(--fz-r) + 4px);padding:20px;color:var(--fz-dink);background:radial-gradient(100% 80% at 100% 0,rgba(122,92,255,.28),transparent 60%),linear-gradient(165deg,var(--fz-bg2),var(--fz-bg));border:1px solid var(--fz-dl);box-shadow:0 26px 60px -34px rgba(0,70,190,.9);animation:fzIn .35s both}
@keyframes fzIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.fz-panel__x{position:absolute;right:14px;top:14px;width:34px;height:34px;border-radius:50%;border:1px solid var(--fz-dl);background:rgba(255,255,255,.07);color:#fff;cursor:pointer;font-size:19px;line-height:1;transition:background .2s}
.fz-panel__x:hover{background:rgba(255,255,255,.18)}
.fz-panel h2{margin:0 40px 6px 0;font:800 20px/1.25 var(--font-display,system-ui);color:#fff}
.fz-brand{display:inline-flex;align-items:center;gap:8px;margin-bottom:10px;padding:5px 11px;border-radius:99px;font:800 11px/1 var(--font-mono,ui-monospace,monospace);text-transform:uppercase;letter-spacing:.08em;background:rgba(255,255,255,.08);color:var(--c,#9bdcff);border:1px solid var(--c,#9bdcff)}
.fz-brand::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--c,#9bdcff);box-shadow:0 0 8px var(--c,#9bdcff)}
.fz-panel p{margin:4px 0;font-size:13.5px;line-height:1.5;color:#bcd0f0}
.fz-prices{display:grid;gap:7px;margin:14px 0}
.fz-prow{position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:11px 14px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(120,170,255,.16)}
.fz-prow span{font:700 14px/1.2 var(--font-display,system-ui);color:#d6e4ff}
.fz-prow b{font:900 21px/1 var(--font-display,system-ui);color:#fff;font-variant-numeric:tabular-nums;text-align:right}
.fz-prow b small{font-size:12px;color:#9bdcff;font-weight:600}
.fz-prow .fz-cmp{display:block;margin-top:5px;font:600 11.5px/1.2 var(--font-mono,ui-monospace,monospace);color:#8fa8d3}
.fz-prow .fz-cmp.is-ok{color:#6ff0b6}.fz-prow .fz-cmp.is-hi{color:#ff9aa5}
.fz-prow.is-na b{color:#8fa6cc;font-size:13px;font-weight:600}
.fz-prow.is-min{border-color:rgba(22,185,122,.7);background:rgba(22,185,122,.12)}
.fz-meter{position:absolute;left:0;bottom:0;height:3px;background:linear-gradient(90deg,#16b97a,#f5a524,#ef4b5b);opacity:.9}
.fz-prow--btn{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:border-color .2s,background .2s,transform .2s}
.fz-prow--btn:hover{border-color:rgba(0,168,255,.8);background:rgba(10,139,255,.18);transform:translateX(3px)}
.fz-meta{font:500 12px/1.5 var(--font-mono,ui-monospace,monospace);color:#8fa8d3;margin-top:10px}
.fz-warn{margin:12px 0 0;padding:11px 13px;border-radius:12px;background:rgba(245,165,36,.14);border:1px solid rgba(245,165,36,.45);color:#ffdca6;font-size:12.5px;line-height:1.5}
.fz-btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.fz-btn{display:inline-flex;align-items:center;gap:6px;padding:11px 15px;border-radius:12px;border:1px solid var(--fz-dl);background:rgba(255,255,255,.08);color:#fff;text-decoration:none;font:700 13px/1 var(--font-display,system-ui);cursor:pointer;transition:background .2s,transform .2s}
.fz-btn:hover{background:rgba(255,255,255,.2);transform:translateY(-1px)}
.fz-btn--main{background:linear-gradient(135deg,#0a8bff,#7a5cff);border-color:transparent;box-shadow:0 12px 26px -14px rgba(10,139,255,.95)}
.fz-btn--main:hover{background:linear-gradient(135deg,#2b9bff,#8b6bff)}
.fz-form{display:none;margin-top:14px;padding:14px;border-radius:14px;background:rgba(255,255,255,.06);border:1px dashed rgba(160,190,255,.4)}
.fz-form.is-open{display:grid;gap:10px}
.fz-form label{display:grid;gap:6px;font-size:12.5px;color:#c4d6f5}
.fz-form select,.fz-form input[name=price]{width:100%;padding:11px 13px;border-radius:10px;border:1px solid var(--fz-dl);background:#0b1730;color:#fff;font:600 14px/1 var(--font-display,system-ui)}
.fz-form .fz-hp{position:absolute;left:-9999px;opacity:0}
.fz-form__msg{font-size:12.5px;color:#9bdcff;min-height:1em}
.fz-hint{padding:18px 6px 8px;color:#bcd0f0}
.fz-hint b{display:block;margin-bottom:6px;font:800 19px/1.3 var(--font-display,system-ui);color:#fff}
.fz-hint-sub{margin:12px 0 8px;font:700 11.5px/1 var(--font-mono,ui-monospace,monospace);letter-spacing:.08em;text-transform:uppercase;color:#8fa8d3}

/* ── Список ── */
.fz-listwrap{margin-top:clamp(22px,3vw,34px)}
.fz-listhead{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin:0 0 14px}
.fz-listhead h2{margin:0;color:var(--fz-ink);font:900 clamp(22px,2.4vw,28px)/1.2 var(--font-display,system-ui);letter-spacing:-.01em}
.fz-listhead h2 small{margin-left:8px;padding:5px 10px;border-radius:99px;background:var(--fz-card2);border:1px solid var(--fz-line);color:var(--fz-mute);font:700 12px/1 var(--font-mono,ui-monospace,monospace)}
.fz-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,310px),1fr));gap:clamp(10px,1.4vw,16px)}
.fz-card{position:relative;display:grid;gap:10px;padding:16px 16px 14px;border-radius:var(--fz-r);background:var(--fz-card);border:1px solid var(--fz-line);box-shadow:var(--fz-sh);text-align:left;color:var(--fz-ink);cursor:pointer;overflow:hidden;transition:transform .22s,box-shadow .22s,border-color .22s;animation:fzCard .5s both}
.fz-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--c,#8fa3c4)}
.fz-card::after{content:"";position:absolute;right:-40px;top:-40px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,var(--c,#8fa3c4),transparent 70%);opacity:.12;pointer-events:none;transition:opacity .22s}
.fz-card:hover,.fz-card.is-on{transform:translateY(-3px);border-color:var(--fz-sig);box-shadow:0 18px 36px -22px var(--fz-glow)}
.fz-card:hover::after,.fz-card.is-on::after{opacity:.28}
.fz-card.is-on{box-shadow:0 0 0 2px var(--fz-sig),0 18px 36px -22px var(--fz-glow)}
.fz-card[hidden]{display:none}
@keyframes fzCard{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.fz-card__top{display:flex;align-items:center;gap:11px}
.fz-mono{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;font:900 18px/1 var(--font-display,system-ui);color:#10182a;background:var(--c,#8fa3c4);box-shadow:0 8px 18px -10px var(--c,#8fa3c4)}
.fz-mono--lk{color:#fff}
.fz-card__name{display:block;margin:0;color:var(--fz-ink);font:800 16px/1.25 var(--font-display,system-ui)}
.fz-card__where{display:block;margin-top:3px;color:var(--fz-mute);font:600 12.5px/1.3 var(--font-display,system-ui)}
.fz-badge{margin-left:auto;flex:none;align-self:flex-start;padding:5px 9px;border-radius:99px;background:rgba(22,185,122,.16);color:#0d8f5c;font:800 10.5px/1 var(--font-mono,ui-monospace,monospace);letter-spacing:.06em;text-transform:uppercase;border:1px solid rgba(22,185,122,.5)}
html[data-theme="dark"] .fz-badge{color:#5ff0b0}
@media (prefers-color-scheme:dark){html:not([data-theme="light"]) .fz-badge{color:#5ff0b0}}
.fz-badge[hidden]{display:none}
.fz-card__ad{color:var(--fz-mute);font-size:13px;line-height:1.45}
.fz-card__row{display:flex;gap:7px;flex-wrap:wrap}
.fz-pr{display:inline-flex;align-items:baseline;gap:6px;padding:8px 11px;border-radius:11px;background:var(--fz-card2);border:1px solid var(--fz-line);color:var(--fz-ink);font:800 14px/1 var(--font-display,system-ui);white-space:nowrap;font-variant-numeric:tabular-nums}
.fz-pr small{color:var(--fz-mute);font:700 11px/1 var(--font-mono,ui-monospace,monospace);letter-spacing:.04em}
.fz-pr.is-sel{border-color:var(--fz-sig);background:rgba(10,139,255,.12);box-shadow:inset 0 0 0 1px var(--fz-sig)}
.fz-pr.is-sel small{color:var(--fz-sig)}
.fz-pr.is-min{border-color:rgba(22,185,122,.7);background:rgba(22,185,122,.14);box-shadow:inset 0 0 0 1px rgba(22,185,122,.6)}
.fz-pr.is-na{color:var(--fz-mute);font-weight:600;font-size:12.5px}
.fz-card__foot{display:flex;justify-content:space-between;gap:8px;color:var(--fz-mute);font:600 12px/1.3 var(--font-mono,ui-monospace,monospace)}

/* ── Пояснения ── */
.fz-note{margin:clamp(22px,3vw,34px) 0;padding:clamp(18px,2.6vw,28px);border-radius:calc(var(--fz-r) + 2px);background:var(--fz-card);border:1px solid var(--fz-line);box-shadow:var(--fz-sh);color:var(--fz-ink)}
.fz-note h2{margin:0 0 12px;color:var(--fz-ink);font:900 22px/1.25 var(--font-display,system-ui)}
.fz-note p,.fz-note li{color:var(--fz-mute);font-size:14.5px;line-height:1.65}
.fz-note ul{margin:8px 0 0;padding:0;list-style:none;display:grid;gap:10px}
.fz-note li{position:relative;padding-left:26px}
.fz-note li::before{content:"";position:absolute;left:0;top:.5em;width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,#0a8bff,#7a5cff);box-shadow:0 0 10px var(--fz-glow)}
.fz-note li b{color:var(--fz-ink)}
.fz-faq details{border-top:1px solid var(--fz-line);padding:14px 0}
.fz-faq details:first-of-type{border-top:0}
.fz-faq summary{cursor:pointer;color:var(--fz-ink);font:700 15.5px/1.4 var(--font-display,system-ui);list-style:none;display:flex;justify-content:space-between;gap:12px}
.fz-faq summary::-webkit-details-marker{display:none}
.fz-faq summary::after{content:"+";flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--fz-card2);border:1px solid var(--fz-line);color:var(--fz-sig);font-weight:800}
.fz-faq details[open] summary::after{content:"−"}
.fz-faq p{margin:10px 0 0}

/* ── Виджет главной ── */
.fzw{position:relative;overflow:hidden;margin:clamp(14px,2vw,22px) 0;padding:clamp(16px,2vw,24px);border-radius:calc(var(--radius,18px) + 4px);color:#eaf2ff;background:radial-gradient(100% 130% at 100% 0,rgba(122,92,255,.45),transparent 55%),radial-gradient(90% 120% at 0 100%,rgba(10,139,255,.4),transparent 55%),linear-gradient(155deg,#0d1a33,#071022);border:1px solid rgba(120,170,255,.25)}
.fzw::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(140,180,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(140,180,255,.07) 1px,transparent 1px);background-size:34px 34px;mask-image:radial-gradient(110% 90% at 80% 0,#000 15%,transparent 70%);pointer-events:none}
.fzw__head{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.fzw__badge{display:inline-flex;align-items:center;gap:8px;font:700 12px/1 var(--font-mono,ui-monospace,monospace);letter-spacing:.08em;text-transform:uppercase;color:#9fc4ff}
.fzw__badge i{width:8px;height:8px;border-radius:50%;background:#16b97a;animation:fzPulse 2s infinite}
.fzw h2{margin:7px 0 0;font:900 clamp(20px,2.4vw,26px)/1.2 var(--font-display,system-ui);color:#fff;letter-spacing:-.01em}
.fzw__go{display:inline-flex;align-items:center;gap:8px;padding:12px 17px;border-radius:99px;background:linear-gradient(135deg,#0a8bff,#7a5cff);color:#fff;text-decoration:none;font:800 14px/1 var(--font-display,system-ui);box-shadow:0 14px 32px -14px rgba(10,139,255,.95);transition:transform .2s}
.fzw__go:hover{transform:translateY(-2px)}
.fzw__row{position:relative;z-index:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}
.fzw__p{padding:13px 15px;border-radius:16px;background:linear-gradient(155deg,rgba(255,255,255,.1),rgba(255,255,255,.03));border:1px solid rgba(160,190,255,.24);text-decoration:none;color:inherit;transition:transform .2s,border-color .2s}
.fzw__p:hover{transform:translateY(-3px);border-color:rgba(90,190,255,.85)}
.fzw__p span{display:block;font:700 12px/1 var(--font-mono,ui-monospace,monospace);letter-spacing:.06em;color:#a9c8ff}
.fzw__p b{display:block;margin:8px 0 4px;font:900 28px/1 var(--font-display,system-ui);color:#fff;text-shadow:0 0 20px rgba(0,168,255,.55);font-variant-numeric:tabular-nums}
.fzw__p b em{font-style:normal;font-size:.55em;margin-left:3px;color:#8fd0ff}
.fzw__p small{font-size:12px;color:#a9bddf}
.fzw__foot{position:relative;z-index:1;margin:14px 0 0;font-size:12.5px;color:#a9bddf}


/* ── Наличие топлива и очередь ── */
.fz-live-bar{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0}
.fz-lchip{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border-radius:99px;border:1px solid rgba(160,190,255,.3);background:rgba(8,16,36,.55);backdrop-filter:blur(8px);color:#fff;font:700 12.5px/1.2 var(--font-display,system-ui)}
.fz-lchip::before{content:"";width:8px;height:8px;border-radius:50%;background:#9db6df}
.fz-lchip--ok::before{background:var(--fz-ok);box-shadow:0 0 8px var(--fz-ok)}
.fz-lchip--bad{border-color:rgba(239,75,91,.6);background:rgba(239,75,91,.16)}.fz-lchip--bad::before{background:var(--fz-bad);box-shadow:0 0 8px var(--fz-bad)}
.fz-lchip--warn{border-color:rgba(245,165,36,.6);background:rgba(245,165,36,.14)}.fz-lchip--warn::before{background:var(--fz-warn);box-shadow:0 0 8px var(--fz-warn)}
.fz-lchip--mute{color:var(--fz-dmute);font-weight:600}
.fz-card__stw{display:flex;flex-wrap:wrap;gap:6px}
.fz-card__stw:empty{display:none}
.fz-st{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:99px;font:700 11.5px/1.2 var(--font-display,system-ui);border:1px solid var(--fz-line);background:var(--fz-card2);color:var(--fz-ink)}
.fz-st::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--fz-mute)}
.fz-st--ok{border-color:rgba(22,185,122,.55);background:rgba(22,185,122,.12)}.fz-st--ok::before{background:var(--fz-ok)}
.fz-st--bad{border-color:rgba(239,75,91,.6);background:rgba(239,75,91,.12)}.fz-st--bad::before{background:var(--fz-bad)}
.fz-st--warn{border-color:rgba(245,165,36,.65);background:rgba(245,165,36,.14)}.fz-st--warn::before{background:var(--fz-warn)}
.fz-st--q0::before{background:var(--fz-ok)}.fz-st--q1{border-color:rgba(245,165,36,.55)}.fz-st--q1::before{background:var(--fz-warn)}
.fz-st--q2{border-color:rgba(239,75,91,.6);background:rgba(239,75,91,.12)}.fz-st--q2::before{background:var(--fz-bad)}
.fz-st.is-unc{border-style:dashed;opacity:.85}

/* метки на карте: нет топлива / лимит / очередь */
.fz-pin.is-out .fz-pin__b{border-color:var(--fz-bad);background:linear-gradient(135deg,#3a0f18,#0b1730);animation:none;text-decoration:line-through;text-decoration-color:rgba(255,154,165,.8)}
.fz-pin.is-out .fz-pin__b::after{content:"нет";margin-left:2px;font:800 10px/1 var(--font-mono,ui-monospace,monospace);color:#ff9aa5;text-transform:uppercase;text-decoration:none;display:inline-block}
.fz-pin.is-out::after{background:var(--fz-bad)}
.fz-pin.is-lim .fz-pin__b{border-color:var(--fz-warn)}
.fz-pin.is-lim .fz-pin__b::after{content:"лимит";margin-left:2px;font:800 10px/1 var(--font-mono,ui-monospace,monospace);color:#ffd27d;text-transform:uppercase}
.fz-pin__q{display:inline-block;width:9px;height:9px;margin-left:2px;border-radius:2px;background:var(--fz-warn);box-shadow:0 0 8px var(--fz-warn)}
.fz-pin__q.q2{background:var(--fz-bad);box-shadow:0 0 8px var(--fz-bad);animation:fzBlink 1.4s infinite}

/* панель: блок «Сейчас на АЗС» */
.fz-live{margin:16px 0 4px;padding:14px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(120,170,255,.2)}
.fz-live__h{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:10px;font:800 15px/1.2 var(--font-display,system-ui);color:#fff}
.fz-live__h small{font:600 11px/1 var(--font-mono,ui-monospace,monospace);color:#8fa8d3;letter-spacing:.04em}
.fz-lrow{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:baseline;padding:8px 0;border-top:1px solid rgba(120,170,255,.14)}
.fz-lrow:first-of-type{border-top:0}
.fz-lrow span{font:700 13.5px/1.2 var(--font-display,system-ui);color:#d6e4ff}
.fz-lrow b{justify-self:end;font:800 14px/1.2 var(--font-display,system-ui);color:#fff}
.fz-lrow i{grid-column:1/-1;font:600 11.5px/1.3 var(--font-mono,ui-monospace,monospace);color:#8fa8d3;font-style:normal}
.fz-lrow.is-none b{font-weight:600;font-size:12.5px;color:#8fa6cc}
.fz-lst::before{content:"";display:inline-block;width:8px;height:8px;margin-right:7px;border-radius:50%;background:#9db6df;vertical-align:0}
.fz-lst--ok::before,.fz-lq0::before{background:var(--fz-ok);box-shadow:0 0 8px var(--fz-ok)}
.fz-lst--bad::before,.fz-lq2::before{background:var(--fz-bad);box-shadow:0 0 8px var(--fz-bad)}
.fz-lst--warn::before,.fz-lq1::before{background:var(--fz-warn);box-shadow:0 0 8px var(--fz-warn)}
.fz-lst--ok,.fz-lq0{color:#6ff0b6}.fz-lst--bad,.fz-lq2{color:#ff9aa5}.fz-lst--warn,.fz-lq1{color:#ffd27d}
.fz-lst.is-unc{opacity:.85;font-style:italic}
.fz-quick{margin-top:12px;padding-top:12px;border-top:1px dashed rgba(160,190,255,.35);display:grid;gap:10px}
.fz-quick__t{font:700 12.5px/1.4 var(--font-display,system-ui);color:#c4d6f5}
.fz-quick__r{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.fz-quick__l{font:700 12.5px/1 var(--font-display,system-ui);color:#c4d6f5}
.fz-quick select,.fz-quick input{padding:9px 11px;border-radius:10px;border:1px solid var(--fz-dl);background:#0b1730;color:#fff;font:600 13.5px/1 var(--font-display,system-ui)}
.fz-quick__lim{display:grid;gap:6px;font-size:12.5px;color:#c4d6f5}
.fz-quick__lim[hidden]{display:none}
.fz-q{appearance:none;cursor:pointer;padding:9px 13px;border-radius:10px;border:1px solid var(--fz-dl);background:rgba(255,255,255,.08);color:#fff;font:700 13px/1 var(--font-display,system-ui);transition:background .2s,transform .2s}
.fz-q:hover{background:rgba(255,255,255,.2);transform:translateY(-1px)}
.fz-q--ok{border-color:rgba(22,185,122,.7)}.fz-q--ok:hover{background:rgba(22,185,122,.35)}
.fz-q--bad{border-color:rgba(239,75,91,.7)}.fz-q--bad:hover{background:rgba(239,75,91,.35)}
.fz-q--warn{border-color:rgba(245,165,36,.7)}.fz-q--warn:hover{background:rgba(245,165,36,.35)}

/* виджет главной: отметки жителей */
.fzw__live{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0}
.fzw__chip{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:99px;border:1px solid rgba(160,190,255,.3);background:rgba(8,16,36,.55);color:#fff;font:700 12px/1.2 var(--font-display,system-ui);text-decoration:none}
.fzw__chip::before{content:"";width:8px;height:8px;border-radius:50%;background:#16b97a}
.fzw__chip--bad{border-color:rgba(239,75,91,.6);background:rgba(239,75,91,.16)}.fzw__chip--bad::before{background:#ef4b5b}
.fzw__chip--warn{border-color:rgba(245,165,36,.6);background:rgba(245,165,36,.14)}.fzw__chip--warn::before{background:#f5a524}
@media(max-width:900px){.fz-stage{grid-template-columns:1fr}.fz-panel.is-hint{display:none}.fz-mapbox{height:clamp(400px,66vh,580px)}}
@media(max-width:600px){
  .fz-seg{width:100%}.fz-seg button{flex:1;padding:11px 4px;font-size:13px}
  .fz-find{max-width:none;flex-basis:100%}
  .fz-mapbox{margin:0 -12px;border-radius:0;border-left:0;border-right:0}
  .fz-fab--geo{bottom:112px}.fz-hud{display:none}
  .fz-legend{left:8px;right:60px;bottom:40px}
}
@media(max-width:520px){.fzw__row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.fzw__p{padding:10px}.fzw__p b{font-size:21px}.fzw__p small{font-size:11px}}
@media(prefers-reduced-motion:reduce){.fz *,.fzw *{animation:none!important;transition:none!important}}
