
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#05070C; --bg2:#070B12; --panel:#0F1520; --card:#0F1520;
  --border:rgba(255,255,255,.06); --text:#F2F4F8; --dim:#8B96A8; --dim2:#A7B0BF;
  --green:#22C55E; --green-t:#4ADE80; --orange:#F97316; --orange-t:#FB923C;
  --yellow:#FACC15; --red:#EF4444; --red-t:#F87171; --blue:#3B82F6; --grey:#6B7280;
  /* Цвета статусов специально для маркеров карты (премиальный пин) */
  --status-ok:#30D56B; --status-queue:#FF7A1A; --status-low:#FFC400; --status-empty:#FF4D5A;
  --brand-green:#30D56B;
  --slogo-bg:rgba(255,255,255,.07); --slogo-fg:#EAEEF5;   /* плитка-монограмма АЗС без логотипа (тема-зависимо) */
  --safe-b:env(safe-area-inset-bottom,0px);
}
/* ─────────────────────────────────────────────────────────────────────────
   СВЕТЛАЯ ТЕМА. Переопределяем CSS-переменные (≈210 var() адаптируются сами),
   а ниже — хардкод-поверхности/тексты/границы/тени, заданные не через var().
   ───────────────────────────────────────────────────────────────────────── */
html[data-theme="light"]{
  --bg:#F4F6FA; --bg2:#EAEEF4; --panel:#FFFFFF; --card:#FFFFFF;
  --border:rgba(18,28,46,.12); --text:#121A28; --dim:#5A6678; --dim2:#46505F;
  --green:#16A34A; --green-t:#15803D; --orange:#EA580C; --orange-t:#C2410C;
  --yellow:#CA9A00; --red:#DC2626; --red-t:#B91C1C; --blue:#2563EB; --grey:#94A0B0;
  /* Маркеры карты остаются яркими — на светлой подложке тоже контрастны */
  --status-ok:#16A34A; --status-queue:#F97316; --status-low:#EAB308; --status-empty:#EF4444;
  --slogo-bg:#E4E9F0; --slogo-fg:#1B2536;   /* светлая: тёмная буква на сером квадрате (была near-white → невидима) */
  --brand-green:#16A34A;
}
html,body{height:100%;background:var(--bg);color:var(--text);
  font-family:-apple-system,"SF Pro Text","Inter",system-ui,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased;
  -webkit-text-size-adjust:100%;text-size-adjust:100%;  /* Android/Яндекс не раздувают шрифт → не лезет за правый край */
  touch-action:manipulation;                  /* убираем случайный double-tap зум, который браузер запоминал; пинч/карта живут (свой touch-action) */
  overscroll-behavior-y:none}                 /* выключаем pull-to-refresh браузера */
body{overflow:hidden}
/* Десктоп/планшет (≈20% аудитории): центрированная «рамка телефона» вместо растянутой мобайл-вёрстки.
   transform на body делает его containing block → ВСЕ position:fixed (шапка, вью, карта, нав, модалки)
   автоматически встают внутри рамки 460px без переписывания каждого элемента. */
@media (min-width:600px){
  html{background:#02040A}
  body{max-width:460px;margin:0 auto;transform:translateZ(0);
    box-shadow:0 0 0 1px rgba(255,255,255,.06),0 24px 70px rgba(0,0,0,.55)}
}
button{font-family:inherit;cursor:pointer}
.tap{transition:transform .12s ease}.tap:active{transform:scale(.97)}
@keyframes pulse{0%{transform:scale(.5);opacity:.7}100%{transform:scale(2.4);opacity:0}}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}
@keyframes spin{to{transform:rotate(360deg)}}

/* Шапка по референсу: зелёный знак + ГдеБЕНЗ | город | поиск (одна строка, мобайл-first) */
#header{position:fixed;top:0;left:0;right:0;z-index:1200;
  height:calc(env(safe-area-inset-top,0px) + 78px);
  padding:env(safe-area-inset-top,0px) 16px 0;display:flex;align-items:center;gap:12px;
  background:rgba(6,10,16,.92);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(255,255,255,.06)}
.brand-block{display:flex;align-items:center;gap:11px;min-width:0;text-decoration:none}
.brand-badge{width:46px;height:46px;border-radius:14px;flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center}
.brand-badge img{width:100%;height:100%;object-fit:cover;display:block}
.brand-badge svg{width:30px;height:30px}
.wm{font-size:27px;font-weight:800;letter-spacing:-.02em;line-height:1;color:#fff;white-space:nowrap}
.wm .g{color:var(--brand-green)}
.h-right{margin-left:auto;display:flex;align-items:center;gap:9px;flex-shrink:0}
.h-city{height:46px;background:rgba(15,22,33,.88);border:1px solid rgba(255,255,255,.09);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03),0 8px 24px rgba(0,0,0,.22);border-radius:18px;color:#fff;font-family:inherit}
.h-city{display:flex;align-items:center;gap:7px;padding:0 13px;font-size:15px;font-weight:500;max-width:min(240px,calc(100vw - 215px));min-width:0}
.h-city .pin{color:var(--brand-green);display:flex;flex-shrink:0}.h-city .pin svg{width:18px;height:18px}
.h-city .cname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.h-city .chev{color:var(--dim);display:flex;flex-shrink:0}.h-city .chev svg{width:15px;height:15px}
#header .loader{position:absolute;left:16px;bottom:5px}
@media (max-width:430px){
  #header{gap:10px;padding-left:14px;padding-right:14px}
  .wm{font-size:25px}.brand-block{gap:10px}.brand-badge{width:44px;height:44px}.brand-badge svg{width:28px;height:28px}
  .h-right{gap:8px}.h-city{max-width:220px;padding:0 12px}
}
@media (max-width:378px){
  #header{gap:9px;padding-left:12px;padding-right:12px}
  .wm{font-size:22px}.brand-block{gap:9px}.brand-badge{width:42px;height:42px}.brand-badge svg{width:27px;height:27px}
  .h-city{max-width:190px;padding:0 11px;font-size:14px;gap:6px;height:44px}
}
.hbtn{flex-shrink:0;width:40px;height:40px;border-radius:999px;border:1px solid var(--border);
  background:rgba(255,255,255,.06);color:#E8EAF0;display:flex;align-items:center;justify-content:center;font-size:19px}
/* Зум-капсула: +/− одним объектом, стиль = .map-fab .hbtn (48px, радиус 16, то же стекло) */
.zoom-caps{flex-shrink:0;width:48px;border-radius:16px;border:1px solid rgba(255,255,255,.13);background:rgba(14,18,26,.74);backdrop-filter:blur(14px);display:flex;flex-direction:column;overflow:hidden}
.zoom-caps button{width:100%;height:48px;border:0;background:transparent;color:#E8EAF0;font-size:22px;font-family:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;-webkit-tap-highlight-color:transparent}
.zoom-caps button:first-child{border-bottom:1px solid rgba(255,255,255,.13)}
.zoom-caps button:active{background:rgba(255,255,255,.10)}
.hbtn .bell-dot{position:absolute;margin:-14px 0 0 13px;width:8px;height:8px;border-radius:999px;background:var(--red);border:1.5px solid var(--bg)}
/* Кнопка-переключатель темы в шапке (под размер соседней .h-city = 46px) */
.theme-btn{width:46px;height:46px;border-radius:16px}
.theme-btn svg{width:22px;height:22px}
@media (max-width:378px){.theme-btn{width:44px;height:44px;border-radius:14px}.theme-btn svg{width:21px;height:21px}}

#search-wrap{position:fixed;inset:0;z-index:1400;display:none;
  padding:calc(env(safe-area-inset-top,0px) + 12px) 12px 10px;
  background:rgba(0,0,0,.45);backdrop-filter:blur(4px)}
#search-wrap.open{display:flex;flex-direction:column}
.search-card{background:var(--bg);border:1px solid var(--border);border-radius:18px;
  padding:10px;display:flex;flex-direction:column;max-height:72vh;max-height:72dvh;
  box-shadow:0 20px 50px rgba(0,0,0,.5)}
.search-row{display:flex;align-items:center;gap:8px;flex-shrink:0}
#city-input{flex:1;height:42px;padding:0 14px;background:rgba(255,255,255,.06);
  border:1px solid var(--border);color:var(--text);border-radius:12px;font-size:16px;outline:none}
#city-input:focus{border-color:rgba(59,130,246,.5)}
#search-results{margin-top:8px;overflow-y:auto;flex:1 1 auto;min-height:0}
.sr-group{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--dim);margin:12px 4px 7px}
.sr-group:first-child{margin-top:2px}
.sr-item{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:14px;background:rgba(255,255,255,.03);margin-bottom:6px;border:none;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
.sr-item:active{background:rgba(255,255,255,.07)}
.sr-item.sr-city{justify-content:space-between}
.sr-meta{font-size:13px;color:var(--dim);flex-shrink:0;margin-left:12px;white-space:nowrap}
.sr-ico{flex-shrink:0}.sr-ico .slogo{width:42px;height:42px;border-radius:12px;font-size:17px}
.sr-main{flex:1;min-width:0}
.sr-name{font-weight:600;font-size:15px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sr-pill{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;white-space:nowrap}
.sr-sub{font-size:12.5px;color:var(--dim);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sr-chev{width:18px;height:18px;color:var(--dim2);flex-shrink:0;opacity:.6}
.sr-empty{padding:14px;color:var(--dim);font-size:14px;text-align:center}

.view{position:fixed;top:0;left:0;right:0;bottom:0;display:none}
.view.on{display:block}
#view-home{overflow-y:auto;-webkit-overflow-scrolling:touch;
  padding:calc(env(safe-area-inset-top,0px) + 90px) 0 calc(116px + var(--safe-b))}

.sec{padding:4px 16px 0}
.sec-title{font-size:24px;font-weight:700;color:var(--text);letter-spacing:-.01em}
.sub{display:flex;align-items:center;gap:7px;margin-top:4px;font-size:12.5px;color:var(--dim)}
.live{width:7px;height:7px;border-radius:999px;background:var(--green);flex-shrink:0;animation:blink 1.4s ease-in-out infinite}
.seo{padding:14px 16px 0}
.seo h1{font-size:20px;font-weight:600;line-height:1.25;margin:0}
.seo p{font-size:13.5px;color:var(--dim);line-height:1.5;margin:8px 0 0}

.statrow{display:flex;gap:8px;padding:12px 16px 2px;overflow-x:auto}
.statrow::-webkit-scrollbar{display:none}
.statpill{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-size:13px;color:var(--dim2);
  background:var(--card);border:1px solid var(--border);border-radius:999px;padding:8px 13px;flex-shrink:0}
.statpill b{font-weight:600;font-size:14px}
.fcta{position:absolute;left:50%;transform:translateX(-50%);bottom:calc(54% + 16px);z-index:570;
  display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border-radius:999px;border:none;
  background:#22C55E;color:#04140A;font-size:15px;font-weight:600;font-family:inherit;box-shadow:0 8px 22px rgba(34,197,94,.4)}

.mapcard{margin:4px 14px 4px;position:relative;border-radius:24px;overflow:hidden;
  border:1px solid var(--border);height:40vh;box-shadow:0 14px 40px rgba(0,0,0,.4)}
.cta-big{width:100%;height:70px;border:none;border-radius:22px;background:linear-gradient(135deg,#16A34A,#22C55E);
  color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  font-family:inherit;box-shadow:0 12px 30px rgba(34,197,94,.38)}
.cta-big .t{font-size:17px;font-weight:600}
.cta-big .s{font-size:12.5px;opacity:.85}
.sharecard{display:flex;gap:13px;margin:14px 16px 4px;padding:15px 14px;border-radius:20px;
  background:var(--card);border:1px solid var(--border)}
.sharecard .sh-ic{width:42px;height:42px;border-radius:13px;flex-shrink:0;display:flex;align-items:center;
  justify-content:center;font-size:20px;background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.22)}
.sharecard .sh-t{font-size:15px;font-weight:600}
.sharecard .sh-s{font-size:12.5px;color:var(--dim2);margin-top:4px;line-height:1.4}
.sharecard .sh-btns{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}
.sharecard .sh-share{background:var(--green);color:#052310;font-weight:700;border:none;border-radius:12px;
  padding:10px 18px;font-size:13.5px}
.sharecard .sh-copy{background:rgba(255,255,255,.05);color:var(--text);border:1px solid var(--border);
  border-radius:12px;padding:10px 14px;font-size:13.5px}
.site-foot{margin-top:22px;padding:18px 16px 6px;text-align:center}
.site-foot .tg-link{display:inline-flex;align-items:center;gap:6px;color:var(--dim2);
  font-size:13.5px;font-weight:500;text-decoration:none}
.site-foot .tg-link svg{color:#3B9EDA;flex-shrink:0}
.site-foot .tg-link:active{opacity:.6}
.site-foot .foot-sub{margin-top:6px;font-size:11.5px;color:var(--dim)}
#home-map{position:absolute;inset:0;background:var(--bg2)}
.map-tap{position:absolute;top:12px;right:12px;z-index:600;width:38px;height:38px;border-radius:12px;
  background:rgba(11,13,18,.82);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:#fff}
.map-tap svg{width:19px;height:19px}
.hm-recenter{position:absolute;right:12px;bottom:12px;z-index:600;width:40px;height:40px;border-radius:13px;
  background:rgba(11,13,18,.86);border:1px solid var(--border);color:#fff;font-size:19px;line-height:1;
  display:flex;align-items:center;justify-content:center}
.hm-zoom{position:absolute;right:12px;bottom:60px;z-index:600;display:flex;flex-direction:column;gap:8px}
.hm-zoom button{width:40px;height:40px;border-radius:13px;background:rgba(11,13,18,.86);
  border:1px solid var(--border);color:#fff;font-size:22px;line-height:1;
  display:flex;align-items:center;justify-content:center}
.map-chip{position:absolute;top:12px;left:12px;z-index:600;display:inline-flex;align-items:center;gap:6px;
  background:rgba(11,13,18,.82);border:1px solid var(--border);padding:5px 10px;border-radius:999px;
  font-size:11.5px;font-weight:500}
.map-ctrls{position:absolute;top:12px;right:12px;z-index:600;display:flex;flex-direction:column;gap:9px}
.map-ctrls .hbtn{width:42px;height:42px;border-radius:14px;background:rgba(11,13,18,.82)}

.list{padding:0 16px}
/* Компактная карточка АЗС (референс): лого слева, имя/статус/адрес/мета, chevron */
.stn{display:flex;align-items:center;gap:15px;background:rgba(15,22,33,.94);border:1px solid rgba(255,255,255,.08);
  border-radius:23px;padding:18px;min-height:132px;margin-bottom:11px;box-shadow:0 6px 18px rgba(0,0,0,.22)}
.stn .body{flex:1;min-width:0}
.stn .name{font-size:16px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stn .st-row{margin-top:8px}
.stn .addr{font-size:13px;color:var(--dim);margin-top:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stn .metaline{font-size:12.5px;color:var(--dim2);margin-top:7px;font-variant-numeric:tabular-nums}
.stn .chev{color:var(--grey);font-size:22px;flex-shrink:0}
.stn .slogo{width:66px;height:66px;border-radius:19px;font-size:26px;flex-shrink:0}
.stn .slogo.logo-img img{padding:13%}
.pill{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;padding:5px 12px;border-radius:999px;white-space:nowrap}
.pill .pd{width:7px;height:7px;border-radius:999px}
/* «Смотреть все» + плавное раскрытие */
.sec-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.see-all{background:none;border:none;color:var(--status-ok);font-family:inherit;font-size:13.5px;font-weight:600;padding:4px 2px}
.list .more{max-height:0;overflow:hidden;transition:max-height .2s ease-out}
.list .more.open{max-height:5000px}
/* Пустые состояния */
.hs-empty{background:rgba(15,22,33,.94);border:1px solid rgba(255,255,255,.08);border-radius:23px;padding:24px 20px;text-align:center}
.hs-empty .t{font-size:16px;font-weight:600}.hs-empty .s{font-size:13.5px;color:var(--dim);line-height:1.5;margin:8px 0 16px}
.hs-btn{height:46px;padding:0 22px;border:none;border-radius:14px;background:var(--status-ok);color:#06210F;font-family:inherit;font-size:15px;font-weight:700}
.calm{background:rgba(15,22,33,.94);border:1px solid rgba(255,255,255,.08);border-radius:23px;padding:18px 20px}
.calm .t{font-size:15px;font-weight:600}.calm .s{font-size:13px;color:var(--dim);margin-top:4px;line-height:1.45}

.cta-wrap{padding:6px 16px 16px}
.cta{width:100%;height:54px;border:none;border-radius:18px;background:linear-gradient(135deg,#16A34A,#22C55E);
  color:#fff;font-size:16px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:9px;
  box-shadow:0 10px 26px rgba(34,197,94,.28)}

.empty{margin:0 0 10px;padding:28px 18px;text-align:center;color:var(--dim);font-size:14px;
  background:var(--card);border:1px solid var(--border);border-radius:18px;line-height:1.5}

#map{position:absolute;inset:0;background:#0A0E16}
#view-map{background:#0A0E16}

/* map top overlay */
.mtop{position:absolute;top:0;left:0;right:0;z-index:600;
  padding:calc(env(safe-area-inset-top,0px) + 12px) 14px 12px;
  background:linear-gradient(180deg,rgba(8,10,15,.96),rgba(8,10,15,.72) 65%,rgba(8,10,15,0))}
.mtop-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}
.mtop-row h2{font-size:23px;font-weight:600;margin:0}
.mtop-btns{display:flex;gap:9px}
.msearch{display:flex;align-items:center;gap:10px;height:46px;padding:0 14px;
  background:rgba(20,25,33,.92);border:1px solid var(--border);border-radius:15px;backdrop-filter:blur(10px)}
.msearch span{color:var(--dim);font-size:15px}
.frow{display:flex;gap:8px;margin-top:10px;overflow-x:auto}
.frow::-webkit-scrollbar{display:none}
.fpill{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-size:13px;font-weight:500;
  padding:8px 13px;border-radius:999px;background:rgba(20,25,33,.88);border:1px solid var(--border);
  color:#D7DCE6;backdrop-filter:blur(10px)}
.fpill.on{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.28);color:#fff}
.fdot{width:8px;height:8px;border-radius:999px;flex-shrink:0}
#demo-badge{position:fixed;left:12px;bottom:calc(88px + env(safe-area-inset-bottom,0px));z-index:3000;
  background:rgba(245,185,74,.16);border:1px solid rgba(245,185,74,.5);color:#f5b94a;font-size:12px;font-weight:700;
  padding:6px 11px;border-radius:999px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);pointer-events:none}

/* ── Лёгкая панель действий на карте (фильтр-тоггл · поделиться · на экран) ── */
/* Горизонтальный скролл: 4 чипа держат полные подписи, на узких экранах ряд прокручивается */
.map-action-bar{display:flex;gap:8px;margin-top:10px;pointer-events:auto;
  overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.map-action-bar::-webkit-scrollbar{display:none}
/* Всегда-видимая плашка-дисклеймер: «отмечают сами водители, справочно». Тап — разворот полного текста */
.map-disclaimer{display:flex;align-items:center;gap:7px;width:100%;min-height:34px;margin-top:7px;padding:5px 11px;border:1px solid var(--border);border-radius:12px;background:var(--card);color:var(--dim);font-size:11.5px;line-height:1.25;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;pointer-events:auto}
.map-disclaimer .md-ic{flex-shrink:0;color:var(--dim2);display:flex}
.map-disclaimer .md-ic svg{width:15px;height:15px}
.map-disclaimer .md-tx{flex:1;min-width:0}
.map-disclaimer .md-more{flex-shrink:0;color:var(--green);display:flex;align-items:center;transition:transform .15s}
.map-disclaimer .md-more svg{width:16px;height:16px}
.map-disclaimer .md-more.open{transform:rotate(180deg)}
.map-disclaimer-full{margin-top:7px;padding:11px 13px;border:1px solid var(--border);border-radius:13px;background:var(--card);color:var(--dim);font-size:12px;line-height:1.5;pointer-events:auto}
.map-disclaimer-full a{color:var(--green);text-decoration:none}
/* Чипы «марка топлива» — ЖЁСТКИЙ фильтр, живут в шторке фильтра (#filter-sheet), не на карте */
.fg-h{margin:12px 0 10px;text-align:left;padding-left:2px}
.fg-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.fg-chip{flex:0 0 auto;height:40px;min-width:52px;padding:0 15px;border-radius:999px;border:1px solid rgba(255,255,255,.10);
  background:rgba(16,21,30,.60);color:#e9eef5;
  font-size:14px;font-weight:700;font-family:inherit;cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;
  transition:transform .12s ease,border-color .15s ease,background .15s ease}
.fg-chip:active{transform:scale(.96)}
.fg-chip.on{border-color:rgba(45,223,117,.55);background:rgba(28,72,51,.30);color:#eafff3;box-shadow:0 0 0 1px rgba(45,223,117,.25)}
.fg-hint{font-size:11.5px;color:var(--dim2);margin:0 0 10px;padding:0 2px;line-height:1.35;pointer-events:none}
html[data-theme="light"] .fg-chip{background:rgba(255,255,255,.92);border:1px solid rgba(18,28,46,.12);color:#2B3648}
html[data-theme="light"] .fg-chip.on{border-color:rgba(22,163,74,.55);background:rgba(22,163,74,.12);color:#15803D}
.scard.fg-on{border:1px solid rgba(45,223,117,.5);box-shadow:0 0 0 1px rgba(45,223,117,.22)}
html[data-theme="light"] .scard.fg-on{border-color:rgba(22,163,74,.5)}
.fg-have{display:inline-flex;align-items:center;margin-left:7px;font-size:11px;font-weight:700;color:#46e08c;background:rgba(45,223,117,.13);border:1px solid rgba(45,223,117,.32);border-radius:999px;padding:2px 8px;vertical-align:middle}
html[data-theme="light"] .fg-have{color:#15803D;background:rgba(22,163,74,.12);border-color:rgba(22,163,74,.28)}
.map-action{pointer-events:auto;height:46px;flex:1 0 auto;padding:0 14px;display:flex;align-items:center;
  justify-content:center;gap:8px;border-radius:14px;
  background:rgba(16,21,30,.60);border:1px solid rgba(255,255,255,.08);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  color:#e9eef5;font-size:14px;font-weight:600;white-space:nowrap;-webkit-tap-highlight-color:transparent;cursor:pointer;
  transition:transform .12s ease,border-color .15s ease,background .15s ease}
.map-action .ma-label{overflow:hidden;text-overflow:ellipsis}
.map-action .ma-ic{display:flex;flex-shrink:0;opacity:.9}
.map-action .ma-ic svg{width:18px;height:18px;display:block}
.map-action .ma-chev{display:flex;flex-shrink:0;opacity:.7}
.map-action .ma-chev svg{width:13px;height:13px;display:block}
/* Фильтр «Есть бензин» — тоггл: по умолчанию неактивен (показываем все), зелёный при включении */
.status-filter-button{border-radius:999px}
.status-dot{width:8px;height:8px;border-radius:50%;background:#2ddf75;flex-shrink:0}
.status-filter-button .status-dot{opacity:.5;transition:opacity .15s,box-shadow .15s}
.status-filter-button.on{border-color:rgba(45,223,117,.55);background:rgba(28,72,51,.30);color:#eafff3}
.status-filter-button.on .status-dot{opacity:1;box-shadow:0 0 7px rgba(45,223,117,.65)}
.status-dot.triple{width:auto;height:auto;background:none;display:inline-flex;gap:3px}
.status-filter-button.on .status-dot.triple{box-shadow:none;opacity:1}
.status-dot.triple i{width:8px;height:8px;border-radius:50%;display:block}
.share-map-button{color:rgba(233,238,245,.94)}
/* Чип «Поддержать» — зелёный акцент поверх базового .map-action (это <a>, не button) */
.support-action{background:rgba(45,223,117,.13);border-color:rgba(45,223,117,.42);color:#9cf0bf;text-decoration:none}
.support-action .ma-ic{opacity:1;color:#46e08c}
/* «Поддержать» — всегда с подписью; ряд просто горизонтально слайдится (overflow-x:auto выше).
   Когда юзер нажал «На экран», тот чип скрывается → освобождает место и «Поддержать» виден без скролла. */

/* ═══════════ ДЕСКТОП-ЛЕЙАУТ (≥1024px): карта-герой + левый сайдбар. Мобильную вёрстку НЕ трогает ═══════════ */
@media (min-width:1024px){
  /* снять «телефонную» рамку (max-width:460+transform с ≥600px) — иначе fixed позиционируется от неё */
  body.dsk{overflow:hidden;max-width:none!important;margin:0!important;transform:none!important;box-shadow:none!important}
  /* ── КАРТА — ПОЛНОЭКРАННЫЙ ФОН на ВСЕХ вкладках; меню «плавает» поверх и переключается отдельно ── */
  body.dsk #view-map{display:flex!important;flex-direction:row;align-items:stretch;
    position:fixed!important;left:0!important;top:0!important;right:auto!important;bottom:auto!important;
    width:100vw!important;height:100vh!important;margin:0!important;max-width:none!important;z-index:1}
  body.dsk #view-map #map{flex:1 1 0;position:absolute!important;inset:0!important;width:100vw!important;height:100vh!important;min-width:0;z-index:0;isolation:isolate}   /* свой stacking-контекст: Leaflet-панели (z~600) не перекрывают плавающую панель */
  body.dsk #view-map .map-fab{position:absolute;right:22px;bottom:22px;left:auto;top:auto;flex-direction:column;z-index:2600}
  body.dsk #view-map .map-fab .hbtn{width:44px;height:44px}

  /* ── ПЛАВАЮЩАЯ ПАНЕЛЬ меню/контента вкладки — карточка поверх карты слева ── */
  body.dsk .dsk-sidebar{position:fixed!important;left:16px;top:16px;bottom:92px;width:380px;max-width:380px;height:auto!important;flex:none!important;
    background:var(--bg);border:1px solid var(--border);border-radius:20px;
    display:flex;flex-direction:column;overflow:hidden;z-index:20;box-shadow:0 18px 50px rgba(0,0,0,.45)}
  body.dsk:not(.v-map) #view-map .dsk-sidebar{display:none}   /* панель «Карты» — только на вкладке Карта */
  body.dsk #view-home .dsk-sidebar,body.dsk #view-saved .dsk-sidebar{overflow-y:auto}   /* Ситуация/Мои АЗС: контент скроллится (на Карте скроллит внутренний msheet-list) */
  body.dsk .dsk-sidebar .mtop{position:static;width:auto;background:transparent;border:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:16px 16px 6px;flex-shrink:0}
  body.dsk .dsk-sidebar .mtop-row{gap:10px}
  body.dsk .dsk-sidebar .wm{font-size:22px}
  body.dsk .dsk-sidebar .map-action-bar{position:static;width:auto;display:flex;flex-wrap:wrap;gap:7px;overflow:visible;padding:2px 16px 10px;margin:0;pointer-events:auto;border-bottom:1px solid var(--border)}
  body.dsk .dsk-sidebar .map-action{flex:0 0 auto;height:36px;font-size:12.5px}
  body.dsk .dsk-sidebar .support-action .ma-label{display:inline}
  body.dsk .dsk-sidebar .msheet{position:static;width:auto;height:auto;flex:1 1 auto!important;min-height:0;transform:none!important;border-radius:0;box-shadow:none;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;padding:0;display:flex;flex-direction:column}
  body.dsk .dsk-sidebar .sheet-grab{cursor:default;padding:12px 16px 4px;flex-shrink:0}
  body.dsk .dsk-sidebar .sheet-grab .drag{display:none}
  body.dsk .dsk-sidebar .msheet-head h3{font-size:15px;letter-spacing:.01em}
  body.dsk .dsk-sidebar .msheet-list{flex:1 1 auto;overflow-y:auto;padding:6px 14px 14px}

  /* контейнеры Ситуации/Мои АЗС НЕ перекрывают карту — плавает только их панель; общий фон = карта S.map */
  body.dsk #view-home.on,body.dsk #view-saved.on{display:block!important;position:fixed!important;left:0;top:0;width:0;height:0;
    max-width:none!important;overflow:visible;background:none;transform:none!important;margin:0!important;padding:0!important;z-index:20}
  body.dsk #view-home .dsk-main,body.dsk #view-saved .dsk-main{display:none!important}   /* отдельные карты/панели не нужны — фон общий */
  body.dsk #header{position:static!important;left:auto!important;transform:none!important;width:auto!important;max-width:none!important}
  body.dsk #view-home .dsk-sidebar #header{display:flex;padding:14px 16px 8px;flex-shrink:0}
  body.dsk #view-home #seo-block,body.dsk #view-home .site-foot{display:none}
  body.dsk #view-home .dsk-sidebar .list{display:block;padding:0 14px}
  body.dsk #view-home .dsk-sidebar .sec{padding-left:14px;padding-right:14px}
  .ds-art{display:none}

  /* ── НАВ — плавающая плашка под панелью (слева), на всех вкладках ── */
  body.dsk #tabbar{position:fixed!important;left:16px!important;bottom:16px!important;width:380px!important;max-width:380px!important;right:auto!important;
    transform:none!important;border:1px solid var(--border);border-top:1px solid var(--border);border-radius:18px;background:var(--bg);z-index:30;box-shadow:0 12px 34px rgba(0,0,0,.4)}
  body.dsk #tabbar #tab-pill{display:none}

  /* оверлеи — в зоне панели слева; карта всегда живая (без затемнения) */
  body.dsk #panel{left:16px!important;right:auto!important;width:380px!important;max-width:380px!important;top:16px!important;bottom:92px!important;
    height:auto!important;max-height:none!important;border-radius:20px!important;border:1px solid var(--border)!important;border-top:1px solid var(--border)!important;
    box-shadow:0 18px 50px rgba(0,0,0,.5);transform:none!important}
  body.dsk #panel:not(.open){display:none}
  body.dsk #overlay{display:none!important}
  body.dsk #search-wrap{left:16px!important;right:auto!important;top:16px!important;bottom:92px!important;width:380px!important;max-width:380px!important;height:auto!important;transform:none!important;border-radius:20px}
  body.dsk #safe-note{left:16px!important;right:auto!important;width:380px!important;max-width:380px!important}
  body.dsk #share-ask{left:16px!important;right:auto!important;width:380px!important;max-width:380px!important}
  body.dsk #share-bd{display:none!important}
  /* контролы карты всегда поверх любых баннеров карты */
  body.dsk #view-map .map-fab{z-index:2600}
}
/* ═══════════ ДЕСКТОП-УЛУЧШЕНИЯ (аудит 05.07) — ВСЁ под @media≥1024 / body.dsk. Мобильная вёрстка (<1024px) НЕ затрагивается ═══════════ */
@media (min-width:1024px){
  /* 1. Сайдбар и оверлеи «дышат» по ширине экрана (было жёстко 380px на любом мониторе) */
  body.dsk{--dsk-w:clamp(372px,26vw,432px)}
  body.dsk .dsk-sidebar,
  body.dsk #tabbar,
  body.dsk #search-wrap,
  body.dsk #safe-note,
  body.dsk #share-ask{width:var(--dsk-w)!important;max-width:var(--dsk-w)!important}

  /* 2. Живой курсор + hover в списках — десктоп наконец отвечает на мышь */
  body.dsk .scard{cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}
  body.dsk .scard:hover{border-color:rgba(45,223,117,.42);background:rgba(45,223,117,.07)}
  html[data-theme="light"] body.dsk .scard:hover{background:rgba(22,163,74,.06);border-color:rgba(22,163,74,.34)}
  body.dsk .rr-item{cursor:pointer;transition:background .15s ease}
  body.dsk .rr-item:hover{background:rgba(255,255,255,.05)}
  html[data-theme="light"] body.dsk .rr-item:hover{background:rgba(18,28,46,.05)}
  body.dsk .map-action{cursor:pointer}

  /* 3. Панель — лёгкое «стекло» поверх карты (alpha ≥.90 = читаемо) + единый радиус с таббаром */
  body.dsk .dsk-sidebar{background:rgba(15,21,32,.92);-webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2)}
  html[data-theme="light"] body.dsk .dsk-sidebar{background:rgba(255,255,255,.93)}
  body.dsk #tabbar{border-radius:20px!important}

  /* 4. Master-detail на ≥1280px: карточка АЗС уезжает ВТОРОЙ колонкой вправо, список слева ОСТАЁТСЯ виден */
  @media (min-width:1280px){
    body.dsk #panel.open{left:calc(16px + var(--dsk-w) + 12px)!important;right:auto!important;width:clamp(384px,27vw,452px)!important;max-width:none!important;top:16px!important;bottom:16px!important}
  }

  /* 5. Правый борт «Заправки рядом» (вкладка «Ситуация») — живая сводка «где есть и насколько свежо».
     ToV-гард: ТОЛЬКО позитив/свежесть, никаких агрегатов об отсутствии. Пусто → борт скрыт целиком. */
  #dsk-rail{display:none;position:fixed;right:16px;top:16px;width:296px;z-index:20;flex-direction:column;
    background:rgba(15,21,32,.92);-webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2);
    border:1px solid var(--border);border-radius:20px;box-shadow:0 18px 50px rgba(0,0,0,.45);
    padding:18px 18px 14px;max-height:calc(100vh - 140px);overflow-y:auto}
  body.dsk.v-home #dsk-rail.has{display:flex}
  html[data-theme="light"] #dsk-rail{background:rgba(255,255,255,.93);box-shadow:0 16px 42px rgba(18,28,46,.14)}
  #dsk-rail .dr-eyebrow{font-size:11.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--dim)}
  #dsk-rail .dr-n{font-size:40px;font-weight:800;line-height:1.05;margin-top:10px;color:#7fefab;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
  html[data-theme="light"] #dsk-rail .dr-n{color:#0e6e33}
  #dsk-rail .dr-cap{font-size:13px;color:var(--dim);margin-top:3px;line-height:1.4}
  #dsk-rail .dr-near{display:flex;align-items:center;gap:8px;margin-top:14px;padding:11px 12px;border-radius:13px;cursor:pointer;
    background:rgba(45,223,117,.10);border:1px solid rgba(45,223,117,.28);transition:border-color .15s ease,background .15s ease}
  #dsk-rail .dr-near:hover{background:rgba(45,223,117,.16);border-color:rgba(45,223,117,.5)}
  html[data-theme="light"] #dsk-rail .dr-near{background:rgba(22,163,74,.07);border-color:rgba(22,163,74,.25)}
  html[data-theme="light"] #dsk-rail .dr-near:hover{background:rgba(22,163,74,.12);border-color:rgba(22,163,74,.45)}
  #dsk-rail .dr-near .t{flex:1;min-width:0;font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  #dsk-rail .dr-near .chev{color:var(--dim);flex:none;font-size:16px;line-height:1}
  #dsk-rail .dr-upd{display:flex;align-items:center;gap:7px;margin-top:10px;font-size:12.5px;color:var(--dim)}
  #dsk-rail .dr-upd .ld{width:7px;height:7px;border-radius:50%;background:#2ddf75;box-shadow:0 0 0 3px rgba(45,223,117,.18);flex:none}
  @keyframes drPulse{0%,100%{box-shadow:0 0 0 3px rgba(45,223,117,.18)}50%{box-shadow:0 0 0 6px rgba(45,223,117,.06)}}
  @media (prefers-reduced-motion:no-preference){#dsk-rail .dr-upd .ld{animation:drPulse 2.4s ease-in-out infinite}}
  #dsk-rail .dr-brands-h{font-size:12px;color:var(--dim);margin:14px 0 8px}
  #dsk-rail .dr-brands{display:flex;flex-wrap:wrap;gap:7px}
  #dsk-rail .dr-bchip{height:30px;padding:0 12px;border-radius:999px;border:1px solid var(--border);background:rgba(255,255,255,.04);
    color:var(--text);font-size:12.5px;font-weight:600;cursor:pointer;font-family:inherit;transition:border-color .15s ease,background .15s ease}
  #dsk-rail .dr-bchip:hover{border-color:rgba(45,223,117,.5);background:rgba(45,223,117,.10)}
  #dsk-rail .dr-bchip.dr-on{border-color:rgba(45,223,117,.6);background:rgba(45,223,117,.16);color:#7fefab}
  html[data-theme="light"] #dsk-rail .dr-bchip{background:rgba(18,28,46,.04)}
  html[data-theme="light"] #dsk-rail .dr-bchip.dr-on{background:rgba(22,163,74,.12);border-color:rgba(22,163,74,.5);color:#0e6e33}
  #dsk-rail .dr-foot{margin-top:14px;padding-top:11px;border-top:1px solid var(--border);font-size:11.5px;color:var(--dim2)}
}
.support-action:hover{border-color:rgba(45,223,117,.55);background:rgba(45,223,117,.19)}
/* Десктоп-онбординг: «Указать свой город» — скрыта везде, видна только на body.dsk (десктоп без GPS) */
.gp-city{display:none;width:100%;height:46px;margin-top:8px;border:1px solid var(--border);border-radius:14px;background:none;color:var(--text);font-size:14.5px;font-weight:600;cursor:pointer;font-family:inherit;transition:border-color .15s ease}
.gp-city:hover{border-color:rgba(45,223,117,.5)}
body.dsk .gp-city{display:block}
/* Тултип-превью маркера (десктоп-hover) */
.leaflet-tooltip.gb-tt{background:rgba(12,20,28,.95);color:#e9eff3;border:1px solid rgba(255,255,255,.12);border-radius:9px;padding:6px 9px;font-size:12px;line-height:1.45;box-shadow:0 8px 20px rgba(0,0,0,.5);white-space:nowrap;font-weight:500}
.leaflet-tooltip.gb-tt.leaflet-tooltip-top::before{border-top-color:rgba(12,20,28,.95)}
html[data-theme="light"] .leaflet-tooltip.gb-tt{background:#fff;color:#1a2332;border-color:rgba(18,28,46,.14);box-shadow:0 8px 20px rgba(18,28,46,.16)}
html[data-theme="light"] .leaflet-tooltip.gb-tt.leaflet-tooltip-top::before{border-top-color:#fff}
/* Полоса поддержки в шторке «Ближайшие АЗС» — спокойная, не баннер */
.support-strip{display:flex;align-items:center;gap:9px;margin:12px 2px 4px;padding:11px 13px;border-radius:14px;
  background:rgba(20,26,36,.5);border:1px solid rgba(255,255,255,.07);color:var(--dim);
  font-size:13px;font-weight:500;text-decoration:none;-webkit-tap-highlight-color:transparent;transition:transform .12s ease}
.support-strip .ss-txt b{color:#7fefab;font-weight:600}
.support-strip .ss-ic{color:#46e08c;flex-shrink:0;display:flex}
.support-strip .ss-ic svg{width:18px;height:18px;display:block}
/* Демимикрия Marketly (ДЕМО body.mkv2): чип «Реклама» */
.mk-ad{display:none}
body.mkv2 .scard.marketly{position:relative}
body.mkv2 .mk-ad{display:inline-block;position:absolute;top:7px;right:11px;font-size:9.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--dim2);border:1px solid var(--border);border-radius:6px;padding:2px 6px;line-height:1.2;pointer-events:none}
/* Донат-мост (ДЕМО DN_V2) */
#dn-sheet{position:fixed;inset:0;z-index:1750;display:none}
#dn-sheet.show{display:block}
#dn-sheet .dn-back{position:absolute;inset:0;background:rgba(0,0,0,.55)}
#dn-sheet .dn-card{position:absolute;left:0;right:0;bottom:0;max-width:560px;margin:0 auto;background:var(--bg,#101318);border-radius:22px 22px 0 0;padding:20px 18px calc(18px + env(safe-area-inset-bottom,0));border:1px solid var(--border);border-bottom:none}
#dn-sheet .dn-h{font-size:18px;font-weight:800;text-align:center}
#dn-sheet .dn-sub{font-size:13px;color:var(--dim);line-height:1.5;margin:10px 2px 14px;text-align:center}
#dn-sheet .dn-row{display:flex;gap:8px}
#dn-sheet .dn-amt{flex:1;border:none;border-radius:13px;padding:13px 0;font-size:14.5px;font-weight:800;cursor:pointer;background:rgba(45,223,117,.14);border:1px solid rgba(45,223,117,.4);color:#7fefab}
#dn-sheet .dn-amt:active{transform:scale(.97)}
#dn-sheet .dn-note{font-size:11.5px;color:var(--dim2);text-align:center;margin-top:12px}
#dn-sheet .dn-cancel{display:block;width:100%;margin-top:10px;padding:12px;background:none;border:none;color:var(--dim);font-size:14px;cursor:pointer}
html[data-theme="light"] #dn-sheet .dn-card{background:#fff}
html[data-theme="light"] #dn-sheet .dn-amt{background:rgba(22,163,74,.1);border-color:rgba(22,163,74,.4);color:#0e6e33}
/* ── Донат v3 «Ты уже часть карты» (ДЕМО body.dnv3): дефолты ниже ПРЯЧУТ v3-элементы → прод-вид v2 не меняется ── */
.dn-grip,.dn-sub-v3,.dn-note-v3,.dn-legal,.dn-rec{display:none}
body.dnv3 .dn-grip{display:block;width:36px;height:4px;border-radius:999px;background:var(--border);margin:0 auto 10px}
body.dnv3 .dn-sub-v2,body.dnv3 .dn-note-v2{display:none}
body.dnv3 .dn-sub-v3{display:block}
body.dnv3 .dn-note-v3{display:inline}
.dn-heart{display:inline-block;animation:vtBeat 1.9s ease-in-out infinite}   /* живое 💚 — для всех (Женя 03.07) */
#dn-sheet .dn-amt.dn-star{background:rgba(45,223,117,.24);border-color:rgba(45,223,117,.62)}   /* деликатный акцент 300₽ — «совсем капельку» */
html[data-theme="light"] #dn-sheet .dn-amt.dn-star{background:rgba(22,163,74,.16);border-color:rgba(22,163,74,.55)}
body.dnv3 #dn-sheet .dn-card{background:radial-gradient(120% 90% at 50% 0%,rgba(45,223,117,.10),transparent 55%),var(--bg,#101318);transform:translateY(100%);transition:transform .32s cubic-bezier(.22,1,.36,1)}
html[data-theme="light"] body.dnv3 #dn-sheet .dn-card,body.dnv3 html[data-theme="light"] #dn-sheet .dn-card{background:radial-gradient(120% 90% at 50% 0%,rgba(22,163,74,.06),transparent 55%),#fff}
body.dnv3 #dn-sheet.in .dn-card{transform:none}
body.dnv3 #dn-sheet .dn-back{opacity:0;transition:opacity .25s}
body.dnv3 #dn-sheet.in .dn-back{opacity:1}
body.dnv3 .dn-personal{display:block;margin:12px 0 0}
body.dnv3 .dn-stats{display:flex;gap:8px}
body.dnv3 .dn-stat{flex:1;background:rgba(45,223,117,.10);border-radius:12px;padding:11px 8px 9px;text-align:center}
html[data-theme="light"] body.dnv3 .dn-stat{background:rgba(22,163,74,.08)}
body.dnv3 .dn-stat .n{font-size:21px;font-weight:800;line-height:1.1;color:#7fefab;font-variant-numeric:tabular-nums}
html[data-theme="light"] body.dnv3 .dn-stat .n{color:#0e6e33}
body.dnv3 .dn-stat .c{font-size:11px;color:var(--dim);line-height:1.35;margin-top:3px}
body.dnv3 .dn-ptext{background:rgba(45,223,117,.10);border-radius:12px;padding:10px 12px;font-size:13.5px;text-align:center;line-height:1.45}
html[data-theme="light"] body.dnv3 .dn-ptext{background:rgba(22,163,74,.08)}
body.dnv3 .dn-row{margin-top:12px}
body.dnv3 #dn-sheet .dn-amt{transition:transform .18s cubic-bezier(.34,1.56,.64,1)}
body.dnv3 #dn-sheet.in .dn-amt{animation:dnRise .35s ease both;animation-delay:calc(var(--i)*45ms)}
@keyframes dnRise{from{opacity:0;transform:translateY(8px)}}
body.dnv3 #dn-sheet .dn-amt.dn-star{flex:1.15;background:linear-gradient(135deg,#22C55E,#2DDF75);color:#04240f;border-color:transparent;position:relative}
html[data-theme="light"] body.dnv3 #dn-sheet .dn-amt.dn-star{background:linear-gradient(135deg,#22C55E,#2DDF75);color:#04240f}
body.dnv3 .dn-rec{display:inline-block;position:absolute;top:-8px;left:50%;transform:translateX(-50%);font-size:9px;font-weight:700;letter-spacing:.02em;border-radius:999px;padding:2px 7px;white-space:nowrap;background:#0d2417;color:#7fefab;border:1px solid rgba(45,223,117,.5)}
html[data-theme="light"] body.dnv3 .dn-rec{background:#e8f9ee;color:#0e6e33;border-color:rgba(22,163,74,.4)}
body.dnv3 .dn-legal{display:block;font-size:12px;color:var(--dim2);text-align:center;margin-top:12px}
body.dnv3 #dn-sheet .dn-note{font-size:12px}
#dn-thanks{text-align:center;padding:6px 4px 2px}
#dn-thanks .dn-thx-heart{font-size:40px;line-height:1;margin-bottom:8px}
#dn-thanks .dn-thx-sub{font-size:13px;color:var(--dim);line-height:1.5;margin:8px 4px 14px}
#dn-thanks .dn-thx-back{width:100%}
@media (prefers-reduced-motion:reduce){.dn-heart,body.dnv3 #dn-sheet.in .dn-amt{animation:none}body.dnv3 #dn-sheet .dn-card,body.dnv3 #dn-sheet .dn-back{transition:none;transform:none;opacity:1}}
.support-strip:active{transform:scale(.99)}
/* Светлая тема: и чип, и полоса — мягкий зелёный фон + читаемый тёмно-зелёный, не тёмный блок */
html[data-theme="light"] .support-action{background:rgba(22,163,74,.10);border-color:rgba(22,163,74,.40);color:#15803D}
html[data-theme="light"] .support-action .ma-ic{color:#16A34A}
/* «Поддержать» v2 — чуть зеленее+премиальнее (РАСКАТАНА НА ВСЕХ 02.07 via body.suppv2): мягкий градиент + зелёное свечение + жирнее подпись */
body.suppv2 .support-action{background:linear-gradient(135deg,rgba(45,223,117,.26),rgba(22,163,74,.15));border-color:rgba(45,223,117,.62);color:#d6ffe8;box-shadow:0 5px 16px rgba(45,223,117,.20),inset 0 1px 0 rgba(255,255,255,.07)}
body.suppv2 .support-action .ma-ic{color:#5fe89b}
body.suppv2 .support-action .ma-label{font-weight:700;letter-spacing:-.01em}
body.suppv2 .support-action:hover{border-color:rgba(45,223,117,.8);background:linear-gradient(135deg,rgba(45,223,117,.32),rgba(22,163,74,.2))}
html[data-theme="light"] body.suppv2 .support-action{background:linear-gradient(135deg,rgba(34,197,94,.17),rgba(22,163,74,.095));border-color:rgba(22,163,74,.5);color:#0a5e2b;box-shadow:0 5px 16px rgba(22,163,74,.15),inset 0 1px 0 rgba(255,255,255,.55)}
html[data-theme="light"] body.suppv2 .support-action .ma-ic{color:#0e6e33}
html[data-theme="light"] .support-strip{background:rgba(22,163,74,.06);border-color:rgba(22,163,74,.22);color:var(--dim2)}
html[data-theme="light"] .support-strip .ss-txt b{color:#15803D}
html[data-theme="light"] .support-strip .ss-ic{color:#16A34A}
/* House-карточка Marketly в списке «Ближайшие АЗС» — постоянное брендирование, мягкий зелёный акцент */
.scard.marketly{text-decoration:none;color:inherit;border:1px solid rgba(45,223,117,.45);box-shadow:0 0 0 1px rgba(45,223,117,.13),0 6px 20px rgba(45,223,117,.06)}
.scard.marketly:active{transform:scale(.99)}
.scard.marketly .mk-plate{width:46px;height:46px;border-radius:13px;flex-shrink:0;background:#0b0b0c;border:1px solid rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;overflow:hidden}
.scard.marketly .mk-plate img{width:100%;height:100%;padding:13%;object-fit:contain;display:block;box-sizing:border-box}
.scard.marketly .mk-name{font-size:14px;font-weight:600;line-height:1.32;color:var(--text);white-space:normal;overflow-wrap:anywhere}
.scard.marketly .mk-sub{font-size:12px;color:#7fefab;margin-top:4px;line-height:1.25}
.scard.marketly .mk-chev{color:#46e08c;font-size:20px;flex-shrink:0;align-self:center}
html[data-theme="light"] .scard.marketly{border-color:rgba(22,163,74,.42);box-shadow:0 0 0 1px rgba(22,163,74,.13),0 6px 20px rgba(22,163,74,.05)}
html[data-theme="light"] .scard.marketly .mk-sub{color:#15803D}
html[data-theme="light"] .scard.marketly .mk-chev{color:#16A34A}
/* В ленте «Ситуация» карточки крупнее (.stn, лого 66px) — подгоняем плашку Marketly под них */
#view-home .scard.marketly{gap:15px;padding:14px 16px}
#view-home .scard.marketly .mk-plate{width:62px;height:62px;border-radius:18px}
#view-home .scard.marketly .mk-name{font-size:15px}
/* Крестик закрытия — только в списке «Карта» (.mk-closable), прячет карточку на 1 день */
.scard.marketly{position:relative}
.mk-close{position:absolute;top:7px;right:8px;width:24px;height:24px;border:0;padding:0;border-radius:50%;background:rgba(255,255,255,.08);color:var(--dim,#9aa7b8);font-size:11px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2}
.mk-close:active{transform:scale(.9)}
.scard.marketly.mk-closable .mk-chev{margin-right:12px}
html[data-theme="light"] .mk-close{background:rgba(18,28,46,.07);color:#7A8696}
.map-action:hover{border-color:rgba(255,255,255,.14);background:rgba(20,26,36,.66)}
.map-action:active{transform:scale(.98)}
.map-action:focus-visible{outline:2px solid rgba(45,223,117,.7);outline-offset:2px}
@media (prefers-reduced-motion:reduce){.map-action{transition:none}.map-action:active{transform:none}}
/* Все телефонные ширины (вкл. 390/430): 3 кнопки тесные → компактнее базового 15px, чтобы
   «Поделиться»/«На экран» не обрезались. Базовый 15px остаётся для планшета/десктопа (≥441). */
@media (max-width:440px){
  .map-action-bar{gap:6px}
  .map-action{height:46px;padding:0 6px;gap:5px;border-radius:16px;font-size:13px;letter-spacing:-.01em}
  .map-action .ma-ic svg{width:16px;height:16px}
  .map-action .ma-chev svg{width:12px;height:12px}
}
@media (max-width:374px){
  .map-action{height:44px;font-size:12px;padding:0 5px;gap:4px}
  .map-action .ma-ic svg{width:15px;height:15px}
  .map-action .ma-chev svg{width:11px;height:11px}
}
@media (max-width:340px){
  .map-action-bar{gap:5px}
  .map-action{font-size:11px;padding:0 4px}
  .map-action .ma-ic svg{width:14px;height:14px}
}

.map-fab{position:absolute;right:14px;bottom:calc(35% + 22px);z-index:560;display:flex;flex-direction:column;gap:10px}
.map-fab .hbtn{width:48px;height:48px;border-radius:16px;background:rgba(14,18,26,.74);
  backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.13);font-size:22px;
  -webkit-tap-highlight-color:transparent;touch-action:manipulation}
.map-fab .hbtn.busy{opacity:.55;pointer-events:none}

/* Премиальный SVG-пин АЗС: тёмный центр, цветной контур, белая колонка, мягкое цветное свечение */
.mk2{position:relative;filter:drop-shadow(0 4px 8px rgba(0,0,0,.45)) drop-shadow(0 0 9px var(--marker-color));
  animation:mkIn .2s cubic-bezier(.34,1.3,.64,1) both;transition:filter .18s ease}
.mk-inner{position:relative;transform-origin:50% 100%;transition:transform .18s ease}
.mk2 svg{display:block;position:relative;z-index:1}
.mk-pulse{position:absolute;left:3px;top:0;width:40px;height:40px;border-radius:50%;
  border:2px solid var(--marker-color);display:none;pointer-events:none}
.mk-check{display:none}
.mk2.voted .mk-check{display:block}
.mk2.sel{z-index:9;filter:drop-shadow(0 8px 14px rgba(0,0,0,.5)) drop-shadow(0 0 16px var(--marker-color))}
.mk2.sel .mk-inner{transform:scale(1.18) translateY(-3px)}
.mk2.sel .mk-pulse{display:block;animation:mkPulse 1.8s ease-out infinite}
@keyframes mkIn{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}
@keyframes mkPulse{0%{opacity:.5;transform:scale(.9)}70%,100%{opacity:0;transform:scale(1.7)}}
.uloc{position:relative;width:18px;height:18px}
.uloc .ring{position:absolute;inset:0;border-radius:999px;background:rgba(59,130,246,.35);animation:upulse 2.2s ease-out infinite}
.uloc .dot{position:absolute;inset:0;border-radius:999px;background:#3B82F6;border:3px solid #fff;box-shadow:0 0 0 2px rgba(59,130,246,.4)}
@keyframes upulse{0%{transform:scale(.5);opacity:.7}100%{transform:scale(2.6);opacity:0}}

.msheet{position:absolute;left:0;right:0;bottom:0;z-index:620;height:28dvh;
  background:rgba(16,20,27,.86);backdrop-filter:blur(22px);border-top:1px solid rgba(255,255,255,.1);
  border-radius:26px 26px 0 0;box-shadow:0 -12px 40px rgba(0,0,0,.5);
  display:flex;flex-direction:column;padding-bottom:calc(98px + var(--safe-b));
  transition:height .28s cubic-bezier(.4,0,.2,1)}
.msheet.dragging{transition:none}
.sheet-grab{flex-shrink:0;touch-action:none;cursor:grab;padding-bottom:2px}
.msheet .drag{width:40px;height:5px;border-radius:999px;background:rgba(255,255,255,.22);margin:10px auto 4px}
.msheet-head{display:flex;align-items:center;justify-content:space-between;padding:6px 18px 10px;flex-shrink:0}
.msheet-head h3{font-size:17px;font-weight:600;margin:0}
.sort-btn{display:inline-flex;align-items:center;gap:5px;background:none;border:none;color:var(--dim);font-size:13px;font-family:inherit}
.msheet-list{flex:1;overflow-y:auto;padding:0 14px calc(104px + var(--safe-b))}
.scard{display:flex;align-items:center;gap:13px;padding:13px 14px;border-radius:20px;
  background:var(--card);border:1px solid var(--border);margin-bottom:10px}
.slogo{width:46px;height:46px;border-radius:13px;background:rgba(255,255,255,.06);border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;flex-shrink:0}
.slogo.logo-img{background:#fff;padding:0;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}
.slogo.logo-img img{width:100%;height:100%;object-fit:contain;padding:16%;display:block}
.srt{display:flex;flex-direction:column;align-items:center;justify-content:space-between;align-self:stretch;color:var(--grey);font-size:18px;padding:1px 0}
.leaflet-control-attribution,.leaflet-control-zoom{display:none!important}
/* Кредит карты — крошечная иконка ⓘ, по тапу/наведению разворачивает подпись (CARTO/OSM требуют атрибуцию; нативный контрол скрыт выше) */
.map-credit{position:absolute;left:7px;bottom:7px;z-index:500;display:flex;align-items:center;gap:5px;pointer-events:auto}
.map-credit-i{flex:none;width:18px;height:18px;border-radius:50%;border:none;padding:0;cursor:pointer;
  font:italic 600 12px/18px Georgia,'Times New Roman',serif;text-align:center;
  background:rgba(11,13,18,.45);color:rgba(255,255,255,.85);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.map-credit-text{display:none;font-size:11px;line-height:1.1;letter-spacing:.01em;white-space:nowrap;
  padding:3px 7px;border-radius:7px;background:rgba(11,13,18,.5);color:rgba(255,255,255,.72);
  -webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);max-width:70vw}
.map-credit[data-open="1"] .map-credit-text{display:inline-block}
@media(hover:hover){.map-credit:hover .map-credit-text{display:inline-block}}
.map-credit-text a{color:rgba(255,255,255,.9);text-decoration:none}
.map-credit-text a:hover{text-decoration:underline}
html[data-theme="light"] .map-credit-i{background:rgba(255,255,255,.6);color:rgba(40,54,72,.85)}
html[data-theme="light"] .map-credit-text{background:rgba(255,255,255,.66);color:rgba(40,54,72,.78)}
html[data-theme="light"] .map-credit-text a{color:rgba(20,36,58,.95)}
#view-map .map-credit{bottom:calc(28dvh + 8px)}                /* на мобильной «Карте» — над нижней шторкой (.msheet 28dvh) */
body.dsk #view-map .map-credit{bottom:10px}                    /* десктоп: шторки над картой нет */
.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--panel);color:var(--text)}
/* Leaflet divIcon: убираем белый квадрат по умолчанию */
.leaflet-div-icon{background:transparent!important;border:none!important}
/* Кластеры: тёмное стекло, тонкая синяя обводка, мягкое свечение (вместо ярко-синего круга) */
.mcl{display:flex;align-items:center;justify-content:center;border-radius:999px;
  background:rgba(16,23,35,.94);border:2px solid rgba(73,132,255,.8);color:#fff;font-weight:700;
  box-shadow:0 0 14px rgba(73,132,255,.32),0 4px 12px rgba(0,0,0,.45);
  backdrop-filter:blur(3px);animation:mkIn .2s ease-out both}
.mcl span{line-height:1}
.mcl-donut{border:0!important;padding:0;border-radius:50%;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 0 2px #fff,0 0 14px rgba(73,132,255,.28),0 4px 12px rgba(0,0,0,.45)}
.mcl-h{border-radius:50%;background:rgba(16,23,35,.96);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;line-height:1}

#overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:1500}
/* Pre-permission экран геолокации (объясняем зачем, до системного промпта) */
#geo-prime{display:none;position:fixed;inset:0;z-index:1800;background:rgba(5,7,12,.78);
  backdrop-filter:blur(8px);align-items:flex-end;justify-content:center;padding:0 14px calc(20px + var(--safe-b))}
#geo-prime.open{display:flex}
.gp-card{width:100%;max-width:440px;background:var(--panel);border:1px solid var(--border);
  border-radius:26px;padding:26px 22px 20px;text-align:center;box-shadow:0 -10px 40px rgba(0,0,0,.5)}
.gp-ic{width:64px;height:64px;border-radius:20px;margin:0 auto 16px;display:flex;align-items:center;
  justify-content:center;background:rgba(48,213,107,.12);border:1px solid rgba(48,213,107,.3)}
.gp-ic svg{width:32px;height:32px}
.gp-t{font-size:21px;font-weight:700;margin-bottom:8px}
.gp-s{font-size:14px;color:var(--dim);line-height:1.5;margin-bottom:20px}
.gp-allow{width:100%;height:52px;border:none;border-radius:16px;background:var(--status-ok);color:#06210F;
  font-family:inherit;font-size:16px;font-weight:700;box-shadow:0 6px 18px rgba(48,213,107,.28)}
.gp-skip{width:100%;height:46px;margin-top:8px;border:none;background:none;color:var(--dim);
  font-family:inherit;font-size:14.5px}
#overlay.show{display:block}
#panel{position:fixed;left:0;right:0;bottom:0;z-index:1600;background:#05070C;
  border-radius:28px 28px 0 0;border-top:1px solid var(--border);
  transform:translateY(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);
  max-height:90vh;max-height:90dvh;display:flex;flex-direction:column;padding-bottom:var(--safe-b);box-shadow:0 -18px 50px rgba(0,0,0,.55)}
#panel.open{transform:translateY(0)}
#panel-grab{flex-shrink:0;touch-action:none;cursor:grab}
.drag{width:42px;height:5px;border-radius:999px;background:rgba(255,255,255,.2);margin:11px auto 0;flex-shrink:0}
.rs-head{display:flex;align-items:center;gap:13px;padding:13px 18px 15px;border-bottom:1px solid var(--border);flex-shrink:0}
#rs-logo .slogo{width:50px;height:50px;border-radius:15px;font-size:21px}
.rs-x{width:34px;height:34px;border-radius:999px;background:var(--card);border:1px solid var(--border);color:var(--dim2);font-size:16px;flex-shrink:0}
.rs-body{overflow-y:auto;overscroll-behavior:contain;padding:16px 16px 18px}
.rs-h{font-size:19px;font-weight:600}
.rs-sub{font-size:13px;color:var(--dim);margin:3px 0 13px}
.sbtn{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:14px;border-radius:20px;
  background:var(--card);border:1px solid rgba(255,255,255,.07);color:var(--text);font-family:inherit;margin-bottom:11px;transition:box-shadow .15s,border-color .15s}
.sic{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.stx{display:flex;flex-direction:column;min-width:0}
.stt{font-size:16px;font-weight:600;line-height:1.25}
.sds{font-size:12.5px;color:var(--dim);margin-top:3px;line-height:1.35}
.chk{width:18px;height:18px;border-radius:6px;border:1.5px solid #3A4252;display:inline-flex;align-items:center;justify-content:center;font-size:12px;color:transparent}
.fuel.on .chk{background:#22C55E;border-color:#22C55E;color:#04140A}
.rs-info{display:flex;gap:11px;margin-top:14px}
.rs-col{flex:1;min-width:0;background:var(--card);border:1px solid var(--border);border-radius:18px;padding:16px}
.rs-col-ic{margin-bottom:9px;line-height:0}.rs-col-ic svg{width:24px;height:24px}
.rs-col .k{font-size:12px;color:var(--dim)}
.rs-col .v{font-size:16px;font-weight:700;margin-top:4px}
.rs-col .kk{font-size:11.5px;color:var(--dim);margin-top:3px;line-height:1.3}
/* Текущий статус АЗС (консенсус реальных отметок или «станьте первым») */
#rs-status:empty{display:none}
.rss-cap{font-size:13px;color:var(--dim);margin:0 2px 9px;font-weight:500}
.rss-card{padding:16px 17px;border-radius:22px;background:var(--card);border:1px solid var(--border);overflow:hidden}
.rss-top{display:flex;align-items:center;gap:14px}
.rss-ic{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.rss-main{flex:1;min-width:0}
.rss-label{font-size:24px;font-weight:800;line-height:1.05;letter-spacing:-.01em}
.rss-meta{font-size:13px;color:var(--dim);margin-top:6px;line-height:1.4}
.rss-badge{display:inline-flex;align-items:center;margin-top:9px;font-size:12px;font-weight:600;padding:4px 11px;border-radius:999px}
.rss-badge.conflict{color:#9a6a14;background:rgba(240,168,54,.18);font-weight:700}
html[data-theme="dark"] .rss-badge.conflict{color:#f0b84a;background:rgba(240,168,54,.2)}
.rss-conflict{display:flex;align-items:flex-start;gap:8px;margin:12px 0 0;padding:10px 12px;border-radius:13px;background:rgba(240,168,54,.1);border:1px solid rgba(240,168,54,.32);color:#8a5f12;font-size:12.5px;line-height:1.42}
html[data-theme="dark"] .rss-conflict{color:#f0c069}
.rss-conflict b{font-weight:700}
.rss-conflict-dot{width:9px;height:9px;border-radius:50%;background:#f0a836;flex-shrink:0;margin-top:4px}
/* ── Шкала уверенности (Фаза A2; гейт confShown=DEMO||cfg.conf). «Сила свежего согласия», падает со временем. ── */
.rss-conf{margin:13px 0 2px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.rss-conf:focus-visible{outline:2px solid var(--brand-green);outline-offset:3px;border-radius:8px}
.rss-conf-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:7px}
.rss-conf-cap{font-size:12.5px;color:var(--dim);font-weight:600;display:inline-flex;align-items:center}
.rss-conf-pct{font-size:21px;font-weight:800;letter-spacing:-.02em;line-height:1}
.rss-conf-track{height:8px;border-radius:999px;background:rgba(128,128,128,.2);overflow:hidden}
.rss-conf-fill{height:100%;border-radius:999px;transition:width .7s ease,background .7s ease}
.rss-conf-tier{font-size:12px;font-weight:600;margin-top:7px;display:flex;align-items:center}
/* ── ДЕМО-варианты UI уверенности (переключатель A/B/C виден только при __DEMO__) ── */
.rss-conf-sub{font-size:11.5px;color:var(--dim);margin-top:6px;line-height:1.4}
.rss-conf-sw{display:flex;gap:5px;margin:0 0 8px}
.rss-conf-sw button{flex:0 0 auto;font:inherit;font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px;border:1px solid rgba(128,128,128,.35);background:transparent;color:var(--dim);cursor:pointer}
.rss-conf-sw button.on{background:var(--brand-green);border-color:var(--brand-green);color:#fff}
.rss-conf-big{font-size:23px;font-weight:800;letter-spacing:-.02em;line-height:1.15;margin:2px 0 7px}
.rss-conf-big span{font-size:12.5px;font-weight:600;color:var(--dim);letter-spacing:0;margin-left:6px}
.rss-conf-dots{display:flex;gap:4px}
.rss-conf-dots i{flex:1;height:9px;border-radius:4px;background:rgba(128,128,128,.22);transition:background .5s ease}
.rss-conf-zone{position:relative;height:9px;border-radius:999px;overflow:visible;display:flex;gap:2px}
.rss-conf-zone i{height:100%;border-radius:4px;opacity:.28}
.rss-conf-zone .zn{position:absolute;top:-3.5px;width:4px;height:16px;border-radius:3px;background:var(--text);box-shadow:0 0 0 2px var(--card,#fff);transition:left .7s ease}
/* Скелетон в .rss-meta при превью карточки из кэша (статус есть, детали догружаются) — без фейковых чисел. */
.rss-meta-skel{display:inline-block;width:150px;max-width:62%;height:11px;border-radius:6px;margin-top:5px;vertical-align:middle;background:linear-gradient(90deg,rgba(128,128,128,.13),rgba(128,128,128,.26),rgba(128,128,128,.13));background-size:200% 100%;animation:rssShim 1.15s ease-in-out infinite}
@keyframes rssShim{0%{background-position:200% 0}100%{background-position:-200% 0}}
@media(prefers-reduced-motion:reduce){.rss-meta-skel{animation:none}}
.rss-empty .rss-label{font-size:18px;font-weight:700;color:var(--text)}
.rss-div{height:1px;background:rgba(255,255,255,.07);margin:15px 0 13px}
.rss-q{font-size:14px;color:var(--dim2);margin-bottom:11px}
.rss-btns{display:flex;gap:10px}
.rss-btns button{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;min-height:48px;border-radius:14px;font-size:13.5px;font-weight:600;cursor:pointer;padding:7px 8px;line-height:1.2;text-align:center}
.rss-btns button svg{flex-shrink:0}
.rss-yes{background:rgba(48,213,107,.12);border:1px solid rgba(48,213,107,.42);color:#5bf0a0}
.rss-yes:active{background:rgba(48,213,107,.2)}.rss-yes svg{width:17px;height:17px;flex-shrink:0}
.rss-change{background:rgba(255,255,255,.05);border:1px solid var(--border);color:var(--dim2)}
.rss-change:active{background:rgba(255,255,255,.1)}.rss-change svg{width:16px;height:16px;flex-shrink:0}
.rss-btns button:disabled{opacity:.6;pointer-events:none}
.rss-detail{display:none;margin-top:12px}
.rss-detail.show{display:block;animation:rssDet .22s ease}
@keyframes rssDet{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.rss-dhint{font-size:12.5px;color:var(--dim2);margin:0 0 2px;font-weight:500}
.rss-detail .dq{margin-top:10px}
.rss-confirm-go{width:100%;margin-top:14px;min-height:50px;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:14px;font-size:14.5px;font-weight:700;cursor:pointer;padding:7px 8px}
.rss-confirm-go svg{width:18px;height:18px;flex-shrink:0}
/* Последние отметки */
.rr-wrap{margin-top:22px}.rr-wrap:empty{display:none}
.rr-cap{font-size:22px;font-weight:700;margin:0 2px 12px}
.rr-agg{font-size:13.5px;font-weight:500;opacity:.62;margin:-6px 2px 10px}
.rr-list{background:var(--card);border:1px solid var(--border);border-radius:20px;overflow:hidden}
.rr-item{display:flex;align-items:center;gap:11px;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.05)}
.rr-item:last-child{border-bottom:none}
/* «Право на ошибку»: чип «исправлено» на метке в ленте (спокойный, не тревожный) */
.rr-edited{display:inline-flex;align-items:center;font-size:11px;font-weight:600;color:var(--dim);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);border-radius:999px;padding:1px 8px;white-space:nowrap}
html[data-theme="light"] .rr-edited{background:rgba(18,28,46,.05);border-color:rgba(18,28,46,.10)}
/* РСЯ-баннер в карточке АЗС (под «Последними отметками») — нативная тёмная обёртка */
.rs-ad{margin:18px 0 4px;padding-top:16px;border-top:1px solid var(--border)}
.rs-ad-lbl{font-size:9.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--dim2);margin:0 2px 9px}
.rs-ad-slot{border-radius:14px;overflow:hidden}
.rs-ad-mock{border-radius:14px;border:1px dashed var(--border);background:var(--card);padding:24px 16px;display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center}
.rs-ad-mock .mi{width:42px;height:42px;border-radius:12px;background:rgba(48,213,107,.1);border:1px solid rgba(48,213,107,.25);display:flex;align-items:center;justify-content:center;color:var(--brand-green)}
.rs-ad-mock .mi svg{width:22px;height:22px}
.rs-ad-mock .mt{font-size:13px;font-weight:650;color:var(--dim)}
.rs-ad-mock .ms{font-size:11.5px;color:var(--dim2)}
.rr-dot{width:8px;height:8px;border-radius:999px;flex-shrink:0}
.rr-ic{flex-shrink:0;display:flex}.rr-ic svg{width:22px;height:22px}
.rr-main{flex:1;min-width:0;display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
.rr-st{font-size:15px;font-weight:600}.rr-det{font-size:13px;color:var(--dim);overflow-wrap:anywhere}
.rr-time{font-size:13px;color:var(--dim);flex-shrink:0;font-variant-numeric:tabular-nums}
.rr-more{display:flex;align-items:center;gap:6px;width:100%;padding:14px 16px;background:none;border:none;color:var(--green);font-size:14px;font-weight:600;cursor:pointer;border-top:1px solid rgba(255,255,255,.05)}
.rr-empty{padding:22px 16px;text-align:center}.rr-empty .e1{font-size:15px;font-weight:600;color:var(--text)}.rr-empty .e2{font-size:13px;color:var(--dim);margin-top:4px}
/* rrv2 — двухуровневая карточка отметки (ДЕМО body.rrv2): статус+время сверху, марки, бейджи своей строкой; 🙏 по центру справа */
body.rrv2 .rr-item{align-items:flex-start;gap:11px;padding:13px 14px}
body.rrv2 .rr2-ic{flex-shrink:0;width:36px;height:36px;border-radius:11px;display:flex;align-items:center;justify-content:center}
body.rrv2 .rr2-ic svg{width:20px;height:20px}
body.rrv2 .rr2-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;min-height:36px;justify-content:center}
body.rrv2 .rr-more{border-top:none}
body.rrv2 .rr2-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
body.rrv2 .rr2-top .rr-st{font-size:14.5px;font-weight:700;letter-spacing:-.01em}
body.rrv2 .rr2-top .rr-time{font-size:11.5px;color:var(--dim2)}
body.rrv2 .rr-det{font-size:12.5px;line-height:1.45}
body.rrv2 .rr2-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}
body.rrv2 .rr2-badges .reliable-badge,body.rrv2 .rr2-badges .onsite-badge{height:21px;font-size:10.5px;padding:0 7px 0 5px;border-radius:7px;gap:4px}
body.rrv2 .rr2-badges .reliable-badge svg{width:12px;height:12px}
body.rrv2 .rr2-badges .onsite-badge svg{width:11px;height:11px}
body.rrv2 .rr-item .rr-thx{align-self:center}
.rs-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}
.rs-badges:empty{display:none}
.rs-badges .bdg{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600;
  padding:4px 9px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid var(--border);color:var(--dim2)}
.vgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:2px}
.vbtn{position:relative;display:flex;flex-direction:column;align-items:flex-start;text-align:left;
  padding:14px;border-radius:18px;background:var(--card);border:1.5px solid rgba(255,255,255,.07);
  color:var(--text);font-family:inherit;transition:border-color .15s,box-shadow .15s}
.vbtn .vb-ic{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:10px}
.vbtn .vb-t{font-size:15px;font-weight:600;line-height:1.2}
.vbtn .vb-d{font-size:11.5px;color:var(--dim);margin-top:5px;line-height:1.3}
/* «Право на ошибку»: баннер правки своей метки (5 мин, демо). Скрыт по умолчанию; scoped под #edit-grace. */
#edit-grace{display:none}
#edit-grace.show{display:flex;gap:10px;align-items:flex-start;margin:0 0 12px;padding:11px 13px;border-radius:13px;background:linear-gradient(180deg,rgba(45,223,117,.10),rgba(45,223,117,.05));border:1px solid rgba(45,223,117,.28)}
#edit-grace .eg-ic{font-size:17px;line-height:1.25;flex:0 0 auto}
#edit-grace .eg-t{font-size:13.5px;font-weight:600;color:var(--text)}
#edit-grace .eg-s{font-size:12px;color:var(--dim);margin-top:3px;line-height:1.42}
.vbtn .vb-check{position:absolute;top:11px;right:11px;width:22px;height:22px;border-radius:999px;
  align-items:center;justify-content:center;font-size:13px;color:#fff;display:none}
.vbtn.on .vb-check{display:flex}
.route-cta{display:flex;align-items:center;gap:13px;width:100%;margin-top:16px;padding:14px;
  border-radius:18px;background:var(--card);border:1px solid var(--border);color:var(--text);font-family:inherit;text-align:left}
.route-cta .rc-ic{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:rgba(34,197,94,.14);color:var(--green)}
.route-cta .rc-ic svg{width:18px;height:18px}
.route-cta .rc-tx{flex:1;display:flex;flex-direction:column;min-width:0}
.route-cta .rc-t{font-size:15px;font-weight:600}
.route-cta .rc-s{font-size:12px;color:var(--dim);margin-top:2px}
.route-cta .rc-chev{color:var(--grey);font-size:20px;flex-shrink:0}
.rs-updated{text-align:center;font-size:12px;color:var(--dim);margin-top:12px}
.rs-nothere{display:block;width:100%;margin-top:14px;background:none;border:none;color:var(--dim2);font-size:12.5px;font-family:inherit;text-decoration:underline;text-underline-offset:3px;opacity:.7;cursor:pointer}
.rs-nothere:disabled{text-decoration:none;cursor:default;opacity:1}
#route-sheet,#sort-sheet,#filter-sheet,#pick-sheet{position:fixed;inset:0;z-index:1700;display:none}
#route-sheet.show,#sort-sheet.show,#filter-sheet.show,#pick-sheet.show{display:block}
.rsh-back{position:absolute;inset:0;background:rgba(0,0,0,.5)}
.rsh-card{position:absolute;left:0;right:0;bottom:0;background:#05070C;border-radius:26px 26px 0 0;
  border-top:1px solid var(--border);padding:14px 16px calc(16px + var(--safe-b));
  transform:translateY(100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}
#route-sheet.show .rsh-card,#sort-sheet.show .rsh-card,#filter-sheet.show .rsh-card,#pick-sheet.show .rsh-card{transform:translateY(0)}
.rsh-opt .fopt-check{margin-left:auto;color:var(--green);opacity:0;font-size:15px}
.rsh-opt.sel .fopt-check{opacity:1}
/* ── «Умный подбор»: премиальный FAB снизу слева (показывается гейтом DEMO||cfg.pick) ── */
.pick-fab{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 13px 0 9px;border-radius:99px;border:1.5px solid rgba(45,223,117,.5);background:rgba(28,72,51,.32);color:#46e08c;font-size:13px;font-weight:700;font-family:inherit;letter-spacing:-.01em;cursor:pointer;flex-shrink:0;-webkit-tap-highlight-color:transparent;box-shadow:0 0 12px rgba(45,223,117,.16)}
.pick-fab-ic{width:20px;height:20px;flex-shrink:0;display:block}
.pick-fab-tx{white-space:nowrap}
.pick-fab:active{transform:scale(.96)}
html[data-theme="light"] .pick-fab{background:rgba(22,163,74,.08);border-color:rgba(22,163,74,.42);color:#16A34A;box-shadow:0 0 12px rgba(22,163,74,.1)}
/* nosheet: мобила БЕЗ шторки «Ближайшие АЗС» — её роль у «Умного подбора» (плавающая пилюля снизу).
   Кил-свитч: убрать class="nosheet" у <body> + пересобрать. Десктоп (.dsk) не трогаем — там список в сайдбаре. */
body.nosheet:not(.dsk) #view-map .msheet{display:none!important}
/* bottom 108px = НАД таббаром (12px + 84px высоты + зазор), конвенция .sg-banner.floating/#toast — НЕ опускать ниже */
#pick-float{display:none;position:absolute;left:50%;transform:translateX(-50%);bottom:calc(108px + env(safe-area-inset-bottom,0px));z-index:640;height:46px;padding:0 20px 0 14px;font-size:14.5px;background:rgba(18,38,28,.86);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 6px 22px rgba(0,0,0,.30),0 0 14px rgba(45,223,117,.2)}
#pick-float:active{transform:translateX(-50%) scale(.96)}
html[data-theme="light"] #pick-float{background:rgba(255,255,255,.94);box-shadow:0 6px 22px rgba(18,28,46,.16),0 0 14px rgba(22,163,74,.12)}
body.nosheet:not(.dsk) #view-map #pick-float{display:flex}   /* fail-open: пилюля видна БЕЗ ожидания /api/cfg (шторки-то уже нет); cfg.pick===false её прячет точечно */
body.nosheet:not(.dsk) #view-map .map-credit{bottom:calc(102px + env(safe-area-inset-bottom,0px));left:10px}   /* атрибуция: была прижата под шторку, теперь над таббаром */
body.nosheet:not(.dsk) #view-map .map-fab{bottom:calc(124px + env(safe-area-inset-bottom,0px))}   /* рельс вниз: 35% было над шторкой, без неё — к большому пальцу (над пилюлей подбора) */
body.dsk #pick-float,body:not(.nosheet) #pick-float,#view-map.pin-on #pick-float,#view-map.sg-on #pick-float{display:none!important}
/* шторка умного подбора */
#pick-sheet .rsh-card{max-height:90vh;max-height:calc(100dvh - env(safe-area-inset-top,0px) - 48px);overflow-y:auto;padding-top:0}   /* шапка НЕ под системным статус-баром (часы/заряд): всегда ≥48px+notch сверху; dvh = видимый вьюпорт (vh на iOS больше видимого) */
.pick-hd{position:relative;margin:0 -16px 12px;padding:20px 16px 16px;background:linear-gradient(135deg,#12a150,#0bb39a 52%,#1b9fe0);color:#fff;border-radius:26px 26px 0 0;display:flex;align-items:center;gap:12px;touch-action:none;cursor:grab}
.pick-hd::before{content:"";position:absolute;top:8px;left:50%;transform:translateX(-50%);width:38px;height:4px;border-radius:99px;background:rgba(255,255,255,.55)}
.pick-hd-ic{font-size:20px;line-height:1;flex-shrink:0;filter:drop-shadow(0 1px 2px rgba(0,0,0,.2))}
.pick-hd-tx{flex:1;min-width:0}
/* Pick v2 (pkv2 — только демо): тапы ≥44px (35+), строка «почему», ghost-CTA «искать шире» */
body.pkv2 .pg-chip{min-height:44px}
body.pkv2 .pg-btn{min-height:44px}
body.pkv2 .pg-link{min-height:44px;display:inline-flex;align-items:center}
.pick-why{margin:8px 0 2px;font-size:12px;color:var(--dim);line-height:1.45}
.pick-cta.ghost{background:transparent;border:1px solid rgba(45,223,117,.4);color:var(--green);margin-top:8px;box-shadow:none}
html[data-theme="light"] .pick-cta.ghost{border-color:rgba(22,163,74,.45);color:#16A34A}
.pick-hd-t{font-size:17px;font-weight:700;line-height:1.2}
.pick-hd-s{font-size:12.5px;opacity:.92;margin-top:2px}
.pick-x{margin-left:auto;flex-shrink:0;width:30px;height:30px;border-radius:50%;border:0;background:rgba(255,255,255,.2);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent}
.pick-x svg{width:16px;height:16px}
.pick-x:active{transform:scale(.92)}
/* перетаскиваемый пин ручной точки + бар «Подтвердить» */
.pinpick svg{width:40px;height:48px;filter:drop-shadow(0 3px 5px rgba(0,0,0,.45))}
#pin-place{position:fixed;left:0;right:0;bottom:0;z-index:2700;display:none;padding:14px 16px calc(16px + var(--safe-b));background:var(--card);border-top:1px solid var(--border);box-shadow:0 -8px 24px rgba(0,0,0,.35)}
#pin-place.show{display:block}
#view-map.pin-on .msheet,#view-map.pin-on .pick-fab,#view-map.pin-on~#tabbar{display:none!important}
#pin-place .pp-tx{font-size:14px;font-weight:600;color:var(--text);text-align:center;margin-bottom:12px}
#pin-place .pp-acts{display:flex;gap:10px}
#pin-place .pp-cancel{flex:0 0 auto;padding:0 20px;height:48px;border-radius:14px;border:1px solid var(--border);background:transparent;color:var(--dim);font-size:14px;font-weight:600;font-family:inherit;cursor:pointer}
#pin-place .pp-ok{flex:1;height:48px;border:0;border-radius:14px;background:#12a150;color:#fff;font-size:15px;font-weight:700;font-family:inherit;cursor:pointer}
#pin-place .pp-ok:active{transform:scale(.99)}
.pick-expl-row{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:0;padding:2px 2px 10px;color:var(--dim);font-size:12.5px;font-family:inherit;cursor:pointer}
.pick-expl-row .chev{transition:transform .2s}
.pick-expl-row[aria-expanded="true"] .chev{transform:rotate(180deg)}
.pick-expl{font-size:12.5px;color:var(--dim);line-height:1.5;background:rgba(127,127,140,.08);border-radius:12px;padding:11px 13px;margin-bottom:12px}
/* гео-бар */
.pick-geo{padding:10px 12px;border-radius:12px;margin-bottom:12px;font-size:12.5px}
.pick-geo.ok{display:flex;align-items:center;gap:8px;background:rgba(48,213,107,.10);border:1px solid rgba(48,213,107,.22);color:var(--text)}
.pick-geo.warn{background:rgba(250,204,21,.10);border:1px solid rgba(250,204,21,.30);color:var(--text)}
.pick-geo.ok span{flex:1;min-width:0}
.pick-geo .pg-tx{line-height:1.45}
.pick-geo .pg-link{background:none;border:0;color:var(--dim);text-decoration:underline;font-size:12px;cursor:pointer;font-family:inherit;flex-shrink:0}
.pick-geo .pg-acts{display:flex;gap:6px;margin-top:9px}
.pick-geo .pg-btn{font-size:12px;font-weight:600;padding:7px 12px;border-radius:9px;border:1px solid rgba(250,204,21,.5);background:rgba(250,204,21,.14);color:var(--text);cursor:pointer;font-family:inherit}
.pick-geo .pg-btn.ghost{background:transparent;border-color:var(--border);color:var(--dim)}
.pick-geo.busy .pg-acts{opacity:.5;pointer-events:none}
/* выбор бензина */
.pick-fuel{margin-bottom:12px}
.pick-fuel-cap{font-size:12px;color:var(--dim);margin-bottom:7px}
.pick-fuel-cap span{opacity:.7}
.pick-grades{display:flex;flex-wrap:wrap;gap:7px}
.pg-chip{font-size:13px;font-weight:600;padding:6px 13px;border-radius:99px;border:1px solid var(--border);background:var(--card);color:var(--text);cursor:pointer;font-family:inherit}
.pg-chip.on{border-color:rgba(48,213,107,.55);background:rgba(48,213,107,.14);color:var(--text)}
html[data-theme="light"] .pg-chip.on{border-color:rgba(22,163,74,.5);background:rgba(22,163,74,.1)}
/* скан-анимация */
.pick-scan{display:flex;flex-direction:column;align-items:center;gap:4px;padding:26px 12px;color:var(--dim);font-size:13.5px}
.pick-scan .ps-ic{font-size:22px;color:#0bb39a}
.ps-bar{height:4px;border-radius:99px;background:rgba(127,127,140,.14);overflow:hidden;margin-top:10px;width:70%}
.ps-bar i{display:block;height:100%;width:40%;border-radius:99px;background:linear-gradient(90deg,#12a150,#0bb39a,#1b9fe0);animation:psSweep 1s linear infinite}
@keyframes psSweep{0%{transform:translateX(-120%)}100%{transform:translateX(320%)}}
@media (prefers-reduced-motion:reduce){.ps-bar i{animation:none;width:100%}}
/* итог + карточки */
.pick-stat{font-size:12px;font-weight:600;color:#0bb39a;margin:2px 2px 11px}
.pick-gnote{font-size:12px;color:var(--dim);background:rgba(250,204,21,.10);border:1px solid rgba(250,204,21,.25);border-radius:10px;padding:8px 11px;margin-bottom:12px}
.pick-top{display:block;width:100%;text-align:left;background:rgba(20,26,36,.5);border:1.5px solid rgba(48,213,107,.4);border-radius:18px;padding:13px 14px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.pick-top:active{transform:scale(.995)}
html[data-theme="light"] .pick-top{background:#fff}
.pick-best{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.04em;color:#fff;background:linear-gradient(135deg,#12a150,#0bb39a);padding:3px 9px;border-radius:7px;margin-bottom:10px}
.pick-top-row{display:flex;align-items:center;gap:12px}
.pick-logo{flex-shrink:0}
.pick-top-tx{flex:1;min-width:0}
.pick-name{font-size:16px;font-weight:600;color:var(--text);line-height:1.3;overflow-wrap:anywhere}
.pick-pills{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:5px}
.pick-pill{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--text);white-space:nowrap}
.pick-pill i{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.pick-fuels{display:inline-flex;gap:4px;flex-wrap:wrap}
.pick-fuels i{font-size:11px;font-weight:700;font-style:normal;color:var(--dim);background:rgba(127,127,140,.14);padding:2px 6px;border-radius:6px}
.pick-conf-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px;white-space:nowrap}   /* чип уверенности в топ-карте подбора (та же лексика/цвета, что зонная шкала карточки) */
.pick-dist{font-size:20px;font-weight:700;color:var(--text);flex-shrink:0;letter-spacing:-.02em}
.pick-addr{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--dim);margin-top:9px;line-height:1.3}
.pick-addr svg{width:12px;height:12px;flex-shrink:0;opacity:.8}
.pick-meta{font-size:12.5px;color:var(--dim);margin-top:7px}
.pick-fresh{color:#0bb39a;font-weight:600}
.pick-stale{color:#8d98ad}
.pick-cta{display:block;width:100%;margin-top:13px;height:48px;border:0;border-radius:14px;background:#2ddf75;color:#04140a;font-size:15px;font-weight:700;font-family:inherit;cursor:pointer}
.pick-cta:active{transform:scale(.99)}
.pick-alts-h{font-size:11.5px;color:var(--dim);margin:16px 2px 4px;text-transform:uppercase;letter-spacing:.04em}
.pick-alt{display:flex;align-items:center;gap:11px;width:100%;text-align:left;background:none;border:0;border-top:1px solid var(--border);padding:11px 2px;cursor:pointer;font-family:inherit;-webkit-tap-highlight-color:transparent}
.pick-alt:active{opacity:.65}
.pick-alt-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.pick-alt-name{font-size:14px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pick-alt-sub{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pick-alt .pick-pill{font-size:12px}
.pick-alt-r{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0;font-size:13px;font-weight:600;color:var(--text)}
.pick-alt-conf{font-size:11px;font-weight:400;color:var(--dim);margin-top:2px}
.pick-chev{color:var(--grey);font-size:20px;flex-shrink:0}
.pick-empty{text-align:center;padding:16px 8px 4px}
.pick-empty-t{font-size:14px;color:var(--dim);line-height:1.5;margin-bottom:14px}
.rsh-h{font-size:13px;color:var(--dim);text-align:center;margin:4px 0 12px}
.rsh-opt{display:flex;align-items:center;gap:13px;width:100%;padding:14px;margin-bottom:10px;border-radius:16px;
  background:var(--card);border:1px solid var(--border);color:var(--text);font-size:16px;font-weight:600;font-family:inherit}
.rsh-ic{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:rgba(255,255,255,.06)}
.rsh-ic svg{width:18px;height:18px}
.rsh-ic.ya{color:#FC3F1D}
.rsh-ic.gis{color:#37A526}
.rsh-ic.navi{color:#1E98FF}
.rsh-chev{color:var(--grey);font-size:20px}
.rsh-cancel{width:100%;padding:14px;margin-top:4px;border-radius:16px;background:rgba(255,255,255,.05);
  border:1px solid var(--border);color:var(--dim2);font-size:15px;font-weight:600;font-family:inherit}
/* Шторка фильтра карты: строки режимов (.mf-* дополняет .rsh-opt — паддинг/тап/база от него) */
.mf-opt{gap:12px;text-align:left}
.mf-dot{width:11px;height:11px;border-radius:50%;flex-shrink:0}
.mf-dots{display:inline-flex;gap:3px;flex-shrink:0}
.mf-dots i{width:9px;height:9px;border-radius:50%;display:block}
.mf-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.mf-t{font-size:15px;font-weight:700;color:var(--text)}
.mf-s{font-size:12px;font-weight:400;color:var(--dim);line-height:1.35}
.mf-badge{font-size:10px;font-weight:700;color:#5be39a;background:rgba(48,213,107,.16);padding:2px 7px;border-radius:6px;white-space:nowrap;vertical-align:middle;margin-left:4px}
html[data-theme="light"] .mf-badge{color:#15803d;background:rgba(48,213,107,.20)}
.mf-rd{width:22px;height:22px;border-radius:50%;border:2px solid var(--border);flex-shrink:0;position:relative}
.mf-opt.sel{background:rgba(48,213,107,.12);border:1.5px solid rgba(48,213,107,.4);border-radius:14px}
.mf-opt.sel .mf-rd{border:0;background:var(--status-ok)}
.mf-opt.sel .mf-rd::after{content:"";position:absolute;left:7px;top:4px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.rs-trust{text-align:center;font-size:12px;color:var(--grey);margin-top:12px;line-height:1.4}
/* SEO-контент внизу «Ситуации» (в HTML-исходнике → индексируется) */
#seo-content{padding:26px 16px 10px;color:var(--dim2);font-size:13.5px;line-height:1.6}
#seo-content h1{font-size:19px;font-weight:700;color:var(--text);line-height:1.3;margin-bottom:10px}
#seo-content .seo-h2{font-size:18px;font-weight:600;color:var(--text);margin:24px 0 6px}
#seo-content details{border-top:1px solid var(--border);padding:12px 2px}
#seo-content summary{font-size:15px;font-weight:600;color:var(--text);cursor:pointer;list-style:none}
#seo-content summary::-webkit-details-marker{display:none}
#seo-content details p{margin-top:8px}
#seo-content .seo-collapse{border-top:none;padding:0;margin-top:10px}
#seo-content .seo-collapse>summary{list-style:none;cursor:pointer;font-size:13.5px;font-weight:600;color:var(--dim);display:inline-flex;align-items:center;gap:6px;padding:6px 0;border:none}
#seo-content .seo-collapse>summary::-webkit-details-marker{display:none}
#seo-content .seo-collapse>summary::after{content:'▾';font-size:10px;opacity:.7}
#seo-content .seo-collapse[open]>summary::after{content:'▴'}
#seo-content #seo-extra h2{font-size:16px;font-weight:600;color:var(--text);margin:18px 0 6px}
#seo-content #seo-extra p{margin:0 0 10px}
#seo-content #seo-extra ul{margin:0 0 10px;padding-left:18px}
#seo-content #seo-extra ol{margin:0 0 10px;padding-left:20px}
#seo-content #seo-extra li{margin-bottom:5px}
#seo-content #seo-extra a{color:var(--green);text-decoration:none}
/* Живые данные города (SSR-скелет + клиентская гидрация /api/city/live). ToV: только активность/каталог */
#seo-content .city-live{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:14px 15px;margin:0 0 14px}
#seo-content .cl-row{display:flex;gap:10px;flex-wrap:wrap}
#seo-content .cl-stat{flex:1 1 30%;min-width:90px}
#seo-content .cl-stat b{display:block;font-size:22px;font-weight:800;color:var(--green);line-height:1.1}
#seo-content .cl-stat span{display:block;font-size:12px;color:var(--dim);margin-top:2px;line-height:1.3}
#seo-content .cl-fresh{margin-top:10px;font-size:13px;color:var(--text)}
#seo-content .cl-fresh .cl-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);margin-right:6px;vertical-align:1px}
#seo-content .cl-note{margin-top:8px;font-size:11px;color:var(--dim2,#5d6b82);line-height:1.4}
/* SEO-статья редизайн: быстрый ответ (хук дочитываемости) + вспомогательные плашки. Классы из seo_content.py */
#seo-content .seo-quick{background:var(--card);border:1px solid var(--border);border-left:3px solid var(--green);border-radius:12px;padding:12px 14px;margin:12px 0}
#seo-content .seo-quick p{margin:0;color:var(--text);font-size:14.5px;line-height:1.55}
#seo-content .seo-note{color:var(--dim);font-size:12.5px;margin:0 0 10px}
#seo-content .seo-callout{background:rgba(48,213,107,.06);border:1px solid rgba(48,213,107,.22);border-radius:12px;padding:11px 14px;margin:12px 0;font-size:13.5px}
#seo-content .seo-safety,#seo-content .seo-warn{background:rgba(250,204,21,.06);border:1px solid rgba(250,204,21,.24);border-radius:12px;padding:11px 14px;margin:12px 0;font-size:13.5px}
#seo-content .seo-safety strong,#seo-content .seo-warn strong{color:var(--text)}
#seo-content .seo-xlinks{margin:12px 0 0;font-size:13px;color:var(--dim)}
/* РСЯ-слот в статье: резерв высоты против CLS (Core Web Vitals). Схлопывается при no-fill/adblock (JS) */
#seo-content .seo-ad-article{min-height:280px;margin:18px 0;border-radius:14px;overflow:hidden;background:var(--card);border:1px solid var(--border)}
#seo-content .seo-ad-article.seo-ad-collapsed{min-height:0;margin:0;border:none;background:none}
.seo-links{display:block;margin-top:18px;border-top:1px solid var(--border);padding-top:6px}
.seo-acc{padding:0}
.seo-acc>summary{font-size:14px;font-weight:600;color:var(--dim);cursor:pointer;list-style:none;padding:12px 2px}
.seo-acc>summary::-webkit-details-marker{display:none}
.seo-acc>summary::after{content:'▾';float:right;color:var(--dim);transition:transform .2s}
.seo-acc[open]>summary::after{transform:rotate(180deg)}
.seo-links .slg{margin-top:14px}
.seo-links .slg h3{font-size:13px;font-weight:600;color:var(--dim);margin-bottom:8px;text-transform:none}
.seo-links .slg-row{display:flex;flex-wrap:wrap;gap:7px}
.seo-links a{display:inline-block;padding:6px 11px;border-radius:999px;background:var(--card);
  border:1px solid var(--border);color:var(--dim2);font-size:12.5px;text-decoration:none}
.seo-links a:active{background:rgba(255,255,255,.08)}
.p-head{padding:12px 18px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;border-bottom:1px solid var(--border)}
#p-title{font-size:16px;font-weight:600}
#p-brand{font-size:12px;color:var(--dim);margin-top:3px}
#p-close{width:30px;height:30px;border-radius:50%;border:1px solid var(--border);background:transparent;color:var(--dim);font-size:17px;flex-shrink:0}
#voted{display:none;margin:14px 18px 0;padding:12px 14px;background:rgba(59,130,246,.08);border:1px solid rgba(59,130,246,.25);border-radius:12px}
#voted.show{display:block}
#voted .vl{font-size:12px;font-weight:600;color:var(--blue)}
#voted .vs{font-size:14px;font-weight:600;margin-top:5px}
#voted .vn{font-size:11px;color:var(--dim);margin-top:4px}
#del-vote{margin-top:9px;width:100%;padding:8px;background:transparent;border:1px solid rgba(239,68,68,.3);border-radius:10px;color:var(--red);font-size:12px}
#vote-bar{padding:14px 18px}
#vote-bar p{font-size:12.5px;color:var(--dim);margin-bottom:10px}
.vbtns{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pill.big{font-size:13px;font-weight:600;padding:6px 12px}
#big-status{margin:14px 18px 0}
.bigstat{padding:15px 16px;border-radius:18px}
.bs-row{display:flex;align-items:center;gap:10px}
.bs-dot{width:14px;height:14px;border-radius:999px;flex-shrink:0}
.bs-label{font-size:20px;font-weight:700;letter-spacing:.3px}
.bs-name{font-size:17px;font-weight:600;margin-top:10px}
.bs-dist{font-size:13px;color:var(--dim);margin-top:2px}
.bs-sub{font-size:12.5px;color:var(--dim2);margin-top:7px}
.bs-report{margin-top:10px;background:none;border:none;color:var(--dim);font-size:12px;font-family:inherit;text-decoration:underline;padding:0}
.bs-empty{padding:14px 16px;border-radius:16px;background:var(--card);border:1px solid var(--border);font-size:13.5px;color:var(--dim);text-align:center}
.tl{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05)}
.tl:last-child{border-bottom:none}
.tl-time{font-size:12.5px;color:var(--dim);font-variant-numeric:tabular-nums;width:42px;flex-shrink:0}
.tl-dot{width:8px;height:8px;border-radius:999px;flex-shrink:0}
.tl-st{font-size:14px;font-weight:500}
.dq{margin-top:16px}
.dq-t{font-size:14.5px;font-weight:600}
.dchips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.dchip{padding:10px 14px;border-radius:13px;border:1px solid var(--border);background:var(--card);
  color:var(--dim2);font-size:13.5px;font-weight:500;font-family:inherit}
.dchip.on{border-color:#22C55E;background:rgba(34,197,94,.14);color:#fff}
.dq-opt{font-size:12px;color:var(--dim);font-weight:400;margin-left:7px}
/* Fuel v2 (демо __DEMO__): марки топлива при голосе — заметный шаг с пользой, крупные чипы, нудж */
.fq2{margin-top:18px}
.fq2-head{display:flex;flex-direction:column;gap:3px;margin-bottom:12px}
.fq2-t{font-size:16.5px;font-weight:700;color:var(--text);letter-spacing:-.01em}
.fq2-benefit{font-size:12.5px;font-weight:600;color:var(--green);display:inline-flex;align-items:center;gap:5px}
.fq2-row{display:flex;flex-wrap:wrap;gap:9px}
.fq2-chip{position:relative;display:inline-flex;align-items:center;gap:7px;height:50px;padding:0 17px 0 13px;border-radius:15px;border:1.5px solid var(--border);background:var(--card);color:var(--text);font-size:16px;font-weight:700;font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .12s ease,border-color .15s ease,background .15s ease}
.fq2-chip:active{transform:scale(.95)}
.fq2-drop{display:inline-flex;color:var(--dim2);transition:color .15s}
.fq2-drop svg{width:18px;height:18px}
.fq2-ck{position:absolute;top:-7px;right:-7px;width:21px;height:21px;border-radius:50%;background:#22C55E;display:none;align-items:center;justify-content:center;box-shadow:0 2px 7px rgba(34,197,94,.45)}
.fq2-ck svg{width:12px;height:12px}
.fq2-chip.on{border-color:#22C55E;background:rgba(34,197,94,.16);color:#eafff3;box-shadow:0 6px 16px rgba(34,197,94,.18)}
.fq2-chip.on .fq2-drop{color:#22C55E}
.fq2-chip.on .fq2-ck{display:inline-flex}
.fq2-all .fq2-g{color:inherit}
.fq2-all.on{background:rgba(34,197,94,.24)}
.fq2.nudge{animation:fqNudge 1s ease-in-out 2;border-radius:16px}
@keyframes fqNudge{0%,100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}50%{box-shadow:0 0 0 3px rgba(34,197,94,.4)}}
html[data-theme="light"] .fq2-chip{background:#FFFFFF;border:1.5px solid rgba(18,28,46,.10)}
html[data-theme="light"] .fq2-chip.on{color:#15803D;border-color:#16A34A;background:rgba(22,163,74,.12)}
html[data-theme="light"] .fq2-t{color:#121A28}
@media (prefers-reduced-motion:reduce){.fq2.nudge{animation:none;box-shadow:0 0 0 3px rgba(34,197,94,.4)}}
/* «Сейчас в наличии» — агрегат марок бензина на карточке АЗС */
.fuel-now{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;margin:0 0 14px;padding:11px 13px;border-radius:14px;
  background:rgba(34,197,94,.08);border:1px solid rgba(34,197,94,.18)}
.fuel-now .fn-cap{font-size:12.5px;color:var(--dim2);font-weight:500}
.fuel-now .fn-list{display:flex;flex-wrap:wrap;gap:6px}
.fuel-now .fb{font-size:13px;font-weight:700;color:#4ADE80;background:rgba(34,197,94,.14);border:1px solid rgba(34,197,94,.3);
  border-radius:8px;padding:3px 9px;line-height:1.3}
.sdet{font-size:12px;color:var(--dim);margin-top:4px}
.vbtn{padding:12px 8px;border-radius:12px;border:1px solid var(--border);background:rgba(255,255,255,.03);
  color:var(--text);font-size:13px;font-weight:500;display:flex;align-items:center;justify-content:center;gap:7px}
.vbtn .vd{width:9px;height:9px;border-radius:999px}
#cmt-wrap{display:none;padding:0 18px 14px}
#cmt-wrap.show{display:block}
#cmt-text{width:100%;padding:10px 12px;background:rgba(255,255,255,.04);border:1px solid var(--border);
  border-radius:12px;color:var(--text);font-size:14px;resize:none;min-height:60px;outline:none}
#submit{margin-top:6px}
#cmts{flex:1;overflow-y:auto;padding:8px 18px 16px}
#cmts-title{font-size:11.5px;color:var(--dim);font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px}
.cmt{background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:12px;padding:10px 12px;margin-bottom:8px}
.cmt-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.cmt-st{font-size:12.5px;font-weight:600}
.cmt-date{font-size:11px;color:var(--dim)}
.cmt-txt{font-size:13px;color:var(--dim2);line-height:1.45}
.cmt-stale{opacity:.5}
.stale-sep{font-size:11px;color:var(--dim);font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin:14px 0 8px;padding-top:12px;border-top:1px solid var(--border)}

#toast{position:fixed;bottom:calc(96px + var(--safe-b));left:50%;transform:translateX(-50%) translateY(10px);
  background:rgba(30,34,48,.97);border:1px solid var(--border);border-radius:40px;padding:10px 20px;
  font-size:13px;z-index:3000;pointer-events:none;opacity:0;transition:opacity .25s,transform .25s;
  max-width:90vw;text-align:center}
#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* Плавающая glass-навигация (по референсу): тёмная капсула, скользящая зелёная капсула активного */
#tabbar{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(12px + var(--safe-b));
  width:calc(100% - 32px);max-width:456px;height:84px;z-index:1200;display:flex;padding:6px;
  background:linear-gradient(180deg,rgba(17,23,34,.96) 0%,rgba(8,12,19,.98) 100%);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.10);border-radius:32px;
  box-shadow:0 16px 42px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.04)}
/* Два тонких разделителя в свободных зонах (капсула с 7px воздухом их не пересекает) */
#tabbar::before,#tabbar::after{content:"";position:absolute;top:50%;transform:translateY(-50%);
  width:1px;height:34px;background:rgba(255,255,255,.07);z-index:0;pointer-events:none}
#tabbar::before{left:33.333%}#tabbar::after{left:66.666%}
/* Активная капсула: компактная (треть − 14px воздуха), скользит между третями */
#tab-pill{position:absolute;top:6px;bottom:6px;left:13px;width:calc((100% - 12px)/3 - 14px);
  border-radius:26px;z-index:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(32,105,68,.28),rgba(15,49,35,.34));
  border:1px solid rgba(43,221,113,.85);
  box-shadow:0 0 20px rgba(43,221,113,.11),inset 0 1px 0 rgba(255,255,255,.05);
  transition:transform 220ms cubic-bezier(.22,1,.36,1)}
#tabbar.is-map #tab-pill{transform:translateX(calc(100% + 14px))}
#tabbar.is-saved #tab-pill{transform:translateX(calc(200% + 28px))}
/* Вкладки: иконка над подписью, равные трети, вся зона кликабельна */
.tab{flex:1;position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:6px;min-width:0;min-height:64px;background:none;border:none;
  font-family:inherit;font-size:13px;font-weight:600;color:rgba(173,184,201,.58);cursor:pointer;
  -webkit-tap-highlight-color:transparent;transition:color 180ms ease,transform 180ms ease}
.tab svg{width:24px;height:24px;flex-shrink:0;color:rgba(173,184,201,.66);transition:color 180ms ease}
.tab span{white-space:nowrap;line-height:1}
.tab:active{transform:scale(.97)}
.tab:focus-visible{outline:2px solid rgba(43,221,113,.7);outline-offset:3px;border-radius:20px}
.tab.on{color:#F5F7FA;font-weight:700}
.tab.on svg{color:#2DDF75}
@media (max-width:360px){
  #tabbar{width:calc(100% - 22px)}
  .tab{font-size:12px}.tab svg{width:23px;height:23px}
}
@media (prefers-reduced-motion:reduce){
  #tab-pill{transition:none}.tab{transition:color 180ms ease}.tab:active{transform:none}
}
/* tb2 — КОМПАКТНЫЙ таббар (ПРОД с 02.07: класс статикой на <body>; откат = убрать класс + rebuild).
   84→60px, иконка+подпись В СТРОКУ (segmented-control), без разделителей, стадиум-капсула. */
body.tb2 #tabbar{height:60px;padding:5px;border-radius:30px;width:calc(100% - 40px);max-width:420px}
body.tb2 #tabbar::before,body.tb2 #tabbar::after{display:none}
body.tb2 #tab-pill{top:5px;bottom:5px;left:9px;width:calc((100% - 10px)/3 - 8px);border-radius:999px}
body.tb2 #tabbar.is-map #tab-pill{transform:translateX(calc(100% + 8px))}
body.tb2 #tabbar.is-saved #tab-pill{transform:translateX(calc(200% + 16px))}
body.tb2 .tab{flex-direction:row;gap:7px;min-height:50px;font-size:13px}
body.tb2 .tab svg{width:19px;height:19px}
@media (max-width:378px){body.tb2 .tab{font-size:12px;gap:5px}body.tb2 .tab svg{width:18px;height:18px}}
/* Плавающие элементы к НОВОЙ высоте таббара (12+60+12=84; старые 108/124 считались от 84px-таббара).
   Скоуп tb2: откат таббара вернёт и высоты. */
body.tb2 #pick-float{bottom:calc(84px + env(safe-area-inset-bottom,0px))}
body.tb2.nosheet:not(.dsk) #view-map .map-fab{bottom:calc(84px + env(safe-area-inset-bottom,0px))}
body.tb2.nosheet:not(.dsk) #view-map .map-credit{bottom:calc(80px + env(safe-area-inset-bottom,0px))}
body.tb2 .sg-banner.floating{bottom:calc(84px + env(safe-area-inset-bottom,0))}
/* когда на карте живёт пилюля «Умный подбор» (nosheet-мобила), floating-баннер поднимаем НАД ней — не перекрывать главный CTA (аудит 02.07) */
body.tb2.nosheet:not(.dsk) .sg-banner.floating{bottom:calc(140px + env(safe-area-inset-bottom,0))}
/* Кнопка-закладка «Мои АЗС» в карточке АЗС */
.rs-bm{width:44px;height:44px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  background:rgba(16,23,35,.88);border:1px solid rgba(255,255,255,.08);color:#C9D2E0;transition:color .18s,border-color .18s,box-shadow .18s}
.rs-bm svg{width:22px;height:22px}
.rs-bm.on{color:var(--status-ok);border-color:rgba(48,213,107,.55);box-shadow:0 0 16px rgba(48,213,107,.18)}
.rs-bm.on svg{fill:var(--status-ok)}
.rs-bm.sm{width:38px;height:38px}.rs-bm.sm svg{width:19px;height:19px}
/* Toast с подзаголовком */
#toast .tt-t{font-weight:600}#toast .tt-s{font-size:11.5px;color:var(--dim2);margin-top:2px}
/* Экран «Мои АЗС» */
#view-saved{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:calc(env(safe-area-inset-top,0px) + 18px) 16px calc(116px + var(--safe-b))}
.sv-h1{font-size:22px;font-weight:700}.sv-sub{font-size:12.5px;color:var(--dim);margin-top:2px;margin-bottom:16px}
/* ── Бейдж «Надёжный» (золото; под флагом RELIABLE) ── */
.sv-h1-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.reliable-badge{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 9px 0 6px;border-radius:9px;
  border:1px solid rgba(246,186,59,.72);background:rgba(246,186,59,.13);color:#f5c45d;
  font-size:12px;line-height:1;font-weight:700;white-space:nowrap;vertical-align:middle;cursor:pointer;
  -webkit-tap-highlight-color:transparent;flex-shrink:0}
.reliable-badge svg{width:15px;height:15px;flex-shrink:0;display:block}
.reliable-badge.rb-lg{height:28px;font-size:13px;padding:0 11px 0 8px;border-radius:10px}
.reliable-badge.rb-lg svg{width:17px;height:17px}
.reliable-badge:focus-visible{outline:2px solid rgba(246,186,59,.8);outline-offset:2px}
html[data-theme="light"] .reliable-badge{border-color:rgba(202,142,30,.6);background:rgba(246,186,59,.18);color:#a9781a}
/* Чип «На месте» — позитивный (зелёный): отметка сделана у самой АЗС. Только позитив, без чисел/веса. */
.onsite-badge{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 9px 0 6px;border-radius:9px;
  border:1px solid rgba(48,213,107,.5);background:rgba(48,213,107,.12);color:var(--brand-green);
  font-size:12px;line-height:1;font-weight:700;white-space:nowrap;vertical-align:middle;flex-shrink:0}
.onsite-badge svg{width:14px;height:14px;flex-shrink:0;display:block}
html[data-theme="light"] .onsite-badge{border-color:rgba(33,150,83,.5);background:rgba(33,150,83,.12);color:#1c8a4d}
@media (max-width:340px){.rr-item .reliable-badge .rb-tx{display:none}.rr-item .reliable-badge{padding:0 6px}}
.rb-progress{display:flex;align-items:center;gap:13px;margin:-4px 2px 18px;padding:13px 14px;border-radius:18px;background:var(--card);border:1px solid var(--border)}
.rb-progress .rb-hex{width:46px;height:50px;flex-shrink:0;background:rgba(246,186,59,.16);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);display:flex;align-items:center;justify-content:center}
.rb-progress .rb-hex svg{width:23px;height:23px;stroke:#caa106;fill:none}
.rb-progress .rb-body{flex:1;min-width:0}
.rb-progress .t{font-size:14.5px;font-weight:700;color:var(--text)}
.rb-progress .s{font-size:12px;color:var(--dim);margin-top:2px;line-height:1.35}
.rb-progress .rb-segs{display:flex;gap:5px;margin-top:9px}
.rb-progress .rb-seg{flex:1;height:6px;border-radius:99px;background:rgba(140,152,173,.18)}
.rb-progress .rb-seg.on{background:linear-gradient(90deg,#f5b94a,#ffd45e)}
#rb-demo{margin:8px 2px 14px;padding:12px;border-radius:14px;border:1px dashed rgba(245,185,74,.6);background:rgba(245,185,74,.08)}
#rb-demo h4{margin:0 0 4px;font-size:13px;color:#f5b94a}
#rb-demo .row{display:flex;align-items:center;gap:6px;margin-top:7px;flex-wrap:wrap;font-size:12px;color:var(--dim)}
#rb-demo button{padding:6px 9px;border-radius:9px;border:1px solid var(--border);background:var(--card);color:var(--text);font-size:12px;font-weight:600;cursor:pointer}
#rb-demo b{min-width:16px;text-align:center;color:var(--text)}
.sv-impact{position:relative;overflow:hidden;flex-shrink:0;background:#12914a;border:0;border-radius:18px;padding:16px 17px;margin-bottom:11px;color:#fff}
.sv-impact .hero-cap{font-size:12.5px;font-weight:600;color:rgba(255,255,255,.85)}
.sv-impact .hero-num{font-size:34px;font-weight:800;letter-spacing:-.5px;margin-top:5px;line-height:1}
.sv-impact .hero-sub{font-size:14px;color:rgba(255,255,255,.9);margin-top:4px}
.sv-info{display:flex;gap:14px;background:var(--card);border:1px solid var(--border);border-radius:20px;padding:16px;margin-bottom:22px}
.sv-info .ic{width:56px;height:56px;border-radius:16px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:rgba(48,213,107,.1);border:1px solid rgba(48,213,107,.25)}
.sv-info .ic svg{width:26px;height:26px;stroke:var(--status-ok);fill:none}
.sv-info .t{font-size:17px;font-weight:700}.sv-info .s{font-size:13px;color:var(--dim);line-height:1.45;margin-top:5px}
.sv-info .lock{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--dim2);margin-top:10px}
.sv-lh{display:flex;align-items:center;justify-content:space-between;margin:0 2px 12px}
.sv-lh .t{font-size:18px;font-weight:600}
/* ── «Мои АЗС»: бренд-хедер ── */
.sv-brand{display:inline-flex;align-items:center;gap:8px;margin:0 0 14px;text-decoration:none}
.sv-brand-badge{width:30px;height:30px;border-radius:9px;overflow:hidden;display:flex;flex-shrink:0}
.sv-brand-badge img{width:100%;height:100%;object-fit:cover}
.sv-brand-wm{font-size:18px;font-weight:800;color:var(--text);letter-spacing:-.01em}
.sv-brand-wm .g{color:var(--brand-green)}
/* ── Карточка сохранённой: действия + колокольчик «следить» ── */
.scard2 .sc-actions{display:flex;flex-direction:column;gap:8px;flex-shrink:0}
.fl-bell{width:38px;height:38px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--card);border:1px solid var(--border);color:var(--dim);transition:color .2s,border-color .2s,background .2s,box-shadow .2s}
.fl-bell svg{width:18px;height:18px}
.fl-bell.on{color:var(--status-ok);border-color:rgba(48,213,107,.55);background:rgba(48,213,107,.12);box-shadow:0 0 14px rgba(48,213,107,.16)}
/* ── Радар: индикатор смены статуса + подсветка изменившейся карточки ── */
.sv-change{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:650;margin-top:5px;line-height:1.25}
.sv-change .dot{width:7px;height:7px;border-radius:999px;flex-shrink:0;animation:blink 1.4s ease-in-out infinite}
.scard2.is-changed{border-color:rgba(48,213,107,.35);box-shadow:0 0 0 1px rgba(48,213,107,.12)}
/* ── Чипы марок в карточке ── */
.sc-status{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:1px}
.sc-status .fchips{display:inline-flex;gap:4px;flex-wrap:wrap}
.sc-status .fchip{font-size:10.5px;font-weight:650;color:var(--dim);background:var(--card);border:1px solid var(--border);border-radius:6px;padding:1px 6px;line-height:1.5}
/* ── Бейджи: компактное превью-ряд (4 категории) ── */
.badges-preview{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.bp-cell{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px 9px;border-radius:16px;background:var(--card);border:1px solid var(--border);cursor:pointer;transition:border-color .2s,transform .15s}
.bp-cell:active{transform:scale(.96)}
.bp-cell.bp-on{border-color:rgba(48,213,107,.32)}
.bp-ic{width:46px;height:50px}
.bp-cell:not(.bp-on) .bp-ic{opacity:.6;filter:saturate(.7)}
.bp-ct{font-size:11px;font-weight:700;color:var(--dim);font-variant-numeric:tabular-nums}
.badges-info-button{display:inline-flex;align-items:center;gap:3px}
.sv-sort{display:inline-flex;align-items:center;gap:6px;background:var(--card);border:1px solid var(--border);border-radius:999px;
  padding:7px 12px;font-size:13px;color:var(--dim2);font-family:inherit}
.scard2{position:relative;overflow:hidden;flex-shrink:0;display:flex;align-items:center;gap:13px;padding:14px 14px 14px 17px;border-radius:18px;background:var(--card);border:1px solid var(--border);margin-bottom:11px;box-shadow:0 1px 3px rgba(16,24,40,.05)}
.scard2 .sc-edge{position:absolute;left:0;top:0;bottom:0;width:4px}
.scard2 .nm{font-weight:700;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.scard2 .pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;margin-top:7px}
.scard2 .pill .pd{width:7px;height:7px;border-radius:999px}
.scard2 .mt{font-size:12px;color:var(--dim);margin-top:8px;line-height:1.4}
.scard2 .chev{color:var(--grey);font-size:20px;flex-shrink:0}
.scard2 .rs-bm.sm{background:rgba(48,213,107,.12);border:1px solid rgba(48,213,107,.4)}
.scard2 .rs-bm.sm svg{stroke:var(--status-ok);fill:var(--status-ok)}
.scard2.sk{height:96px;background:linear-gradient(100deg,var(--card) 30%,rgba(255,255,255,.04) 50%,var(--card) 70%);background-size:200% 100%;animation:skel 1.3s linear infinite;border:1px solid var(--border)}
@keyframes skel{from{background-position:200% 0}to{background-position:-200% 0}}
.sv-add{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:16px;border-radius:20px;
  background:rgba(48,213,107,.08);border:1px solid rgba(48,213,107,.3);color:var(--text);font-family:inherit;margin-top:6px}
.sv-add .ic{width:44px;height:44px;border-radius:13px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:rgba(48,213,107,.12)}
.sv-add .ic svg{width:24px;height:24px;stroke:var(--status-ok);fill:none}
.sv-add .t{font-size:15.5px;font-weight:600}.sv-add .s{font-size:12.5px;color:var(--dim);margin-top:2px}
.sv-add .chev{margin-left:auto;color:var(--grey);font-size:20px}
.sv-empty{text-align:center;padding:34px 24px}
.sv-empty .ic{width:72px;height:72px;border-radius:22px;margin:0 auto 18px;display:flex;align-items:center;justify-content:center;background:var(--card);border:1px solid var(--border)}
.sv-empty .ic svg{width:34px;height:34px;stroke:var(--grey);fill:none}
.sv-empty .t{font-size:18px;font-weight:700}.sv-empty .s{font-size:14px;color:var(--dim);line-height:1.5;margin:8px 0 20px}
.sv-empty .note{font-size:11.5px;color:var(--dim2);margin-top:16px}
/* ── Радар-редизайн «Мои АЗС» (body.radv1, ДЕМО-превью; раскатка = RADAR_V1=true) ── */
body.radv1 #view-saved.is-empty .sv-sub,body.radv1 #view-saved.is-empty #sv-impact,body.radv1 #view-saved.is-empty #rb-progress,body.radv1 #view-saved.is-empty #sv-info,body.radv1 #view-saved.is-empty #rad-summary{display:none!important}
body.radv1 .rad-hero{text-align:center;padding:26px 22px 24px}
body.radv1 .rad-ic{position:relative;width:72px;height:72px;border-radius:22px;margin:0 auto 18px;display:flex;align-items:center;justify-content:center;background:rgba(48,213,107,.09);border:1px solid rgba(48,213,107,.3)}
body.radv1 .rad-ic svg{width:34px;height:34px;stroke:var(--brand-green);fill:none}
body.radv1 .rad-ic .live{position:absolute;top:12px;right:12px;width:10px;height:10px;background:var(--brand-green);box-shadow:0 0 0 3px var(--bg)}
body.radv1 .rad-h{font-size:19px;font-weight:800;letter-spacing:-.01em}
body.radv1 .rad-s{font-size:13.5px;color:var(--dim);line-height:1.55;margin:9px auto 18px;max-width:330px}
body.radv1 .rad-ex{display:inline-flex;flex-direction:column;gap:10px;margin:0 auto 22px;padding:13px 18px;border-radius:16px;background:var(--card);border:1px solid var(--border);text-align:left;pointer-events:none}
body.radv1 .rad-ex-row{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:var(--text)}
body.radv1 .rad-ex-row .pd{width:9px;height:9px;border-radius:999px;flex-shrink:0}
body.radv1 .rad-hero .cta{margin:0 auto}
body.radv1 .rad-hero .note{font-size:11.5px;color:var(--dim2);margin-top:16px;display:inline-flex;align-items:center;justify-content:center;gap:5px}
body.radv1 #rad-summary{margin:0 2px 12px}
body.radv1 .rad-sum{display:flex;align-items:flex-start;gap:11px;padding:12px 14px;border-radius:16px;border:1px solid var(--border);background:var(--card)}
body.radv1 .rad-sum.act{background:rgba(48,213,107,.12);border-color:rgba(48,213,107,.4);cursor:pointer}
body.radv1 .rad-sum .rs-ic{flex-shrink:0;margin-top:3px}
body.radv1 .rad-sum .rs-b{flex:1;min-width:0}
body.radv1 .rad-sum .rs-t{font-size:13.5px;font-weight:700;color:var(--text);line-height:1.32}
body.radv1 .rad-sum.act .rs-t{color:var(--brand-green)}
body.radv1 .rad-sum .rs-s{font-size:12px;color:var(--dim);margin-top:3px;line-height:1.35}
body.radv1 .rad-sum .rs-chev{align-self:center;color:var(--brand-green);font-size:20px;font-weight:700;flex-shrink:0}
body.radv1 .scard2.is-follow{box-shadow:0 0 0 1px rgba(48,213,107,.3)}
html[data-theme="light"] body.radv1 .rad-ic{background:rgba(33,150,83,.09);border-color:rgba(33,150,83,.32)}
html[data-theme="light"] body.radv1 .rad-sum.act{background:rgba(33,150,83,.1);border-color:rgba(33,150,83,.34)}
@media (prefers-reduced-motion:reduce){body.radv1 .rad-ic .live,body.radv1 #rad-summary .live{animation:none}}
/* ── 🙏 Реципрокность (body.thxv1, ДЕМО/cfg.thanks) ── */
body.thxv1 .rr-thx{position:relative;overflow:visible;flex-shrink:0;width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:15px;line-height:1;background:var(--card);border:1px solid var(--border);cursor:pointer;transition:transform .15s,background .2s,border-color .2s;-webkit-tap-highlight-color:transparent}
body.thxv1 .rr-thx .em{display:inline-block}
body.thxv1 .rr-thx.burst{animation:thxSpring .42s cubic-bezier(.34,1.56,.64,1)}
body.thxv1 .rr-thx.burst::after{content:'';position:absolute;inset:0;border-radius:50%;pointer-events:none;box-shadow:0 0 0 0 rgba(48,213,107,.5);animation:thxGlow .5s ease-out}
body.thxv1 .rr-thx .em.pop{animation:thxEmPop .42s ease}
@keyframes thxSpring{0%{transform:scale(.9)}45%{transform:scale(1.22)}100%{transform:scale(1)}}
@keyframes thxGlow{0%{box-shadow:0 0 0 0 rgba(48,213,107,.5)}100%{box-shadow:0 0 0 13px rgba(48,213,107,0)}}
@keyframes thxEmPop{0%{transform:scale(1)}45%{transform:scale(1.32)}100%{transform:scale(1)}}
.cpop{animation:thxNumPop .5s ease}
@keyframes thxNumPop{0%{transform:scale(1)}50%{transform:scale(1.14)}100%{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){body.thxv1 .rr-thx.burst,body.thxv1 .rr-thx.burst::after,body.thxv1 .rr-thx .em.pop,.cpop{animation:none}}
body.thxv1 .rr-thx.thanked{background:rgba(48,213,107,.18);border-color:rgba(48,213,107,.6)}
body.thxv1 .rr-thx:active{transform:scale(.88)}
.sv-impact .hero-thx{font-size:13px;font-weight:600;color:#fff;margin-top:10px;display:inline-flex;align-items:center;gap:5px;background:rgba(255,255,255,.18);padding:5px 11px;border-radius:99px}
/* ── Бейджи вклада («Ваши бейджи») — за принятые модератором АЗС ── */
.profile-badges{margin:0 0 22px}
.badges-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 2px 12px}
.badges-title{font-size:18px;font-weight:600;margin:0}
.badges-info-button{height:36px;padding:0 13px;border-radius:14px;display:inline-flex;align-items:center;gap:6px;background:rgba(17,24,36,.92);border:1px solid rgba(255,255,255,.08);color:rgba(187,197,213,.82);font-size:13.5px;font-weight:550;flex-shrink:0;font-family:inherit}
.badges-info-button svg{width:14px;height:14px;stroke:currentColor;fill:none;flex-shrink:0}
.badges-info-button:focus-visible{outline:2px solid var(--brand-green);outline-offset:2px}
.profile-badges-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.badge-card{position:relative;min-height:118px;border-radius:20px;padding:13px;display:flex;align-items:center;gap:10px;overflow:hidden;transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s,border-color .35s}
.badge-card--earned{background:radial-gradient(circle at 18% 50%,rgba(45,223,117,.10),transparent 40%),linear-gradient(145deg,rgba(17,30,27,.97),rgba(10,16,24,.98));border:1px solid rgba(45,223,117,.32);box-shadow:0 10px 30px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.035)}
.badge-card--locked{background:linear-gradient(145deg,rgba(16,23,34,.94),rgba(9,14,22,.98));border:1px solid rgba(255,255,255,.08)}
.badge-card--locked .badge-icon{opacity:.8;filter:saturate(.82)}
/* Светлая тема: карточки бейджей делаем светлыми (иначе тёмный заголовок var(--text) на тёмной карточке нечитаем). */
html[data-theme="light"] .badges-info-button{background:#FFFFFF;border-color:var(--border);color:var(--dim2)}
html[data-theme="light"] .badge-card--earned{background:radial-gradient(circle at 18% 50%,rgba(45,223,117,.16),transparent 46%),linear-gradient(145deg,#EEFBF3,#FFFFFF);border-color:rgba(22,163,74,.4);box-shadow:0 8px 22px rgba(18,28,46,.10),inset 0 1px 0 rgba(255,255,255,.7)}
html[data-theme="light"] .badge-card--locked{background:linear-gradient(145deg,#F2F5FA,#FFFFFF);border-color:rgba(18,28,46,.12);box-shadow:0 6px 16px rgba(18,28,46,.06)}
html[data-theme="light"] .badge-card--locked .badge-icon{opacity:.95;filter:none}
html[data-theme="light"] .badge-prog{background:rgba(18,28,46,.10)}
.badge-icon{width:52px;height:56px;flex-shrink:0;display:block}
.badge-body{min-width:0;flex:1;display:flex;flex-direction:column}
.badge-name{font-size:13.5px;font-weight:700;line-height:1.18;color:var(--text);overflow-wrap:break-word;hyphens:auto}
.badge-sub{font-size:11.5px;color:var(--dim);margin-top:3px;line-height:1.3}
.badge-cap{align-self:flex-start;margin-top:9px;display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:650;color:#062c14;background:linear-gradient(90deg,#27cc66,#35e176);padding:4px 10px;border-radius:999px}
.badge-cap svg{width:12px;height:12px;stroke:#062c14;stroke-width:3;fill:none}
.badge-prog{height:6px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;margin-top:11px}
.badge-prog-v{height:100%;border-radius:inherit;background:linear-gradient(90deg,#27cc66,#35e176);transition:width .55s cubic-bezier(.22,1,.36,1)}
.badge-prog-t{font-size:11.5px;color:var(--dim2);margin-top:6px;font-variant-numeric:tabular-nums}
.badges-note{margin-top:10px;display:flex;align-items:center;gap:7px;color:rgba(151,163,181,.68);font-size:13px;line-height:1.4}
.badges-note svg{width:15px;height:15px;stroke:currentColor;fill:none;flex-shrink:0}
/* ── Коллекция бейджей: шапка + категории + цветовые акценты тиров ── */
.badges-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:-2px 2px 14px;font-size:12.5px}
.badges-summary .bs-got{font-weight:700;color:var(--text)}
.badges-summary .bs-next{color:var(--dim)}
.badge-cat-h{font-size:13px;font-weight:700;color:var(--dim);margin:16px 2px 9px;display:flex;align-items:center;gap:8px}
#badges-grid>.badge-cat-h:first-child{margin-top:0}
.badge-cat-soon{font-size:10.5px;font-weight:700;color:#f6ba3b;background:rgba(246,186,59,.14);padding:2px 7px;border-radius:99px}
.badge-card[data-cat="impact"].badge-card--earned{border-color:rgba(255,107,107,.34);background:radial-gradient(circle at 18% 50%,rgba(255,107,107,.11),transparent 42%),linear-gradient(145deg,rgba(30,18,18,.97),rgba(20,12,14,.98))}
.badge-card[data-cat="trust"].badge-card--earned{border-color:rgba(246,186,59,.36);background:radial-gradient(circle at 18% 50%,rgba(246,186,59,.11),transparent 42%),linear-gradient(145deg,rgba(30,25,12,.97),rgba(20,16,10,.98))}
html[data-theme="light"] .badge-card[data-cat="impact"].badge-card--earned{border-color:rgba(220,70,70,.36);background:radial-gradient(circle at 18% 50%,rgba(255,107,107,.16),transparent 46%),linear-gradient(145deg,#FFF1F1,#FFFFFF)}
html[data-theme="light"] .badge-card[data-cat="trust"].badge-card--earned{border-color:rgba(202,150,40,.42);background:radial-gradient(circle at 18% 50%,rgba(246,186,59,.18),transparent 46%),linear-gradient(145deg,#FBF6EA,#FFFFFF)}
.badge-card[data-cat="impact"] .badge-cap{background:linear-gradient(90deg,#e05656,#ff7a7a);color:#2c0606}
.badge-card[data-cat="impact"] .badge-cap svg{stroke:#2c0606}
.badge-card[data-cat="trust"] .badge-cap{background:linear-gradient(90deg,#e0a52f,#ffd45e);color:#2c2206}
.badge-card[data-cat="trust"] .badge-cap svg{stroke:#2c2206}
@keyframes badgePop{0%{transform:scale(.97)}55%{transform:scale(1.025)}100%{transform:scale(1)}}
.badge-card.pop{animation:badgePop .6s ease-out;box-shadow:0 0 0 2px rgba(53,225,118,.55),0 12px 34px rgba(45,223,117,.22)}
#badges-sheet{position:fixed;inset:0;z-index:1760;display:none}
#badges-sheet.show{display:block}
#badges-sheet .bs-back{position:absolute;inset:0;background:rgba(0,0,0,.5)}
html[data-theme="light"] #badges-sheet .bs-back{background:rgba(18,28,46,.40)}
#badges-sheet .bs-card{position:absolute;left:0;right:0;bottom:0;background:var(--bg);border-radius:26px 26px 0 0;padding:0 18px calc(22px + var(--safe-b));max-height:92vh;overflow-y:auto;max-width:520px;margin:0 auto;transform:translateY(100%);transition:transform .28s cubic-bezier(.22,1,.36,1)}
#badges-sheet.show .bs-card{transform:translateY(0)}
/* ── Шторка «Что значит уверенность» (структура как #badges-sheet; ОБЯЗАТЕЛЬНО display:none когда скрыта — иначе дедлок гейта пушей) ── */
#conf-sheet{position:fixed;inset:0;z-index:1760;display:none}
#conf-sheet.show{display:block}
#conf-sheet .bs-back{position:absolute;inset:0;background:rgba(0,0,0,.5)}
html[data-theme="light"] #conf-sheet .bs-back{background:rgba(18,28,46,.40)}
#conf-sheet .bs-card{position:absolute;left:0;right:0;bottom:0;background:var(--bg);border-radius:26px 26px 0 0;padding:0 18px calc(22px + var(--safe-b));max-height:92vh;overflow-y:auto;max-width:520px;margin:0 auto;transform:translateY(100%);transition:transform .28s cubic-bezier(.22,1,.36,1)}
#conf-sheet.show .bs-card{transform:translateY(0)}
.conf-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}
.bs-item.conf-cur{border-color:var(--brand-green);box-shadow:inset 0 0 0 1px var(--brand-green);background:linear-gradient(0deg,rgba(48,213,107,.09),rgba(48,213,107,.09)),var(--card)}
.conf-now{margin-left:auto;align-self:center;font-size:11px;font-weight:700;color:var(--brand-green);background:rgba(48,213,107,.14);padding:2px 8px;border-radius:999px;flex-shrink:0}
@media (prefers-reduced-motion:reduce){#conf-sheet .bs-card{transition:none}}
.bs-grab{width:38px;height:4px;border-radius:999px;background:rgba(255,255,255,.16);margin:6px auto 14px}
html[data-theme="light"] .bs-grab{background:rgba(18,28,46,.16)}
.bs-top{position:sticky;top:0;z-index:3;margin:0 -18px 8px;padding:11px 0 5px;background:var(--bg);display:flex;align-items:center;justify-content:center;cursor:pointer}
.bs-top .bs-grab{margin:0}
.bs-x{position:absolute;right:8px;top:7px;width:34px;height:34px;border:0;border-radius:50%;background:rgba(140,152,173,.16);color:var(--dim2);display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;font-family:inherit}
.bs-x svg{width:16px;height:16px}
.bs-h{font-size:19px;font-weight:700;margin:0 0 10px}
.bs-p{font-size:13.5px;color:var(--dim2);line-height:1.5;margin:0 0 8px}
.bs-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:16px;background:var(--card);border:1px solid var(--border);margin-top:10px}
.bs-item .nm{font-size:14px;font-weight:650}.bs-item .ds{font-size:12px;color:var(--dim);margin-top:2px}
.bs-foot{font-size:12px;color:var(--dim);line-height:1.45;margin:14px 2px 16px;display:flex;gap:7px}
.bs-foot svg{width:15px;height:15px;flex-shrink:0;margin-top:1px}
.bs-ok{width:100%;height:50px;border-radius:16px;border:none;background:linear-gradient(90deg,#27cc66,#35e176);color:#062c14;font-size:15.5px;font-weight:700;font-family:inherit}
/* ── «Поделиться ситуацией»: success-шторка (структура как #badges-sheet) ── */
#ss-sheet{position:fixed;inset:0;z-index:2600;display:none}
#ss-sheet.show{display:block}
#ss-sheet .bs-back{position:absolute;inset:0;background:rgba(0,0,0,.5)}
html[data-theme="light"] #ss-sheet .bs-back{background:rgba(18,28,46,.40)}
#ss-sheet .bs-card{position:absolute;left:0;right:0;bottom:0;background:var(--bg);border-radius:26px 26px 0 0;padding:8px 18px calc(20px + var(--safe-b));max-height:92vh;overflow-y:auto;max-width:520px;margin:0 auto;transform:translateY(100%);transition:transform .28s cubic-bezier(.22,1,.36,1)}
#ss-sheet.show .bs-card{transform:translateY(0)}
body.dsk #ss-sheet .bs-card{left:16px;right:auto;width:380px}
/* Соц.-пруф в шейринг-шторке (перенесён из vote-thanks, чтобы не терять дофамин) */
#ss-sheet .ss-social{margin:2px 0 14px;text-align:center}
#ss-sheet .ss-soc-imp{font-size:13.5px;font-weight:700;color:var(--text);background:rgba(48,213,107,.10);border:1px solid rgba(48,213,107,.22);border-radius:12px;padding:9px 12px;line-height:1.4}
#ss-sheet .ss-soc-imp b{color:var(--brand-green)}
#ss-sheet .ss-soc-streak{margin-top:9px;font-size:12.5px;font-weight:700;color:var(--brand-green)}
#ss-sheet .ss-heart{font-size:34px;line-height:1;margin:2px 0 4px;text-align:center;animation:vtBeat 1s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){#ss-sheet .ss-heart{animation:none}}
.ss-card{position:relative}
.ss-x{position:absolute;top:12px;right:12px;width:34px;height:34px;border:0;border-radius:50%;background:rgba(255,255,255,.07);color:var(--dim);font-size:15px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.ss-sub{font-size:13.5px;color:var(--dim);margin:0 0 14px;line-height:1.4}
.ss-prev{display:flex;gap:13px;align-items:center;padding:12px;border-radius:16px;background:var(--card);border:1px solid var(--border);margin-bottom:16px}
.ss-prev .slogo{width:54px;height:54px;border-radius:15px;flex-shrink:0}
.ss-pv-b{flex:1;min-width:0}
.ss-pv-n{font-size:15.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ss-pv-a{font-size:12px;color:var(--dim);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ss-pv-row{display:flex;align-items:center;gap:8px;margin-top:7px;flex-wrap:wrap}
.ss-pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px}
.ss-pd{width:7px;height:7px;border-radius:999px}
.ss-pv-f{font-size:12px;color:var(--dim2,#9aa7b8)}
.ss-pv-t{font-size:11.5px;color:var(--dim);margin-top:6px}
.ss-prim{width:100%;height:52px;border:0;border-radius:16px;background:linear-gradient(90deg,#27cc66,#35e176);color:#062c14;font-size:15.5px;font-weight:700;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:9px;cursor:pointer}
.ss-prim svg{width:20px;height:20px}
.ss-nets{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:11px}
.ss-net{display:flex;flex-direction:column;align-items:center;gap:6px;padding:11px 4px;border-radius:14px;border:1px solid var(--border);background:var(--card);color:var(--text);font-size:12.5px;font-weight:600;font-family:inherit;cursor:pointer}
.ss-nl{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff}
.ss-nl.ss-max{background:#0A7CFF}.ss-nl.ss-tg{background:#29A9EB}.ss-nl.ss-vk{background:#0077FF}
.ss-copy{width:100%;height:46px;margin-top:11px;border:1px solid var(--border);border-radius:14px;background:transparent;color:var(--text);font-size:14px;font-weight:600;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}
.ss-copy svg{width:18px;height:18px}
.ss-later{width:100%;height:44px;margin-top:8px;border:0;background:transparent;color:var(--dim);font-size:14px;font-family:inherit;cursor:pointer}
.ss-recv{margin-bottom:14px;padding:13px 14px;border-radius:16px;background:linear-gradient(145deg,rgba(45,223,117,.08),rgba(45,223,117,.02)),var(--card);border:1px solid rgba(45,223,117,.28)}
.ssr-top{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:var(--text)}
.ssr-ic{font-size:15px}
.ssr-snap{display:flex;align-items:center;gap:8px;margin-top:9px;flex-wrap:wrap}
.ssr-fresh{font-size:12.5px;font-weight:600;margin-top:9px}
.ssr-hint{font-size:12px;color:var(--dim);margin-top:5px}
.ssr-cta{width:100%;height:46px;margin-top:11px;border:0;border-radius:13px;background:linear-gradient(90deg,#27cc66,#35e176);color:#062c14;font-size:14.5px;font-weight:700;font-family:inherit;cursor:pointer}
.rss-share{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:100%;margin-top:9px;height:44px;border:1px solid rgba(45,223,117,.35);border-radius:13px;background:rgba(45,223,117,.07);color:#46e08c;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer}
.rss-share svg{width:17px;height:17px}
html[data-theme="light"] .rss-share{border-color:rgba(22,163,74,.35);background:rgba(22,163,74,.06);color:#16A34A}
@media(prefers-reduced-motion:reduce){#ss-sheet .bs-card{transition:none}}
@media (max-width:380px){
  .profile-badges-grid{gap:8px}
  .badge-card{flex-direction:column;align-items:center;text-align:center;gap:8px;padding:14px 10px}
  .badge-icon{width:50px;height:54px}
  .badge-body{align-items:center;width:100%}
  .badge-name{font-size:13px}.badge-sub{font-size:11px}
  .badge-cap{align-self:center}.badge-prog{width:100%}
}
@media (prefers-reduced-motion:reduce){
  .badge-card,.badge-prog-v,#badges-sheet .bs-card{transition:none}
  .badge-card.pop{animation:none}
}
.loader{display:none;align-items:center;gap:6px;font-size:12px;color:var(--dim)}
.loader.active{display:flex}
.spin{width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--blue);border-radius:50%;animation:spin .7s linear infinite}

/* «Добавить на экран» (PWA) */
#a2hs{position:fixed;left:12px;right:12px;bottom:calc(76px + var(--safe-b));z-index:2600;
  display:none;align-items:flex-start;gap:13px;padding:15px 14px 14px;
  background:linear-gradient(180deg,#121a26,#0E1420);border:1px solid rgba(255,255,255,.09);
  border-radius:22px;box-shadow:0 20px 55px rgba(0,0,0,.6);
  transform:translateY(24px);opacity:0;transition:transform .32s cubic-bezier(.4,0,.2,1),opacity .32s}
#a2hs.show{display:flex;transform:none;opacity:1}
#a2hs .a2-ic{width:54px;height:54px;border-radius:15px;flex-shrink:0;box-shadow:0 6px 18px rgba(34,197,94,.25)}
#a2hs .a2-t{font-size:15.5px;font-weight:600;padding-right:18px}
#a2hs .a2-s{font-size:12.5px;color:var(--dim2);margin-top:4px;line-height:1.4}
#a2hs .a2-s b{color:#fff;font-weight:600}
#a2hs .a2-btns{display:flex;gap:9px;margin-top:12px}
#a2hs .a2-add{background:var(--green);color:#052310;font-weight:700;border:none;border-radius:12px;
  padding:10px 18px;font-size:13.5px}
#a2hs .a2-no{background:rgba(255,255,255,.05);color:var(--dim2);border:1px solid var(--border);
  border-radius:12px;padding:10px 14px;font-size:13.5px}
#a2hs .a2-x{position:absolute;top:11px;right:13px;width:24px;height:24px;border-radius:999px;
  background:rgba(255,255,255,.06);border:none;color:var(--dim2);font-size:13px;line-height:1}
/* Памятка о безопасности (антимошенник): карточка на «Ситуации» + строка в подвале + одноразовый снэкбар */
.safe-card{display:flex;gap:13px;align-items:flex-start;margin:20px 16px 4px;padding:16px;
  background:linear-gradient(180deg,rgba(48,213,107,.07),rgba(48,213,107,.025));
  border:1px solid rgba(48,213,107,.22);border-radius:20px}
.safe-card .safe-ic{flex-shrink:0;width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  background:rgba(48,213,107,.12);border:1px solid rgba(48,213,107,.25)}
.safe-card .safe-ic svg{width:22px;height:22px;color:var(--brand-green)}
/* Рекламный баннер (нативная лента «Ситуация»). Жёсткое 3:1 → одинаково тянется на всех экранах. */
.ad-card{margin:8px 14px 6px}
.ad-disc{font-size:10px;line-height:1;color:var(--dim);padding:0 6px 4px;letter-spacing:.3px;max-width:600px;margin:0 auto}
.ad-wrap{position:relative;max-width:600px;margin:0 auto}
.ad-wrap.ad-sheet{margin:2px auto 12px}
.ad-banner{position:relative;display:block;width:100%;aspect-ratio:3/1;border-radius:20px;overflow:hidden;text-decoration:none;box-shadow:0 6px 22px rgba(0,0,0,.18);-webkit-tap-highlight-color:transparent}
.ad-close{position:absolute;top:7px;right:7px;width:27px;height:27px;border-radius:50%;border:none;background:rgba(0,0,0,.5);color:#fff;font-size:13px;line-height:1;display:none;align-items:center;justify-content:center;cursor:pointer;z-index:3;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.ad-wrap.can-close .ad-close{display:flex}
.ad-banner img{width:100%;height:100%;object-fit:cover;display:block}
.ad-label{position:absolute;top:8px;right:8px;font-size:9.5px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:rgba(255,255,255,.92);background:rgba(0,0,0,.42);backdrop-filter:blur(3px);padding:3px 8px;border-radius:7px;z-index:2}
.ad-ph{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:0 7%;color:#fff;background:linear-gradient(120deg,#16203c 0%,#2a2150 55%,#4a2a6e 100%)}
.ad-ph-h{font-size:clamp(18px,5.4vw,30px);font-weight:800;letter-spacing:.5px;line-height:1}
.ad-ph-s{font-size:clamp(11px,3vw,15px);opacity:.86;margin-top:5px;max-width:72%}
.ad-ph-cta{align-self:flex-start;margin-top:10px;background:#fff;color:#16203c;font-weight:700;font-size:clamp(11px,2.9vw,14px);padding:7px 14px;border-radius:11px}
.safe-t{font-size:15.5px;font-weight:700;color:#fff}
.safe-pts{margin-top:9px;display:flex;flex-direction:column;gap:6px}
.safe-pt{font-size:13.5px;color:var(--text);display:flex;align-items:center;gap:9px}
.safe-pt .ck{color:var(--brand-green);flex-shrink:0;font-weight:800}
.safe-warn{margin-top:11px;font-size:12px;color:var(--dim);line-height:1.5}
.safe-more{display:inline-block;margin-top:11px;color:var(--brand-green);font-size:13px;font-weight:600;text-decoration:none}
.safe-more:active{opacity:.6}
.seo-disc{font-size:12px;color:var(--dim);font-style:italic;margin-top:16px;line-height:1.5}
.foot-safe{margin-top:9px;font-size:11.5px;color:var(--dim2);display:inline-flex;align-items:center;gap:6px}
.foot-safe svg{width:13px;height:13px;color:var(--brand-green);flex-shrink:0}
#safe-note{position:fixed;left:12px;right:12px;bottom:calc(76px + var(--safe-b));z-index:2550;
  display:none;gap:12px;align-items:flex-start;padding:15px 16px 16px;
  background:rgba(15,22,33,.97);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border:1px solid rgba(48,213,107,.28);border-radius:20px;box-shadow:0 14px 44px rgba(0,0,0,.55)}
#safe-note.show{display:flex}
#safe-note .sn-ic{flex-shrink:0;width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;
  background:rgba(48,213,107,.12);border:1px solid rgba(48,213,107,.25)}
#safe-note .sn-ic svg{width:21px;height:21px;color:var(--brand-green)}
#safe-note .sn-t{font-size:14.5px;font-weight:700;color:#fff}
#safe-note .sn-s{font-size:12.5px;color:var(--dim2);margin-top:4px;line-height:1.5}
#safe-note .sn-ok{margin-top:12px;background:var(--brand-green);color:#052310;font-weight:700;border:none;border-radius:11px;
  padding:9px 20px;font-size:13.5px;cursor:pointer}
/* ── Экран «Поделиться» — премиальный bottom-sheet (по референсу) ── */
#share-bd{position:fixed;inset:0;z-index:2550;display:none;background:rgba(0,3,8,.76);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
#share-bd.show{display:block;animation:saBd .18s ease}
@keyframes saBd{from{opacity:0}to{opacity:1}}
#share-ask{position:fixed;left:0;right:0;bottom:0;z-index:2560;display:none;flex-direction:column;
  max-height:min(92dvh,820px);overflow-y:auto;-webkit-overflow-scrolling:touch;
  padding:9px 18px calc(15px + var(--safe-b));border-radius:32px 32px 0 0;
  background:radial-gradient(circle at 78% 20%,rgba(35,220,105,.10),transparent 30%),
    linear-gradient(145deg,rgba(17,24,36,.99),rgba(7,11,18,.99));
  border:1px solid rgba(45,223,117,.24);border-bottom:none;
  box-shadow:0 -22px 70px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.045)}
#share-ask.show{display:flex;animation:saUp .26s cubic-bezier(.22,1,.36,1)}
@keyframes saUp{from{opacity:.5;transform:translateY(28px) scale(.985)}to{opacity:1;transform:none}}
#share-ask .sa-grab{width:38px;height:4px;border-radius:99px;background:rgba(255,255,255,.16);margin:1px auto 6px;flex-shrink:0}
#share-ask .sa-close{position:absolute;top:13px;right:15px;width:42px;height:42px;border-radius:50%;
  background:rgba(15,22,33,.92);border:1px solid rgba(255,255,255,.08);color:#aeb6c4;
  display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2}
#share-ask .sa-close svg{width:19px;height:19px}
#share-ask .sa-head{display:flex;gap:12px;align-items:flex-start;padding-right:42px}
#share-ask .sa-badge{flex-shrink:0;width:54px;height:54px;border-radius:17px;display:flex;align-items:center;justify-content:center;
  background:rgba(25,111,68,.16);border:1px solid rgba(45,223,117,.38);box-shadow:0 0 22px rgba(45,223,117,.07)}
#share-ask .sa-badge svg{width:28px;height:28px;color:#2DDF75}
#share-ask .sa-htext{flex:1;min-width:0}
#share-ask .sa-title{font-size:clamp(21px,5vw,26px);line-height:1.16;font-weight:750;letter-spacing:-.02em;color:#F7F9FC}
#share-ask .sa-text{font-size:15px;line-height:1.45;font-weight:450;color:rgba(180,191,208,.74);margin-top:7px}
#share-ask .sa-illu{margin:10px auto 0;width:min(212px,54vw);max-height:120px}
#share-ask .sa-illu svg{width:100%;height:auto;max-height:120px;display:block;margin:0 auto}
#share-ask .sa-pill{display:flex;align-items:center;gap:9px;margin-top:15px;min-height:50px;padding:11px 15px;border-radius:16px;
  background:rgba(24,117,70,.11);border:1px solid rgba(45,223,117,.12);font-size:13.5px;color:rgba(200,222,210,.92)}
#share-ask .sa-pill svg{width:18px;height:18px;color:#2DDF75;flex-shrink:0}
#share-ask .sa-prim{margin-top:11px;height:60px;border-radius:18px;border:none;cursor:pointer;width:100%;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;gap:9px;font-family:inherit;font-size:16px;font-weight:700;color:#04100A;
  background:linear-gradient(180deg,#35E176 0%,#27CC66 100%);
  box-shadow:0 0 24px rgba(45,223,117,.20),0 10px 28px rgba(25,175,85,.15),inset 0 1px 0 rgba(255,255,255,.22);transition:transform .16s ease}
#share-ask .sa-prim svg{width:20px;height:20px}
#share-ask .sa-prim:active{transform:scale(.985)}
#share-ask .sa-nets{display:flex;gap:9px;margin-top:10px}
#share-ask .sa-net{flex:1;min-width:0;min-height:64px;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px;border-radius:18px;cursor:pointer;font-family:inherit;
  background:rgba(15,22,33,.92);border:1px solid rgba(255,255,255,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);transition:border-color .16s,background .16s}
#share-ask .sa-net:hover,#share-ask .sa-net:active{border-color:rgba(45,223,117,.26);background:rgba(25,48,37,.5)}
#share-ask .sa-net .sa-logo{width:36px;height:36px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden}
#share-ask .sa-net .sa-logo svg{width:36px;height:36px;display:block}
#share-ask .sa-net .sa-name{font-size:15.5px;font-weight:650;color:#E7ECF4;white-space:nowrap}
#share-ask .sa-net .sa-arr{display:none}
#share-ask .sa-copy{margin-top:10px;width:100%;min-height:54px;border-radius:17px;cursor:pointer;font-family:inherit;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;gap:9px;font-size:14.5px;font-weight:600;color:#E7ECF4;
  background:rgba(15,22,33,.88);border:1px solid rgba(255,255,255,.075);transition:border-color .18s,color .18s}
#share-ask .sa-copy svg{width:18px;height:18px}
#share-ask .sa-copy.ok{border-color:rgba(45,223,117,.6);color:#2DDF75}
#share-ask .sa-trust{display:flex;align-items:flex-start;gap:9px;margin-top:13px;padding-top:12px;border-top:1px solid rgba(255,255,255,.06);
  font-size:13.5px;line-height:1.4;color:rgba(164,176,195,.66)}
#share-ask .sa-trust svg{width:16px;height:16px;flex-shrink:0;margin-top:1px;color:rgba(45,223,117,.7)}
#share-ask .sa-later{margin-top:10px;background:none;border:none;color:var(--dim2);font-size:13px;cursor:pointer;align-self:center;padding:5px 14px}
#share-ask .sa-close:focus-visible,#share-ask .sa-prim:focus-visible,#share-ask .sa-net:focus-visible,#share-ask .sa-copy:focus-visible,#share-ask .sa-later:focus-visible{outline:2px solid rgba(45,223,117,.7);outline-offset:2px}
@media (max-width:360px){
  #share-ask{padding-left:14px;padding-right:14px}
  #share-ask .sa-illu{width:min(200px,56%)}
  #share-ask .sa-net{padding:10px 6px;gap:6px}
  #share-ask .sa-net .sa-logo,#share-ask .sa-net .sa-logo svg{width:34px;height:34px}
  #share-ask .sa-net .sa-name{font-size:15px}
}
@media (prefers-reduced-motion:reduce){
  #share-ask.show,#share-bd.show{animation:none}#share-ask .sa-prim:active{transform:none}
}
#vote-thanks{position:fixed;left:12px;right:12px;bottom:calc(76px + var(--safe-b));z-index:2570;
  display:none;flex-direction:column;align-items:center;text-align:center;padding:20px 18px 18px;
  background:rgba(15,22,33,.97);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border:1px solid rgba(48,213,107,.42);border-radius:22px;box-shadow:0 16px 48px rgba(0,0,0,.55)}
#vote-thanks.show{display:flex;animation:vtIn .3s cubic-bezier(.2,.9,.3,1.35)}
@keyframes vtIn{from{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:none}}
#vote-thanks .vt-heart{font-size:42px;line-height:1;animation:vtBeat 1s ease-in-out infinite}
@keyframes vtBeat{0%,100%{transform:scale(1)}15%{transform:scale(1.22)}30%{transform:scale(1)}45%{transform:scale(1.13)}}
#vote-thanks .vt-t{font-size:18px;font-weight:800;color:#fff;margin-top:10px}
#vote-thanks .vt-s{font-size:13px;color:var(--dim2);margin-top:5px;line-height:1.5;max-width:300px}
#vote-thanks .vt-impact{margin-top:9px;font-size:13.5px;font-weight:700;color:#fff;line-height:1.4;max-width:300px}
#vote-thanks .vt-streak{margin-top:13px;font-size:12.5px;font-weight:700;color:var(--brand-green);
  background:rgba(48,213,107,.12);border:1px solid rgba(48,213,107,.25);border-radius:999px;padding:6px 15px}

/* ═══════════════════════════════════════════════════════════════════════════
   СВЕТЛАЯ ТЕМА — переопределения хардкод-поверхностей (идут последними в каскаде,
   поэтому перебивают исходные тёмные правила). Тёмная тема (по умолчанию) не тронута.
   ═══════════════════════════════════════════════════════════════════════════ */

/* Десктоп-«рамка телефона»: страница вокруг рамки и её тень */
html[data-theme="light"]{color-scheme:light}
@media (min-width:600px){
  html[data-theme="light"]{background:#DDE3EC}
  html[data-theme="light"] body{box-shadow:0 0 0 1px rgba(18,28,46,.10),0 24px 70px rgba(18,28,46,.18)}
}

/* Шапка */
html[data-theme="light"] #header{
  background:rgba(255,255,255,.86);border-bottom:1px solid rgba(18,28,46,.10)}
html[data-theme="light"] .wm{color:#121A28}
html[data-theme="light"] .h-city{
  background:#FFFFFF;border:1px solid rgba(18,28,46,.12);color:#121A28;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 6px 18px rgba(18,28,46,.08)}
html[data-theme="light"] .hbtn{background:#FFFFFF;border:1px solid rgba(18,28,46,.12);color:#2B3648;
  box-shadow:0 4px 12px rgba(18,28,46,.06)}
html[data-theme="light"] .zoom-caps{background:rgba(255,255,255,.86);border:1px solid rgba(18,28,46,.12);box-shadow:0 6px 18px rgba(18,28,46,.12)}
html[data-theme="light"] .zoom-caps button{color:#2B3648}
html[data-theme="light"] .zoom-caps button:first-child{border-bottom:1px solid rgba(18,28,46,.10)}
html[data-theme="light"] .hbtn .bell-dot{border-color:#FFFFFF}

/* Поиск */
html[data-theme="light"] #search-wrap{background:rgba(18,28,46,.35)}
html[data-theme="light"] .search-card{background:#FFFFFF;border:1px solid rgba(18,28,46,.12);
  box-shadow:0 20px 50px rgba(18,28,46,.22)}
html[data-theme="light"] #city-input{background:#F4F6FA;border:1px solid rgba(18,28,46,.12);color:#121A28}
html[data-theme="light"] #city-input:focus{border-color:rgba(37,99,235,.5)}
html[data-theme="light"] .sr-item{background:#F4F6FA}
html[data-theme="light"] .sr-item:active{background:#E6EBF2}

/* Главная карта (home) */
html[data-theme="light"] .mapcard{box-shadow:0 14px 40px rgba(18,28,46,.16)}
html[data-theme="light"] .map-tap,
html[data-theme="light"] .hm-recenter,
html[data-theme="light"] .hm-zoom button,
html[data-theme="light"] .map-chip,
html[data-theme="light"] .map-ctrls .hbtn{
  background:rgba(255,255,255,.92);border:1px solid rgba(18,28,46,.12);color:#2B3648;
  box-shadow:0 4px 14px rgba(18,28,46,.10)}

/* Карточки АЗС и пустые/спокойные состояния */
html[data-theme="light"] .stn,
html[data-theme="light"] .hs-empty,
html[data-theme="light"] .calm{
  background:#FFFFFF;border:1px solid rgba(18,28,46,.10);box-shadow:0 6px 18px rgba(18,28,46,.07)}

/* Экран карты (Ситуации) */
html[data-theme="light"] #map{background:#E4E9F0}
html[data-theme="light"] #view-map{background:#E4E9F0}
html[data-theme="light"] .mtop{
  background:linear-gradient(180deg,rgba(244,246,250,.97),rgba(244,246,250,.78) 60%,rgba(244,246,250,0))}
html[data-theme="light"] .msearch{
  background:rgba(255,255,255,.94);border:1px solid rgba(18,28,46,.12)}
html[data-theme="light"] .fpill{
  background:rgba(255,255,255,.92);border:1px solid rgba(18,28,46,.12);color:#2B3648}
html[data-theme="light"] .fpill.on{
  background:#16A34A;border-color:#16A34A;color:#FFFFFF}

/* Action-bar карты */
html[data-theme="light"] .map-action{
  background:rgba(255,255,255,.80);border:1px solid rgba(18,28,46,.12);color:#2B3648;
  box-shadow:0 4px 14px rgba(18,28,46,.08)}
html[data-theme="light"] .map-action:hover{
  border-color:rgba(18,28,46,.20);background:rgba(255,255,255,.92)}
html[data-theme="light"] .status-filter-button.on{
  border-color:rgba(22,163,74,.55);background:rgba(22,163,74,.12);color:#15803D}
html[data-theme="light"] .share-map-button{color:#2B3648}

/* FAB на карте */
html[data-theme="light"] .map-fab .hbtn{
  background:rgba(255,255,255,.86);border:1px solid rgba(18,28,46,.12);color:#2B3648;
  box-shadow:0 6px 18px rgba(18,28,46,.12)}

/* Маркеры/пины — мягче тень на светлой подложке */
html[data-theme="light"] .mk2{
  filter:drop-shadow(0 3px 6px rgba(18,28,46,.28)) drop-shadow(0 0 8px var(--marker-color))}
html[data-theme="light"] .mk2.sel{
  filter:drop-shadow(0 6px 12px rgba(18,28,46,.30)) drop-shadow(0 0 14px var(--marker-color))}

/* Нижний шит списка АЗС на карте */
html[data-theme="light"] .msheet{
  background:rgba(255,255,255,.92);border-top:1px solid rgba(18,28,46,.10);
  box-shadow:0 -12px 40px rgba(18,28,46,.16)}
html[data-theme="light"] .msheet .drag{background:rgba(18,28,46,.18)}
html[data-theme="light"] .scard{background:#FFFFFF;border:1px solid rgba(18,28,46,.10)}
html[data-theme="light"] .slogo{background:#F1F4F8;border:1px solid rgba(18,28,46,.10)}
html[data-theme="light"] .stn .chev{color:#7A8696}   /* был блёклый ›, контраст 2.65 */

/* Leaflet поповеры */
html[data-theme="light"] .leaflet-popup-content-wrapper,
html[data-theme="light"] .leaflet-popup-tip{background:#FFFFFF;color:#121A28}

/* Кластеры */
html[data-theme="light"] .mcl{
  background:rgba(255,255,255,.96);border:2px solid rgba(37,99,235,.75);color:#1E3A8A;
  box-shadow:0 0 14px rgba(37,99,235,.20),0 4px 12px rgba(18,28,46,.18)}
/* кольцо-кластер: в светлой теме сохраняем белую обводку (inline conic-gradient и так перебивает светлый фон; центр .mcl-h тёмный в обеих темах) */
html[data-theme="light"] .mcl-donut{box-shadow:0 0 0 2px #fff,0 0 12px rgba(37,99,235,.22),0 4px 12px rgba(18,28,46,.20)}

/* Оверлей и пре-промпт геолокации */
html[data-theme="light"] #overlay{background:rgba(18,28,46,.40)}
html[data-theme="light"] #geo-prime{background:rgba(220,227,236,.72)}
html[data-theme="light"] .gp-card{
  background:#FFFFFF;border:1px solid rgba(18,28,46,.10);box-shadow:0 -10px 40px rgba(18,28,46,.20)}

/* Панель карточки АЗС (детальный шит) */
html[data-theme="light"] #panel{
  background:#FFFFFF;border-top:1px solid rgba(18,28,46,.10);box-shadow:0 -18px 50px rgba(18,28,46,.20)}
html[data-theme="light"] .drag{background:rgba(18,28,46,.18)}
html[data-theme="light"] .rs-x{background:#F1F4F8;border:1px solid rgba(18,28,46,.12);color:#46505F}
html[data-theme="light"] .sbtn{background:#FFFFFF;border:1px solid rgba(18,28,46,.10)}
html[data-theme="light"] .chk{border-color:#C2CAD6}
html[data-theme="light"] .rss-div{background:rgba(18,28,46,.10)}
html[data-theme="light"] .rss-change{background:#F1F4F8;border:1px solid rgba(18,28,46,.12);color:#46505F}
html[data-theme="light"] .rss-change:active{background:#E6EBF2}
html[data-theme="light"] .rss-yes{background:linear-gradient(135deg,#16A34A,#22C55E);border:1px solid #15A047;color:#fff;font-weight:700;box-shadow:0 4px 14px rgba(22,163,74,.30)}
html[data-theme="light"] .rss-yes:active{background:#15803D}
html[data-theme="light"] .rr-item{border-bottom:1px solid rgba(18,28,46,.07)}
html[data-theme="light"] .rr-more{border-top:1px solid rgba(18,28,46,.07)}
html[data-theme="light"] .rs-badges .bdg{background:#F1F4F8;border:1px solid rgba(18,28,46,.10);color:#46505F}
html[data-theme="light"] .vbtn{background:#FFFFFF;border-color:rgba(18,28,46,.10)}
html[data-theme="light"] .tl{border-bottom:1px solid rgba(18,28,46,.07)}
html[data-theme="light"] .cmt,
html[data-theme="light"] #cmt-text{background:#F4F6FA;border:1px solid rgba(18,28,46,.10)}
html[data-theme="light"] .stale-sep{border-top:1px solid rgba(18,28,46,.10)}

/* Route / sort / filter шиты */
html[data-theme="light"] .rsh-back{background:rgba(18,28,46,.40)}
html[data-theme="light"] .rsh-card{background:#FFFFFF;border-top:1px solid rgba(18,28,46,.10)}
html[data-theme="light"] .rsh-opt{background:#FFFFFF;border:1px solid rgba(18,28,46,.10)}
html[data-theme="light"] .rsh-ic{background:#F1F4F8}
html[data-theme="light"] .rsh-cancel{background:#F1F4F8;border:1px solid rgba(18,28,46,.12);color:#46505F}

/* SEO-блоки и ссылки */
html[data-theme="light"] .seo-links a{background:#FFFFFF;border:1px solid rgba(18,28,46,.10);color:#46505F}
html[data-theme="light"] .seo-links a:active{background:#E6EBF2}

/* Голос/отметки в карточке */
html[data-theme="light"] #voted{background:rgba(37,99,235,.07);border:1px solid rgba(37,99,235,.22)}
html[data-theme="light"] .dchip{background:#FFFFFF;border:1px solid rgba(18,28,46,.10)}
html[data-theme="light"] .dchip.on{border-color:#16A34A;background:rgba(22,163,74,.12);color:#15803D}
html[data-theme="light"] .fuel-now{background:rgba(22,163,74,.07);border:1px solid rgba(22,163,74,.20)}
html[data-theme="light"] .fuel-now .fb{color:#15803D;background:rgba(22,163,74,.12);border:1px solid rgba(22,163,74,.28)}

/* Toast */
html[data-theme="light"] #toast{
  background:rgba(255,255,255,.97);border:1px solid rgba(18,28,46,.12);color:#121A28;
  box-shadow:0 10px 30px rgba(18,28,46,.18)}

/* Нижняя навигация (tabbar) */
html[data-theme="light"] #tabbar{
  background:linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(248,250,253,.98) 100%);
  border:1px solid rgba(18,28,46,.10);
  box-shadow:0 16px 42px rgba(18,28,46,.14),inset 0 1px 0 rgba(255,255,255,.7)}
html[data-theme="light"] #tabbar::before,
html[data-theme="light"] #tabbar::after{background:rgba(18,28,46,.08)}
html[data-theme="light"] #tab-pill{
  background:rgba(22,163,74,.10);
  border:1px solid rgba(22,163,74,.55);
  box-shadow:0 0 14px rgba(22,163,74,.08),inset 0 1px 0 rgba(255,255,255,.5)}
html[data-theme="light"] .tab{color:rgba(74,86,104,.72)}
html[data-theme="light"] .tab svg{color:rgba(74,86,104,.78)}
html[data-theme="light"] .tab.on{color:#121A28}
html[data-theme="light"] .tab.on svg{color:#16A34A}

/* Кнопка «Мои АЗС» (закладка) */
html[data-theme="light"] .rs-bm{
  background:#F1F4F8;border:1px solid rgba(18,28,46,.12);color:#46505F}
html[data-theme="light"] .rs-bm.on{border-color:rgba(22,163,74,.55)}

/* «Добавить на экран» (A2HS) */
html[data-theme="light"] #a2hs{
  background:#FFFFFF;border:1px solid rgba(18,28,46,.10);box-shadow:0 20px 55px rgba(18,28,46,.22)}
html[data-theme="light"] #a2hs .a2-s b{color:#121A28}
html[data-theme="light"] #a2hs .a2-no{background:#F1F4F8;color:#46505F;border:1px solid rgba(18,28,46,.12)}
html[data-theme="light"] #a2hs .a2-x{background:#EDF1F6;color:#46505F}

/* Памятка безопасности + снэкбар */
html[data-theme="light"] .safe-t{color:#121A28}
html[data-theme="light"] #safe-note{
  background:rgba(255,255,255,.98);border:1px solid rgba(22,163,74,.30);
  box-shadow:0 14px 44px rgba(18,28,46,.18)}
html[data-theme="light"] #safe-note .sn-t{color:#121A28}

/* Экран «Поделиться» */
html[data-theme="light"] #share-bd{background:rgba(18,28,46,.45)}
html[data-theme="light"] #share-ask{
  background:radial-gradient(circle at 78% 20%,rgba(22,163,74,.07),transparent 32%),
    linear-gradient(145deg,#FFFFFF,#F6F8FB);
  border:1px solid rgba(22,163,74,.26);border-bottom:none;
  box-shadow:0 -22px 70px rgba(18,28,46,.20),inset 0 1px 0 rgba(255,255,255,.6)}
html[data-theme="light"] #share-ask .sa-grab{background:rgba(18,28,46,.16)}
html[data-theme="light"] #share-ask .sa-close{
  background:#F1F4F8;border:1px solid rgba(18,28,46,.12);color:#46505F}
html[data-theme="light"] #share-ask .sa-title{color:#121A28}
html[data-theme="light"] #share-ask .sa-text{color:rgba(74,86,104,.92)}
html[data-theme="light"] #share-ask .sa-pill{
  background:rgba(22,163,74,.07);border:1px solid rgba(22,163,74,.18);color:#2E4A3A}
html[data-theme="light"] #share-ask .sa-net{
  background:#FFFFFF;border:1px solid rgba(18,28,46,.10);box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}
html[data-theme="light"] #share-ask .sa-net:hover,
html[data-theme="light"] #share-ask .sa-net:active{
  border-color:rgba(22,163,74,.30);background:rgba(22,163,74,.06)}
html[data-theme="light"] #share-ask .sa-net .sa-name{color:#1B2330}
html[data-theme="light"] #share-ask .sa-copy{
  background:#FFFFFF;border:1px solid rgba(18,28,46,.10);color:#1B2330}
html[data-theme="light"] #share-ask .sa-copy.ok{border-color:rgba(22,163,74,.6);color:#15803D}
html[data-theme="light"] #share-ask .sa-trust{border-top:1px solid rgba(18,28,46,.08);color:rgba(74,86,104,.78)}

/* «Спасибо за отметку» */
html[data-theme="light"] #vote-thanks{
  background:rgba(255,255,255,.98);border:1px solid rgba(22,163,74,.42);
  box-shadow:0 16px 48px rgba(18,28,46,.18)}
html[data-theme="light"] #vote-thanks .vt-t{color:#121A28}
html[data-theme="light"] #vote-thanks .vt-impact{color:#121A28}

/* Точечные оверлеи-фоны на белых поверхностях, заданные через rgba(255,255,255,X):
   на светлом они невидимы — заменяем на лёгкую тёмную подложку */
html[data-theme="light"] #cmt-text,
html[data-theme="light"] .sharecard .sh-copy{background:#F4F6FA}
html[data-theme="light"] .sharecard .sh-copy{border:1px solid rgba(18,28,46,.12);color:#121A28}

/* Скелетон-карточки «Мои АЗС»: белый шиммер невидим на белом → тёмная блестка */
html[data-theme="light"] .scard2.sk{
  background:linear-gradient(100deg,var(--card) 30%,rgba(18,28,46,.06) 50%,var(--card) 70%);
  background-size:200% 100%}

/* ── «Предложить АЗС»: режим выбора точки + форма ───────────────────── */
.sg-cross{position:fixed;left:50%;top:50%;transform:translate(-50%,-100%);z-index:1200;pointer-events:none;display:none;width:42px;height:42px;color:var(--green);filter:drop-shadow(0 3px 6px rgba(0,0,0,.45))}
.sg-cross svg{width:42px;height:42px}
.sg-cross::after{content:"";position:absolute;left:50%;bottom:-4px;transform:translateX(-50%);width:9px;height:4px;border-radius:50%;background:rgba(0,0,0,.35)}
#view-map.sg-on .msheet,#view-map.sg-on .map-action-bar,#view-map.sg-on #brand-chip,#view-map.sg-on .map-disclaimer,#view-map.sg-on .map-disclaimer-full,#view-map.sg-on~#tabbar{display:none!important}
#view-map.sg-on .sg-cross{display:block}
.sg-pickbar{position:fixed;left:0;right:0;bottom:0;z-index:1210;display:none;flex-direction:column;gap:11px;padding:18px 16px calc(16px + env(safe-area-inset-bottom,0));background:linear-gradient(to top,var(--bg) 62%,transparent);pointer-events:none}
#view-map.sg-on .sg-pickbar{display:flex}
.sg-pickbar .hint{text-align:center;font-size:13.5px;color:var(--dim);line-height:1.4}
.sg-pickbar .row{display:flex;gap:10px;pointer-events:auto}
.sg-pickbar button{flex:1;padding:14px;border-radius:15px;border:none;font-size:15px;font-weight:700;cursor:pointer}
.sg-pickbar .ok{background:var(--green);color:#04210f;flex:2}
.sg-pickbar .cancel{background:rgba(255,255,255,.08);color:var(--text)}
html[data-theme="light"] .sg-pickbar .cancel{background:rgba(18,28,46,.06)}
#sg-sheet{position:fixed;inset:0;z-index:1750;display:none}
#sg-sheet.show{display:block}
#sg-sheet .sg-back{position:absolute;inset:0;background:rgba(0,0,0,.5)}
html[data-theme="light"] #sg-sheet .sg-back{background:rgba(18,28,46,.40)}
#sg-sheet .sg-card{position:absolute;left:0;right:0;bottom:0;background:var(--bg);border-radius:26px 26px 0 0;padding:8px 18px calc(20px + env(safe-area-inset-bottom,0));max-height:92vh;overflow-y:auto;transform:translateY(100%);transition:transform .28s cubic-bezier(.22,1,.36,1)}
#sg-sheet.show .sg-card{transform:translateY(0)}
.sg-card .grab{width:38px;height:4px;border-radius:3px;background:rgba(255,255,255,.2);margin:6px auto 14px}
.sg-card h3{font-size:18px;font-weight:700;margin:0 0 3px}
.sg-card .sub{font-size:13px;color:var(--dim);margin-bottom:16px}
.sg-field{margin-bottom:13px}
.sg-field label{display:block;font-size:12.5px;color:var(--dim);margin-bottom:6px;font-weight:600}
.sg-field input,.sg-field textarea{width:100%;background:var(--card);border:1px solid var(--border);border-radius:13px;padding:13px;color:var(--text);font-size:15px;font-family:inherit;outline:none}
.sg-field input:focus,.sg-field textarea:focus{border-color:var(--green)}
.sg-field textarea{resize:none;min-height:62px}
.sg-loc{display:flex;align-items:center;gap:9px;background:var(--card);border:1px solid var(--border);border-radius:13px;padding:11px 13px;font-size:13px;margin-bottom:16px}
.sg-loc .pin{color:var(--green);flex-shrink:0;display:flex}.sg-loc .pin svg{width:18px;height:18px}
.sg-loc .co{flex:1;font-variant-numeric:tabular-nums;color:var(--dim)}
.sg-loc .edit{color:var(--green);font-weight:600;cursor:pointer}
.sg-submit{width:100%;padding:15px;border-radius:15px;border:none;background:var(--green);color:#04210f;font-size:16px;font-weight:700;cursor:pointer}
.sg-submit:disabled{opacity:.55}
.sg-cancel{width:100%;padding:13px;margin-top:9px;border:none;background:transparent;color:var(--dim);font-size:14px;cursor:pointer}
.sg-dups{background:rgba(249,115,22,.08);border:1px solid rgba(249,115,22,.3);border-radius:14px;padding:13px;margin-bottom:14px}
.sg-dups .dh{font-size:13.5px;font-weight:700;color:var(--orange);margin-bottom:6px}
.sg-dups .di{font-size:13px;color:var(--text);padding:6px 0;border-top:1px solid rgba(255,255,255,.06)}
html[data-theme="light"] .sg-dups .di{border-top-color:rgba(18,28,46,.08)}
.sg-dups .di:first-of-type{border-top:none}
.sg-dups .di .d{color:var(--dim);font-variant-numeric:tabular-nums}
.sg-ok{text-align:center;padding:16px 4px 6px}
.sg-ok .em{font-size:46px;line-height:1}
.sg-ok h3{font-size:19px;margin:12px 0 6px}
.sg-ok p{font-size:14px;color:var(--dim);line-height:1.5;margin-bottom:18px}
.sg-entry{display:none;width:100%;align-items:center;gap:13px;padding:15px;margin-top:11px;border-radius:18px;background:var(--card);border:1px dashed var(--border);color:var(--text);text-align:left;cursor:pointer}
.sg-entry.on{display:flex}
.sg-entry .ic{width:38px;height:38px;border-radius:11px;background:rgba(34,197,94,.12);color:var(--green);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.sg-entry .ic svg{width:20px;height:20px}
.sg-entry .tt{flex:1}.sg-entry .t{font-size:15px;font-weight:600}.sg-entry .s{font-size:12.5px;color:var(--dim);margin-top:1px}
.sg-entry .chev{color:var(--dim)}
/* Анонс-баннер «добавьте свою АЗС» на главной (закрывается навсегда) */
.sg-banner{position:relative;margin:10px 14px 4px;border-radius:18px;background:linear-gradient(135deg,rgba(34,197,94,.14),rgba(34,197,94,.04));border:1px solid rgba(34,197,94,.28);overflow:hidden}
.sg-banner-tap{display:flex;align-items:center;gap:12px;padding:13px 42px 13px 13px;cursor:pointer}
.sg-banner .ic{width:40px;height:40px;border-radius:12px;background:rgba(34,197,94,.16);color:var(--green);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.sg-banner .ic svg{width:21px;height:21px}
.sg-banner .tt{flex:1;min-width:0}
.sg-banner .nw{display:inline-block;font-size:9.5px;font-weight:800;letter-spacing:.6px;color:var(--green);background:rgba(34,197,94,.18);border-radius:6px;padding:1px 6px;margin-bottom:3px}
.sg-banner .t{font-size:14.5px;font-weight:700;color:var(--text);display:block}
.sg-banner .s{font-size:12px;color:var(--dim);display:block;margin-top:1px;line-height:1.3}
.sg-banner .chev{color:var(--green);font-size:20px;flex-shrink:0}
.sg-banner-x{position:absolute;top:7px;right:7px;width:24px;height:24px;border-radius:50%;border:none;background:rgba(0,0,0,.18);color:var(--dim);font-size:11px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2}
html[data-theme="light"] .sg-banner-x{background:rgba(18,28,46,.07)}
/* Вариант баннера про Telegram-канал (телеграм-синий) */
.sg-banner.tg{background:linear-gradient(135deg,rgba(34,158,217,.16),rgba(34,158,217,.05));border-color:rgba(34,158,217,.30)}
.sg-banner.tg .ic{background:rgba(34,158,217,.16);color:#229ED9}
.sg-banner.tg .nw{color:#229ED9;background:rgba(34,158,217,.18)}
.sg-banner.tg .chev{color:#229ED9}
/* Плавающий режим — баннер над навбаром, виден на всех вкладках */
.sg-banner.floating{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(104px + env(safe-area-inset-bottom,0));width:calc(100% - 22px);max-width:460px;margin:0;z-index:1150;box-shadow:0 12px 34px rgba(0,0,0,.45);background:linear-gradient(135deg,rgba(34,197,94,.18),rgba(34,197,94,.06)),var(--card)}
.sg-banner.tg.floating{background:linear-gradient(135deg,rgba(34,158,217,.20),rgba(34,158,217,.06)),var(--card)}
/* MAX-баннер: фиолетовый акцент под логотип MAX; иконка — сам логотип (без тинта) */
.sg-banner.max{background:linear-gradient(135deg,rgba(131,68,230,.16),rgba(131,68,230,.05));border-color:rgba(131,68,230,.32)}
.sg-banner.max .ic{background:transparent;overflow:hidden;border-radius:11px}
.sg-banner.max .ic svg{width:40px;height:40px}
.sg-banner.max .nw{color:#fff;background:#8344E6}
.sg-banner.max .chev{color:#8344E6}
.sg-banner.max.floating{background:linear-gradient(135deg,rgba(131,68,230,.20),rgba(131,68,230,.06)),var(--card)}
/* Единый баннер «ГдеБЕНЗ обновился!» (бренд-зелёный, две кнопки-канала) */
.sg-banner.upd.floating{background:linear-gradient(135deg,rgba(34,197,94,.16),rgba(34,197,94,.045)),var(--card)}
.upd-in{padding:16px 46px 15px 16px}
.upd-head{display:flex;gap:12px;align-items:flex-start}
.upd-ic{width:46px;height:46px;border-radius:14px;background:rgba(34,197,94,.14);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.upd-ic svg{width:28px;height:28px}
.upd-tt{flex:1;min-width:0}
.upd-t{font-size:17px;font-weight:800;color:var(--text);display:flex;align-items:center;gap:7px;letter-spacing:-.02em;line-height:1.15}
.upd-heart{display:inline-flex;flex-shrink:0}
.upd-heart svg{width:20px;height:20px;transform-origin:center;animation:updHeart 1.4s ease-in-out infinite;filter:drop-shadow(0 1px 3px rgba(34,197,94,.4))}
@keyframes updHeart{0%,100%{transform:scale(1)}14%{transform:scale(1.3)}28%{transform:scale(1)}42%{transform:scale(1.18)}56%{transform:scale(1)}}
.upd-s{font-size:13px;color:var(--dim);display:block;margin-top:4px;line-height:1.4}
.upd-div{display:flex;align-items:center;gap:10px;margin:14px 0 12px}
.upd-ln{flex:1;height:1px;background:rgba(34,197,94,.28)}
.upd-div-c{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--green);flex-shrink:0;white-space:nowrap}
.upd-div-h{width:15px;height:15px;color:var(--green);flex-shrink:0}
.upd-btns{display:flex;gap:10px}
.upd-btn{flex:1;height:52px;border-radius:14px;border:0;display:flex;align-items:center;justify-content:center;gap:9px;font-size:16px;font-weight:700;font-family:inherit;color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .12s ease;box-shadow:0 6px 16px rgba(0,0,0,.14)}
.upd-btn:active{transform:scale(.97)}
.upd-btn svg{width:20px;height:20px;flex-shrink:0}
.upd-btn.tg{background:linear-gradient(135deg,#2AABEE,#1c86c8)}
.upd-btn.max{background:linear-gradient(120deg,#4c8cff,#8b3ce0)}
html[data-theme="light"] .sg-banner.upd.floating{background:linear-gradient(135deg,rgba(22,163,74,.10),rgba(22,163,74,.03)),var(--card)}
/* ── V2 «Спасибо, что вы с нами» (тёплый баннер сообщества): сердце + мягкий пульс-нимб + строка-спасибо ── */
.sg-banner.upd.v2.floating{background:linear-gradient(135deg,rgba(34,197,94,.19),rgba(240,168,54,.05)),var(--card);border:1px solid rgba(34,197,94,.35)}
html[data-theme="light"] .sg-banner.upd.v2.floating{background:linear-gradient(135deg,rgba(22,163,74,.12),rgba(240,168,54,.05)),var(--card)}
/* V2: постерная композиция — щит по центру, заголовок/подтекст центрированы (сердце не сиротеет справа) */
.upd.v2 .upd-in{padding:18px 18px 15px}
.upd.v2 .upd-head{flex-direction:column;align-items:center;text-align:center;gap:10px}
.upd.v2 .upd-t{justify-content:center;flex-wrap:wrap}
.upd.v2 .upd-s{margin-top:2px;max-width:34em}
.upd.v2 .upd-ic{position:relative;background:rgba(34,197,94,.16)}
.upd.v2 .upd-ic::after{content:"";position:absolute;inset:-3px;border-radius:16px;border:2px solid rgba(34,197,94,.45);animation:updShield 2.2s ease-out infinite}
@keyframes updShield{0%{opacity:.9;transform:scale(.92)}70%{opacity:0;transform:scale(1.16)}100%{opacity:0;transform:scale(1.16)}}
.upd-proof{margin-top:11px;text-align:center;font-size:11.5px;color:var(--dim);line-height:1.35}
.upd-proof b{color:var(--green);font-weight:700}
@media (prefers-reduced-motion:reduce){.upd-heart svg{animation:none}.upd.v2 .upd-ic::after{animation:none;opacity:.35}}
@media (min-width:600px){.sg-banner.floating{bottom:calc(108px + env(safe-area-inset-bottom,0))}}
