    :root, [data-theme="light"]{
      --bg-grad: radial-gradient(1200px 600px at 80% -10%, #e8edf7 0%, rgba(232,237,247,0) 60%),
                 linear-gradient(170deg, #fbfbfd 0%, #eceef3 100%);
      --text:#1d1d1f; --muted:#6e6e73;
      --panel: rgba(255,255,255,.60); --panel-solid: rgba(247,248,250,.92);
      --border: rgba(0,0,0,.09); --hair: rgba(0,0,0,.06); --hover: rgba(0,0,0,.035);
      --accent:#0a9aac; --accent-press:#0b8395; --on-accent:#ffffff;
      --accent-soft:rgba(10,154,172,.14); --ring:rgba(10,154,172,.30);
      --green:#138a37; --green-bg:rgba(52,199,89,.16);
      --warn-bg:rgba(255,149,0,.15); --warn-fg:#9a5400;
      --hold-bg:rgba(255,204,0,.20); --hold-fg:#876a00;
      --field: rgba(255,255,255,.75); --shadow:0 10px 34px rgba(15,23,42,.12);
      --glass-edge: inset 0 1px 0 rgba(255,255,255,.65);
      --err-bg:rgba(255,59,48,.12); --err-fg:#c4271d;
      --popup:#ffffff; color-scheme:light;
    }
    [data-theme="dark"]{
      --bg-grad: radial-gradient(1200px 600px at 80% -10%, #34343a 0%, rgba(52,52,58,0) 60%),
                 linear-gradient(170deg, #2c2c2e 0%, #1b1b1d 100%);
      --text:#f5f5f7; --muted:#98989d;
      --panel: rgba(44,44,46,.55); --panel-solid: rgba(34,34,36,.90);
      --border: rgba(255,255,255,.13); --hair: rgba(255,255,255,.08); --hover: rgba(255,255,255,.055);
      --accent:#1fbfd6; --accent-press:#46cfe4; --on-accent:#06262b;
      --accent-soft:rgba(31,191,214,.16); --ring:rgba(31,191,214,.34);
      --green:#34d35e; --green-bg:rgba(48,209,88,.18);
      --warn-bg:rgba(255,159,10,.18); --warn-fg:#ffb84d;
      --hold-bg:rgba(255,214,10,.14); --hold-fg:#e3d27a;
      --field: rgba(255,255,255,.07); --shadow:0 10px 34px rgba(0,0,0,.45);
      --glass-edge: inset 0 1px 0 rgba(255,255,255,.10);
      --err-bg:rgba(255,69,58,.16); --err-fg:#ff9d94;
      --popup:#2b2b2e; color-scheme:dark;
    }
    /* ── Неоновая тема (t47443193): тёмная база + неон-циан/магента + свечение ── */
    [data-theme="neon"]{
      /* свечение приглушено (.10->.05) и верхнее пятно уведено выше, чтобы не бликовать
         под шапкой — «странный свет» на пустых страницах (депозит), просьба владельца 07-13 */
      --bg-grad: radial-gradient(1000px 560px at 88% -22%, rgba(0,224,255,.05) 0%, rgba(0,224,255,0) 55%),
                 radial-gradient(900px 560px at 6% 116%, rgba(255,45,180,.05) 0%, rgba(255,45,180,0) 52%),
                 linear-gradient(165deg, #0b0f1a 0%, #070510 100%);
      --text:#e8f6ff; --muted:#8ea6c0;
      --panel: rgba(16,22,38,.55); --panel-solid: rgba(13,17,32,.90);
      --border: rgba(0,224,255,.22); --hair: rgba(0,224,255,.12); --hover: rgba(0,224,255,.07);
      --accent:#00e0ff; --accent-press:#57ecff; --on-accent:#04121a;
      --accent-soft:rgba(0,224,255,.15); --ring:rgba(0,224,255,.40);
      --green:#39ff9e; --green-bg:rgba(57,255,158,.16);
      --warn-bg:rgba(255,196,0,.16); --warn-fg:#ffd257;
      --hold-bg:rgba(255,45,180,.16); --hold-fg:#ff7ad0;
      --field: rgba(0,224,255,.06); --shadow:0 0 34px rgba(0,224,255,.14), 0 12px 40px rgba(0,0,0,.55);
      --glass-edge: inset 0 1px 0 rgba(0,224,255,.14);
      --err-bg:rgba(255,45,120,.18); --err-fg:#ff8fb4;
      --popup:#0d1120; color-scheme:dark;
    }
    /* лёгкое неон-свечение на ключевых акцентах (только в неон-теме) */
    [data-theme="neon"] .bar .brand svg{ filter:drop-shadow(0 0 6px var(--accent)); }
    [data-theme="neon"] button:not(.ghost):not(.bp-clear), [data-theme="neon"] .btn{
      box-shadow:var(--glass-edge), 0 0 14px rgba(0,224,255,.35); }
    [data-theme="neon"] a{ text-shadow:0 0 10px rgba(0,224,255,.18); }
    *{box-sizing:border-box}
    html,body{margin:0}
    body{ font:13.5px/1.5 "Inter",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",system-ui,sans-serif;
      color:var(--text); background:var(--bg-grad) fixed; min-height:100vh;
      -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; letter-spacing:0; }
    a{ color:var(--accent); text-decoration:none; }
    a:hover{ text-decoration:underline; }
    .muted{ color:var(--muted); }
    select, option, input, button{ font-family:inherit; }
    /* нативный <option>-попап НЕ резолвит var() в тёмной/неон теме -> бело-по-белому/невидимо
       (грабля 07-10). Форс светлого попапа + жёсткий hex = читаемо во всех 3 темах. */
    select{ color-scheme:light; }
    select option{ background:#ffffff; color:#1d1d1f; }

    .bar{ position:sticky; top:0; z-index:50; display:flex; align-items:center; gap:14px;
      padding:11px 20px; background:var(--panel); backdrop-filter:blur(22px) saturate(180%);
      -webkit-backdrop-filter:blur(22px) saturate(180%); border-bottom:.5px solid var(--border);
      box-shadow:var(--glass-edge); }
    .bar .brand{ font-weight:600; font-size:15px; letter-spacing:.2px; color:var(--text);
      display:inline-flex; align-items:center; gap:8px; }
    .bar .brand:hover{ text-decoration:none; }
    .bar .brand svg{ width:22px; height:22px; display:block; color:var(--accent); flex:none; }
    .bar .brand .wm{ font-weight:700; letter-spacing:-.2px; }
    .bar .brand .wm i{ font-style:normal; color:var(--accent); }
    .bar .sp{ flex:1; }
    .pill{ font-size:12px; color:var(--muted); }
    .pro{ font-weight:700; color:var(--accent); }
    /* брендовый бейдж/чип на токенах акцента (переиспользуемый) */
    .badge{ display:inline-flex; align-items:center; gap:5px; font-size:11.5px; font-weight:600;
      padding:3px 9px; border-radius:999px; background:var(--accent-soft); color:var(--accent);
      letter-spacing:.2px; line-height:1.5; }
    button, .btn{ background:var(--accent); color:var(--on-accent); border:0; border-radius:9px;
      padding:8px 15px; cursor:pointer; font:inherit; font-weight:600; display:inline-block;
      box-shadow:var(--glass-edge); transition:.12s; }
    button:hover, .btn:hover{ background:var(--accent-press); text-decoration:none; }
    button:active, .btn:active{ transform:translateY(.5px); }
    .btn.ghost, button.ghost{ background:var(--field); color:var(--text); border:.5px solid var(--border);
      backdrop-filter:blur(8px); }
    .seg{ display:inline-flex; background:var(--field); border:.5px solid var(--border);
      border-radius:9px; padding:2px; gap:2px; }
    .seg button{ background:transparent; border:0; border-radius:7px; padding:5px 10px; cursor:pointer;
      color:var(--muted); font-size:14px; line-height:1; box-shadow:none; }
    .seg button:hover{ background:transparent; color:var(--text); }
    .seg button.on{ background:var(--panel-solid); color:var(--text); box-shadow:0 1px 3px rgba(0,0,0,.12); }

    /* ── Раскладка (дорожка A): широкий контейнер вместо узкой 380-колонки ── */
    /* .card = базовый surface (стекло). Размер/центрирование задаётся ниже по контексту. */
    .card{ background:var(--panel-solid); border:.5px solid var(--border);
      border-radius:16px; padding:24px 26px; box-shadow:var(--shadow),var(--glass-edge); }
    .card h2{ margin:0 0 16px; font-size:19px; font-weight:600; }
    /* Корневая карточка страницы (прямой потомок body) = широкий центр-контейнер. */
    body > .card{ width:100%; max-width:1180px; margin:24px auto 48px; }
    body > .card.tight{ max-width:880px; }
    /* Auth-страницы (вход/регистрация) остаются узкими и по центру. */
    body > .card.auth{ max-width:400px; margin:56px auto; padding:26px; }
    /* Широкий контейнер-обёртка для произвольной раскладки страницы. */
    .wrap{ width:100%; max-width:1180px; margin:24px auto 48px; padding:0 22px; }
    .wrap.tight{ max-width:880px; }
    /* Адаптивный грид (для дашборда/каталога/карточек). */
    .grid{ display:grid; gap:16px; }
    .grid.cols-2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
    .grid.cols-3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
    .grid.cols-4{ grid-template-columns:repeat(4,minmax(0,1fr)); }
    @media (max-width:920px){
      .grid.cols-3,.grid.cols-4{ grid-template-columns:repeat(2,minmax(0,1fr)); }
    }
    @media (max-width:560px){
      .grid.cols-2,.grid.cols-3,.grid.cols-4{ grid-template-columns:1fr; }
      body > .card{ margin:16px auto 32px; }
      .wrap{ padding:0 14px; }
    }
    /* бургер-кнопка: на десктопе скрыта, живёт только в мобильной шапке (полировка 07-17) */
    #burger{ display:none; background:var(--field); border:.5px solid var(--border); border-radius:9px;
      color:var(--text); font-size:16px; min-width:38px; min-height:36px; cursor:pointer;
      align-items:center; justify-content:center; padding:4px 10px; }
    /* мобильная шапка (t83025025 -> бургер 07-17): наружу лого+колокольчик+☰, остальное — в меню-аккордеон */
    @media (max-width:720px){
      .bar{ flex-wrap:wrap; gap:8px 10px; padding:9px 12px; }
      .bar .brand{ font-size:14px; }
      #burger{ display:inline-flex; order:10; }
      /* меню закрыто: прячем всю навигацию, кроме лого/распорки/колокольчика/бургера */
      .bar > *:not(.brand):not(.sp):not(#burger):not(#bell-btn){ display:none; }
      /* меню открыто: каждый пункт — полноширинная строка под шапкой */
      .bar.mopen > *:not(.brand):not(.sp):not(#burger):not(#bell-btn){
        display:flex; width:100%; margin:0; order:20; align-items:center; }
      .bar.mopen a.muted{ padding:11px 12px; background:var(--field); border-radius:10px;
        font-size:14px; color:var(--text); }
      .bar.mopen .seg{ align-self:flex-start; width:auto; }
      .bar.mopen .badge, .bar.mopen .pill{ padding:11px 12px; background:var(--field); border-radius:10px; }
      .bar.mopen .pill{ max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
      .bar.mopen .btn{ justify-content:center; }
      .bar.mopen form button{ width:100%; }
      /* «Ещё» внутри аккордеона: выпадашка становится обычным вложенным списком */
      .bar.mopen .more{ display:block; margin:0; }
      .bar.mopen .more>button{ width:100%; text-align:left; padding:11px 12px; background:var(--field);
        border-radius:10px; color:var(--text); }
      .bar.mopen .more-pop{ position:static; box-shadow:none; border:0; background:transparent;
        padding:2px 0 2px 14px; backdrop-filter:none; -webkit-backdrop-filter:none; }
    }
    label{ display:block; margin:10px 0 4px; font-size:13px; color:var(--muted); }
    input{ width:100%; box-sizing:border-box; background:var(--field); color:var(--text);
      border:.5px solid var(--border); border-radius:9px; padding:10px; font:inherit; outline:none; transition:.12s; }
    input:focus{ border-color:var(--accent); box-shadow:0 0 0 3px var(--ring); }
    .err{ background:var(--err-bg); color:var(--err-fg); padding:9px 11px; border-radius:9px; margin:8px 0; font-size:13px; }
    /* источник = иконка + имя (t47443165, body1): единый стиль для таблицы/снайпера/попапа.
       Локальный логотип .srcico (static/src, без хотлинка) либо .src-badge-фолбэк. */
    .src-face{ display:inline-flex; align-items:center; gap:6px; max-width:100%; }
    .src-face .arr{ color:var(--muted); font-size:11px; }
    .src-name{ text-transform:capitalize; }
    .srcico{ width:18px; height:18px; border-radius:5px; flex:0 0 auto; display:block;
      object-fit:contain; box-shadow:0 1px 2px rgba(0,0,0,.18); }
    .src-badge{ display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto;
      width:18px; height:18px; border-radius:5px; color:#fff; font-size:9px; font-weight:700;
      letter-spacing:-.3px; line-height:1; text-transform:uppercase; box-shadow:0 1px 2px rgba(0,0,0,.18); }
    /* promo-блок ТГ-бота (t94487851, body1): index/pricing, макрос ui.tg_promo(). Только переменные — темы сами. */
    .tgpromo{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; max-width:1180px;
      margin:14px auto; padding:12px 16px; background:var(--panel); border:.5px solid var(--border);
      border-radius:14px; box-shadow:var(--glass-edge); }
    .tgpromo-ico{ flex:0 0 auto; display:flex; align-items:center; justify-content:center;
      width:34px; height:34px; border-radius:50%; background:var(--accent-soft); color:var(--accent); }
    .tgpromo-ico svg{ width:18px; height:18px; display:block; }
    .tgpromo-txt{ flex:1 1 220px; min-width:0; font-size:14px; }
    .tgpromo-btn{ flex:0 0 auto; white-space:nowrap; }
    [data-theme="neon"] .tgpromo{ border-color:var(--accent-soft); }
    /* «Ещё ▾» — разгрузка шапки: второстепенные ссылки в выпадающем меню (07-13) */
    .more{ position:relative; display:inline-block; margin-right:6px; }
    .more>button{ background:none; border:0; color:var(--muted); cursor:pointer; font:inherit;
      padding:6px 9px; border-radius:8px; }
    .more>button:hover, .more.open>button{ color:var(--text); background:var(--hover); }
    .more-pop{ position:absolute; right:0; top:calc(100% + 6px); min-width:196px; background:var(--panel);
      border:1px solid var(--border); border-radius:12px; padding:6px; display:none; flex-direction:column;
      gap:2px; box-shadow:var(--shadow); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); z-index:60; }
    .more.open .more-pop{ display:flex; }
    .more-pop a{ color:var(--text); text-decoration:none; padding:9px 12px; border-radius:8px;
      font-size:14px; white-space:nowrap; }
    .more-pop a:hover{ background:var(--hover); }

    /* ── Мобильная производительность/тач (аудит 07-16) ─────────────────────────
       На ≤768px убираем самые дорогие для мобильных GPU эффекты и увеличиваем тач-таргеты. */
    @media (max-width:768px){
      /* A1: fixed-фон с радиальными градиентами = перерисовка вьюпорта на каждый кадр скролла */
      body{ background-attachment:scroll; }
      /* A2: backdrop-filter (blur/saturate) на sticky-панелях = репэйнт подложки каждый кадр —
         главный источник джанка прокрутки таблицы. Заменяем на сплошной непрозрачный фон. */
      .bar, .filters, .menu, .more-pop, thead th, #bell-panel, #pc-modal, #pp-modal, .tip{
        backdrop-filter:none !important; -webkit-backdrop-filter:none !important;
        background:var(--panel-solid,var(--panel)) !important; }
      /* B3: тач-таргеты ★/📈 в строках таблицы — до ≥36px, чтобы не промахиваться по ссылке между ними */
      .wl, .chart-btn{ min-width:36px; min-height:36px; padding:6px 8px; }
      /* B4: сегменты тема/язык выше для пальца */
      .seg button{ min-height:36px; }
    }
