

/* ═══ «Мира» v2 · Индиго + небесный · токены (имена прежние — на них опирается весь кабинет и JS) ═══ */
:root{
  --bg:#070A1F;--panel:#0C1030;--panel2:#121744;--line:#1E2456;--line2:#2A316A;--soft:#121744;
  --text:#ECEDF8;--text2:#BCC1E0;--muted:#8B91B8;--mute2:#5C628C;--paper:#F3F4FB;
  --olive:#8C9EFF;--olive-dim:#1C2068;
  --plum:#5E6BFF;--plum-hi:#8C9EFF;
  --btn:#3D45C4;--btn-hi:#4A52E0;--btn-down:#2F3592;--btn-ink:#FFFFFF;
  --indigo:#5CC8FF;--indigo-hi:#8FE0FF;--indigo-dim:#10304A;
  --ok:#8FE0FF;--ok-dim:rgba(92,200,255,.16);
  --sun:#DF7871;--sun-hi:#E99A94;--sun-dim:rgba(223,120,113,.14);
  --danger:#DF7871;--coral:#DF7871;--coral-ink:#070A1F;
  --icon-acc:#5CC8FF;--logo-ink:#F3F4FB;--ov:#FFFFFF;--stage:#0B1036;--pat:#8C9EFF;--vs-off:#1A2050;
  --ink:inherit;--accent:#5E6BFF;--anim-a:#8C9EFF;--anim-b:#7FE6FF;
  --acc:#5CC8FF;--acc-neon:#7FE6FF;
  --grad-btn:linear-gradient(135deg,#2F3592 0%,#3D45C4 45%,#4A52E0 100%);
  --grad-btn-hi:linear-gradient(135deg,#3A41B0 0%,#4A52E0 50%,#5560F5 100%);
  --grad-head:linear-gradient(92deg,#B7C2FF 0%,#8C9EFF 38%,#5E6BFF 100%);
  --grad-wave:linear-gradient(90deg,#4A52E0,#5E6BFF 45%,#8C9EFF);
  --hero-bg:radial-gradient(52% 78% at 75% 44%,rgba(47,53,146,.55) 0%,rgba(28,32,104,.28) 42%,rgba(20,26,92,0) 72%),
           radial-gradient(38% 60% at 102% 104%,rgba(74,82,224,.22),rgba(74,82,224,0) 70%),
           linear-gradient(180deg,#0B1036 0%,#090D2A 55%,#070A1F 100%);
  --hero-line:#232A66;--hero-scrim:rgba(9,13,42,.72);
  --nn-node:#7FA2FF;--nn-node-hi:#A9C3FF;--nn-dot:#A9C3FF;--nn-link:#8FB0FF;--nn-link-a:.24;--nn-node-a:1;--nn-dust:#B7C8FF;--nn-ring:#8C9EFF;
  --nn-pulse:#7FE6FF;--nn-pulse-core:#E6FBFF;--nn-pulse-a:1;--nn-blend:lighter;--nn-hover:2.6;
  --nn-chip-bg:rgba(12,16,48,.82);--nn-chip-line:rgba(140,158,255,.42);--nn-chip-ic:#DCE3FF;--nn-chip-halo:rgba(94,107,255,.10);
  --ff:Inter,-apple-system,"Segoe UI",Roboto,sans-serif;
  --fh:Onest,Inter,system-ui,sans-serif;
  --fm:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --r-card:12px;--r-ctl:10px;
  --shadow:none;--shadow-pop:0 24px 60px -24px rgba(0,0,0,.75);
  color-scheme:dark}
:root[data-theme="light"]{
  --bg:#F4F5FA;--panel:#FFFFFF;--panel2:#EEF0F8;--line:#DFE2EF;--line2:#CDD1E3;--soft:#EEF0F8;
  --text:#0D1133;--text2:#343A66;--muted:#575D85;--mute2:#8A8FAD;
  --olive:#2F3592;--olive-dim:#E6E8FB;
  --plum:#3D45C4;--plum-hi:#2F3592;
  --btn:#2F3592;--btn-hi:#3A41B0;--btn-down:#262B7A;--btn-ink:#FFFFFF;
  --indigo:#0A6FB5;--indigo-hi:#075A93;--indigo-dim:#E2F2FC;
  --ok:#075A93;--ok-dim:rgba(10,111,181,.12);
  --sun:#B5463F;--sun-hi:#9C3B35;--sun-dim:rgba(223,120,113,.16);
  --danger:#B5463F;--coral:#B5463F;--coral-ink:#070A1F;
  --icon-acc:#0A8FD6;--logo-ink:#0D1133;--ov:#0D1133;--stage:#0B1036;--pat:#3D45C4;--vs-off:#E3E5F0;
  --accent:#3D45C4;--anim-a:#3D45C4;--anim-b:#12A7EE;
  --acc:#0A6FB5;--acc-neon:#12A7EE;
  --grad-btn:linear-gradient(135deg,#262B7A 0%,#2F3592 45%,#4048C8 100%);
  --grad-btn-hi:linear-gradient(135deg,#2F3592 0%,#3A41B0 50%,#4A52E0 100%);
  --grad-head:linear-gradient(92deg,#2F3592 0%,#3D45C4 55%,#4A52E0 100%);
  --hero-bg:radial-gradient(50% 78% at 75% 44%,rgba(127,214,255,.30) 0%,rgba(127,214,255,.12) 45%,rgba(255,255,255,0) 72%),
           radial-gradient(40% 60% at 100% 100%,rgba(183,194,255,.22),rgba(183,194,255,0) 70%),
           linear-gradient(180deg,#FFFFFF 0%,#F7F9FE 100%);
  --hero-line:#DFE2EF;--hero-scrim:rgba(255,255,255,.8);
  --nn-node:#8AD6FF;--nn-node-hi:#8AD6FF;--nn-dot:#5E6BFF;--nn-link:#6E7BF2;--nn-link-a:.20;--nn-node-a:.85;--nn-dust:#8FB4F2;--nn-ring:#5CC8FF;
  --nn-pulse:#12A7EE;--nn-pulse-core:#0A6FB5;--nn-pulse-a:.95;--nn-blend:normal;--nn-hover:1.2;
  --nn-chip-bg:rgba(255,255,255,.94);--nn-chip-line:rgba(127,214,255,.75);--nn-chip-ic:#2F3592;--nn-chip-halo:rgba(127,214,255,.16);
  --shadow:0 1px 0 rgba(13,17,51,.03),0 12px 30px -22px rgba(13,17,51,.28);
  --shadow-pop:0 28px 70px -30px rgba(13,17,51,.35);
  color-scheme:light}
  *{box-sizing:border-box}
  body{margin:0;background:var(--bg);color:var(--text);
       font:15px/1.55 Inter,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}
  h1,h2,h3,.dsp{font-family:Onest,Inter,sans-serif;letter-spacing:-.015em}
  .mono,.k{font-family:"IBM Plex Mono",ui-monospace,monospace}
  a{color:var(--olive)}
  header{display:flex;align-items:center;gap:14px;padding:16px 22px;border-bottom:1px solid var(--line);background:var(--panel)}
  header .logo{width:104px;height:26px;flex:none}
  header{background:linear-gradient(90deg,color-mix(in srgb,var(--plum) 12%,transparent),transparent 55%),var(--panel)}
  header h1{font-size:16px;margin:0;font-weight:700}
  header .sub{color:var(--muted);font-size:12px}

  /* ── панель управления клиента: боковое меню + страницы ───────────────── */
  .shell{display:grid;grid-template-columns:238px minmax(0,1fr);align-items:start;gap:0;min-height:calc(100vh - 62px)}
  .side{position:sticky;top:0;align-self:stretch;background:var(--panel);border-right:1px solid var(--line);
    padding:18px 12px;display:flex;flex-direction:column;gap:4px}
  .side .grp{font:600 10.5px/1 Inter;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);
    padding:16px 10px 8px}
  .side .grp:first-child{padding-top:2px}
  .nav{display:flex;align-items:center;gap:11px;padding:10px 11px;border-radius:11px;cursor:pointer;
    color:var(--muted);font:600 14px Onest;border:1px solid transparent;transition:.12s}
  .nav svg{width:18px;height:18px;flex:none}
  .nav:hover{background:var(--panel2);color:var(--text)}
  .nav.on{background:color-mix(in srgb,var(--plum) 16%,transparent);color:var(--plum-hi);border-color:color-mix(in srgb,var(--plum) 35%,transparent)}
  .nav .cnt{margin-left:auto;font:600 11px "IBM Plex Mono",monospace;color:var(--muted)}
  .side .foot{margin-top:auto;padding:14px 11px 4px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
  .side .foot b{display:block;color:var(--text);font:700 13px Onest;margin-bottom:6px}
  .content{padding:20px 24px 40px;min-width:0}
  .pagehead{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:4px}
  .pagehead h2{font:800 22px/1.2 Onest;margin:0}
  .pagehead .sub{color:var(--muted);font-size:13.5px}


  .asst{border-left:3px solid var(--line);transition:border-color .15s}
  .asst.on{border-left-color:var(--plum)}

  .mic{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;margin-left:6px;
    border:1px solid var(--line);border-radius:10px;background:var(--panel2);color:var(--muted);cursor:pointer;
    vertical-align:top}
  .mic svg{width:17px;height:17px}
  .mic:hover{color:var(--text)}
  .mic.on{background:var(--plum);color:var(--btn-ink);border-color:transparent;animation:micpulse 1.2s infinite}
  @keyframes micpulse{0%,100%{opacity:1}50%{opacity:.55}}

  .cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-top:14px}
  .fcard{background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
  .fcard .pv{height:190px;overflow:hidden;padding:12px;background:var(--panel2);position:relative;font-size:11px}
  .fcard .pv:after{content:"";position:absolute;left:0;right:0;bottom:0;height:44px;
    background:linear-gradient(transparent,var(--panel2))}
  .fcard .ft{padding:12px 14px}
  .fcard .nm{font:600 13.5px Onest;word-break:break-word}
  .pvbox{margin-top:12px;border-top:1px solid var(--line);padding-top:12px}
  .pvbox.hidden{display:none}
  .pvtable{overflow:auto;max-height:420px;border:1px solid var(--line);border-radius:10px}
  .pvtable table{border-collapse:collapse;width:100%;font-size:12.5px}
  .pvtable th{position:sticky;top:0;background:var(--plum);color:var(--btn-ink);font-weight:700;
    text-align:left;padding:7px 9px;white-space:nowrap}
  .pvtable td{padding:6px 9px;border-top:1px solid var(--line);color:var(--text);
    max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .pvtable tr:nth-child(even) td{background:color-mix(in srgb,var(--ov) 2%,transparent)}
  .pvslides{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
  .pvslides .sl{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:11px 12px;position:relative}
  .pvslides .n{position:absolute;right:9px;top:7px;font:600 10px "IBM Plex Mono",monospace;color:var(--muted)}
  .pvslides .t{font:700 12.5px Onest;margin-bottom:6px;padding-right:16px}
  .pvslides .i{font-size:11.5px;color:var(--muted);line-height:1.5;margin-top:3px}
  .pvdoc p{margin:0 0 8px;font-size:13px;line-height:1.6}
  .pvdoc .li{font-size:13px;line-height:1.6;padding-left:14px;position:relative;margin-bottom:5px}
  .pvdoc .li:before{content:"—";position:absolute;left:0;color:var(--plum)}
  .chart{width:100%;height:auto;display:block}
  .lg{display:inline-flex;align-items:center;gap:7px;background:var(--panel2);border:1px solid var(--line);
    color:var(--text);border-radius:20px;padding:5px 12px;font:600 12.5px Inter;cursor:pointer}
  .lg i{width:9px;height:9px;border-radius:50%}
  .lg.off{opacity:.42}
  .bars{display:flex;align-items:flex-end;gap:3px;height:150px;margin-top:6px}
  .bars .b{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%}
  .bars .col{width:100%;background:var(--plum);border-radius:4px 4px 0 0;display:flex;
    flex-direction:column;justify-content:flex-end;min-height:2px}
  .bars .col i{display:block;width:100%;background:var(--danger);border-radius:0 0 4px 4px}
  .bars .b span{font:500 9.5px "IBM Plex Mono",monospace;color:var(--muted);margin-top:5px;height:12px}
  .bars .b:hover .col{filter:brightness(1.25)}
  .donut{width:140px;height:140px;flex:none}
  .tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-top:14px}
  .tile{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:15px 16px}
  .tile .k{display:flex;align-items:center;gap:8px;font:500 10.5px/1 Inter;letter-spacing:1.1px;
    text-transform:uppercase;color:var(--muted)}
  .tile .k svg{width:14px;height:14px}
  .tile .v{font:800 27px/1.15 Onest;margin-top:8px}
  .tile .v small{font:600 14px Onest;color:var(--muted)}
  .tile .d{font-size:12px;color:var(--muted);margin-top:5px}
  .tile .d.up{color:var(--plum-hi)} .tile .d.bad{color:var(--danger)}
  .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;align-items:start}
  .todo{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
  .todo .it{background:var(--panel2);border:1px solid var(--line);border-left:3px solid var(--plum);
    border-radius:12px;padding:14px 15px;cursor:pointer}
  .todo .it b{display:block;font:700 14.5px Onest;margin-bottom:4px}
  .todo .it span{color:var(--muted);font-size:12.5px}
  .feed{display:flex;align-items:center;gap:11px;padding:11px 0;border-top:1px solid var(--line)}
  .feed:first-of-type{border-top:0}
  .feed .nm{font-weight:600;font-size:14px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .feed .meta{color:var(--muted);font-size:12.5px;margin-left:auto;white-space:nowrap}
  .pill{font:600 11px Inter;padding:4px 9px;border-radius:20px;background:color-mix(in srgb,var(--plum) 16%,transparent);
    color:var(--plum-hi);white-space:nowrap}
  .pill.gray{background:var(--panel2);color:var(--muted)}
  @media (max-width:900px){ .shell{grid-template-columns:1fr}
    .side{position:static;flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:1px solid var(--line)}
    .side .grp,.side .foot{display:none} }
  .tabs{display:flex;gap:6px;padding:12px 22px 0;flex-wrap:wrap}
  .tab{padding:9px 16px;border:1px solid var(--line);border-bottom:none;border-radius:10px 10px 0 0;background:var(--panel);color:var(--muted);cursor:pointer;font-weight:600}
  .tab.on{background:var(--panel2);color:var(--text);border-color:var(--olive-dim)}
  main{padding:22px;max-width:960px;margin:0 auto}
  .card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:16px}
  .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
  .stat{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:14px}
  .stat .k{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}
  .stat .v{font-size:22px;font-weight:800;margin-top:4px}
  label{display:block;color:var(--muted);font-size:12px;margin:12px 0 5px;font-weight:600}
  /* галочки красим в «сделано»: синий читался как ссылка, а не как отметка */
  input[type=checkbox]{accent-color:var(--ok)}
  input,textarea,select{width:100%;background:var(--bg);border:1px solid var(--line);color:var(--text);border-radius:10px;padding:10px 12px;font:inherit}
  textarea{min-height:52px;resize:vertical}
  .btn{background:var(--olive);color:var(--btn-ink);border:none;border-radius:10px;padding:10px 18px;font-weight:700;cursor:pointer}
  .btn.ghost{background:transparent;color:var(--text);border:1px solid var(--line)}
  .btn.sm{padding:6px 12px;font-size:13px}
  .btn:disabled{opacity:.5;cursor:default}
  .row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
  .toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--panel2);border:1px solid var(--olive-dim);padding:12px 18px;border-radius:12px;opacity:0;transition:.3s;pointer-events:none;z-index:9}
  .toast.show{opacity:1}
  .muted{color:var(--muted)}.hidden{display:none}
  /* ── Экран входа: биолюминесцентная сцена + стеклянная карточка ── */
  #login{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:20px;
    background:var(--bg);overflow:hidden}
  #login.hidden{display:none!important}
  /* «квантовая туманность» из частиц (Three.js) — холст монтируется сюда */
  .lbg{position:absolute;inset:0;z-index:0}
  .lbg canvas{display:block;width:100%!important;height:100%!important}
  /* мягкая виньетка, чтобы стеклянная карточка читалась поверх свечения */
  .lscene{position:absolute;inset:0;z-index:1;pointer-events:none;
    background:radial-gradient(58% 52% at 50% 48%, color-mix(in srgb,var(--bg) 42%,transparent), transparent 72%)}
  /* стеклянная полупрозрачная плашка-прямоугольник — заставку видно насквозь */
  .glasscard{position:relative;z-index:2;width:min(600px,95vw);padding:26px 42px 24px;border-radius:16px;
    background:linear-gradient(160deg, rgba(20,26,38,.15), color-mix(in srgb,var(--bg) 9%,transparent));
    border:1px solid color-mix(in srgb,var(--ov) 13%,transparent);
    backdrop-filter:blur(13px) saturate(1.2);-webkit-backdrop-filter:blur(13px) saturate(1.2);
    box-shadow:0 30px 80px color-mix(in srgb,var(--bg) 50%,transparent), inset 0 1px 0 color-mix(in srgb,var(--ov) 11%,transparent);isolation:isolate}
  .glasscard label{color:var(--text2)}
  .glasscard input{background:color-mix(in srgb,var(--bg) 55%,transparent);border:1px solid color-mix(in srgb,var(--ov) 10%,transparent);color:var(--text)}
  .glasscard input:focus{border-color:color-mix(in srgb,var(--plum-hi) 70%,transparent);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--plum) 18%,transparent)}
  .lsub{font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin:0 0 6px;color:var(--plum-hi)}
  .lco{margin:0 0 12px;font-size:13px;color:var(--text2)}
  .pwwrap{position:relative}
  .pwwrap input{width:100%;padding-right:44px}
  .eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:34px;height:34px;display:grid;
    place-items:center;background:transparent;border:none;color:var(--muted);cursor:pointer;border-radius:9px}
  .eye:hover{color:var(--text)}.eye svg{width:20px;height:20px}
  .eye.on{color:var(--plum-hi)}
  .lbtn{width:100%;background:linear-gradient(120deg,var(--plum-hi),var(--indigo));color:var(--btn-ink);font-weight:700;
    padding:12px;transition:filter .2s, transform .1s}
  .lbtn:hover{filter:brightness(1.08)}.lbtn:active{transform:translateY(1px)}
  #login #loginErr{color:var(--coral);min-height:1em}
  @media (prefers-reduced-motion:reduce){.wshine{animation:none}}
  h3{margin:2px 0 12px;font-size:15px}
  .sec{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}
  .pulse{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:12px;margin:18px 0}
  .pcard{background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:15px 16px;
    cursor:pointer;transition:.15s;display:flex;flex-direction:column;gap:7px}
  .pcard:hover{border-color:var(--olive-dim);transform:translateY(-1px)}
  .pcard .pk{font:600 10.5px/1 "IBM Plex Mono",monospace;letter-spacing:.09em;text-transform:uppercase;
    color:var(--muted)}
  .pcard.hot{border-color:color-mix(in srgb,var(--coral) 45%,transparent)} .pcard.hot .pk{color:var(--coral)}
  .pcard.ok .pk{color:var(--ok)} .pcard.wait .pk{color:var(--sun)}
  .pcard b{font:700 15.5px/1.3 Onest}
  .pcard ul{margin:0;padding-left:16px;display:flex;flex-direction:column;gap:5px}
  .pcard li{font-size:13.2px;line-height:1.45;color:var(--muted);
    display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .pcard p{margin:0;font-size:13.2px;line-height:1.45;color:var(--muted);
    display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
  .pcard .pf{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:4px;font-size:12.2px}
  .pcard .pf span{color:var(--muted)} .pcard .pf u{margin-left:auto;color:var(--plum-hi);text-decoration:none}
  /* ── Живые иллюстрации обзора. Подсветка за курсором — приём «spotlight card» (21st.dev) ── */
  #overBox .tile,#overBox .pcard{position:relative;isolation:isolate;overflow:hidden}
  #overBox .tile::before,#overBox .pcard::before{content:"";position:absolute;inset:0;z-index:-1;opacity:0;
    transition:opacity .25s;pointer-events:none;
    background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),color-mix(in srgb,var(--plum-hi) 13%,transparent),transparent 65%)}
  #overBox .tile:hover::before,#overBox .pcard:hover::before{opacity:1}
  #overBox .tile{transition:border-color .2s;container-type:inline-size} #overBox .tile:hover{border-color:var(--olive-dim)}
  #overBox .pcard:hover{transform:translateY(-2px)}
  .tile .art{position:absolute;right:12px;bottom:10px;width:128px;height:62px;pointer-events:none;z-index:-1}
  @container (max-width:250px){.tile .art{width:86px;height:42px;opacity:.55}}
  .art .amicro{fill:var(--muted);font:500 7.5px "IBM Plex Mono",monospace;letter-spacing:.8px}
  .pcard.has-band{padding-top:0}
  .band{height:96px;margin:0 -16px 6px;position:relative;border-bottom:1px solid var(--line);
    background:radial-gradient(color-mix(in srgb,var(--muted) 16%,transparent) 1px,transparent 1.2px) 0 0/14px 14px,
               linear-gradient(180deg,color-mix(in srgb,var(--plum) 10%,transparent),transparent 80%)}
  .band svg{position:absolute;inset:0;width:100%;height:100%}
  .band .micro{position:absolute;left:14px;top:11px;z-index:1;font:500 9px/1 "IBM Plex Mono",monospace;
    letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
  .pcard.hot .band .micro{color:var(--coral)} .pcard.ok .band .micro{color:var(--ok)} .pcard.wait .band .micro{color:var(--sun)}
  .pcard .pf u{transition:transform .2s} .pcard:hover .pf u{transform:translateX(3px)}
  .band .par{transition:transform .35s cubic-bezier(.2,.8,.2,1)}
  .band .march{stroke-dasharray:4 6;animation:ov-march 1.6s linear infinite}
  @keyframes ov-march{to{stroke-dashoffset:-20}}
  .band .ripple{transform-box:fill-box;transform-origin:center;animation:ov-ripple 2.6s ease-out infinite}
  .band .ripple.r2{animation-delay:.85s} .band .ripple.r3{animation-delay:1.7s}
  .pcard:hover .ripple{animation-duration:1.4s}
  @keyframes ov-ripple{0%{transform:scale(.25);opacity:.9}100%{transform:scale(1.9);opacity:0}}
  .band .pin{transform-box:fill-box;transform-origin:50% 100%}
  .pcard:hover .pin{animation:ov-hop .7s cubic-bezier(.3,1.6,.5,1)}
  @keyframes ov-hop{40%{transform:translateY(-6px)}}
  .band .scan{animation:ov-scan 3.2s ease-in-out infinite} .pcard:hover .scan{animation-duration:1.3s}
  @keyframes ov-scan{0%,100%{transform:translateY(0)}50%{transform:translateY(46px)}}
  .band .caret{animation:ov-blink 1.1s steps(1) infinite} @keyframes ov-blink{50%{opacity:0}}
  .band .day rect{transition:fill .2s,stroke .2s}
  .band .day:hover rect{fill:color-mix(in srgb,var(--plum-hi) 16%,transparent);stroke:color-mix(in srgb,var(--plum-hi) 55%,transparent)}
  .band .bell{transform-box:fill-box;transform-origin:50% 10%;animation:ov-ring 2.8s ease-in-out infinite}
  @keyframes ov-ring{0%,70%,100%{transform:rotate(0)}75%{transform:rotate(14deg)}80%{transform:rotate(-12deg)}85%{transform:rotate(8deg)}90%{transform:rotate(-5deg)}}
  .band .spinA{transform-box:fill-box;transform-origin:center;animation:ov-spin 2.4s linear infinite}
  .band .spinB{transform-box:fill-box;transform-origin:center;animation:ov-spin 3.6s linear infinite reverse}
  .art .orbit{transform-box:view-box;transform-origin:64px 31px;animation:ov-spin 18s linear infinite}
  .tile:hover .orbit{animation-duration:5s}
  @keyframes ov-spin{to{transform:rotate(360deg)}}
  .art.wave rect{transform-box:fill-box;transform-origin:center;animation:ov-eq 1.8s ease-in-out infinite}
  .tile:hover .art.wave rect{animation-duration:.7s}
  @keyframes ov-eq{0%,100%{transform:scaleY(.35)}50%{transform:scaleY(1)}}
  .art .dotpulse{transform-box:fill-box;transform-origin:center;animation:ov-ripple 2.2s ease-out infinite}
  .art .draw{stroke-dasharray:100;stroke-dashoffset:100;animation:ov-draw 1.4s .2s ease forwards}
  @keyframes ov-draw{to{stroke-dashoffset:0}}
  .art .ring{stroke-dashoffset:var(--p);animation:ov-draw 1.2s .3s ease forwards}
  .art .bar{transform-box:fill-box;transform-origin:50% 100%;animation:ov-grow .9s ease both}
  @keyframes ov-grow{from{transform:scaleY(0)}}
  @media (prefers-reduced-motion:reduce){
    #overBox .art *,#overBox .band *{animation:none!important;transition:none!important}
    .art .draw,.art .ring{stroke-dashoffset:0}}
  /* журнал звонков: фильтры по итогу; голос помощника */
  .fchips{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 10px}
  .fchip{border:1px solid var(--line);background:var(--panel2);color:var(--muted);border-radius:999px;
    padding:5px 11px;font:500 12.5px Inter;cursor:pointer}
  .fchip i{font-style:normal;opacity:.7;margin-left:5px}
  .fchip.on{border-color:var(--olive-dim);color:var(--text);background:color-mix(in srgb,var(--plum) 14%,transparent)}
  .fchip:focus-visible{outline:2px solid var(--plum-hi);outline-offset:2px}
  .vspeed{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);margin:0}
  .vspeed input{width:110px;accent-color:var(--plum)}
  .vspeed b{color:var(--text);font:600 12.5px "IBM Plex Mono",monospace;min-width:44px}
  /* ── страница «Помощники»: графики, карточки с картинками, выезжающая панель ── */
  #assistBox .tile{position:relative;isolation:isolate;overflow:hidden;container-type:inline-size}
  #assistBox .tile::before,.acard::before{content:"";position:absolute;inset:0;z-index:-1;opacity:0;transition:opacity .25s;
    pointer-events:none;background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),color-mix(in srgb,var(--plum-hi) 13%,transparent),transparent 65%)}
  #assistBox .tile:hover::before,.acard:hover::before{opacity:1}
  .arow{display:grid;grid-template-columns:1.7fr 1fr;gap:12px;margin-top:12px}
  @media (max-width:1000px){.arow{grid-template-columns:1fr}}
  .apanel{background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:16px 18px;position:relative}
  .apanel h3{margin:0 0 2px} .apanel .hint{font-size:12.5px;color:var(--muted)}
  .alegend{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px;font-size:12.5px;color:var(--muted)}
  .alegend i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:6px}
  .aempty{position:absolute;left:18px;right:18px;top:40%;text-align:center;color:var(--muted);font-size:13.5px;pointer-events:none}
  .outc{display:grid;gap:11px;margin-top:14px}
  .outc .lab{display:flex;justify-content:space-between;gap:10px;font-size:13px} .outc .lab b{font-variant-numeric:tabular-nums}
  .outc .bar{height:8px;border-radius:5px;background:var(--panel2);margin-top:5px;overflow:hidden}
  .outc .bar i{display:block;height:100%;border-radius:5px}
  .agrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
  .acard{position:relative;isolation:isolate;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:16px;
    cursor:pointer;display:flex;flex-direction:column;transition:border-color .2s,transform .2s}
  .acard:hover{border-color:var(--olive-dim);transform:translateY(-2px)} .acard.off{opacity:.62}
  .acard:focus-visible{outline:2px solid var(--plum-hi);outline-offset:2px}
  .acard .band{height:112px;margin:0}
  .abody{padding:13px 15px 14px;display:flex;flex-direction:column;gap:8px;flex:1}
  .ahead{display:flex;align-items:center;gap:8px} .ahead b{font:700 15.5px/1.25 Onest}
  .adir{margin-left:auto;font:600 10px/1 "IBM Plex Mono",monospace;letter-spacing:.08em;text-transform:uppercase;
    padding:5px 7px;border-radius:6px;background:var(--panel2);color:var(--muted);white-space:nowrap}
  .astate{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--muted)}
  .astate .dot{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 4px color-mix(in srgb,var(--indigo) 14%,transparent)}
  .acard.off .astate .dot{background:var(--muted);box-shadow:none}
  .vchip{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text);background:var(--panel2);
    border:1px solid var(--line);border-radius:999px;padding:3px 9px;white-space:nowrap}
  .vchip svg{width:11px;height:11px}
  .astats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
  .astats div{background:var(--panel2);border-radius:9px;padding:7px 8px}
  .astats b{display:block;font:700 16px/1.1 Onest;font-variant-numeric:tabular-nums} .astats span{font-size:11px;color:var(--muted)}
  .abase{font-size:12.5px;color:var(--muted);border-top:1px dashed var(--line);padding-top:8px;margin-top:auto}
  .abase b{color:var(--text);font-weight:600} .abase u{color:var(--plum-hi);text-decoration:none}
  .aopen{display:flex;justify-content:flex-end;font-size:12.5px;color:var(--plum-hi)}
  .aopen::after{content:" →";margin-left:4px;transition:transform .2s} .acard:hover .aopen::after{transform:translateX(3px)}
  .aveil{position:fixed;inset:0;background:color-mix(in srgb,var(--bg) 62%,transparent);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .25s;z-index:40}
  .adrawer{position:fixed;top:0;right:0;bottom:0;width:min(600px,100%);background:var(--panel);border-left:1px solid var(--line);
    transform:translateX(102%);transition:transform .3s cubic-bezier(.2,.8,.2,1);z-index:41;display:flex;flex-direction:column}
  body.aopen .aveil{opacity:1;pointer-events:auto} body.aopen .adrawer{transform:none}
  .adhead{position:relative;height:128px;border-bottom:1px solid var(--line);flex:none;
    background:radial-gradient(color-mix(in srgb,var(--muted) 16%,transparent) 1px,transparent 1.2px) 0 0/14px 14px,linear-gradient(180deg,color-mix(in srgb,var(--plum) 16%,transparent),transparent)}
  .adhead svg{position:absolute;inset:0;width:100%;height:100%}
  .adttl{position:absolute;left:22px;bottom:14px;right:90px;z-index:1}
  .adttl b{font:800 21px/1.2 Onest}
  .adttl div{font-size:12.5px;color:var(--muted);margin-top:6px;display:flex;align-items:center;gap:10px}
  .adx{position:absolute;right:14px;top:12px;z-index:2;background:var(--panel2);border:1px solid var(--line);color:var(--text);
    width:32px;height:32px;border-radius:9px;cursor:pointer}
  .adtabs{display:flex;gap:4px;padding:10px 16px 0;border-bottom:1px solid var(--line);flex:none;overflow-x:auto}
  .adtab{background:none;border:none;color:var(--muted);font:600 13.5px Inter;padding:9px 12px;cursor:pointer;
    border-bottom:2px solid transparent;white-space:nowrap}
  .adtab.on{color:var(--text);border-bottom-color:var(--sun)}
  .adtab:focus-visible,.adx:focus-visible{outline:2px solid var(--plum-hi);outline-offset:2px}
  .adbody{padding:14px 22px 22px;overflow:auto;flex:1}
  .adpane{display:none} .adpane.on{display:block}
  .adfoot{flex:none;border-top:1px solid var(--line);padding:12px 22px;display:flex;gap:10px;align-items:center;background:var(--panel)}
  .bfile{display:flex;align-items:center;gap:10px;background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:11px 13px}
  .bfile .ic{width:34px;height:34px;border-radius:9px;background:color-mix(in srgb,var(--indigo) 14%,transparent);display:grid;place-items:center;
    color:var(--ok);font:800 11px Onest;flex:none}
  .bdrop{border:1px dashed var(--olive-dim);border-radius:12px;padding:20px;text-align:center;display:grid;gap:8px;justify-items:center}
  .bfacts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}
  .bfacts div{background:var(--panel2);border-radius:10px;padding:9px 10px}
  .bfacts b{display:block;font:700 18px/1.1 Onest} .bfacts span{font-size:11.5px;color:var(--muted)}
  .advice{border:1px solid var(--olive-dim);background:linear-gradient(180deg,color-mix(in srgb,var(--plum) 12%,transparent),color-mix(in srgb,var(--plum) 3%,transparent));
    border-radius:14px;padding:14px 16px;margin-top:6px}
  .advice h4{margin:0 0 10px;font:700 14.5px Onest;display:flex;align-items:center;gap:8px}
  .advice h4 i{font-style:normal;font:600 10px "IBM Plex Mono",monospace;letter-spacing:.08em;color:var(--sun);text-transform:uppercase;
    border:1px solid color-mix(in srgb,var(--coral) 40%,transparent);border-radius:6px;padding:3px 6px}
  .asteps{margin:0;padding:0;list-style:none;display:grid;gap:10px}
  .asteps li{display:grid;grid-template-columns:26px 1fr;gap:10px;font-size:13.5px;line-height:1.5}
  .asteps li b.n{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--panel2);
    border:1px solid var(--olive-dim);font:700 12px Onest;color:var(--plum-hi)}
  .asteps li span{color:var(--text)}
  .asteps li em{font-style:normal;color:var(--muted);display:block;font-size:12.5px}
  .awho{margin:12px 0 0;display:grid;gap:6px}
  .awho div{display:flex;gap:10px;font-size:13px;background:var(--panel2);border-radius:9px;padding:7px 10px}
  .awho div span:last-child{margin-left:auto;color:var(--muted);font:12px "IBM Plex Mono",monospace;white-space:nowrap}
  .ago{display:flex;gap:10px;align-items:center;margin-top:14px;flex-wrap:wrap}
  .acard .wv,.adhead .wv{animation:av-wv 1.8s ease-in-out infinite} .wv.w2{animation-delay:.25s} .wv.w3{animation-delay:.5s}
  .acard:hover .wv{animation-duration:.9s}
  @keyframes av-wv{0%,100%{opacity:.15}50%{opacity:.95}}
  .ahand{transform-box:view-box;animation:ov-spin 12s linear infinite} .acard:hover .ahand{animation-duration:3s}
  .aret{transform-box:view-box;animation:ov-spin 9s linear infinite} .acard:hover .aret{animation-duration:2.6s}
  .abeat{transform-box:fill-box;transform-origin:center;animation:av-beat 1.6s ease-in-out infinite}
  @keyframes av-beat{0%,100%{transform:scale(1)}15%{transform:scale(1.12)}30%{transform:scale(.98)}}
  .aring{transform-box:fill-box;transform-origin:50% 10%;animation:ov-ring 2.8s ease-in-out infinite}
  .amarch{stroke-dasharray:4 6;animation:ov-march 1.6s linear infinite}
  @media (prefers-reduced-motion:reduce){.acard *,.adhead *,#assistBox .art *{animation:none!important;transition:none!important}
    .adrawer,.aveil{transition:none}}
  .bell{position:relative;margin-left:auto;background:transparent;border:1px solid color-mix(in srgb,var(--coral) 40%,transparent);
    color:var(--coral);border-radius:11px;width:38px;height:38px;cursor:pointer;display:grid;place-items:center}
  .bell svg{width:19px;height:19px}
  .bell i{position:absolute;top:-6px;right:-6px;background:var(--coral);color:var(--btn-ink);font:700 11px/1 Onest;
    border-radius:9px;padding:3px 5px;font-style:normal}
  .ministats{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:8px;margin-bottom:14px}
  .ministat{background:var(--panel2);border:1px solid var(--line);border-radius:11px;padding:9px 11px}
  .ministat b{display:block;font:700 19px/1.1 Onest;font-variant-numeric:tabular-nums}
  .ministat span{color:var(--muted);font-size:11.5px}
  .subh{font:700 13px Onest;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:16px 0 8px}
  .callrow{border-top:1px solid var(--line);padding:9px 0}
  .callrow:first-of-type{border-top:0}
  .calltalk{margin:9px 0 2px;padding-left:11px;border-left:2px solid var(--olive-dim);
        display:flex;flex-direction:column;gap:6px}
  .calltalk.hidden{display:none}   /* .hidden объявлен выше — без этого мой display побеждает его */
  .calltalk div{font-size:13.4px;line-height:1.5}
  .calltalk i{display:block;font-style:normal;font-size:10.5px;letter-spacing:.05em;
          text-transform:uppercase;color:var(--muted);margin-bottom:1px}
  .t-bot{color:var(--plum-hi)} .t-man{color:var(--text)}
  .reqbox{display:flex;flex-wrap:wrap;gap:6px 14px;margin:9px 0 2px;padding:9px 11px;border-radius:10px;
    background:color-mix(in srgb,var(--indigo) 10%,transparent);border:1px solid var(--ok-dim);font-size:13px}
  .reqbox b{color:var(--muted);font-weight:600}
  .player{margin:9px 0 2px}
  /* нативный плеер белый и в тёмной теме бьёт по глазам — переворачиваем цвета */
  .player audio{filter:invert(.9) hue-rotate(180deg);border-radius:999px;display:block}
  /* .tbl уже занят плиткой инструмента — сравнение зовём своим именем */
  .cmptbl{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:var(--panel2)}
  .cmptbl table{width:100%;border-collapse:collapse;min-width:560px}
  .cmptbl th{text-align:left;font:600 11.5px/1.3 Inter;letter-spacing:.05em;text-transform:uppercase;
    color:var(--muted);padding:11px 13px;border-bottom:1px solid var(--line);white-space:nowrap}
  .cmptbl td{padding:11px 13px;border-bottom:1px solid var(--line);font-size:14px;vertical-align:middle}
  .cmptbl tr:last-child td{border-bottom:0}
  .cmptbl a.rivlink{color:inherit;text-decoration:none;border-bottom:1px dashed var(--line)}
  .cmptbl a.rivlink:hover{border-bottom-color:currentColor}
  .cmptbl a.rivlink .ext{font-size:12px;opacity:.55}
  .tbledit [contenteditable]{cursor:text}
  .tbledit td[contenteditable]:hover{background:color-mix(in srgb,var(--plum) 6%,transparent)}
  .tbledit [contenteditable]:focus{outline:2px solid var(--plum);outline-offset:-2px;background:color-mix(in srgb,var(--plum) 10%,transparent)}
  .tbledit th{position:sticky;top:0;z-index:1}
  .cmptbl a.rivsite{font-size:12px;margin-left:6px;color:var(--mut, var(--muted))}
  .cmptbl a.rivlink:focus-visible,.cmptbl a.rivsite:focus-visible{outline:2px solid currentColor;outline-offset:2px;border-radius:3px}
  .cmptbl .num{font-family:"IBM Plex Mono",monospace;font-variant-numeric:tabular-nums}
  table tr.me td{background:var(--plum-soft,color-mix(in srgb,var(--plum) 13%,transparent))}
  table tr.me td:first-child{box-shadow:inset 3px 0 0 var(--plum)}
  textarea.out.edit{width:100%;min-height:170px;resize:vertical;line-height:1.6;
    font:14.5px/1.6 Inter,-apple-system,sans-serif;white-space:pre-wrap}
  .hitem{border-top:1px solid var(--line);padding:9px 0}
  .hitem a{display:block;font-size:14px;color:var(--plum-hi);text-decoration:none}
  .hitem a:hover{text-decoration:underline}
  .hitem span{display:block;font-size:12.5px;color:var(--muted);margin-top:3px}
  .hintbtn{margin-left:9px;background:transparent;border:1px solid var(--olive-dim);color:var(--plum-hi);
    border-radius:8px;padding:3px 9px;font:600 11px Inter;cursor:pointer;text-transform:none;letter-spacing:0}
  .hintbtn:hover{border-color:var(--plum)}
  .hints{display:flex;flex-direction:column;gap:7px;margin-top:9px}
  .hintit{text-align:left;background:var(--panel2);border:1px solid var(--line);color:var(--text);
    border-radius:11px;padding:10px 12px;font:14px/1.5 Inter;cursor:pointer}
  .hintit:hover{border-color:var(--plum);background:var(--panel)}
  .item{border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:10px;background:var(--panel2)}
  .card>.sec:first-child{border-top:0;margin-top:0;padding-top:0}
  .badge{display:inline-block;padding:3px 9px;border-radius:20px;font-size:12px;font-weight:600;border:1px solid var(--line)}
  .badge.on{color:var(--ok);border-color:var(--olive-dim)}.badge.off{color:var(--muted)}

  /*ADMIN-GRID-V1*/
  .fgrid{display:grid;gap:12px 14px;align-items:end;margin-top:4px}
  .fgrid+.fgrid{margin-top:12px}
  .fgrid.g21{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
  .fgrid.g12b{grid-template-columns:minmax(0,1fr) minmax(0,2fr) auto}
  .fgrid.g11pb{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}
  .fgrid label{margin:0 0 6px}
  .fld{position:relative;min-width:0;display:block}
  .fld input{padding-right:42px}
  .fld .mic{position:absolute;right:5px;bottom:5px;margin:0;width:30px;height:30px;border:0;background:transparent}
  .fld .mic:hover{background:var(--panel2)}
  .fgrid input,.fgrid select,.atool input,.atool select,.rqbar input,.rqbar select{height:44px;box-sizing:border-box}
  .fgrid .btn{height:44px;white-space:nowrap}
  .atool{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:14px}
  .atool .fld{flex:1;min-width:220px}
  .atool .fld input{padding-left:36px}
  .atool .fld .lens{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--muted);pointer-events:none}
  .atool select{width:auto;min-width:190px}
  .atool .cnt{color:var(--muted);font-size:13px;white-space:nowrap}
  .ogrp{margin-top:16px}
  .ogrp>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;
    font:700 12px/1 Onest;letter-spacing:.8px;text-transform:uppercase;color:var(--muted);padding:6px 2px}
  .ogrp>summary::-webkit-details-marker{display:none}
  .ogrp>summary:before{content:"▸";transition:transform .15s;font-size:11px}
  .ogrp[open]>summary:before{transform:rotate(90deg)}
  .ogrp>summary .n{background:var(--panel2);border:1px solid var(--line);border-radius:20px;padding:2px 8px;font-size:11px;letter-spacing:0}
  .orow{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) 118px minmax(0,1.1fr) auto;
    gap:12px;align-items:center;padding:12px 16px;border:1px solid var(--line);border-radius:12px;
    background:var(--panel2);margin-top:8px;cursor:pointer;transition:border-color .15s}
  .orow:hover{border-color:var(--olive-dim)}
  .orow .on1{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .orow .badge{justify-self:start;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .orow .meta{color:var(--muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .orow mark,.irow mark{background:var(--sun);color:#0B0D14;border-radius:3px;padding:0 1px}
  .ohead{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) 118px minmax(0,1.1fr) auto;gap:12px;
    padding:0 16px;margin-top:12px;color:var(--muted);font-size:11px;letter-spacing:.6px;text-transform:uppercase}
  .ohead span:last-child{width:72px}
  .irow{border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin-top:8px;background:var(--panel2)}
  .irow .r1{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center}
  .irow .r2{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;margin-top:10px}
  .irow .r2 input{font-size:13px;padding:8px 12px}
  .irow .r1 .badge{justify-self:start}
  .rqbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:12px}
  .rqbar .fld{flex:1;min-width:220px}
  .rqbar select{width:auto;min-width:200px}
  @media (max-width:760px){
    .fgrid.g21,.fgrid.g12b,.fgrid.g11pb{grid-template-columns:1fr}
    .ohead{display:none}
    .orow{grid-template-columns:1fr auto;row-gap:6px}
    .orow .on1{grid-column:1/2}.orow .ob{grid-column:2/3;grid-row:1}
    .orow .badge,.orow .meta{grid-column:1/-1}
    .irow .r1,.irow .r2{grid-template-columns:1fr}
  }
  .orgcard{cursor:pointer;transition:.15s}.orgcard:hover{border-color:var(--olive-dim)}
  .toggle{width:44px;height:24px;border-radius:20px;background:var(--line);position:relative;cursor:pointer;flex:none;transition:.2s}
  .toggle.on{background:var(--olive-dim)}
  .toggle::after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:var(--text);transition:.2s}
  .toggle.on::after{left:22px}

  /* ── бенто-сетка инструментов: плитки разного размера, каждая живая ──────── */
  .bento{display:grid;grid-template-columns:repeat(auto-fill,minmax(212px,1fr));gap:12px}

  /* ── Первый экран кабинета: галактика рисуется на canvas, без библиотек ──── */
  .hero{position:relative;margin:-6px -6px 22px;border-radius:22px;overflow:hidden;
    min-height:340px;display:flex;align-items:flex-end;
    background:radial-gradient(120% 140% at 78% 18%, var(--panel) 0%, var(--panel) 46%, var(--bg) 100%)}
  .hero canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
  .hero:after{content:"";position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(90deg, color-mix(in srgb,var(--bg) 92%,transparent) 0%, color-mix(in srgb,var(--bg) 72%,transparent) 38%, color-mix(in srgb,var(--bg) 0%,transparent) 72%)}
  .hero-in{position:relative;z-index:2;padding:44px 40px 38px;max-width:660px}
  .hero .eyebrow{display:inline-flex;align-items:center;gap:8px;font:600 11px Inter;letter-spacing:1.1px;
    text-transform:uppercase;color:var(--plum-hi);background:color-mix(in srgb,var(--plum) 16%,transparent);
    border:1px solid color-mix(in srgb,var(--plum) 32%,transparent);padding:6px 13px;border-radius:20px}
  .hero h1{font:700 clamp(27px,3.4vw,42px)/1.12 Onest;letter-spacing:-.6px;margin:16px 0 12px}
  .hero h1 em{font-style:normal;background:linear-gradient(94deg,var(--plum-hi),var(--indigo-hi) 62%,var(--plum-hi));
    -webkit-background-clip:text;background-clip:text;color:transparent}
  .hero p{margin:0;color:var(--text2);font-size:15.5px;line-height:1.6;max-width:520px}
  .hero-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
  .hero-cta .btn{backdrop-filter:blur(6px)}
  .hero-live{position:absolute;right:34px;bottom:32px;z-index:2;display:flex;gap:10px;flex-wrap:wrap;
    justify-content:flex-end;max-width:44%}
  .hero-live span{display:flex;flex-direction:column;gap:2px;padding:11px 16px;border-radius:14px;
    background:color-mix(in srgb,var(--ov) 6%,transparent);border:1px solid color-mix(in srgb,var(--ov) 10%,transparent);backdrop-filter:blur(8px)}
  .hero-live b{font:700 21px Onest;line-height:1} .hero-live i{font-style:normal;font-size:11.5px;color:var(--muted)}
  @media (max-width:900px){
    /* на телефоне цифры уезжают под текст, иначе они наползают на заголовок */
    .hero{min-height:0;flex-direction:column;align-items:stretch}
    .hero-in{padding:28px 22px 20px;max-width:100%}
    .hero h1{font-size:26px} .hero p{font-size:14.5px}
    .hero-cta .btn{flex:1;min-width:140px}
    .hero-live{position:static;max-width:100%;justify-content:flex-start;padding:0 22px 22px;gap:8px}
    .hero-live span{flex:1;min-width:96px;padding:9px 12px} .hero-live b{font-size:18px}
    .hero:after{background:linear-gradient(180deg, color-mix(in srgb,var(--bg) 86%,transparent) 0%, color-mix(in srgb,var(--bg) 66%,transparent) 60%, color-mix(in srgb,var(--bg) 80%,transparent) 100%)}
  }
  @media (prefers-reduced-motion:reduce){ .hero canvas{opacity:.75} }

  /* ── Поддержка: одна кнопка, видна в любом разделе ───────────────────────── */
  .inst{position:fixed;left:22px;bottom:22px;z-index:60;display:none;gap:13px;align-items:flex-start;
    max-width:min(340px,calc(100vw - 44px));padding:14px 15px;border-radius:15px;
    background:var(--panel);border:1px solid var(--line);box-shadow:0 14px 40px color-mix(in srgb,var(--bg) 45%,transparent)}
  .inst.on{display:flex}
  .inst img{width:42px;height:42px;border-radius:11px;flex:none}
  .inst b{display:block;font:700 14.5px Onest;margin-bottom:3px}
  .inst p{margin:0 0 10px;font-size:12.8px;color:var(--muted);line-height:1.45}
  .inst .no{position:absolute;top:8px;right:11px;background:none;border:0;color:var(--muted);
    font-size:20px;line-height:1;cursor:pointer;padding:0}
  @media(max-width:640px){ .inst{left:12px;right:12px;bottom:84px;max-width:none} }
  .sup-btn{position:fixed;right:22px;bottom:22px;z-index:60;display:flex;align-items:center;gap:9px;
    padding:12px 18px;border-radius:30px;border:1px solid color-mix(in srgb,var(--indigo) 38%,transparent);cursor:pointer;
    background:linear-gradient(120deg, color-mix(in srgb,var(--plum) 95%,transparent), color-mix(in srgb,var(--indigo) 92%,transparent));color:var(--bg);
    font:700 13.5px Onest;box-shadow:0 12px 32px color-mix(in srgb,var(--bg) 45%,transparent)}
  .sup-btn svg{width:17px;height:17px}
  .sup-win{position:fixed;right:22px;bottom:22px;z-index:61;width:min(380px,calc(100vw - 32px));
    height:min(540px,72vh);border-radius:20px;background:var(--panel);border:1px solid var(--line);
    display:none;flex-direction:column;overflow:hidden;box-shadow:0 26px 70px color-mix(in srgb,var(--bg) 55%,transparent)}
  .sup-win.on{display:flex}
  .sup-top{display:flex;align-items:center;gap:10px;padding:15px 17px;border-bottom:1px solid var(--line)}
  .sup-top b{font:700 15px Onest} .sup-top .sub{font-size:12px;color:var(--muted)}
  .sup-top button{margin-left:auto;background:none;border:0;color:var(--muted);font-size:24px;cursor:pointer;line-height:1}
  .sup-log{flex:1;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:10px}
  .sup-log div{max-width:88%;padding:10px 13px;border-radius:14px;font-size:14px;line-height:1.5}
  .sup-log .them{background:var(--panel2);border:1px solid var(--line);align-self:flex-start;border-bottom-left-radius:5px}
  .sup-log .me{background:var(--plum);color:var(--btn-ink);align-self:flex-end;border-bottom-right-radius:5px}
  .sup-in{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line)}
  .sup-in input{flex:1;padding:11px 13px;border-radius:11px;border:1px solid var(--line);
    background:var(--panel2);color:var(--text);font:14.5px inherit}
  .sup-in button{border:0;border-radius:11px;background:var(--plum);color:var(--btn-ink);padding:0 15px;cursor:pointer;font-weight:700}
  .sup-human{padding:0 12px 12px}
  .sup-human button{width:100%;border:1px solid color-mix(in srgb,var(--coral) 40%,transparent);background:var(--sun-dim);
    color:var(--sun-hi);border-radius:11px;padding:10px;cursor:pointer;font:600 13px Onest}

  /* ── Инструмент не из тарифа: виден, но под замком ───────────────────────── */
  .bt.lock{cursor:pointer}
  .bt.lock .btband,.bt.lock .cap b{opacity:.45}
  .bt.lock:after{opacity:.2}
  .bt .lockmark{position:absolute;top:13px;right:13px;z-index:3;display:flex;align-items:center;justify-content:center;
    padding:7px;border-radius:50%;background:var(--sun-dim);border:1px solid color-mix(in srgb,var(--coral) 40%,transparent);
    color:var(--sun-hi)}
  .bt .lockmark svg{width:14px;height:14px}
  .bt.lock:hover{border-color:color-mix(in srgb,var(--coral) 55%,transparent)}
  .lockwin .what{background:var(--panel2);border:1px solid var(--line);border-radius:14px;
    padding:14px 16px;font-size:14px;line-height:1.55;color:var(--text);margin:14px 0}
  .lockwin .qr{display:block;width:190px;height:190px;border-radius:12px;background:#fff;padding:10px;margin:14px auto 6px}

  /* ── контент-план: сетка публикаций ─────────────────────────────────────── */
  .plan{display:grid;gap:10px}
  .prow{display:grid;grid-template-columns:70px 130px 1fr auto;gap:12px;align-items:center;
    background:var(--panel2);border:1px solid var(--line);border-radius:14px;padding:12px 14px}
  .prow .d{font:700 14px Onest;color:var(--sun)}
  .prow .pl{font:600 12px Inter;color:var(--plum-hi);background:color-mix(in srgb,var(--plum) 16%,transparent);
    border-radius:20px;padding:5px 11px;text-align:center}
  .prow .tp b{display:block;font:600 14px Onest} .prow .tp span{font-size:12.5px;color:var(--muted)}
  .prow.done{border-color:var(--ok-dim);background:linear-gradient(90deg,var(--ok-dim),transparent 46%)}
  .prow.done .d{color:var(--ok)}
  .pimg{grid-column:1/-1;margin-top:10px}
  .pimg img{max-width:260px;border-radius:11px;border:1px solid var(--line);display:block}
  .prow .act{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
  @media(max-width:820px){ .prow{grid-template-columns:60px 1fr;grid-auto-flow:row}
    .prow .act{grid-column:1/-1;justify-content:flex-start} }
  .ptext{grid-column:1/-1;margin-top:10px}
  /* ── новости: карточки, а не список ссылок ──────────────────────────────── */
  /* ── SWOT плашками: видно с одного взгляда ──────────────────────────────── */
  .swot{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
  .sw{background:var(--panel2);border:1px solid var(--line);border-radius:15px;padding:15px 16px;
    display:flex;flex-direction:column;gap:8px;border-left-width:3px}
  .sw b{font:700 13px Onest;letter-spacing:.2px}
  .sw span{font-size:13px;line-height:1.5;color:var(--text);padding-left:14px;position:relative}
  .sw span:before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;
    background:currentColor;opacity:.6}
  .sw.ok{border-left-color:var(--indigo)} .sw.ok b{color:var(--indigo-hi)}
  .sw.warn{border-left-color:var(--plum)} .sw.warn b{color:var(--plum-hi)}
  .sw.sun{border-left-color:var(--sun)} .sw.sun b{color:var(--sun-hi)}
  .sw.bad{border-left-color:var(--danger)} .sw.bad b{color:var(--danger)}
  /* «Глубокий разбор»: растущее поле, сворачиваемые уточнения, карточки конкурентов */
  textarea.grow{overflow:hidden;min-height:64px;line-height:1.5}
  .moreopt{margin-top:12px;border:1px solid var(--line);border-radius:14px;padding:0 14px;background:var(--panel2)}
  .moreopt>summary{cursor:pointer;padding:13px 2px;font:600 13.5px Onest;color:var(--text);list-style:none}
  .moreopt>summary::-webkit-details-marker{display:none}
  .moreopt>summary:before{content:"⌄  ";color:var(--muted)}
  .moreopt[open]>summary:before{content:"⌃  "}
  .moreopt[open]{padding-bottom:14px}
  .rivals{display:grid;grid-template-columns:repeat(auto-fit,minmax(248px,1fr));gap:12px}
  .rv{background:var(--panel2);border:1px solid var(--line);border-radius:15px;padding:14px 16px;
    display:flex;flex-direction:column;gap:6px;border-left:3px solid var(--plum)}
  .rv .nm{font:700 14px Onest;color:var(--text)}
  .rv .li{font-size:13px;line-height:1.45;color:var(--text);padding-left:15px;position:relative}
  .rv .li.wk{color:var(--muted)}
  .rv .li:before{content:"";position:absolute;left:0;top:7px;width:6px;height:6px;border-radius:50%;background:var(--ok);opacity:.85}
  .rv .li.wk:before{background:var(--danger);opacity:.7}
  .rv .num{font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:8px;margin-top:2px}
  .chips2{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
  .chip2{background:var(--panel2);border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:13px;color:var(--text)}
  .chip2.edge{border-color:var(--ok);color:var(--ok)}
  .chip2.free{border-color:var(--sun);color:var(--sun-hi)}
  .autopost{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:18px;
    padding:15px 18px;border-radius:15px;border:1px solid color-mix(in srgb,var(--coral) 35%,transparent);
    background:linear-gradient(100deg, color-mix(in srgb,var(--coral) 10%,transparent), color-mix(in srgb,var(--plum) 10%,transparent))}
  .autopost b{display:block;font:700 14px Onest;margin-bottom:4px}
  .autopost span{font-size:12.5px;color:var(--muted);line-height:1.5;display:block;max-width:620px}
  .autopost .btn{margin-left:auto}
  .newsgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
  .ncard{display:flex;flex-direction:column;gap:7px;padding:15px 16px;border-radius:15px;
    background:var(--panel2);border:1px solid var(--line);text-decoration:none;color:var(--text);
    transition:.16s;position:relative;overflow:hidden}
  .ncard:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;
    background:linear-gradient(90deg,var(--plum),var(--sun))}
  .ncard:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--coral) 45%,transparent);
    box-shadow:0 12px 28px color-mix(in srgb,var(--bg) 35%,transparent)}
  .ncard .site{font:600 11px Inter;letter-spacing:.4px;color:var(--sun);text-transform:lowercase}
  .ncard b{font:600 14.5px Onest;line-height:1.35}
  .ncard .txt{font-size:12.5px;color:var(--muted);line-height:1.5}
  .rolechip{margin-left:auto;max-width:100%;font:600 11.5px Inter;color:var(--plum-hi);
    background:color-mix(in srgb,var(--plum) 16%,transparent);border:1px solid color-mix(in srgb,var(--plum) 30%,transparent);
    padding:5px 12px;border-radius:20px;white-space:normal;line-height:1.5}
  .gtitle{font:600 11px Inter;letter-spacing:.9px;text-transform:uppercase;color:var(--muted);
    margin:26px 0 11px}
  .gtitle:first-of-type{margin-top:4px}
  .work:not(:empty){margin-top:16px}
  /* Инструменты в стиле «Обзора»: спокойная карточка с иллюстрацией-шапкой и подсветкой за
     курсором. Без пульсации и цветных пятен — ровно, премиально, как на дашборде. */
  .bt{position:relative;overflow:hidden;background:var(--panel);isolation:isolate;
    border:1px solid var(--line);border-radius:16px;cursor:pointer;
    display:flex;flex-direction:column;transition:transform .18s, border-color .18s, box-shadow .18s}
  .bt::before{content:"";position:absolute;inset:0;z-index:0;opacity:0;pointer-events:none;transition:opacity .25s;
    background:radial-gradient(240px circle at var(--mx,50%) var(--my,120%), color-mix(in srgb,var(--plum-hi) 13%,transparent), transparent 60%)}
  .bt:hover::before{opacity:1}
  .bt:hover{transform:translateY(-2px);border-color:var(--olive-dim);box-shadow:0 14px 34px color-mix(in srgb,var(--bg) 42%,transparent)}
  .bt.on{border-color:var(--plum);box-shadow:0 0 0 1px var(--plum) inset}
  .bt .btband{position:relative;z-index:1;height:90px;display:flex;align-items:center;justify-content:center;
    overflow:hidden;border-bottom:1px solid var(--line);
    background:radial-gradient(color-mix(in srgb,var(--muted) 14%,transparent) 1px,transparent 1.2px) 0 0/13px 13px,
      linear-gradient(180deg,color-mix(in srgb,var(--plum) 10%,transparent),transparent 88%)}
  .bt .btband>*{opacity:.92}
  .bt .cap{position:relative;z-index:1;padding:12px 15px 14px}
  .bt .cap b{display:block;font:700 14.5px Onest;line-height:1.25}
  .bt .cap span{display:block;font-size:11.8px;color:var(--muted);margin-top:4px;line-height:1.45}
  .bt .cap .tag{display:inline-block;margin-left:7px;vertical-align:1px;font:600 9px Inter;letter-spacing:.4px;
    text-transform:uppercase;color:var(--plum-hi);background:color-mix(in srgb,var(--plum) 20%,transparent);padding:2px 7px;border-radius:20px}

  /* живые превью — только CSS, без таймеров и библиотек */
  @keyframes bt-type{0%{width:0}55%{width:100%}100%{width:100%}}
  @keyframes bt-fade{0%,100%{opacity:.25}50%{opacity:1}}
  @keyframes bt-rise{0%{transform:scaleY(.25)}100%{transform:scaleY(1)}}
  @keyframes bt-slide{0%,30%{transform:translateX(0)}40%,70%{transform:translateX(-33.33%)}80%,100%{transform:translateX(-66.66%)}}
  @keyframes bt-scan{0%{transform:translateY(0)}100%{transform:translateY(300%)}}
  @keyframes bt-pulse{0%{transform:scale(.6);opacity:.9}100%{transform:scale(2.4);opacity:0}}
  @keyframes bt-draw{0%{stroke-dashoffset:240}45%,100%{stroke-dashoffset:0}}
  .lv{width:100%;display:flex;flex-direction:column;gap:7px;max-width:150px}
  .lv i{display:block;height:7px;border-radius:4px;background:color-mix(in srgb,var(--ov) 13%,transparent)}
  .lv i.fill{background:var(--plum-hi);animation:bt-type 2.6s cubic-bezier(.4,0,.2,1) infinite}
  .lv i:nth-child(2).fill{animation-delay:.35s} .lv i:nth-child(3).fill{animation-delay:.7s}
  .stars{display:flex;gap:6px}
  .stars svg{width:19px;height:19px;color:var(--plum-hi);animation:bt-fade 2.2s infinite}
  .stars svg:nth-child(2){animation-delay:.25s} .stars svg:nth-child(3){animation-delay:.5s}
  .stars svg:nth-child(4){animation-delay:.75s} .stars svg:nth-child(5){animation-delay:1s}
  .bars2{display:flex;align-items:flex-end;gap:7px;height:74px}
  .bars2 b{width:15px;border-radius:4px 4px 0 0;background:color-mix(in srgb,var(--ov) 16%,transparent);transform-origin:bottom;
    animation:bt-rise 1.8s cubic-bezier(.2,.9,.3,1) infinite alternate}
  .bars2 b.us{background:var(--plum-hi)}
  .bars2 b:nth-child(2){animation-delay:.2s} .bars2 b:nth-child(3){animation-delay:.4s}
  .bars2 b:nth-child(4){animation-delay:.6s}
  .slides{width:150px;overflow:hidden;border-radius:8px}
  .slides div{display:flex;width:300%;animation:bt-slide 5s ease-in-out infinite}
  .slides span{flex:1;height:74px;margin-right:8px;border-radius:8px;background:color-mix(in srgb,var(--ov) 9%,transparent);
    border:1px solid color-mix(in srgb,var(--ov) 10%,transparent);position:relative}
  .slides span:after{content:"";position:absolute;left:10px;top:12px;width:52%;height:6px;border-radius:3px;
    background:var(--plum-hi);opacity:.75}
  .tbl{position:relative;width:158px;height:74px;border-radius:8px;overflow:hidden;
    border:1px solid color-mix(in srgb,var(--ov) 12%,transparent);background:color-mix(in srgb,var(--ov) 4%,transparent)}
  .tbl u{position:absolute;left:0;right:0;height:1px;background:color-mix(in srgb,var(--ov) 12%,transparent)}
  .tbl u:nth-of-type(1){top:25%} .tbl u:nth-of-type(2){top:50%} .tbl u:nth-of-type(3){top:75%}
  .tbl s{position:absolute;left:0;right:0;top:0;height:25%;background:color-mix(in srgb,var(--plum-hi) 22%,transparent);
    animation:bt-scan 3s steps(4) infinite}
  .ring{position:relative;width:64px;height:64px;display:flex;align-items:center;justify-content:center}
  .ring em{position:absolute;inset:0;border:2px solid color-mix(in srgb,var(--plum-hi) 50%,transparent);border-radius:50%;
    animation:bt-pulse 3s ease-out infinite}
  .ring em:nth-child(2){animation-delay:1s} .ring em:nth-child(3){animation-delay:2s}
  .ring svg{width:26px;height:26px;color:var(--plum-hi);position:relative}
  .path svg{width:150px;height:74px}
  .path path{stroke:var(--plum-hi);stroke-width:2.5;fill:none;stroke-linecap:round;
    stroke-dasharray:240;stroke-dashoffset:0;animation:bt-draw 4.5s ease-in-out infinite}
  .bubble{display:flex;gap:5px;align-items:center;background:color-mix(in srgb,var(--ov) 8%,transparent);
    border-radius:16px 16px 16px 4px;padding:12px 15px}
  .bubble i{width:7px;height:7px;border-radius:50%;background:var(--plum-hi);animation:bt-fade 1.3s infinite}
  .bubble i:nth-child(2){animation-delay:.2s} .bubble i:nth-child(3){animation-delay:.4s}
  @keyframes bt-fly{0%{transform:translate(0,6px) scale(.7);opacity:0}20%{opacity:1}
    100%{transform:translate(32px,-36px) scale(1);opacity:0}}
  @keyframes bt-build{0%,100%{transform:scaleX(.35)}45%,70%{transform:scaleX(1)}}
  @keyframes bt-say{0%,45%{opacity:.2;transform:translateY(4px)}55%,100%{opacity:1;transform:none}}
  @keyframes bt-day{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--plum-hi) 55%,transparent)}50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--plum-hi) 0%,transparent)}}
  .env{position:relative;width:104px;height:70px;border-radius:10px;border:1px solid color-mix(in srgb,var(--ov) 18%,transparent);
    background:color-mix(in srgb,var(--ov) 5%,transparent)}
  .env:after{content:"";position:absolute;inset:0;background:color-mix(in srgb,var(--plum-hi) 60%,transparent);
    clip-path:polygon(3% 7%, 50% 54%, 97% 7%, 97% 15%, 50% 62%, 3% 15%)}
  .env b{position:absolute;left:50%;top:7px;margin-left:-9px;width:18px;height:13px;border-radius:3px;
    background:var(--plum-hi);animation:bt-fly 2.8s ease-out infinite}
  .env b:nth-child(2){animation-delay:.6s} .env b:nth-child(3){animation-delay:1.2s}
  .site{width:150px;border-radius:9px;overflow:hidden;border:1px solid color-mix(in srgb,var(--ov) 14%,transparent);background:color-mix(in srgb,var(--ov) 4%,transparent)}
  .site u{display:flex;gap:4px;padding:6px 8px;background:color-mix(in srgb,var(--ov) 6%,transparent)}
  .site u i{width:5px;height:5px;border-radius:50%;background:color-mix(in srgb,var(--ov) 30%,transparent)}
  .site s{display:block;height:9px;margin:7px 8px;border-radius:3px;background:var(--plum-hi);opacity:.8;
    transform-origin:left;animation:bt-build 2.8s ease-in-out infinite}
  .site s:nth-of-type(2){background:color-mix(in srgb,var(--ov) 18%,transparent);animation-delay:.3s}
  .site s:nth-of-type(3){background:color-mix(in srgb,var(--ov) 18%,transparent);animation-delay:.6s;width:60%}
  .talk{display:flex;flex-direction:column;gap:8px;width:152px}
  .talk i{display:block;height:15px;border-radius:12px 12px 12px 4px;background:color-mix(in srgb,var(--ov) 13%,transparent);width:72%;
    animation:bt-say 3s ease-in-out infinite}
  .talk i.me{align-self:flex-end;border-radius:12px 12px 4px 12px;background:var(--plum-hi);width:55%;animation-delay:.5s}
  .talk i:nth-child(3){width:60%;animation-delay:1s}
  @keyframes bt-wave{0%,100%{height:14px;opacity:.5}50%{height:46px;opacity:1}}
  .pic{position:relative;width:124px;height:80px;border-radius:12px;overflow:hidden;
    border:1px solid color-mix(in srgb,var(--ov) 16%,transparent);
    background:linear-gradient(180deg,color-mix(in srgb,var(--plum-hi) 32%,transparent),color-mix(in srgb,var(--indigo) 14%,transparent))}
  .pic i{position:absolute;left:17px;top:14px;width:18px;height:18px;border-radius:50%;
    background:var(--plum-hi);animation:bt-fade 3s ease-in-out infinite}
  .pic b{position:absolute;left:0;right:0;bottom:0;height:52%;background:color-mix(in srgb,var(--ov) 20%,transparent);
    clip-path:polygon(0 100%, 27% 26%, 49% 100%, 63% 48%, 100% 100%)}
  .wave{display:flex;align-items:center;gap:6px;height:70px}
  .wave i{width:7px;height:14px;border-radius:4px;background:var(--plum-hi);
    animation:bt-wave 1.5s ease-in-out infinite}
  .wave i:nth-child(2){animation-delay:.12s} .wave i:nth-child(3){animation-delay:.24s}
  .wave i:nth-child(4){animation-delay:.36s} .wave i:nth-child(5){animation-delay:.48s}
  .wave i:nth-child(6){animation-delay:.6s} .wave i:nth-child(7){animation-delay:.72s}
  @keyframes bt-stack{0%,100%{transform:translateX(0);opacity:.35}50%{transform:translateX(9px);opacity:1}}
  @keyframes bt-vote{0%,100%{transform:translateY(0);opacity:.4}50%{transform:translateY(-7px);opacity:1}}
  @keyframes bt-aim{0%{transform:scale(.5);opacity:.9}100%{transform:scale(1.35);opacity:0}}
  .aim{position:relative;width:70px;height:70px}
  .aim i{position:absolute;inset:0;border:2px solid var(--plum-hi);border-radius:50%;
    animation:bt-aim 2.6s ease-out infinite}
  .aim i:nth-child(2){animation-delay:.85s} .aim i:nth-child(3){animation-delay:1.7s}
  .pick{display:flex;flex-direction:column;gap:8px;width:150px}
  .pick i{display:block;height:14px;border-radius:7px;background:color-mix(in srgb,var(--ov) 12%,transparent)}
  .pick i.on{background:var(--plum-hi);width:78%}
  .paper{position:relative;width:112px;height:74px;border-radius:8px;background:color-mix(in srgb,var(--ov) 5%,transparent);
    border:1px solid color-mix(in srgb,var(--ov) 14%,transparent);padding:12px 12px 0}
  .paper s{display:block;height:5px;border-radius:3px;background:color-mix(in srgb,var(--ov) 18%,transparent);margin-bottom:7px;
    text-decoration:none}
  .paper s:first-child{background:var(--plum-hi);width:60%}
  .paper s:nth-child(3){width:72%}
  .paper b{position:absolute;right:10px;bottom:10px;width:24px;height:24px;border-radius:50%;
    border:2px solid var(--plum-hi);opacity:.7}
  .panel4{display:flex;align-items:flex-end;gap:9px;height:66px}
  .panel4 i{width:15px;height:15px;border-radius:50%;background:var(--plum-hi);opacity:.4;
    animation:bt-vote 2.4s ease-in-out infinite}
  .panel4 i:nth-child(2){animation-delay:.3s;background:var(--indigo-hi)}
  .panel4 i:nth-child(3){animation-delay:.6s}
  .panel4 i:nth-child(4){animation-delay:.9s;background:var(--coral,var(--coral))}
  .layers{display:flex;flex-direction:column;gap:7px;width:150px}
  .layers i{display:block;height:9px;border-radius:4px;background:var(--plum-hi);opacity:.35;
    animation:bt-stack 3.2s ease-in-out infinite}
  .layers i:nth-child(2){animation-delay:.25s;width:88%}
  .layers i:nth-child(3){animation-delay:.5s;width:76%}
  .layers i:nth-child(4){animation-delay:.75s;width:64%}
  .layers i:nth-child(5){animation-delay:1s;width:52%}
  .news{width:132px;border:1px solid color-mix(in srgb,var(--ov) 16%,transparent);border-radius:10px;padding:11px 12px;
    background:color-mix(in srgb,var(--ov) 4%,transparent)}
  .news u{display:block;height:8px;width:52%;border-radius:3px;background:var(--plum-hi);margin-bottom:9px}
  .news i{display:block;height:5px;border-radius:3px;background:color-mix(in srgb,var(--ov) 16%,transparent);margin-bottom:6px}
  .news i.s{width:64%} .news i:last-child{width:44%;margin-bottom:0}
  .cal{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;width:112px}
  .cal i{height:13px;border-radius:3px;background:color-mix(in srgb,var(--ov) 11%,transparent)}
  .cal i.on{background:var(--plum-hi);animation:bt-day 2.4s ease-out infinite}
  /* Движение работает, только когда его немного: четыре живые плитки, остальные спокойные */
  .bt .btband *{animation:none!important}   /* иллюстрации статичные — спокойно, как в «Обзоре» */
  @media (max-width:640px){ .bento{grid-template-columns:repeat(2,1fr)} }
  @media (prefers-reduced-motion:reduce){
    .lv i.fill,.stars svg,.bars2 b,.slides div,.tbl s,.ring em,.path path,.bubble i,
    .env b,.site s,.talk i,.cal i,.pic i,.wave i{animation:none}
    .path path{stroke-dashoffset:0}
  }
  .tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:14px}
  .tool{position:relative;overflow:hidden;background:var(--panel2);border:1px solid var(--line);
    border-radius:16px;padding:18px 16px 16px;cursor:pointer;transition:transform .16s, border-color .16s, box-shadow .16s}
  /* у каждого инструмента своё световое пятно — карточки перестают быть одинаковыми */
  .tool:before{content:"";position:absolute;inset:-40% 45% 55% -25%;border-radius:50%;
    background:radial-gradient(closest-side, var(--glow, color-mix(in srgb,var(--plum) 55%,transparent)), transparent 70%);
    opacity:.5;transition:opacity .2s, transform .3s}
  .tool:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--plum-hi) 45%,transparent);box-shadow:0 10px 26px color-mix(in srgb,var(--bg) 35%,transparent)}
  .tool:hover:before{opacity:.85;transform:scale(1.15)}
  .tool.on{border-color:var(--plum);box-shadow:0 0 0 1px var(--plum) inset}
  .tool.on:before{opacity:1}
  .tool .ic{position:relative;width:42px;height:42px;border-radius:12px;display:flex;align-items:center;
    justify-content:center;background:color-mix(in srgb,var(--ov) 5%,transparent);border:1px solid color-mix(in srgb,var(--ov) 8%,transparent);margin-bottom:12px}
  .tool .ic svg{width:22px;height:22px;color:var(--plum-hi)}
  .tool .nm{position:relative;font:700 14.5px Onest;line-height:1.3}
  .tool .sub{position:relative;font-size:12px;color:var(--muted);margin-top:5px;line-height:1.45}
  .tool .tag{position:absolute;top:14px;right:14px;font:600 10px Inter;letter-spacing:.4px;
    text-transform:uppercase;color:var(--plum-hi);background:color-mix(in srgb,var(--plum) 18%,transparent);
    padding:3px 8px;border-radius:20px}
  /* компактная строка расхода вместо карточки на пол-экрана */
  .usage{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:var(--panel);
    border:1px solid var(--line);border-radius:12px;padding:10px 14px;margin-top:12px}
  .usage .u{display:flex;align-items:center;gap:9px;font-size:12.5px;color:var(--muted)}
  .usage .u b{color:var(--text);font:700 13.5px Onest}
  .usage .mini{width:66px;height:5px;border-radius:4px;background:var(--panel2);
    border:1px solid var(--line);overflow:hidden}
  .usage .mini i{display:block;height:100%;background:var(--plum)}
  .usage .mini i.hi{background:var(--plum-hi)} .usage .mini i.bad{background:var(--danger)}
  /* ── Энергия ⚡︎ + переключатель База/Максимум ── */
  .enecard{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin-top:12px}
  .enetop{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:9px}
  .enebolt{font-weight:700;color:var(--plum-hi)}
  .enenum{font-weight:700} .enenum b{color:var(--plum-hi)}
  .enemin{margin-left:auto;font-size:12.5px;color:var(--muted)} .enemin b{color:var(--text)}
  .enebar{height:10px;background:var(--panel2);border-radius:6px;overflow:hidden}
  .enebar i{display:block;height:100%;background:var(--plum);border-radius:6px;transition:width .3s}
  .enebar i.bad{background:var(--danger)}
  .enetrans{margin-top:9px;font-size:12px;color:var(--muted)} .enetrans b{color:var(--text);font-weight:700}
  .enefoot{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:11px}
  .enehead{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
  .enehead.compact{font-size:12.5px;color:var(--muted);margin:2px 0 12px}
  .enehead.compact .enebolt{color:var(--sun)}
  .modetog{display:inline-flex;align-items:center;gap:6px}
  .modetog .mt{display:inline-flex;flex-direction:column;align-items:center;gap:1px;border:1px solid var(--line);
    background:transparent;color:var(--muted);border-radius:9px;padding:5px 12px;font:600 12.5px Onest;cursor:pointer;line-height:1.15}
  .modetog .mt i{font-style:normal;font-weight:400;font-size:10.5px;opacity:.8}
  .modetog .mt.on{background:var(--plum);color:#fff;border-color:var(--plum)}
  .mtcost{font-size:12px;color:var(--muted)} .mtcost b{color:var(--sun);font-weight:700}
  .tool:hover{border-color:var(--olive-dim);transform:translateY(-1px)}
  .tool.on{border-color:var(--olive);background:var(--olive-dim)}
  .tool svg{width:24px;height:24px;color:var(--plum-hi);display:block;margin-bottom:8px}.tool .nm{font-weight:700;margin-top:6px;font-size:14px}
  .out{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:14px;white-space:pre-wrap;line-height:1.6;margin-top:12px}
  /* Результат как документ-карточка: рендер markdown, читаемая мера, типографика (аудит P0-1/P1) */
  .result-doc{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px 22px;margin-top:12px;line-height:1.62;color:var(--text);font-size:15px}
  .result-doc>*:first-child{margin-top:0}.result-doc>*:last-child{margin-bottom:0}
  .result-doc h3{font-size:18px;font-weight:700;margin:18px 0 8px;color:#fff;letter-spacing:.005em}
  .result-doc h4{font-size:15.5px;font-weight:700;margin:15px 0 6px;color:var(--text)}
  .result-doc p{margin:0 0 11px;max-width:70ch}
  .result-doc ul{margin:0 0 12px;padding-left:2px;list-style:none}
  .result-doc li{position:relative;padding-left:19px;margin:5px 0;max-width:68ch}
  .result-doc li::before{content:"";position:absolute;left:3px;top:9px;width:6px;height:6px;border-radius:50%;background:var(--plum)}
  .result-doc strong{color:#fff;font-weight:700}.result-doc em{color:var(--plum-hi);font-style:normal}
  .result-doc a{color:var(--plum-hi)}
  .md-tw{overflow-x:auto;margin:6px 0 14px}
  .result-doc table.md-table{border-collapse:collapse;width:100%;font-size:13.5px;min-width:min(520px,100%)}
  .result-doc .md-table th{background:var(--panel2);color:#fff;font-weight:700;text-align:left;
    padding:9px 12px;border:1px solid var(--line);white-space:nowrap}
  .result-doc .md-table td{padding:8px 12px;border:1px solid var(--line);vertical-align:top;color:var(--text)}
  .result-doc .md-table tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--ov) 2%,transparent)}
  .actgrp{display:inline-flex;gap:8px;flex-wrap:wrap;padding-right:10px;margin-right:2px;border-right:1px solid var(--line)}
  .actgrp:last-of-type{border-right:0;padding-right:0}
  .bar{height:6px;background:var(--bg);border:1px solid var(--line);border-radius:6px;overflow:hidden;margin-top:6px}
  .bar i{display:block;height:100%;background:var(--olive-dim)}
  .msg{padding:10px 13px;border-radius:12px;margin-bottom:9px;max-width:82%;white-space:pre-wrap;line-height:1.55}
  .msg.u{background:var(--panel2);margin-left:auto;border:1px solid var(--line)}
  .msg.a{background:var(--panel2);border:1px solid var(--olive-dim)}
  .card h3 svg{width:20px;height:20px;flex:none;color:var(--plum-hi)}
  .steps2{display:flex;flex-wrap:wrap;gap:10px}
  .steps2 .st{display:flex;align-items:center;gap:8px;padding:7px 13px;border-radius:20px;
    border:1px solid var(--line);background:var(--panel2);font-size:12.5px;color:var(--muted)}
  .steps2 .st i{width:8px;height:8px;border-radius:50%;background:var(--line);flex:none}
  .steps2 .st.ok{color:var(--text)} .steps2 .st.ok i{background:var(--plum-hi)}
  .steps2 .st.now{color:var(--text);border-color:var(--plum)}
  .steps2 .st.now i{background:var(--plum);animation:bt-fade 1.2s infinite}
  .hrow{border-top:1px solid var(--line);padding:14px 0}
  .hrow.fresh{border-left:3px solid var(--sun);padding-left:12px;background:color-mix(in srgb,var(--coral) 4%,transparent)}
  .hrow:first-of-type{border-top:0;padding-top:4px}
  .hrow .top{display:flex;align-items:baseline;gap:10px}
  .hrow .top b{font:600 14.5px Onest}
  .gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:12px}
  .gal img{width:100%;border-radius:10px;border:1px solid var(--line);display:block}
  .gal.even img{aspect-ratio:1;object-fit:cover}
  .bigwin{max-width:min(920px,94vw)}
  .bigimg{position:relative;display:flex;align-items:center;justify-content:center}
  .bigimg img{max-width:100%;max-height:72vh;border-radius:14px;display:block}
  .navshot{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;
    border-radius:50%;border:1px solid var(--line);background:color-mix(in srgb,var(--bg) 72%,transparent);color:var(--text);
    font:300 26px/1 Onest;cursor:pointer;display:grid;place-items:center;backdrop-filter:blur(4px)}
  .navshot:hover{background:var(--panel2)}
  .navshot.l{left:10px} .navshot.r{right:10px}
  .markbox{display:flex;align-items:center;gap:9px;cursor:pointer;color:var(--text);
    font-size:14px;margin:0;text-transform:none;letter-spacing:0;font-weight:500}
  .markbox input{width:17px;height:17px;margin:0}
  .poitem{border-left:2px solid var(--olive-dim);padding-left:11px;margin-top:12px}
  /* плитка инфографики: строка-заголовок и три пункта под ней */
  .cards3{display:flex;flex-direction:column;gap:5px;width:46px}
  .cards3 u{height:7px;border-radius:3px;background:var(--plum-hi);width:78%}
  .cards3 i{height:4px;border-radius:2px;background:var(--olive-dim)}
  .cards3 i:nth-child(2){width:100%} .cards3 i:nth-child(3){width:86%} .cards3 i:nth-child(4){width:64%}
  .shot{position:relative;cursor:pointer;border-radius:10px;overflow:hidden;border:2px solid transparent;transition:.15s}
  .shot:hover{border-color:var(--sun);transform:translateY(-2px)}
  .shot:after{content:"открыть";position:absolute;inset:auto 0 0 0;padding:7px;text-align:center;
    background:linear-gradient(0deg,color-mix(in srgb,var(--bg) 75%,transparent),transparent);font:600 11.5px Inter;color:#fff;opacity:0;transition:.15s}
  .shot:hover:after{opacity:1}
  .ok2{display:flex;align-items:center;gap:7px;font-size:14px;cursor:pointer}
  .ok2 input{width:16px;height:16px}
  .logobox{display:flex;align-items:center;justify-content:center;min-height:96px;padding:12px;
    border:1px dashed var(--line);border-radius:12px;background:var(--panel2)}
  .logobox img{max-height:80px;max-width:100%;display:block}
  .colchip{display:inline-flex;align-items:center;gap:7px;background:var(--panel2);
    border:1px solid var(--line);border-radius:20px;padding:4px 10px 4px 4px}
  .colchip input{width:26px;height:26px;padding:0;border:0;border-radius:50%;background:none}
  .colchip i{font:600 11.5px Inter;color:var(--muted);font-style:normal}
  .phpick{position:relative;display:block;cursor:pointer;border-radius:10px;overflow:hidden;
    border:2px solid transparent;transition:.15s}
  .phpick.on{border-color:var(--plum)}
  .phpick img{width:100%;display:block;border-radius:8px}
  .phpick input{position:absolute;top:8px;left:8px;width:18px;height:18px;z-index:2}
  .spin{display:inline-block;width:13px;height:13px;border:2px solid var(--olive-dim);border-top-color:transparent;border-radius:50%;animation:sp .8s linear infinite;vertical-align:-2px}
  @keyframes sp{to{transform:rotate(360deg)}}
  /* Голосовой штрих — фирменная шкала вместо обычного прогресс-бара */
  .modal{position:fixed;inset:0;background:color-mix(in srgb,var(--bg) 72%,transparent);display:grid;place-items:center;z-index:20;padding:20px}
  .modal .win{background:var(--panel);border:1px solid var(--line);border-radius:18px;max-width:440px;width:100%;
    padding:24px;box-shadow:0 30px 80px -30px #000}
  .modal h3{margin:0 0 6px;font-size:18px}
  .modal .big{font-family:Onest;font-weight:800;font-size:30px;margin:14px 0 2px}
  .modal .fine{font-size:12.5px;color:var(--muted);line-height:1.5}
  .ovhead{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
  .quick{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
  .quick button{text-align:left;background:var(--panel2);border:1px solid var(--line);border-radius:12px;
    padding:14px;cursor:pointer;color:var(--text);font:inherit;transition:.15s}
  .quick button:hover{border-color:var(--plum);transform:translateY(-1px)}
  .quick b{display:block;font-family:Onest;font-size:13.5px}
  .quick span{display:block;font-size:12px;color:var(--muted);margin-top:3px}
  .feat{display:flex;align-items:flex-start;gap:11px;padding:12px 0;border-top:1px solid var(--line)}
  .feat:first-child{border-top:none}
  .feat .ic{width:18px;height:18px;flex:none;margin-top:2px;color:var(--plum-hi)}
  .feat.lock .ic{color:var(--muted)}
  .feat .nm{font-size:14px;font-weight:600}
  .feat.lock .nm{color:var(--muted);font-weight:500}
  .feat .why{font-size:12.5px;color:var(--muted);margin-top:3px;line-height:1.45}
  .feat .act{margin-left:auto;display:flex;align-items:center;gap:9px;flex:none}
  .tagsoon{font-family:"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;
    color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:2px 7px}
  .price{font-family:Onest;font-weight:700;font-size:14px;white-space:nowrap}
  .planpick{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
  .plancard{border:1px solid var(--line);border-radius:14px;padding:16px;background:var(--panel2)}
  .plancard.on{border-color:var(--plum);background:var(--olive-dim)}
  .plancard .pn{font-family:Onest;font-weight:800;font-size:15px}
  .plancard .pt{font-size:12px;color:var(--muted);margin-top:2px}
  .plancard .pp{font-family:Onest;font-weight:800;font-size:20px;margin-top:10px}
  .keyrow{border:1px solid var(--line);border-radius:14px;padding:16px;background:var(--panel2);margin-bottom:12px}
  .keyrow .top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
  .keyrow .nm{font-family:Onest;font-weight:700;font-size:14.5px}
  .keyrow .id{font-family:"IBM Plex Mono",monospace;font-size:11px;color:var(--muted)}
  .keyrow .desc{font-size:13px;color:var(--muted);margin-top:8px;line-height:1.5}
  .keyrow .desc b{color:var(--text);font-weight:600}
  .kgroup{margin:22px 0 6px}
  .khead{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;
    border-top:1px solid var(--line);padding-top:14px}
  .khead .kname{font-family:Onest;font-weight:800;font-size:16px;letter-spacing:.2px}
  .khead .kcount{font-size:12px;color:var(--muted);margin-left:auto;white-space:nowrap}
  .khead .kcount.all{color:var(--indigo)}
  .kabout{font-size:13px;margin:6px 0 14px;line-height:1.5;max-width:74ch}
  .stbl{width:100%;border-collapse:collapse;font-size:13.5px}
  .stbl th{text-align:left;font-weight:600;color:var(--muted);font-size:12px;padding:6px 8px;border-bottom:1px solid var(--line);white-space:nowrap}
  .stbl td{padding:7px 8px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;vertical-align:middle}
  .stbl .n{text-align:right;white-space:nowrap}
  .pbar{height:7px;border-radius:4px;background:var(--panel2);min-width:90px}
  .pbar i{display:block;height:100%;border-radius:4px;background:var(--indigo)}
  .hbars{display:flex;align-items:flex-end;gap:6px;height:160px;padding-top:6px}
  .hb{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;height:100%;justify-content:flex-end;min-width:0}
  .hb i{width:100%;max-width:36px;background:var(--indigo);border-radius:6px 6px 2px 2px;min-height:2px}
  .hb b{font-size:10.5px;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}
  .hb span{font-size:11px;color:var(--muted)}
  .kstat{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;white-space:nowrap;margin-left:auto}
  .kstat i{width:8px;height:8px;border-radius:50%;flex:none;background:var(--muted)}
  .kstat.ok{color:var(--indigo)} .kstat.ok i{background:var(--indigo)}
  .kstat.bad{color:var(--danger)} .kstat.bad i{background:var(--danger)}
  .kstat.empty{color:var(--muted)}
  .mgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:12px}
  .mlabel{font-size:12px;color:var(--muted);margin-bottom:6px}
  .mline{display:flex;align-items:center;gap:10px}
  .mbar{flex:1;height:8px;border-radius:6px;background:var(--panel2);border:1px solid var(--line);overflow:hidden}
  .mbar > i{display:block;height:100%;background:var(--plum)}
  .mbar > i.warn{background:var(--plum-hi)} .mbar > i.bad{background:var(--danger)}
  .mnum{font:600 12.5px/1 "IBM Plex Mono",monospace;color:var(--muted);white-space:nowrap}
  @media (max-width:640px){ .mgrid{grid-template-columns:1fr} }
  .kstat.opt{color:var(--muted)} .kstat.opt i{background:transparent;border:1px solid var(--muted)}
  .swatches{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
  .swatch{width:52px;height:52px;border-radius:10px;border:1px solid var(--line);position:relative}
  .swatch span{position:absolute;left:0;right:0;bottom:-17px;text-align:center;font-family:"IBM Plex Mono",monospace;
    font-size:9px;color:var(--muted)}
  .srcpill{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;
    padding:5px 11px;font-size:12px;color:var(--muted);margin:0 6px 6px 0}
  .srcpill.ok{color:var(--indigo);border-color:color-mix(in srgb,var(--indigo) 40%,transparent)}
  .srcpill.err{color:var(--danger);border-color:color-mix(in srgb,var(--coral) 40%,transparent)}
  .logo-prev{max-height:56px;max-width:180px;border-radius:8px;background:#fff;padding:6px;margin-top:8px}
  .steps{display:flex;align-items:flex-end;gap:3px;height:22px;margin-top:8px}
  .steps i{width:4px;border-radius:99px;display:block;background:var(--panel2)}
  .tool svg,.tile svg{width:22px;height:22px;color:var(--plum-hi)}
  .tool.on svg{color:var(--plum-hi)}
  .brandbars{display:flex;align-items:flex-end;gap:4px;height:18px}
  .brandbars i{width:3px;border-radius:99px;display:block}
  table{width:100%;border-collapse:collapse;font-size:13px}
  th{text-align:left;color:var(--muted);font-weight:600;padding:6px 8px}
  td{padding:6px 8px;border-top:1px solid var(--line)}
  /* ── Онбординг-тур: Мира ходит по кабинету и подсвечивает инструменты; фон приглушён ── */
  .tour-veil{position:fixed;inset:0;z-index:99990;background:transparent;animation:tourFade .35s ease both}
  .tour-veil.solo{background:radial-gradient(135% 125% at 50% 38%,rgba(13,19,34,.90),color-mix(in srgb,var(--bg) 97.5%,transparent));
    -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
  .tour-hole{position:fixed;z-index:99992;border-radius:14px;border:2px solid var(--plum-hi,var(--plum-hi));
    box-shadow:0 0 0 9999px color-mix(in srgb,var(--bg) 82%,transparent),0 0 24px 3px color-mix(in srgb,var(--indigo-hi) 50%,transparent);pointer-events:none;
    transition:left .5s cubic-bezier(.4,0,.2,1),top .5s cubic-bezier(.4,0,.2,1),width .45s,height .45s,opacity .3s}
  .tour-card{position:fixed;z-index:100000;width:min(360px,calc(100vw - 24px));
    background:var(--panel,var(--panel));color:var(--text,var(--text));border:1px solid var(--line,var(--line));
    border-radius:16px;padding:18px 20px;box-shadow:0 26px 80px color-mix(in srgb,var(--bg) 60%,transparent);
    transition:left .5s cubic-bezier(.4,0,.2,1),top .5s cubic-bezier(.4,0,.2,1)}
  .tour-card h4{font:700 18px Onest,system-ui;margin:0;flex:1}
  .tour-top{display:flex;align-items:center;gap:10px;margin-bottom:8px}
  .tour-text{margin:0;font-size:14px;line-height:1.58;color:var(--muted,var(--muted))}
  .tour-mute{flex:none;background:none;border:0;cursor:pointer;font-size:18px;line-height:1;opacity:.85;padding:2px}
  .tour-mute:hover{opacity:1}
  /* робот «Мира» — парит без подставки, ПЛАВНО ПЕРЕЛЕТАЕТ к инструменту, следит за курсором, оживает */
  .tour-bot-fig{position:fixed;z-index:99998;width:clamp(212px,25.3vw,316px);aspect-ratio:480/820;pointer-events:none;
    filter:drop-shadow(0 22px 34px color-mix(in srgb,var(--bg) 60%,transparent));animation:botIn .5s ease both;
    transition:left .6s cubic-bezier(.34,.02,.22,1),top .6s cubic-bezier(.34,.02,.22,1)}
  .tbf-tilt{width:100%;height:100%;transform:perspective(1100px);transform-style:preserve-3d;
    transition:transform .34s cubic-bezier(.22,.61,.36,1);will-change:transform}
  .tbf-float{position:relative;width:100%;height:100%;animation:botfloat 5s ease-in-out infinite}
  .tbf-glow{position:absolute;left:50%;top:44%;width:150%;height:120%;transform:translate(-50%,-50%);
    background:radial-gradient(closest-side,color-mix(in srgb,var(--indigo-hi) 40%,transparent),color-mix(in srgb,var(--indigo-hi) 10%,transparent) 55%,transparent 72%);
    opacity:.7;transition:opacity .3s}
  /* кадры Миры: все сложены стопкой, ВИДЕН ВСЕГДА РОВНО ОДИН (.on) → одна тень, без призраков.
     поворот = подмена согласованных кадров 34l/front/34r; жест = подмена на позу point-l/-r (не наложение → без «третьей руки») */
  .tbf-fr{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;-webkit-user-drag:none;backface-visibility:hidden;opacity:0;transition:opacity .18s ease}
  .tbf-fr.on{opacity:1}
  /* индикатор речи на лице: мягкая «звуковая волна» у рта, оживает когда Мира говорит */
  .tbf-mouth{position:absolute;left:50%;top:15%;transform:translateX(-50%);z-index:3;display:flex;gap:2px;align-items:center;height:7px;opacity:0;transition:opacity .25s;pointer-events:none}
  .tbf-mouth i{width:2px;height:100%;border-radius:2px;background:var(--indigo-hi);box-shadow:0 0 6px var(--indigo-hi);transform:scaleY(.32);transform-origin:center}
  .tour-bot-fig.talk .tbf-mouth{opacity:.95}
  .tour-bot-fig.talk .tbf-mouth i{animation:mtalk .5s ease-in-out infinite}
  .tour-bot-fig.talk .tbf-mouth i:nth-child(2){animation-delay:.13s}
  .tour-bot-fig.talk .tbf-mouth i:nth-child(3){animation-delay:.26s}
  .tour-bot-fig.talk .tbf-mouth i:nth-child(4){animation-delay:.39s}
  @keyframes mtalk{0%,100%{transform:scaleY(.3)}50%{transform:scaleY(1)}}
  .tour-bot-fig.talk .tbf-float{animation-duration:2.3s}
  .tour-bot-fig.talk .tbf-glow{animation:botaura 1.2s ease-in-out infinite}
  @keyframes botfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
  @keyframes botaura{0%,100%{opacity:.5;transform:translate(-50%,-50%) scale(.9)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}}
  @keyframes botIn{from{opacity:0}to{opacity:1}}
  @keyframes tourFade{from{opacity:0}to{opacity:1}}
  @media (max-width:720px){.tour-bot-fig{width:116px}.tour-card{width:min(340px,calc(100vw - 20px))}}
  @media (prefers-reduced-motion:reduce){.tour-hole,.tour-card,.tour-bot-fig{transition:none}
    .tour-bot-fig,.tbf-float{animation:none}.tbf-tilt{transition:none}.tour-bot-fig.talk .tbf-glow{animation:none}
    .tour-bot-fig.talk .tbf-mouth i{animation:none}}
  /* ── блок «Метрика» на Обзоре ─────────────────────────────────────────────── */
  .mhead{display:flex;align-items:center;gap:10px;margin-bottom:10px}
  .msub{font:600 12px Onest,system-ui;letter-spacing:.4px;text-transform:uppercase;color:var(--muted,var(--muted));margin:14px 0 8px}
  .mtabs{display:flex;gap:4px;background:var(--panel2,var(--panel2));border:1px solid var(--line,var(--line));border-radius:9px;padding:3px}
  .mtab{background:none;border:0;color:var(--muted,var(--muted));cursor:pointer;font:600 12px Onest,system-ui;padding:5px 10px;border-radius:6px}
  .mtab.on{background:var(--plum,var(--plum));color:var(--bg)}
  .mrows{margin-top:10px;display:flex;flex-direction:column;gap:1px;border-radius:10px;overflow:hidden}
  .mrow{display:flex;align-items:center;gap:10px;padding:9px 12px;background:var(--panel2,var(--panel2));font-size:13.5px}
  .mrow .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .mrow b{font:800 15px Onest,system-ui;font-variant-numeric:tabular-nums}
  /* ── обучение в инструментах: подсказка Миры «что умеет» ── */
  .toolhelp{display:flex;gap:14px;align-items:flex-start;margin:0 0 14px;padding:14px 16px;border-radius:16px;
    background:linear-gradient(180deg,color-mix(in srgb,var(--plum) 12%,transparent),var(--panel,var(--panel)));border:1px solid var(--line,var(--line))}
  .toolhelp .th-bot{width:56px;height:56px;flex:none;object-fit:contain;filter:drop-shadow(0 6px 12px color-mix(in srgb,var(--bg) 45%,transparent))}
  .toolhelp .th-body{min-width:0;flex:1}
  .toolhelp .th-head{display:flex;align-items:center;gap:10px;margin-bottom:4px}
  .toolhelp .th-head b{font:700 14px Onest,system-ui;color:var(--plum-hi,var(--plum-hi))}
  .toolhelp .th-x{margin-left:auto;background:none;border:0;color:var(--muted,var(--muted));cursor:pointer;font-size:12.5px;white-space:nowrap}
  .toolhelp .th-x:hover{color:var(--text,var(--text))}
  .toolhelp .th-txt{margin:0;font-size:13.5px;line-height:1.55;color:var(--text,var(--text))}
  .toolhelp-chip{display:inline-flex;align-items:center;gap:8px;margin:0 0 14px;padding:5px 13px 5px 5px;border-radius:22px;
    background:var(--panel2,var(--panel2));border:1px solid var(--line,var(--line));color:var(--muted,var(--muted));cursor:pointer;font-size:13px}
  .toolhelp-chip img{width:28px;height:28px;object-fit:contain;border-radius:50%;background:color-mix(in srgb,var(--plum) 14%,transparent)}
  .toolhelp-chip:hover{color:var(--text,var(--text));border-color:var(--plum,var(--plum))}
  /* редактируемый текст поста (SMM): правь до копирования */
  .pedit{width:100%;min-height:130px;background:var(--panel2,var(--panel2));border:1px solid var(--line,var(--line));border-radius:10px;
    color:var(--text,var(--text));padding:12px 13px;font:14px/1.55 system-ui,Onest,sans-serif;resize:vertical}
  .pedit:focus{outline:2px solid var(--plum,var(--plum));outline-offset:-2px}
  .carstyles{display:flex;gap:10px;flex-wrap:wrap}
  .carsty{position:relative;border:2px solid var(--line);border-radius:12px;overflow:hidden;background:var(--panel2);
    padding:0;cursor:pointer;width:94px;display:flex;flex-direction:column;align-items:stretch;transition:border-color .12s,transform .12s}
  .carsty:hover{transform:translateY(-2px)}
  .carsty img{width:100%;height:120px;object-fit:cover;display:block}
  .carstyles.full .carsty img{height:150px;object-fit:contain;background:var(--bg)}  /* превью целиком, не обрезаем */
  .carstyles.wide16 .carsty{width:196px}                          /* превью презентаций 16:9 */
  .carstyles.wide16 .carsty img{height:110px;object-fit:cover;background:var(--bg)}
  .tiledel{position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:50%;background:color-mix(in srgb,var(--bg) 72%,transparent);
    color:#fff;font-size:12px;line-height:20px;text-align:center;opacity:0;z-index:3;transition:opacity .12s}
  .carsty:hover .tiledel{opacity:1}
  .tiledel:hover{background:var(--coral,var(--coral))}
  .carsty .carsty-auto{height:120px;display:flex;align-items:center;justify-content:center;
    font:700 13px Onest;color:var(--muted);background:var(--bg)}
  .carsty .carsty-nm{font-size:11.5px;padding:5px 4px;color:var(--muted);text-align:center;line-height:1.2}
  .carsty.on{border-color:var(--plum,var(--plum))}
  .carsty.on .carsty-nm,.carsty.on .carsty-auto{color:var(--text);font-weight:700}
  /* ── доп-услуги агентства: кнопка слева внизу ─────────────────────────────── */
  .svc-btn{position:fixed;left:22px;bottom:22px;z-index:55;background:var(--panel2,var(--panel2));
    color:var(--text,var(--text));border:1px solid var(--line);border-radius:22px;padding:10px 15px;
    font:600 13px Onest,system-ui;cursor:pointer;box-shadow:0 8px 24px color-mix(in srgb,var(--bg) 32%,transparent);display:flex;gap:7px;align-items:center}
  .svc-btn:hover{border-color:var(--sun,var(--coral))}
  .svc-win .desc{font-size:13px;color:var(--muted);margin-top:6px;line-height:1.5}
  /* ── тариф и лимиты: карточка в обзоре + SYNTX-карточки тарифов ───────────── */
  .lim{display:grid;gap:12px;margin-top:14px}
  .lim .r{display:grid;grid-template-columns:130px 1fr auto;gap:14px;align-items:center}
  .lim .nm{font-weight:600;font-size:13.5px} .lim .n{font-variant-numeric:tabular-nums;font-size:12.5px;color:var(--muted);white-space:nowrap}
  .lbar{height:9px;border-radius:6px;background:color-mix(in srgb,var(--ov) 8%,transparent);overflow:hidden}
  .lbar i{display:block;height:100%;border-radius:6px;background:var(--plum)}
  .lbar i.warn{background:var(--sun)} .lbar i.crit{background:var(--danger)}
  .limwarn{margin-top:14px;background:var(--sun-dim);border:1px solid color-mix(in srgb,var(--coral) 40%,transparent);border-radius:12px;
    padding:12px 15px;display:flex;align-items:center;gap:12px;font-size:13.5px}
  .limwarn b{color:var(--sun-hi)}
  .plans{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:6px 0}
  @media(max-width:900px){.plans{grid-template-columns:1fr}}
  .plan{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:22px 20px;display:flex;flex-direction:column}
  .plan.pop{border-color:var(--plum);box-shadow:0 0 0 1px var(--plum) inset,0 20px 50px -30px var(--plum)}
  .plan .pbadge{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--plum);color:var(--btn-ink);
    font:700 11px Inter,system-ui;letter-spacing:.3px;padding:4px 12px;border-radius:20px;white-space:nowrap}
  .plan .pn{font-weight:800;font-size:18px} .plan .pprice{font-family:Onest;font-weight:800;font-size:28px;margin:8px 0 2px}
  .plan .pper{font-size:13px;color:var(--muted);font-weight:500}
  .plan .plims{margin:14px 0;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;gap:16px;flex-wrap:wrap}
  .plan .plims div b{display:block;font:800 17px/1 Onest;font-variant-numeric:tabular-nums} .plan .plims div span{font-size:11px;color:var(--muted)}
  .plan ul.pf{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:8px;flex:1}
  .plan ul.pf li{font-size:13px;display:flex;gap:9px;line-height:1.4;color:var(--text)}
  .plan ul.pf li svg{width:15px;height:15px;color:var(--ok,var(--indigo-hi));flex:none;margin-top:1px}
  .plan ul.pf li.b svg{color:var(--sun-hi)} .plan ul.pf li.s{color:var(--muted)} .plan ul.pf li.s svg{color:var(--muted)}
  .plan .pcur{background:var(--panel2);color:var(--muted);border:1px solid var(--line);border-radius:10px;padding:11px;text-align:center;font-weight:700}
  .plan .pgo{width:100%;padding:12px}
  .svcgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:12px}
  .svccat{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:13px;cursor:pointer;transition:.12s}
  .svccat:hover{border-color:var(--sun)} .svccat b{display:block;font-size:13.5px} .svccat span{font-size:11.5px;color:var(--muted)}
  .packrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-top:12px}
  .packc{background:var(--panel2);border:1px solid var(--line);border-radius:13px;padding:15px;text-align:center}
  .packc b{display:block;font:800 15px Onest} .packc .pp{font-size:19px;font-weight:800;margin:7px 0}
  /* ── P2: поиск инструментов, закреплённое, легенда меток, вкладки библиотеки ── */
  .toolbar-row{margin:16px 0 4px}
  .toolsearch{width:100%;max-width:360px;background:var(--panel);border:1px solid var(--line);border-radius:12px;
    padding:9px 14px;color:var(--text);font-size:13.5px;outline:none;transition:border-color .18s}
  .toolsearch:focus{border-color:var(--olive-dim)} .toolsearch::placeholder{color:var(--muted)}
  .taglegend{margin:8px 0 2px;font-size:12.5px}
  .taglegend summary{cursor:pointer;color:var(--muted);width:max-content;list-style:none}
  .taglegend summary::-webkit-details-marker{display:none}
  .taglegend summary::before{content:"ⓘ ";color:var(--plum-hi)}
  .taglegend[open] summary{color:var(--text);margin-bottom:8px}
  .tglist{display:flex;flex-wrap:wrap;gap:6px 20px;max-width:820px}
  .tglist span{color:var(--muted)}
  .tglist b{color:var(--plum-hi);font-weight:600;text-transform:uppercase;font-size:10px;letter-spacing:.4px;margin-right:3px}
  .gtnote{text-transform:none;letter-spacing:0;font-weight:500;color:var(--muted);margin-left:10px;font-size:10.5px;opacity:.85}
  .noresult{padding:34px 4px;text-align:center}
  .bt .pinstar{position:absolute;top:10px;left:10px;z-index:3;width:25px;height:25px;display:flex;align-items:center;justify-content:center;
    border-radius:8px;color:var(--muted);opacity:0;background:color-mix(in srgb,var(--bg) 35%,transparent);cursor:pointer;
    transition:opacity .16s,color .16s,background .16s}
  .bt:hover .pinstar{opacity:1}
  .bt .pinstar:hover{background:color-mix(in srgb,var(--bg) 60%,transparent);color:var(--plum-hi)}
  .bt .pinstar.on{opacity:1;color:var(--sun)} .bt .pinstar.on:hover{color:var(--sun)}
  .bt .pinstar svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7}
  .bt .pinstar.on svg{fill:currentColor}
  .libtabs{display:flex;gap:4px;margin:4px 0 18px;border-bottom:1px solid var(--line)}
  .libtab{appearance:none;background:none;border:none;border-bottom:2px solid transparent;color:var(--muted);
    font:600 13.5px Onest;padding:9px 12px;margin-bottom:-1px;cursor:pointer;transition:color .16s,border-color .16s}
  .libtab:hover{color:var(--text)} .libtab.on{color:var(--text);border-bottom-color:var(--plum)}
  /* ── Раздел «Подключения»: связки клиента ── */
  .conngrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;margin-top:14px}
  .conncard{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--line);
    border-radius:14px;padding:15px 16px}
  .conncard.ok{border-left-color:var(--ok,var(--indigo-hi))}
  .conncard .ch{display:flex;gap:12px;align-items:flex-start}
  .conncard .cic{width:40px;height:40px;flex:none;border-radius:11px;display:flex;align-items:center;justify-content:center;
    background:var(--panel2);border:1px solid var(--line);color:var(--plum-hi)}
  .conncard .cic svg{width:21px;height:21px}
  .conncard .cn{font:700 15.5px Onest;display:flex;align-items:center;gap:9px;flex-wrap:wrap}
  .conncard .cd{font-size:12.5px;color:var(--muted);margin-top:3px;line-height:1.4}
  .cpill{font:600 11px Inter;letter-spacing:.3px;padding:2px 9px;border-radius:20px;border:1px solid var(--line);white-space:nowrap}
  .cpill.on{color:var(--ok,var(--indigo-hi));border-color:var(--olive-dim,var(--indigo-dim))}
  .cpill.off{color:var(--muted)}
  .connact{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px;align-items:center}
  .connedit{margin-top:13px;border-top:1px solid var(--line);padding-top:13px}
  .connedit label{display:block;font-size:12px;color:var(--muted);margin:9px 0 4px}
  .connedit input{width:100%;background:var(--panel2);border:1px solid var(--line);border-radius:9px;
    padding:9px 11px;color:var(--text);font:13px Inter}
  .connedit .fh{font-size:11px;color:var(--muted);margin:4px 0 0}
  .connmeta{font-size:11.5px;color:var(--muted);margin-top:8px}
  /* Статус WhatsApp в инструменте «Сообщение клиенту» */
  .wa-strip{display:flex;align-items:center;gap:12px;background:var(--panel2);border:1px solid var(--line);
    border-radius:12px;padding:11px 14px;margin-bottom:14px}
  .wa-strip.on{border-color:var(--olive-dim,var(--indigo-dim))}
  .wa-strip b{font:600 14px Onest}
  .wa-strip .wa-meta{font-size:12px;color:var(--muted);margin-top:2px}
  .wa-dot{width:9px;height:9px;border-radius:50%;background:var(--ok,var(--indigo-hi));flex:none}
  .wa-dot.off{background:var(--muted)}
  .wa-send{margin-top:14px;border-top:1px solid var(--line);padding-top:14px}
  .chrow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--line);
    border-radius:9px;margin-top:6px;font-size:13px}
  .chrow b{font-weight:600}
  .obrow{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:12px;align-items:center;
    padding:9px 0;border-top:1px solid var(--line);font-size:13px}
  .obwho{font-weight:600;white-space:nowrap}
  .obtxt{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .obat{color:var(--muted);font-size:11px;white-space:nowrap;opacity:.75}
  .obst{font-size:11.5px;font-weight:600;white-space:nowrap;padding:2px 9px;border-radius:20px;border:1px solid var(--line)}
  .obst.st-sent{color:var(--muted)}
  .obst.st-deliv{color:var(--ok,var(--indigo-hi));border-color:var(--olive-dim,var(--indigo-dim))}
  .obst.st-read{color:var(--plum-hi)}
  .obst.st-err{color:var(--sun)}
  /* Чат: выбор собеседника (агента) */
  .agentbar{margin:2px 0 4px}
  .agentlbl{font-size:12.5px;color:var(--muted);margin-bottom:8px}
  .agentlbl b{color:var(--text);font-weight:600}
  .agenttip{color:var(--dim,var(--mute2));margin-left:8px;font-size:11px;opacity:.8}
  .agchips{display:flex;flex-wrap:wrap;gap:7px}
  .agchip{appearance:none;background:var(--panel);border:1px solid var(--line);color:var(--muted);
    border-radius:20px;padding:6px 13px;font:600 12.5px Onest;cursor:pointer;transition:.14s;white-space:nowrap}
  .agchip:hover{color:var(--text);border-color:var(--olive-dim,var(--indigo-dim))}
  .agchip.on{background:var(--plum);border-color:var(--plum);color:var(--bg)}
  .agchip.cust{border-color:var(--plum);color:var(--plum-hi)}
  .agchip.cust.on{color:var(--bg)}
  .agchip.add{border-style:dashed;color:var(--plum-hi)}
  .agdel{margin-left:8px;opacity:.6;font-weight:700;border-radius:50%;padding:0 3px}
  .agchip:hover .agdel{opacity:1;color:var(--sun)}
  .agform{margin-top:10px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 13px}
  .agform input,.agform textarea{width:100%;background:var(--panel2);border:1px solid var(--line);border-radius:9px;
    padding:9px 11px;color:var(--text);font:13px Inter;margin-bottom:8px}
  .agform textarea{min-height:74px;resize:vertical}
  /* Умное окно */
  .smartbox{background:linear-gradient(180deg,color-mix(in srgb,var(--plum) 10%,transparent),transparent 70%),var(--panel);
    border:1px solid var(--line);border-radius:18px;padding:18px 18px 16px;margin:16px 0 4px;box-shadow:0 0 0 1px color-mix(in srgb,var(--plum) 8%,transparent) inset}
  .smart-h{font:600 14.5px Onest;margin-bottom:12px;color:var(--text)}
  .smart-row{display:flex;gap:10px;align-items:stretch}
  .smart-in{flex:1;min-width:0;background:var(--panel2);border:1px solid var(--line);border-radius:12px;
    padding:12px 14px;color:var(--text);font:15px Inter;resize:none;line-height:1.4;min-height:46px;max-height:120px;outline:none;transition:border-color .16s}
  .smart-in:focus{border-color:var(--plum)} .smart-in::placeholder{color:var(--muted)}
  .smart-row .btn{align-self:stretch;white-space:nowrap}
  .smart-ex{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}
  .smart-ex .ex{font-size:12.5px;color:var(--muted);border:1px solid var(--line);border-radius:20px;padding:6px 12px;cursor:pointer;transition:.14s;background:var(--panel)}
  .smart-ex .ex:hover{color:var(--text);border-color:var(--olive-dim,var(--indigo-dim))}
  .smartreply{display:flex;gap:11px;align-items:flex-start;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
  .smartreply .mav{width:28px;height:28px;border-radius:8px;flex:none;background:linear-gradient(135deg,var(--plum),var(--plum));
    display:flex;align-items:center;justify-content:center;font:700 13px Onest;color:#fff}
  .smartreply .mt{font-size:14.5px;padding-top:3px} .smartreply .mt b{color:var(--plum-hi)}
  .smartq{margin-top:13px}
  .smartq .ql{font-size:13px;color:var(--muted);margin-bottom:7px}
  .qopts{display:flex;flex-wrap:wrap;gap:7px}
  .qo{font-size:13px;border:1px solid var(--line);border-radius:20px;padding:7px 14px;background:var(--panel2);color:var(--text);cursor:pointer;transition:.14s}
  .qo:hover{border-color:var(--olive-dim,var(--indigo-dim))} .qo.on{background:var(--plum);border-color:var(--plum);color:var(--bg);font-weight:600}
  .qin{width:100%;max-width:420px;background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:9px 12px;color:var(--text);font:13.5px Inter}

/* robctl-v1 — пульт роботов обзвона */
  .rp{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px;margin:14px 0 18px}
  .rp-top{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px;margin:14px 0}
  @media (max-width:1000px){.rp-top{grid-template-columns:1fr}}
  .rp-box{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
  .rp-box .k{font:500 10.5px/1 Inter;letter-spacing:1.1px;text-transform:uppercase;color:var(--muted)}
  .rp-box .v{font:700 17px/1.3 Onest;margin-top:7px}
  .rp-box .d{font-size:12.5px;color:var(--muted);margin-top:4px;line-height:1.55}
  .rp-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:1px}
  .rp-bots{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  @media (max-width:900px){.rp-bots{grid-template-columns:1fr}}
  .rp-bot{background:var(--panel2);border:1px solid var(--line);border-radius:14px;padding:16px}
  .rp-bot.off{opacity:.55}
  .rp-bot h3{margin:0;font:700 18px Onest}
  .rp-ava{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font:700 18px Onest;color:var(--bg);flex:none}
  .rp-sw{margin-left:auto;position:relative;width:44px;height:24px;flex:none;cursor:pointer}
  .rp-sw input{opacity:0;width:0;height:0}
  .rp-sw i{position:absolute;inset:0;border-radius:12px;background:#3a4055;transition:.2s}
  .rp-sw i::after{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:.2s}
  .rp-sw input:checked+i{background:var(--ok)} .rp-sw input:checked+i::after{left:23px}
  .rp-kp{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}
  .rp-kp div{background:var(--panel);border-radius:10px;padding:8px 10px}
  .rp-kp b{display:block;font:700 18px Onest} .rp-kp span{font-size:11px;color:var(--muted)}
  .rp-red,.btn.rp-red:not(.ghost):not(.danger):not(.bad){background:var(--coral)!important;background-image:none!important;border-color:var(--coral);color:#070A1F}
  .rp-more{margin-top:14px} .rp-more summary{cursor:pointer;font-weight:600;padding:6px 0}
  .rp-scr{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:14px;margin-top:10px}
  .rp-fld{display:grid;grid-template-columns:170px 1fr;gap:12px;align-items:start;padding:7px 0}
  @media (max-width:700px){.rp-fld{grid-template-columns:1fr}}
  .rp-fld label{color:var(--muted);font-size:13px;padding-top:8px}
  .rp-fld textarea{width:100%;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px 11px;color:var(--text);font:13.5px/1.5 Inter;resize:vertical}
  .rp-set{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
  @media (max-width:900px){.rp-set{grid-template-columns:1fr 1fr}}
  .rp-set label{font-size:12.5px;color:var(--muted);display:grid;gap:5px}
  .rp-set input,.rp-set select{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px 10px;color:var(--text);font:13.5px Inter}

/* bxsales-v1 */
  /* ── Продажи из Битрикс24 ─────────────────────────────────────────────── */
  .bx-grid5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:14px 0}
  @media (max-width:1100px){.bx-grid5{grid-template-columns:repeat(2,minmax(0,1fr))}}
  .bx-stat{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px 16px}
  .bx-stat .k{font:500 10.5px/1 Inter;letter-spacing:1.1px;text-transform:uppercase;color:var(--muted)}
  .bx-stat .v{font:800 27px/1.15 Onest;margin-top:8px}
  .bx-stat .v small{font:600 15px Onest;color:var(--muted)}
  .bx-stat .v.warn{color:var(--sun)}
  .bx-stat .d{font-size:12px;margin-top:4px;color:var(--muted)}
  .bx-stat .up{color:var(--ok)} .bx-stat .dn{color:var(--sun)}
  .bx-two{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:14px}
  .bx-two>.card{margin-bottom:16px}
  @media (max-width:900px){.bx-two{grid-template-columns:1fr}}
  .bx-bars{display:flex;align-items:flex-end;gap:8px;height:170px;padding-top:10px}
  .bx-bars .b{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:0}
  .bx-bars .col{width:100%;background:var(--plum);border-radius:5px 5px 0 0}
  .bx-bars .b.cur .col{background:repeating-linear-gradient(45deg,var(--plum),var(--plum) 6px,var(--plum) 6px,var(--plum) 12px)}
  .bx-bars .b b{font:600 11px "IBM Plex Mono",monospace;margin-bottom:5px;white-space:nowrap}
  .bx-bars .b span{font:500 10.5px "IBM Plex Mono",monospace;color:var(--muted);margin-top:6px;white-space:nowrap}
  .bx-fun{display:flex;flex-direction:column;gap:9px}
  .bx-fun .st{display:grid;grid-template-columns:130px 1fr 54px 48px;align-items:center;gap:10px;font-size:13.5px}
  .bx-fun .pbar{height:18px;border-radius:6px} .bx-fun .pbar i{border-radius:6px;background:var(--plum)}
  .bx-fun .n{text-align:right;font-family:"IBM Plex Mono",monospace}
  .bx-fun .lose{color:var(--sun);font:600 11.5px "IBM Plex Mono",monospace;text-align:right}
  .bx-fun .lose.ok{color:var(--ok)}
  .bx-warn{background:var(--sun-dim);border:1px solid color-mix(in srgb,var(--coral) 35%,transparent);border-radius:12px;padding:10px 14px;font-size:13px;margin-top:14px}
  .bx-ins{display:flex;gap:10px;padding:9px 0;border-top:1px solid var(--line);font-size:13.5px;align-items:flex-start}
  .bx-ins:first-of-type{border-top:0}
  .bx-ins .dot{width:8px;height:8px;border-radius:50%;margin-top:7px;flex:none}
  .bx-pill{display:inline-block;font:600 11px Inter;border-radius:6px;padding:2px 7px;white-space:nowrap;flex:none}
  .bx-pill.ok{background:var(--ok-dim);color:var(--ok)} .bx-pill.sun{background:var(--sun-dim);color:var(--sun)}
  .bx-pill.plum{background:color-mix(in srgb,var(--plum) 18%,transparent);color:var(--plum-hi)}
  /* ── Группы сотрудников по отделам ─────────────────────────────────────── */
  .bx-groupcard{margin-bottom:14px}
  .bx-grouphd{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:0 0 10px}
  .bx-grouphd h3{margin:0}
  .bx-grouphd .bx-gsub{margin-left:auto;font:600 12.5px "IBM Plex Mono",monospace;color:var(--muted)}
  .bx-groupcard.off{opacity:.92}
  .bx-groupcard.off>summary{cursor:pointer;list-style:none;font-size:14px;padding:2px 0}
  .bx-groupcard.off>summary::-webkit-details-marker{display:none}
  .bx-groupcard.off>summary::before{content:"▸";margin-right:8px;color:var(--muted)}
  .bx-groupcard.off[open]>summary::before{content:"▾"}
  tr.bx-off{opacity:.6}
  .bx-pill.off{background:var(--line);color:var(--muted);font-weight:500}

/* bxclient-v1 */
  /* ── Продажи клиента (kind=client) ─────────────────────────────────────── */
  .bx-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
  .bxc-days .col{position:relative;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
  .bxc-days .col i{display:block;width:100%;background:var(--sun);opacity:.85}
  .bxc-key{display:inline-block;width:10px;height:10px;border-radius:2px;background:var(--sun);vertical-align:-1px}
  .bxc-days .b span{font-size:9.5px}
  .bx-fun .st{grid-template-columns:minmax(110px,170px) minmax(40px,1fr) 44px 44px}

/* autopost-v1 */
  /* ── Автопостинг ─────────────────────────────────────────────────────────── */
  .appanel{grid-column:1/-1;background:var(--panel2);border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin-top:6px}
  .appanel h4{margin:0 0 8px;font:700 14px Onest}
  .appanel textarea.pedit{min-height:160px}
  .apthumbs{display:flex;gap:8px;flex-wrap:wrap}
  .apthumbs img{width:96px;height:96px;object-fit:cover;border-radius:10px;border:1px solid var(--line)}
  .apst{display:inline-flex;align-items:center}
  .bx-pill{display:inline-block;font:600 11px Inter;border-radius:6px;padding:2px 7px;white-space:nowrap}
  .bx-pill.ok{background:var(--ok-dim);color:var(--ok)} .bx-pill.sun{background:var(--sun-dim);color:var(--sun)}
  .bx-pill.plum{background:color-mix(in srgb,var(--plum) 18%,transparent);color:var(--plum-hi)}
  .bx-ins{display:flex;gap:10px;padding:7px 0;border-top:1px solid var(--line);font-size:13.5px;align-items:flex-start}
  .bx-ins:first-of-type{border-top:0}
  .bx-ins .dot{width:8px;height:8px;border-radius:50%;margin-top:7px;flex:none}

/* mira-brandbook-v1 */

/* ═══ база ═══ */
html{background:var(--bg)}
body{background:var(--bg);color:var(--text);font-family:var(--ff);font-size:15px;line-height:1.55}
h1,h2,h3,.dsp{font-family:var(--fh);letter-spacing:-.01em}
h2,.pagehead h2{font-weight:700}
.mono,.k{font-family:var(--fm)}
a{color:var(--olive)}
::selection{background:color-mix(in srgb,var(--plum) 45%,transparent);color:inherit}
:focus-visible{outline:2px solid var(--plum-hi);outline-offset:2px}
svg.mi{display:inline-block;flex:none;width:18px;height:18px}
svg.mi .mv{stroke:var(--icon-acc);opacity:.85}
.btn svg.mi,.btn-i svg.mi{width:16px;height:16px;margin-right:7px;vertical-align:-3px}
.btn:not(.ghost) svg.mi .mv{stroke:currentColor;opacity:.7}
.ic-inline{display:inline-flex;vertical-align:-3px;margin-right:6px}
.ic-inline svg.mi{width:16px;height:16px}
.en-ic{display:inline-flex;vertical-align:-2px}.en-ic svg.mi{width:14px;height:14px;color:var(--plum-hi)}

/* ═══ кнопки и поля — брендбук 08.3/08.4: кнопки 10px, слива, текст белый (AA) ═══ */
.btn{background:var(--btn);color:var(--btn-ink);border:1px solid transparent;border-radius:var(--r-ctl);
  font-family:var(--ff);font-weight:600;transition:background-color .15s ease-out,border-color .15s ease-out,color .15s ease-out}
.btn:hover{background:var(--btn-hi)}
.btn:active{background:var(--btn-down)}
.btn:disabled{background:color-mix(in srgb,var(--btn) 35%,var(--panel));color:color-mix(in srgb,var(--btn-ink) 55%,transparent)}
.btn.ghost{background:transparent;color:var(--text);border:1px solid var(--line2)}
.btn.ghost:hover{background:var(--panel2);border-color:var(--muted)}
.btn.danger,.btn.bad{background:var(--coral);color:var(--coral-ink)}
input,textarea,select{background:var(--bg);border:1px solid var(--line);color:var(--text);border-radius:var(--r-ctl)}
:root[data-theme="light"] input,:root[data-theme="light"] textarea,:root[data-theme="light"] select{background:#FFFFFF;border-color:var(--line2)}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--plum);box-shadow:0 0 0 3px color-mix(in srgb,var(--plum) 22%,transparent)}
input::placeholder,textarea::placeholder{color:var(--mute2)}
:root[data-theme="light"] input::placeholder,:root[data-theme="light"] textarea::placeholder{color:#7D828D}
input[type=checkbox]{accent-color:var(--btn)}
label{color:var(--muted);font-family:var(--fm);font-weight:500;font-size:11.5px;letter-spacing:.04em}

/* ═══ поверхности: карточки 12px, графит, тонкая рамка ═══ */
.card,.tile,.pcard,.fcard,.enecard,.bt,.stat,.ncard{border-radius:var(--r-card)}
.card,.tile,.pcard,.enecard,.bt{background:var(--panel);border-color:var(--line);box-shadow:var(--shadow)}
.stat{background:var(--panel2)}
.pill{background:color-mix(in srgb,var(--plum) 16%,transparent);color:var(--plum-hi)}
.pill.gray{background:var(--panel2);color:var(--muted)}
.tile .k,.pcard .pk,.gtitle,.side .grp{font-family:var(--fm);font-weight:500;letter-spacing:.08em}
.tile .v{font-family:var(--fh);font-weight:700}
.tile .k svg.mi{width:14px;height:14px}
.toast{background:var(--panel2);border-color:var(--line2);color:var(--text)}
table th{background:var(--panel2)!important;color:var(--text)!important}
.pvtable th{background:var(--btn)!important;color:var(--btn-ink)!important}

/* ═══ шапка: знак «МИРА» (точный SVG) + by Эфектра ═══ */
header{background:var(--panel)!important;border-bottom:1px solid var(--line);padding:12px 22px;gap:16px;min-height:64px}
header h1{font:600 15px/1.25 var(--fh);margin:0;letter-spacing:0}
header .sub{font-size:12px;color:var(--muted)}
.mk-brand{display:flex;flex-direction:column;align-items:flex-start;gap:1px;flex:none;padding-right:16px;margin-right:2px;
  border-right:1px solid var(--line);text-decoration:none}
.mk-brand .mk{width:124px;height:37px;display:block;margin:-3px 0 -2px -8px}
.mk-by{font:500 9.5px/1 var(--fm);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding-left:3px}
.mk .mk-letters{fill:var(--logo-ink)}
.theme-tg{width:36px;height:36px;display:inline-grid;place-items:center;border-radius:var(--r-ctl);cursor:pointer;
  background:transparent;border:1px solid var(--line2);color:var(--text);padding:0;transition:background-color .15s ease-out}
.theme-tg:hover{background:var(--panel2)}
.theme-tg svg.mi{width:18px;height:18px}
.theme-tg .t-sun{display:none}
:root[data-theme="light"] .theme-tg .t-sun{display:block}
:root[data-theme="light"] .theme-tg .t-moon{display:none}

/* ═══ боковое меню — брендбук 08.1: активный пункт залит сливой, текст белый ═══ */
.side{background:var(--panel);border-right:1px solid var(--line)}
.side .grp{font-size:10.5px;color:var(--muted)}
.nav{font:500 14px var(--ff);color:var(--text2);border-radius:var(--r-ctl);transition:background-color .15s ease-out,color .15s ease-out}
.nav svg.mi{width:18px;height:18px;color:var(--muted)}
.nav:hover{background:var(--panel2);color:var(--text)}
.nav:hover svg.mi{color:var(--plum-hi)}
.nav.on{background:var(--btn);color:var(--btn-ink);border-color:transparent}
.nav.on svg.mi{color:var(--btn-ink)}
.nav.on svg.mi .mv{stroke:var(--btn-ink);opacity:.6}
.nav.on .cnt{color:var(--btn-ink);opacity:.8}
.side .foot{border-top:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.5}
.side .foot b{font:600 13px var(--fh);color:var(--text)}
.side .foot .sf-row{display:flex;justify-content:space-between;gap:8px;font-family:var(--fm);font-size:11px;margin-top:8px}
.side .foot .sf-row b{display:inline;font:600 11px var(--fm);margin:0}

/* ═══ голосовой штрих (брендбук 06.1–06.3, 08.2): шкалы лимитов и энергии ═══ */
.vs{display:flex;align-items:center;justify-content:space-between;gap:0;height:24px;flex:1;min-width:0;padding:0 2px;overflow:hidden}
.vs i{flex:1 1 0;min-width:0;max-width:3px;height:var(--h);border-radius:2px;background:var(--vs-off)}
.vs.dense i{max-width:2px;border-radius:1px}
@media (max-width:600px){ .lim .r{grid-template-columns:1fr auto!important;row-gap:6px} .lim .r .vs{grid-column:1/-1;grid-row:2} }
.vs i.on{background:var(--plum)}
.vs.tight i.on{background:var(--coral)}
.vs.big{height:30px;gap:4px}
.vs.big i{max-width:3px}
.vs8{display:inline-flex;align-items:flex-end;gap:1px;height:14px;vertical-align:-1px}
.vs8 i{width:2px;border-radius:1px;background:linear-gradient(180deg,#8C9EFF,#5CC8FF)}
.lbar.vs{background:none;border:0;height:22px}
.lim .r{align-items:center}
.lim .r .n{font-family:var(--fm);font-size:12px;color:var(--muted)}
.limwarn{border-color:color-mix(in srgb,var(--coral) 45%,transparent)!important;background:color-mix(in srgb,var(--coral) 9%,transparent)!important}
.enecard .enebolt{display:inline-flex;align-items:center;gap:7px;font-family:var(--fh);color:var(--text)}
.enecard .enenum{font-family:var(--fm);font-weight:500}
.enecard .enenum b{color:var(--plum-hi);font-family:var(--fh);font-weight:700;font-size:18px}
.enehead.compact .enebolt{color:var(--plum-hi)}
.mtcost b{color:var(--plum-hi)}
.modetog .mt.on{background:var(--btn);border-color:var(--btn);color:var(--btn-ink)}

/* ═══ разделитель-прошивка (06.4) ═══ */
.mstitch{display:flex;align-items:center;gap:12px;margin:26px 0 18px;height:14px}
.mstitch::before,.mstitch::after{content:"";flex:1;height:1px;background:var(--line)}
.mstitch i{width:74px;height:14px;flex:none;background:var(--plum-hi);opacity:.9;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 74 14'%3E%3Cpath d='M1 7c6 0 7-5.5 12-5.5S20 12.5 26 12.5 33 1.5 38 1.5 45 12.5 50 12.5 57 1.5 62 1.5 67 7 73 7' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") center/74px 14px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 74 14'%3E%3Cpath d='M1 7c6 0 7-5.5 12-5.5S20 12.5 26 12.5 33 1.5 38 1.5 45 12.5 50 12.5 57 1.5 62 1.5 67 7 73 7' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") center/74px 14px no-repeat}

/* ═══ уголки-кадр (06.5) — четыре угла 16, линия 1.5, слива ═══ */
.cframe{position:absolute;inset:0;pointer-events:none;z-index:3;--c:var(--plum);
  background:
   linear-gradient(var(--c),var(--c)) left top/16px 1.5px no-repeat, linear-gradient(var(--c),var(--c)) left top/1.5px 16px no-repeat,
   linear-gradient(var(--c),var(--c)) right top/16px 1.5px no-repeat, linear-gradient(var(--c),var(--c)) right top/1.5px 16px no-repeat,
   linear-gradient(var(--c),var(--c)) left bottom/16px 1.5px no-repeat, linear-gradient(var(--c),var(--c)) left bottom/1.5px 16px no-repeat,
   linear-gradient(var(--c),var(--c)) right bottom/16px 1.5px no-repeat, linear-gradient(var(--c),var(--c)) right bottom/1.5px 16px no-repeat}

/* ═══ паттерн 72×48 (06.6) — только большие поверхности, ≤ 40 % ═══ */
.mpat{position:absolute;inset:0;pointer-events:none;background:var(--pat);opacity:.16;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 72 48'%3E%3Cpath d='M0 18C12 6 24 6 36 18S60 30 72 18' fill='none' stroke='%23000' stroke-width='1.1'/%3E%3Cg stroke='%23000' stroke-width='1.4' stroke-linecap='round'%3E%3Cpath d='M8 44v-2M12 44v-5M16 44v-8.5M20 44v-3.5M24 44v-11M28 44v-3M32 44v-6.5M36 44v-2.5'/%3E%3C/g%3E%3C/svg%3E") 0 0/72px 48px repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 72 48'%3E%3Cpath d='M0 18C12 6 24 6 36 18S60 30 72 18' fill='none' stroke='%23000' stroke-width='1.1'/%3E%3Cg stroke='%23000' stroke-width='1.4' stroke-linecap='round'%3E%3Cpath d='M8 44v-2M12 44v-5M16 44v-8.5M20 44v-3.5M24 44v-11M28 44v-3M32 44v-6.5M36 44v-2.5'/%3E%3C/g%3E%3C/svg%3E") 0 0/72px 48px repeat}

/* ═══ первый экран «Обзора»: Мира + приветствие + слоган ═══ */
.hero{position:relative;margin:0 0 6px;border-radius:16px;overflow:hidden;min-height:0;display:grid;
  grid-template-columns:minmax(0,1fr) 340px;align-items:stretch;background:var(--panel)!important;
  border:1px solid var(--line);box-shadow:var(--shadow)}
.hero::after{display:none!important}
.hero canvas{display:none}
.hero-in{position:relative;z-index:2;padding:34px 38px 30px;max-width:none}
.hero .eyebrow{display:flex;align-items:center;gap:10px;font:500 11px/1 var(--fm);letter-spacing:.12em;text-transform:uppercase;
  color:var(--plum-hi);background:none!important;border:0!important;padding:0!important;border-radius:0}
.hero .eyebrow .sep{color:var(--mute2)}
.hero h1{font:700 clamp(26px,2.6vw,38px)/1.14 var(--fh);letter-spacing:-.015em;margin:18px 0 12px;color:var(--text);max-width:22ch}
.hero h1 em{font-style:normal;background:none!important;-webkit-text-fill-color:currentColor;color:var(--plum-hi)}
.hero p{margin:0;color:var(--text2);font-size:15.5px;line-height:1.6;max-width:56ch}
.hero-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.hero-cta .btn{backdrop-filter:none;padding:11px 18px}
.hero-live{position:static!important;display:flex;gap:0;flex-wrap:wrap;margin-top:26px;max-width:none!important;justify-content:flex-start;
  border-top:1px solid var(--line);padding:16px 0 0!important}
.hero-live span{display:flex;flex-direction:column;gap:6px;padding:0 26px 0 0!important;margin-right:26px;border-radius:0!important;
  background:none!important;border:0!important;border-right:1px solid var(--line)!important;backdrop-filter:none!important;min-width:0!important;flex:none!important}
.hero-live span:last-child{border-right:0!important;margin-right:0}
.hero-live b{font:700 26px/1 var(--fh)!important;color:var(--text)}
.hero-live i{font:500 10.5px/1.2 var(--fm)!important;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)!important}
.hero-live b.att{color:var(--coral)!important}
/* сцена Миры: «тёмный остров» в обеих темах — персонаж светлый, ему нужен глубокий фон */
.hero-mira{position:relative;background:var(--stage);border-left:1px solid var(--line);overflow:hidden;
  display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:26px 26px 28px;isolation:isolate}
:root[data-theme="light"] .hero-mira{border-left:0}
.hero-mira .cframe{inset:12px;--c:#5E6BFF}
.hero-mira .mpat{opacity:.18;--pat:#8C9EFF;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 72 48'%3E%3Cpath d='M0 18C12 6 24 6 36 18S60 30 72 18' fill='none' stroke='%23000' stroke-width='1.1'/%3E%3Cg stroke='%23000' stroke-width='1.4' stroke-linecap='round'%3E%3Cpath d='M8 44v-2M12 44v-5M16 44v-8.5M20 44v-3.5M24 44v-11M28 44v-3M32 44v-6.5M36 44v-2.5'/%3E%3C/g%3E%3C/svg%3E"),linear-gradient(180deg,#000 0%,transparent 80%);
  -webkit-mask-composite:source-in;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 72 48'%3E%3Cpath d='M0 18C12 6 24 6 36 18S60 30 72 18' fill='none' stroke='%23000' stroke-width='1.1'/%3E%3Cg stroke='%23000' stroke-width='1.4' stroke-linecap='round'%3E%3Cpath d='M8 44v-2M12 44v-5M16 44v-8.5M20 44v-3.5M24 44v-11M28 44v-3M32 44v-6.5M36 44v-2.5'/%3E%3C/g%3E%3C/svg%3E"),linear-gradient(180deg,#000 0%,transparent 80%);mask-composite:intersect;
  -webkit-mask-size:72px 48px,100% 100%;mask-size:72px 48px,100% 100%;-webkit-mask-repeat:repeat,no-repeat;mask-repeat:repeat,no-repeat}
.hm-bubble{position:relative;z-index:2;align-self:stretch;background:#161C4C;color:#ECEDF8;border:1px solid #2A316A;border-radius:12px 12px 12px 4px;
  padding:11px 14px;font-size:13.5px;line-height:1.45;margin-bottom:4px}
.hm-bubble b{font-family:var(--fh);font-weight:600;color:#F3F4FB}
.hm-fig{position:relative;z-index:1;width:150px;height:auto;display:block;margin:2px auto 0;
  filter:drop-shadow(0 18px 18px rgba(0,0,0,.35))}
.hm-floor{position:relative;z-index:0;width:120px;height:14px;margin:-6px auto 10px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(0,0,0,.55),transparent)}
.hm-slogan{position:relative;z-index:2;align-self:stretch;border-top:1px solid #2A316A;padding-top:12px;display:flex;align-items:flex-end;justify-content:space-between;gap:10px}
.hm-slogan b{font:600 17px/1.2 var(--fh);color:#F3F4FB;letter-spacing:-.005em}
.hm-slogan small{display:block;font:500 9.5px/1 var(--fm);letter-spacing:.12em;text-transform:uppercase;color:#8B91B8;margin-top:6px}
@media (max-width:1100px){ .hero{grid-template-columns:minmax(0,1fr) 280px} }
@media (max-width:900px){
  .hero{grid-template-columns:1fr}
  .hero-in{padding:24px 20px 20px}
  .hero h1{font-size:25px}
  .hero-cta .btn{flex:1;min-width:140px}
  .hero-live{padding:14px 0 0!important}
  .hero-live span{padding-right:14px!important;margin-right:14px}
  .hero-live b{font-size:21px!important}
  .hero-mira{border-left:0;border-top:1px solid var(--line);flex-direction:row;align-items:flex-end;flex-wrap:wrap;padding:14px 16px 14px;gap:10px 12px}
  .hero-mira .hm-fig{width:74px;margin:0;order:0}
  .hero-mira .hm-floor{display:none}
  .hero-mira .hm-bubble{flex:1;min-width:0;align-self:center;order:1;margin:0}
  .hero-mira .hm-slogan{flex-basis:100%;order:2}
}

/* ═══ рабочая зона: бесконечные анимации гасим — один проход и тишина; на наведении карточка оживает ═══ */
.content .band *,.content .art,.content .art *,.content .acard *,.content .adhead *,.content .tile *,.content .pcard *{animation-iteration-count:1!important}
.content .pcard:hover .band *,.content .tile:hover .art,.content .tile:hover .art *,.content .acard:hover *{animation-iteration-count:infinite!important}
.mic.on{animation:none!important}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* ═══ плитки инструментов: фирменная иконка вместо мультфильма ═══ */
.bt{border:1px solid var(--line)}
.bt::before{display:none}
.bt:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--plum) 55%,var(--line));box-shadow:var(--shadow-pop)}
.bt .btband{height:84px;background:none!important;border-bottom:1px solid var(--line)}
.bt .btband::before,.bt .btband::after{display:none!important}
.bticon{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:var(--panel2);
  border:1px solid var(--line);color:var(--plum-hi)}
.bticon svg.mi{width:24px;height:24px}
.bt:hover .bticon{border-color:color-mix(in srgb,var(--plum) 55%,var(--line))}
.bt .cap b{font:600 14.5px/1.25 var(--fh)}
.bt .cap .tag{font-family:var(--fm);background:color-mix(in srgb,var(--plum) 16%,transparent);color:var(--plum-hi);border:0}
.bt.lock .btband,.bt.lock .cap b{opacity:.55}
.bt.lock:hover{border-color:color-mix(in srgb,var(--coral) 45%,var(--line))}
.bt .lockmark{background:var(--panel2);color:var(--muted);border:1px solid var(--line)}
.bt .pinstar.on{color:var(--plum-hi)}
.gtitle{font-size:11px;color:var(--muted)}
.th2{display:inline-flex;align-items:center;gap:10px}
.th2 svg.mi{width:24px;height:24px;color:var(--plum-hi)}

/* «Когда звонят»: столбики тоньше — плотный штрих аналитики (06.2), а не кирпичи */
.bars{gap:6px}
.bars .col{max-width:12px;margin:0 auto;border-radius:3px 3px 0 0;background:var(--plum)}
.bars .col i{background:var(--coral)}

.pbadge{background:var(--btn)!important;color:var(--btn-ink)!important}
.kstat.ok{color:var(--indigo-hi)!important}

/* без свечений: рекомендуемый тариф — рамкой, без сливового ореола */
.plan.pop{box-shadow:0 0 0 1px var(--plum) inset!important}

/* ═══ без чужих градиентов: брендбук разрешает градиент только знаку и штрихам ═══ */
.lbtn{background:var(--btn)!important;color:var(--btn-ink)!important;border:0}
.lbtn:hover{background:var(--btn-hi)!important}
.sup-btn{background:var(--btn)!important;color:var(--btn-ink)!important;border:1px solid transparent!important;box-shadow:var(--shadow-pop)!important;font-family:var(--ff)!important;font-weight:600!important}
.sup-btn:hover{background:var(--btn-hi)!important}
.advice,.smartbox,.toolhelp,.autopost{background:var(--panel)!important}
.smartbox{box-shadow:none!important;border-color:var(--line)!important}
.toolhelp{border-color:var(--line)!important}
.autopost{border-color:color-mix(in srgb,var(--plum) 35%,var(--line))!important}
.ncard:before{background:var(--plum)!important}
.smartreply .mav{background:var(--stage)!important;overflow:hidden}
.band,.adhead{background:radial-gradient(color-mix(in srgb,var(--muted) 22%,transparent) 1px,transparent 1.2px) 0 0/14px 14px,var(--panel)!important}
.tool:before{display:none}
.tool.on{background:color-mix(in srgb,var(--plum) 12%,var(--panel))!important}
.pic{background:color-mix(in srgb,var(--plum) 18%,var(--panel2))!important;border-color:var(--line)!important}
.bx-bars .b.cur .col{background:var(--plum)!important}
#overBox .tile::before,#overBox .pcard::before,#assistBox .tile::before,.acard::before,.bt::before{display:none!important}
.toolhelp .th-bot{border-radius:50%;background:var(--stage);filter:none;padding:3px}

/* ═══ экран входа ═══ */
#login{background:var(--bg)!important;display:block!important;overflow:auto;padding:0}
#login.hidden{display:none!important}
.lbg,.lscene{display:none}
.lwrap{min-height:100%;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr)}
.lposter{position:relative;overflow:hidden;background:var(--stage);color:#ECEDF8;display:flex;flex-direction:column;
  padding:34px 44px 30px;isolation:isolate}
.lposter .mpat{opacity:.11;--pat:#8C9EFF}
.lposter .cframe{inset:20px;--c:#5E6BFF}
.lp-top{position:relative;z-index:2;display:flex;justify-content:space-between;gap:12px;font:500 10.5px/1 var(--fm);letter-spacing:.14em;text-transform:uppercase;color:#8B91B8}
.lp-mid{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;justify-content:center;padding:18px 0 8px;max-width:620px}
.lp-logo{width:min(520px,100%);height:auto;display:block;margin-left:-10px}
.lp-logo .mk-letters{fill:#F3F4FB}
.lp-slogan{font:700 clamp(26px,3vw,40px)/1.12 var(--fh);letter-spacing:-.015em;color:#F3F4FB;margin:10px 0 12px}
.lp-slogan em{font-style:normal;color:#8C9EFF}
.lp-sub{font-size:15.5px;line-height:1.6;color:#BCC1E0;max-width:46ch;margin:0}
.lp-fig{position:absolute;z-index:1;right:44px;bottom:66px;width:min(210px,22vw);height:auto;filter:drop-shadow(0 22px 22px rgba(0,0,0,.4))}
.lp-foot{position:relative;z-index:2;display:flex;align-items:center;gap:14px;font:500 10.5px/1 var(--fm);letter-spacing:.12em;text-transform:uppercase;color:#8B91B8}
.lp-foot .vs8{height:18px}
.lp-foot .vs8 i{width:3px;margin-right:1px}
.lside{display:flex;align-items:center;justify-content:center;padding:32px 28px;background:var(--bg)}
.glasscard{position:relative;z-index:2;width:min(420px,100%);padding:30px 30px 24px;border-radius:16px;
  background:var(--panel)!important;border:1px solid var(--line)!important;box-shadow:var(--shadow-pop)!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.glasscard .lc-idx{font:500 10.5px/1 var(--fm);letter-spacing:.14em;text-transform:uppercase;color:var(--plum-hi);display:flex;align-items:center;gap:10px}
.glasscard h2{font:700 26px/1.15 var(--fh);margin:12px 0 4px;color:var(--text)}
.glasscard .lc-note{color:var(--muted);font-size:13.5px;margin:0 0 6px}
.glasscard label{color:var(--muted)!important}
.glasscard input{background:var(--bg)!important;border:1px solid var(--line2)!important;color:var(--text)!important}
:root[data-theme="light"] .glasscard input{background:#FFFFFF!important}
.glasscard input:focus{border-color:var(--plum)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--plum) 22%,transparent)!important}
.eye{color:var(--muted)}.eye:hover{color:var(--text)}.eye.on{color:var(--plum-hi)}
.lbtn{padding:12px;font-weight:600}
#login #loginErr{color:var(--coral)!important}
.lc-help{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted);line-height:1.5}
.lc-theme{position:absolute;top:14px;right:14px}
@media (max-width:600px){ header{padding:10px 14px;gap:10px} header h1{font-size:14px} .mk-brand{padding-right:10px} .mk-brand .mk{width:104px;height:31px} }
@media (max-width:900px){
  .lwrap{grid-template-columns:1fr}
  .lposter{padding:22px 20px 18px;min-height:0}
  .lposter .cframe{inset:10px}
  .lp-mid{padding:18px 0 4px}
  .lp-logo{width:min(300px,78%);margin-left:-6px}
  .lp-slogan{font-size:24px;margin-top:6px;max-width:12ch}
  .lp-sub{font-size:14px;max-width:none;padding-right:96px}
  .lp-fig{width:92px;right:20px;bottom:44px}
  .lp-top span:last-child{display:none}
  .lside{padding:18px 16px 28px;align-items:flex-start}
}

/* ═══ тур: Мира ведёт сама ═══ */
.tour-card{background:var(--panel)!important;color:var(--text)!important;border:1px solid var(--line2)!important;border-radius:14px!important;box-shadow:var(--shadow-pop)!important}
.tour-card .tour-top{display:flex;align-items:center;gap:12px}
.tour-card .t-ava{width:44px;height:44px;border-radius:50%;flex:none;background:var(--stage);border:1px solid var(--line2);overflow:hidden;display:grid;place-items:center}
.tour-card .t-ava img{width:40px;height:40px;object-fit:contain}
.tour-card h4{font-family:var(--fh)!important;font-weight:700!important;color:var(--text)!important}
.tour-card .tour-text{color:var(--text2)!important}
.tour-card .t-idx{font:500 10.5px/1 var(--fm);letter-spacing:.12em;text-transform:uppercase;color:var(--plum-hi)}
.tour-mute{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:9px;background:transparent;border:1px solid var(--line2);color:var(--text);cursor:pointer;margin-left:auto}
.tour-mute svg.mi{width:16px;height:16px}
.tour-hole{border-radius:12px!important;box-shadow:0 0 0 9999px rgba(7,10,31,.72),0 0 0 2px var(--plum)!important}
:root[data-theme="light"] .tour-hole{box-shadow:0 0 0 9999px rgba(7,10,31,.45),0 0 0 2px var(--plum)!important}

/* ═══ dash-anim в стиле «Миры»: лента в первом экране, нити — горизонтальной карточкой, в центре — лицо Миры ═══ */
.hero .mw{max-width:640px}
.card.th-card{display:grid;grid-template-columns:minmax(200px,260px) minmax(0,1fr);gap:8px 28px;align-items:center;margin:14px 0 0}
.th-card .th-cap{flex-direction:column;align-items:flex-start;gap:10px;letter-spacing:.12em}
.th-card .th-cap b{font:700 30px/1 var(--fh);letter-spacing:-.01em;text-transform:none;color:var(--text)}
.th-card .th-cap::after{content:"Линии — системы, из которых Мира берёт данные. Пунктир — ещё не подключено.";
  font:400 13px/1.5 var(--ff);letter-spacing:0;text-transform:none;color:var(--muted);max-width:30ch}
.card.th-card .th{max-width:400px;margin:0 auto}
.th-card .th-hub{border-radius:50%;background:var(--stage);border:1px solid var(--line2)}
.th-card .th-hub .th-mark{position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(-50%);font:500 10px/1 var(--fm);
  letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
@media (max-width:900px){ .card.th-card{grid-template-columns:1fr} .th-card .th-cap::after{max-width:none} }

/* ═══ светлая тема: точечные поправки старых «тёмных островов» ═══ */
:root[data-theme="light"] .result-doc h3{color:var(--text)!important}
:root[data-theme="light"] .bt .pinstar:hover{background:var(--panel2)}
:root[data-theme="light"] .fcard .pv:after{background:linear-gradient(transparent,var(--panel2))}

:root[data-theme="light"] [fill="#070A1F"]{fill:var(--bg)}
:root[data-theme="light"] [stroke="#070A1F"]{stroke:var(--bg)}
:root[data-theme="light"] [stop-color="#070A1F"]{stop-color:var(--bg)}
:root[data-theme="light"] [fill="#0C1030"]{fill:var(--panel)}
:root[data-theme="light"] [stroke="#0C1030"]{stroke:var(--panel)}
:root[data-theme="light"] [stop-color="#0C1030"]{stop-color:var(--panel)}
:root[data-theme="light"] [fill="#121744"]{fill:var(--panel2)}
:root[data-theme="light"] [stroke="#121744"]{stroke:var(--panel2)}
:root[data-theme="light"] [stop-color="#121744"]{stop-color:var(--panel2)}
:root[data-theme="light"] [fill="#1E2456"]{fill:var(--line)}
:root[data-theme="light"] [stroke="#1E2456"]{stroke:var(--line)}
:root[data-theme="light"] [stop-color="#1E2456"]{stop-color:var(--line)}
:root[data-theme="light"] [fill="#ECEDF8"]{fill:var(--text)}
:root[data-theme="light"] [stroke="#ECEDF8"]{stroke:var(--text)}
:root[data-theme="light"] [stop-color="#ECEDF8"]{stop-color:var(--text)}
:root[data-theme="light"] [fill="#BCC1E0"]{fill:var(--text2)}
:root[data-theme="light"] [stroke="#BCC1E0"]{stroke:var(--text2)}
:root[data-theme="light"] [stop-color="#BCC1E0"]{stop-color:var(--text2)}
:root[data-theme="light"] [fill="#8B91B8"]{fill:var(--muted)}
:root[data-theme="light"] [stroke="#8B91B8"]{stroke:var(--muted)}
:root[data-theme="light"] [stop-color="#8B91B8"]{stop-color:var(--muted)}
:root[data-theme="light"] [fill="#5C628C"]{fill:var(--mute2)}
:root[data-theme="light"] [stroke="#5C628C"]{stroke:var(--mute2)}
:root[data-theme="light"] [stop-color="#5C628C"]{stop-color:var(--mute2)}
:root[data-theme="light"] [fill="#5E6BFF"]{fill:var(--plum)}
:root[data-theme="light"] [stroke="#5E6BFF"]{stroke:var(--plum)}
:root[data-theme="light"] [stop-color="#5E6BFF"]{stop-color:var(--plum)}
:root[data-theme="light"] [fill="#8C9EFF"]{fill:var(--plum-hi)}
:root[data-theme="light"] [stroke="#8C9EFF"]{stroke:var(--plum-hi)}
:root[data-theme="light"] [stop-color="#8C9EFF"]{stop-color:var(--plum-hi)}
:root[data-theme="light"] [fill="#1C2068"]{fill:var(--olive-dim)}
:root[data-theme="light"] [stroke="#1C2068"]{stroke:var(--olive-dim)}
:root[data-theme="light"] [stop-color="#1C2068"]{stop-color:var(--olive-dim)}
:root[data-theme="light"] [fill="#8FE0FF"]{fill:var(--indigo-hi)}
:root[data-theme="light"] [stroke="#8FE0FF"]{stroke:var(--indigo-hi)}
:root[data-theme="light"] [stop-color="#8FE0FF"]{stop-color:var(--indigo-hi)}
:root[data-theme="light"] [fill="#10304A"]{fill:var(--indigo-dim)}
:root[data-theme="light"] [stroke="#10304A"]{stroke:var(--indigo-dim)}
:root[data-theme="light"] [stop-color="#10304A"]{stop-color:var(--indigo-dim)}
:root[data-theme="light"] [fill="#DF7871"]{fill:var(--coral)}
:root[data-theme="light"] [stroke="#DF7871"]{stroke:var(--coral)}
:root[data-theme="light"] [stop-color="#DF7871"]{stop-color:var(--coral)}
:root[data-theme="light"] [fill="#E99A94"]{fill:var(--sun-hi)}
:root[data-theme="light"] [stroke="#E99A94"]{stroke:var(--sun-hi)}
:root[data-theme="light"] [stop-color="#E99A94"]{stop-color:var(--sun-hi)}


/* ═══ dash-anim v1 · лента «Мира работает» + нити данных ═══ */
.mw{width:100%;max-width:600px;margin-top:22px;--mw-row:36px;
  --mw-ink:var(--hero-ink,var(--text));--mw-sub:var(--hero-sub,var(--muted))}
.mw-head{display:flex;align-items:center;gap:10px;min-height:22px}
.mw-title{font:600 11px/1 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--mw-sub)}
.mw-on{margin-left:auto;display:inline-flex;align-items:center;gap:9px;font-size:12.5px;font-weight:600;color:var(--mw-ink);white-space:nowrap}
.mw-dot{position:relative;width:8px;height:8px;border-radius:50%;background:var(--anim-b,var(--muted));flex:none}
.mw-dot:after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--anim-b,var(--muted));
  animation:mwPulse 2.8s cubic-bezier(.22,1,.36,1) infinite}
.mw-dot.off{background:var(--muted)} .mw-dot.off:after{display:none}
@keyframes mwPulse{0%{transform:scale(1);opacity:.5}70%,100%{transform:scale(2.7);opacity:0}}
.mw-list{list-style:none;margin:10px 0 0;padding:0;position:relative;overflow:hidden;
  height:calc(var(--mw-rows,1) * var(--mw-row));border-top:1px solid var(--line)}
.mw-ev{position:relative;display:grid;grid-template-columns:78px minmax(0,1fr) auto;gap:12px;align-items:center;
  height:var(--mw-row);box-sizing:border-box;border-bottom:1px solid var(--line);
  transition:transform .55s cubic-bezier(.22,1,.36,1),opacity .45s ease-out}
.mw-ev:before{content:"";position:absolute;left:-12px;top:50%;width:5px;height:5px;margin-top:-2.5px;border-radius:50%;
  background:var(--anim-b,var(--muted));opacity:0;transition:opacity 1.6s ease-out}
.mw-ev.fresh:before{opacity:1;transition-duration:.3s}
.mw-tag{font:500 10.5px/1 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--mw-sub);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mw-tx{font-size:13.5px;line-height:1.3;color:var(--mw-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mw-t{font:500 11.5px/1 "IBM Plex Mono",ui-monospace,monospace;color:var(--mw-sub);white-space:nowrap;font-variant-numeric:tabular-nums}
.mw-empty{grid-template-columns:1fr;color:var(--mw-sub);font-size:13.5px}
.mw-paused .mw-dot:after{animation-play-state:paused}

/* нити данных */
.th-side{justify-content:flex-start!important;gap:10px}
.th-cap{display:flex;align-items:baseline;justify-content:space-between;gap:10px;
  font:600 11px/1.2 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.th-cap b{font:inherit;color:var(--text);letter-spacing:.04em}
.th{position:relative;width:100%;aspect-ratio:320/260;container-type:inline-size;margin:2px 0 4px}
.th svg.th-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.th-ring{fill:var(--anim-a,var(--muted));fill-opacity:.06;stroke:var(--anim-a,var(--muted));stroke-opacity:.34;stroke-width:1}
.th-ring2{fill:none;stroke:var(--anim-a,var(--muted));stroke-opacity:.12;stroke-width:1}
.th-ln{fill:none;stroke:var(--anim-a,var(--muted));stroke-width:1.25;stroke-opacity:.42;stroke-linecap:round;
  vector-effect:non-scaling-stroke;transition:stroke-opacity .6s}
.th-ln.off,.th-ln.wait{stroke-dasharray:2 5;stroke-opacity:.2;stroke-width:1}
.th-ln.wait{stroke-opacity:.12}
.th-pk .h{fill:var(--anim-b,var(--muted));fill-opacity:.2}
.th-pk .c{fill:var(--anim-b,var(--muted))}
.th-node{position:absolute;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:6px;
  padding:6px 10px 6px 8px;border-radius:999px;background:var(--panel);border:1px solid var(--line);
  font-size:11.5px;font-weight:600;line-height:1;color:var(--text);white-space:nowrap;transition:opacity .6s}
.th-node i{display:inline-flex;width:14px;height:14px;color:var(--anim-b,var(--muted))}
.th-node i svg{width:14px;height:14px;stroke-width:1.9}
.th-node.off,.th-node.wait{border-style:dashed;color:var(--muted);opacity:.62}
.th-node.off i,.th-node.wait i{color:var(--muted)}
.th-node.wait{opacity:.4}
.th-hub{position:absolute;left:50%;top:50%;width:25%;aspect-ratio:1;transform:translate(-50%,-50%);
  display:flex;align-items:center;justify-content:center}
.th-hub svg{width:100%!important;height:auto!important;margin:0!important;align-self:center!important;filter:none!important}
.th-hub .th-mark{font-weight:700;font-size:14px;color:var(--text)}
.th-side .th{margin:auto 0}
.th-nums{margin-top:0}
.th-nums b{font-size:clamp(28px,2.6vw,38px)!important}
.th-nums span{font-size:12px!important}
.th-card{overflow:hidden}
.th-card .th{max-width:440px;margin:6px auto 0}
@container (max-width:300px){.th-node{font-size:10.5px;padding:5px 8px}.th-node i{display:none}}
.hero.mw-mounted .hero-live{display:none}
@media (max-width:900px){
  .th-side{flex-direction:column!important;align-items:stretch!important;padding:18px 18px 20px!important}
  .th-nums{flex:none!important;justify-content:space-between!important}
  .mw{--mw-row:38px}
  .mw-ev{grid-template-columns:62px minmax(0,1fr) auto;gap:10px}
  .mw-tx{font-size:13px}
}
@media (max-width:480px){.mw-on{font-size:12px}.mw-title{letter-spacing:.1em}
  .mw-ev{grid-template-columns:minmax(0,1fr) auto}.mw-tag{display:none}}
@media (prefers-reduced-motion:reduce){
  .mw-dot:after{animation:none;opacity:0}
  .mw-ev,.mw-ev:before,.th-ln,.th-node{transition:none}
}

/* mira-v2-indigo */
/* ═══ «Мира» v2 · индиго-слой поверх брендбука ═══ */
html,body{background:var(--bg)}
/* градиенты индиго: кнопка, активный пункт меню, бейджи */
.btn:not(.ghost):not(.danger):not(.bad),.lbtn,.sup-btn,.pbadge{background-image:var(--grad-btn)!important;background-color:var(--btn)!important}
.btn:not(.ghost):not(.danger):not(.bad):hover,.lbtn:hover,.sup-btn:hover{background-image:var(--grad-btn-hi)!important}
.btn:not(.ghost):not(.danger):not(.bad){box-shadow:inset 0 1px 0 rgba(255,255,255,.14)}
.nav.on{background:var(--grad-btn)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
.nav.on::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--acc-neon);margin-left:auto;flex:none;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--acc-neon) 22%,transparent)}
:root[data-theme="light"] .nav.on::after{background:var(--acc-neon)}
.nav:hover svg.mi{color:var(--plum-hi)}
input:focus,textarea:focus,select:focus{border-color:var(--plum)}
.mk-brand .mk{filter:none}
/* акцент заголовка — градиент индиго */
.hero h1 em{background:var(--grad-head)!important;-webkit-background-clip:text!important;background-clip:text!important;
  color:transparent!important;-webkit-text-fill-color:transparent!important;padding-bottom:.06em}

/* ═══ первый экран: живая нейросеть вместо персонажа ═══ */
.hero{display:block!important;position:relative;background:var(--hero-bg)!important;border:1px solid var(--hero-line)!important;
  min-height:560px;isolation:isolate}
.hero-in{position:relative;z-index:2;width:min(58%,720px);box-sizing:border-box}
.hero-net{position:absolute;inset:0 0 0 36%;z-index:0;pointer-events:none;overflow:hidden}
.hero .hero-net .nn-cv{display:block!important;position:absolute;inset:0;width:100%;height:100%}
.nn-sym,.nn-core{position:absolute;left:0;top:0;z-index:2;will-change:transform}
.nn-sym .ic{position:absolute;left:-21px;top:-21px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;
  background:var(--nn-chip-bg);border:1px solid var(--nn-chip-line);color:var(--nn-chip-ic);box-shadow:0 0 0 5px var(--nn-chip-halo);}
.nn-sym .ic svg.mi{width:19px;height:19px}
.nn-sym .lb{position:absolute;top:-7px;left:30px;white-space:nowrap;font:500 10.5px/14px var(--fm);letter-spacing:.12em;text-transform:uppercase;color:var(--text2)}
.nn-sym.l .lb{left:auto;right:30px}
.nn-sym .lb{text-shadow:0 0 8px var(--bg),0 0 3px var(--bg)}
.nn-core .disc{position:absolute;left:-41px;top:-41px;width:82px;height:82px;border-radius:50%;display:grid;place-items:center;
  background:radial-gradient(circle at 50% 35%,#2F3592 0%,#1C2068 55%,#0B1036 100%);border:1px solid rgba(183,194,255,.5);
  box-shadow:0 0 0 6px rgba(94,107,255,.10),0 18px 40px -12px rgba(5,8,30,.8),inset 0 1px 0 rgba(255,255,255,.18)}
.nn-core .disc svg{width:58px;height:auto;overflow:visible}
.nn-core .cap{position:absolute;left:0;top:50px;transform:translateX(-50%);font:500 10px/1 var(--fm);letter-spacing:.2em;text-transform:uppercase;color:var(--text2);white-space:nowrap}
.nn-hud{text-shadow:0 0 10px var(--bg);position:absolute;z-index:2;top:22px;right:24px;display:flex;align-items:center;gap:16px;font:500 10.5px/1 var(--fm);letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted);white-space:nowrap}
.nn-hud .nn-lv{display:inline-flex;align-items:center;gap:8px;color:var(--text2)}
.nn-hud .nn-lv .dt{width:6px;height:6px;border-radius:50%;background:var(--acc-neon);box-shadow:0 0 10px var(--acc-neon)}
.nn-hud .sep{width:1px;height:10px;background:var(--line2)}
.nn-slogan{position:absolute;z-index:2;right:26px;bottom:24px;text-align:right}
.nn-slogan b{display:block;text-shadow:0 0 18px var(--bg),0 0 6px var(--bg);font:600 21px/1.18 var(--fh);letter-spacing:-.01em;color:var(--text)}
.nn-slogan b em{text-shadow:none;font-style:normal;background:var(--grad-head);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.nn-slogan small{display:block;text-shadow:0 0 10px var(--bg);margin-top:8px;font:500 9.5px/1 var(--fm);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.nn-core .wv-l{display:none}
:root[data-theme="light"] .nn-core .wv-d{display:none}
:root[data-theme="light"] .nn-core .wv-l{display:inline}
:root[data-theme="light"] .nn-core .disc{background:radial-gradient(circle at 50% 32%,#FFFFFF 0%,#EEF8FF 48%,#D6EEFF 100%);
  border:1px solid rgba(92,200,255,.55);box-shadow:0 0 0 6px rgba(92,200,255,.12),0 0 36px 4px rgba(127,214,255,.38),inset 0 1px 0 #FFFFFF}
:root[data-theme="light"] .nn-hud .nn-lv .dt{box-shadow:none}
@media (max-width:1180px){ .hero-in{width:62%} }
@media (max-width:900px){
  .hero{display:flex!important;flex-direction:column;min-height:0}
  .hero-in{width:auto}
  .hero-net{position:relative;inset:auto;order:-1;height:300px;border-bottom:1px solid var(--hero-line)}
  .nn-hud{top:14px;left:16px;right:auto;gap:12px}
  .nn-hud>span:nth-last-child(-n+2){display:none}
  .nn-slogan{right:auto;left:16px;bottom:14px;text-align:left}
  .nn-slogan b{font-size:16px}
  .nn-slogan small{display:none}
  .nn-sym .ic{left:-18px;top:-18px;width:36px;height:36px}
  .nn-sym .ic svg.mi{width:17px;height:17px}
  .nn-sym .lb{left:24px;font-size:9.5px;letter-spacing:.08em}
  .nn-sym.l .lb{right:24px}
  .nn-core .disc{left:-33px;top:-33px;width:66px;height:66px}
  .nn-core .disc svg{width:46px}
  .nn-core .cap{top:40px}
}

/* «Подключено к Мире»: в центре нитей — волна знака вместо лица персонажа */
.th-card .th-hub{background:radial-gradient(circle at 50% 35%,#2F3592 0%,#1C2068 60%,#0B1036 100%)!important;border:1px solid rgba(183,194,255,.45)!important}
.th-card .th-hub::before{content:"";position:absolute;inset:30% 14%;background:linear-gradient(90deg,#8C9EFF,#B7C2FF 50%,var(--acc-neon));
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='20 50 860 160'%3E%3Cpath d='M%2040%20135%20C%20100%20135%2C%20120%2070%2C%20180%2070%20C%20230%2070%2C%20240%20195%2C%20305%20195%20C%20365%20195%2C%20390%2065%2C%20455%2065%20C%20520%2065%2C%20545%20195%2C%20615%20195%20C%20675%20195%2C%20715%2075%2C%20775%2075%20C%20815%2075%2C%20840%20135%2C%20860%20135' fill='none' stroke='%23000' stroke-width='22' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='20 50 860 160'%3E%3Cpath d='M%2040%20135%20C%20100%20135%2C%20120%2070%2C%20180%2070%20C%20230%2070%2C%20240%20195%2C%20305%20195%20C%20365%20195%2C%20390%2065%2C%20455%2065%20C%20520%2065%2C%20545%20195%2C%20615%20195%20C%20675%20195%2C%20715%2075%2C%20775%2075%20C%20815%2075%2C%20840%20135%2C%20860%20135' fill='none' stroke='%23000' stroke-width='22' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat}
.th-pk .h{fill-opacity:.28}
:root[data-theme="light"] .th-card .th-hub{background:radial-gradient(circle at 50% 32%,#FFFFFF 0%,#EEF8FF 48%,#D6EEFF 100%)!important;
  border:1px solid rgba(92,200,255,.55)!important;box-shadow:0 0 0 6px rgba(92,200,255,.10),0 0 30px rgba(127,214,255,.35)}
:root[data-theme="light"] .th-card .th-hub::before{background:linear-gradient(90deg,#2F3592,#4A52E0 55%,var(--acc-neon))}

/* mira-final-b */
/* ═══ «Мира» · финал B ═══ */
:root{--vs-a:#5E6BFF;--vs-b:#5CC8FF}
:root[data-theme="light"]{--vs-a:#3D45C4;--vs-b:#0A8FD6}
.vs i.on{background:color-mix(in oklab,var(--vs-a) calc((1 - var(--p,1)) * 100%),var(--vs-b))}
.vs.tight i.on{background:var(--coral)}

/* новые блоки свежего прода: контраст AA */
.fs-logo .muted{color:#BCC1E0!important}
.fs-c.fs-todo{color:var(--sun-hi)!important}
:root[data-theme="light"] .btn.rp-red:not(.ghost):not(.danger):not(.bad){color:#FFFFFF}

/* знак-волна вместо лица персонажа (тур, подсказки, сфера тура) */
.mw-ava{position:relative;display:inline-block;flex:none;width:40px;height:40px;border-radius:50%;box-sizing:border-box;
  background:radial-gradient(circle at 50% 32%,#2F3592 0%,#1C2068 58%,#0B1036 100%);border:1px solid rgba(183,194,255,.45)}
.mw-ava::before{content:"";position:absolute;inset:33% 15%;background:linear-gradient(90deg,#8C9EFF,#B7C2FF 55%,var(--acc-neon));
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='20 50 860 160'%3E%3Cpath d='M%2040%20135%20C%20100%20135%2C%20120%2070%2C%20180%2070%20C%20230%2070%2C%20240%20195%2C%20305%20195%20C%20365%20195%2C%20390%2065%2C%20455%2065%20C%20520%2065%2C%20545%20195%2C%20615%20195%20C%20675%20195%2C%20715%2075%2C%20775%2075%20C%20815%2075%2C%20840%20135%2C%20860%20135' fill='none' stroke='%23000' stroke-width='22' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='20 50 860 160'%3E%3Cpath d='M%2040%20135%20C%20100%20135%2C%20120%2070%2C%20180%2070%20C%20230%2070%2C%20240%20195%2C%20305%20195%20C%20365%20195%2C%20390%2065%2C%20455%2065%20C%20520%2065%2C%20545%20195%2C%20615%20195%20C%20675%20195%2C%20715%2075%2C%20775%2075%20C%20815%2075%2C%20840%20135%2C%20860%20135' fill='none' stroke='%23000' stroke-width='22' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat}
:root[data-theme="light"] .mw-ava{background:radial-gradient(circle at 50% 32%,#FFFFFF 0%,#EEF8FF 48%,#D6EEFF 100%);border-color:rgba(92,200,255,.6)}
:root[data-theme="light"] .mw-ava::before{background:linear-gradient(90deg,#2F3592,#4A52E0 55%,var(--acc-neon))}
.tour-card .t-ava.mw-ava{width:44px;height:44px;overflow:visible;display:inline-block}
.toolhelp .th-bot.mw-ava{width:52px;height:52px;padding:0;filter:none}
.toolhelp-chip .mw-ava{width:28px;height:28px}
.tbf-orb{display:grid;place-items:center}.tbf-orb .mw-ava{width:46%;height:auto;aspect-ratio:1}

/* вход: постер по теме (тёмная — ночной индиго, светлая — нежное небо), нейросеть вместо персонажа */
.lposter{background:var(--hero-bg)!important;color:var(--text)}
.lposter .mpat{display:none}
.lposter .cframe{--c:var(--plum)}
.lp-top,.lp-foot{color:var(--muted)}
.lp-logo .mk-letters{fill:var(--logo-ink)}
.lp-slogan{color:var(--text)}
.lp-slogan em{background:var(--grad-head);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.lp-sub{color:var(--text2)}
.lposter .lp-net{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.lposter .lp-net .nn-cv{display:block;position:absolute;inset:0;width:100%;height:100%}
.lposter .lp-top,.lposter .lp-mid,.lposter .lp-foot{position:relative;z-index:2}
.lposter .nn-sym .ic{left:-17px;top:-17px;width:34px;height:34px}
.lposter .nn-sym .ic svg.mi{width:16px;height:16px}
@media (max-width:900px){
  .lposter{min-height:360px}
  .lposter .nn-core .disc{left:-28px;top:-28px;width:56px;height:56px}
  .lposter .nn-core .disc svg{width:38px}
  .lposter .nn-sym{display:none}
  .lp-sub{padding-right:112px!important}
}

/* mira-adaptive */
/* ═══ АДАПТИВ ═══════════════════════════════════════════════════════════════════════ */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{overflow-x:hidden}
.shell{min-height:calc(100vh - 64px);min-height:calc(100dvh - 64px)}
header > div:not(.row){min-width:0;flex:1 1 auto}
header h1#hdrTitle{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
header .sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nav-burger,.tabbar,.nav-scrim,.side-top,.side-out{display:none}
/* сетки с жёстким минимумом — не шире экрана */
.conngrid{grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr))}
.cards{grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr))}
.cols{grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr))}
.todo{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))}
.tiles{grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr))}
.content img,.content svg,.content video,.content canvas{max-width:100%}

/* ── плитки инструментов: 1 / 2 / 3 / авто (4–5) колонки ── */
@media (max-width:1279px){ .bento{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (max-width:767px){ .bento{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:479px){
  .bento{grid-template-columns:1fr;gap:8px}
  .bt{flex-direction:row;align-items:stretch;min-height:76px}
  .bt .btband{width:76px;height:auto!important;flex:none;border-bottom:0!important;border-right:1px solid var(--line)}
  .bt .cap{padding:12px 14px;display:flex;flex-direction:column;justify-content:center}
  .bt .lockmark{top:8px;right:8px}
}

/* ── 1024–1279: компактное боковое меню ── */
@media (min-width:1024px) and (max-width:1279px){
  .shell{grid-template-columns:212px minmax(0,1fr)!important}
  .nav{font-size:13.5px;padding:9px 10px;gap:10px}
  .content{padding:18px 20px 40px}
  .hero-in{width:58%!important}
}
@media (min-width:901px) and (max-width:1180px){ .hero-in{width:58%!important} }
/* первый экран узкий (контент < 850 px при меню 212) — сеть сверху, текст под ней */
@media (min-width:1024px) and (max-width:1109px){
  .hero{display:flex!important;flex-direction:column;min-height:0}
  .hero-in{width:auto!important;padding:24px 26px 22px}
  .hero-net{position:relative!important;inset:auto!important;order:-1;height:300px;border-bottom:1px solid var(--hero-line)}
  .nn-hud{top:14px;left:18px;right:auto}
  .nn-slogan{right:auto;left:18px;bottom:14px;text-align:left}
  .nn-slogan b{font-size:17px}
}

/* ── < 1024: шапка с бургером, выезжающее меню, нижний таб-бар ── */
@media (max-width:1023px){
  header{position:sticky;top:0;z-index:50;padding:calc(8px + env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left))!important;
    gap:10px!important;min-height:58px}
  .nav-burger{display:inline-grid;place-items:center;width:44px;height:44px;flex:none;margin-left:-6px;border-radius:12px;border:0;background:transparent;color:var(--text);cursor:pointer}
  .nav-burger svg{width:24px;height:24px}
  .nav-burger:hover{background:var(--panel2)}
  .mk-brand{padding-right:10px!important}
  header .row > .btn.ghost.sm[onclick="logout()"]{display:none}
  .shell{display:block!important}
  .content{padding:16px max(14px,env(safe-area-inset-right)) calc(96px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))!important}
  .side{position:fixed!important;z-index:80;top:0;left:0;bottom:0;width:min(320px,86vw);height:auto!important;max-height:none!important;
    flex-direction:column!important;flex-wrap:nowrap!important;gap:2px!important;overflow-y:auto;overscroll-behavior:contain;
    padding:calc(10px + env(safe-area-inset-top)) 12px calc(18px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))!important;
    border-right:1px solid var(--line)!important;border-bottom:0!important;box-shadow:0 30px 80px -20px rgba(5,8,30,.55);
    transform:translateX(-104%);visibility:hidden;transition:transform .26s cubic-bezier(.22,1,.36,1),visibility 0s linear .26s}
  body.nav-open .side{transform:none;visibility:visible;transition:transform .26s cubic-bezier(.22,1,.36,1),visibility 0s}
  .side .grp{display:block!important;margin:14px 8px 4px}
  .side .foot{display:block!important;margin-top:14px}
  .side .nav{min-height:48px;padding:10px 12px;font-size:15px}
  .side-top{display:flex;align-items:center;justify-content:space-between;padding:2px 2px 6px 8px}
  .side-ttl{font:500 11px/1 var(--fm);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
  .side-x{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;border:0;background:transparent;color:var(--text);cursor:pointer}
  .side-x svg{width:22px;height:22px}
  .side-out{display:block;width:100%;margin-top:12px;min-height:46px}
  .nav-scrim{display:block;position:fixed;inset:0;z-index:79;background:color-mix(in srgb,#05081E 55%,transparent);
    opacity:0;visibility:hidden;transition:opacity .22s ease-out,visibility 0s linear .22s}
  body.nav-open .nav-scrim{opacity:1;visibility:visible;transition:opacity .22s ease-out}
  body.nav-open{overflow:hidden}
  .tabbar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;z-index:55;left:0;right:0;bottom:0;
    padding:6px max(6px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));
    background:color-mix(in srgb,var(--panel) 92%,transparent);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);
    border-top:1px solid var(--line)}
  .tabbar button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:52px;
    border:0;background:transparent;color:var(--muted);font:500 10.5px/1.1 var(--ff);letter-spacing:-.01em;cursor:pointer;border-radius:12px;padding:4px 0;-webkit-tap-highlight-color:transparent}
  .tabbar button b{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .tabbar button [data-ic] svg.mi{width:22px;height:22px}
  .tabbar button.on{color:var(--text)}
  .tabbar button.on [data-ic]{color:var(--plum-hi)}
  .tabbar button.on::before{content:"";position:absolute;top:-6px;left:28%;right:28%;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--plum),var(--acc))}
  .tb-menu{display:flex;flex-direction:column;gap:4px;width:20px;height:22px;justify-content:center}
  .tb-menu i{display:block;height:1.8px;border-radius:2px;background:currentColor}
  .tb-menu i:nth-child(2){width:70%}
  /* «Помощь» — круглая кнопка над таб-баром; окно поддержки — лист снизу */
  .sup-btn{right:max(14px,env(safe-area-inset-right))!important;bottom:calc(76px + env(safe-area-inset-bottom))!important;width:52px;height:52px;padding:0!important;
    border-radius:50%!important;justify-content:center;font-size:0!important;gap:0!important}
  .sup-btn svg{width:22px!important;height:22px!important}
  .sup-win{left:0!important;right:0!important;bottom:0!important;width:100%!important;max-height:86dvh;border-radius:20px 20px 0 0!important;
    padding-bottom:env(safe-area-inset-bottom);z-index:90!important}
  .toast{bottom:calc(84px + env(safe-area-inset-bottom))!important;max-width:calc(100vw - 28px)}
  .inst{bottom:calc(84px + env(safe-area-inset-bottom))!important}
  /* таблицы листаются внутри себя, страница не уезжает */
  .content table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .pvtable,.tbledit-wrap{max-width:100%;overflow-x:auto}
  /* touch-цели ≥ 44 px */
  .btn,.btn.sm,.lbtn,.tab,.lg,.libtab,.mt,.tour-mute,.th-x,.toolhelp-chip,.keyrow .btn,.quick button{min-height:44px}
  .btn.sm{padding:10px 14px}
  .theme-tg{width:44px!important;height:44px!important}
  .tour-mute{min-width:44px}
  .eye{min-width:44px;min-height:44px}
  input,select{min-height:44px}
  label{margin-top:14px}
  .mic,button.mic{min-width:44px;min-height:44px}
  .pinstar{min-width:44px;min-height:44px;display:inline-grid;place-items:center}
  .ex,.smart-ex button,.adtab{min-height:44px}
  .adx{min-width:44px;min-height:44px}
  button[onclick^="renameAssist"]{min-width:44px;min-height:44px}
  .tour-card button[onclick="endTour()"]{min-height:44px;padding:0 10px!important}
  .fs-fb,.fs-link,.fs-seg button{min-height:44px}
  .fs-gal{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))!important}
  .fs-ph .x{width:44px!important;height:44px!important;top:0!important;right:0!important;padding:10px!important;background-clip:content-box!important}
  .toggle{box-sizing:content-box;border:10px solid transparent;background-clip:padding-box;margin:-10px}
  .mk-brand{min-height:44px;justify-content:center}
}
@media (max-width:479px){
  .smart-row{flex-wrap:wrap}
  .smart-row .smart-in{flex:1 1 100%!important;min-width:0;width:100%}
  .smart-row .btn{flex:1 1 auto}
}
/* < 768: модалки — нижний лист, поля без автозума iOS */
@media (max-width:767px){
  header .mk-by{display:none}
  .mk-brand .mk{width:92px!important;height:28px!important}
  header #hdrSub{display:none}
  header h1#hdrTitle{font-size:14.5px!important}
  input,select,textarea{font-size:16px!important}
  .modal{place-items:end stretch!important;padding:0!important}
  .modal .win{max-width:none!important;width:100%!important;max-height:92dvh!important;overflow:auto!important;border-radius:20px 20px 0 0!important;
    padding:18px 18px calc(18px + env(safe-area-inset-bottom))!important;animation:sheetIn .28s cubic-bezier(.22,1,.36,1)}
  .modal .win::before{content:"";display:block;width:40px;height:4px;border-radius:2px;background:var(--line2);margin:-6px auto 14px}
  @keyframes sheetIn{from{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}
  .lockwin .row,.modal .win .row{flex-wrap:wrap}
  .tour-card{left:10px!important;right:10px!important;width:auto!important;top:auto!important;bottom:calc(84px + env(safe-area-inset-bottom))!important;
    max-height:calc(100dvh - 120px);overflow:auto}
  .plans{grid-template-columns:1fr!important}
  .hero-net{height:270px!important}
}
@media (max-width:1023px) and (prefers-reduced-motion:reduce){ .side,.nav-scrim{transition:none!important} }
@media (max-width:767px) and (prefers-reduced-motion:reduce){ .modal .win{animation:none!important} }
.tour-card{max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow:auto}
#login{height:100vh;height:100dvh}

/* light-L2 */:root[data-theme="light"] .hero,:root[data-theme="light"] .lposter,:root[data-theme="light"] #login .lp-full{
  --bg:#070A1F;--panel:#0C1030;--panel2:#121744;--line:#1E2456;--line2:#2A316A;--soft:#121744;
  --text:#ECEDF8;--text2:#BCC1E0;--muted:#8B91B8;--mute2:#5C628C;--paper:#F3F4FB;
  --olive:#8C9EFF;--olive-dim:#1C2068;
  --plum:#5E6BFF;--plum-hi:#8C9EFF;
  --btn:#3D45C4;--btn-hi:#4A52E0;--btn-down:#2F3592;--btn-ink:#FFFFFF;
  --indigo:#5CC8FF;--indigo-hi:#8FE0FF;--indigo-dim:#10304A;
  --ok:#8FE0FF;--ok-dim:rgba(92,200,255,.16);
  --sun:#DF7871;--sun-hi:#E99A94;--sun-dim:rgba(223,120,113,.14);
  --danger:#DF7871;--coral:#DF7871;--coral-ink:#070A1F;
  --icon-acc:#5CC8FF;--logo-ink:#F3F4FB;--ov:#FFFFFF;--stage:#0B1036;--pat:#8C9EFF;--vs-off:#1A2050;
  --ink:inherit;--accent:#5E6BFF;--anim-a:#8C9EFF;--anim-b:#7FE6FF;
  --acc:#5CC8FF;--acc-neon:#7FE6FF;
  --grad-btn:linear-gradient(135deg,#2F3592 0%,#3D45C4 45%,#4A52E0 100%);
  --grad-btn-hi:linear-gradient(135deg,#3A41B0 0%,#4A52E0 50%,#5560F5 100%);
  --grad-head:linear-gradient(92deg,#B7C2FF 0%,#8C9EFF 38%,#5E6BFF 100%);
  --grad-wave:linear-gradient(90deg,#4A52E0,#5E6BFF 45%,#8C9EFF);
  --hero-bg:radial-gradient(52% 78% at 75% 44%,rgba(47,53,146,.55) 0%,rgba(28,32,104,.28) 42%,rgba(20,26,92,0) 72%),
           radial-gradient(38% 60% at 102% 104%,rgba(74,82,224,.22),rgba(74,82,224,0) 70%),
           linear-gradient(180deg,#0B1036 0%,#090D2A 55%,#070A1F 100%);
  --hero-line:#232A66;--hero-scrim:rgba(9,13,42,.72);
  --nn-node:#7FA2FF;--nn-node-hi:#A9C3FF;--nn-dot:#A9C3FF;--nn-link:#8FB0FF;--nn-link-a:.24;--nn-node-a:1;--nn-dust:#B7C8FF;--nn-ring:#8C9EFF;
  --nn-pulse:#7FE6FF;--nn-pulse-core:#E6FBFF;--nn-pulse-a:1;--nn-blend:lighter;--nn-hover:2.6;
  --nn-chip-bg:rgba(12,16,48,.82);--nn-chip-line:rgba(140,158,255,.42);--nn-chip-ic:#DCE3FF;--nn-chip-halo:rgba(94,107,255,.10);
  --ff:Inter,-apple-system,"Segoe UI",Roboto,sans-serif;
  --fh:Onest,Inter,system-ui,sans-serif;
  --fm:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --r-card:12px;--r-ctl:10px;
  --shadow:none;--shadow-pop:0 24px 60px -24px rgba(0,0,0,.75);
  ;--vs-a:#5E6BFF;--vs-b:#5CC8FF;color-scheme:dark;color:var(--text)}

/* ═══ светлая L2 «Тёмный остров»: внутри — значения тёмной темы, снаружи — светлый кабинет ═══ */
:root[data-theme="light"] .hero{border-color:#232A66!important;box-shadow:0 1px 0 rgba(13,17,51,.04),0 22px 50px -26px rgba(13,17,51,.55)}
:root[data-theme="light"] .hero .nn-core .wv-d,:root[data-theme="light"] .lposter .nn-core .wv-d{display:inline}
:root[data-theme="light"] .hero .nn-core .wv-l,:root[data-theme="light"] .lposter .nn-core .wv-l{display:none}
:root[data-theme="light"] .hero .nn-core .disc,:root[data-theme="light"] .lposter .nn-core .disc{background:radial-gradient(circle at 50% 35%,#2F3592 0%,#1C2068 55%,#0B1036 100%);
  border:1px solid rgba(183,194,255,.5);box-shadow:0 0 0 6px rgba(94,107,255,.10),0 18px 40px -12px rgba(5,8,30,.8),inset 0 1px 0 rgba(255,255,255,.18)}
:root[data-theme="light"] .hero .nn-hud .nn-lv .dt,:root[data-theme="light"] .lposter .nn-hud .nn-lv .dt{box-shadow:0 0 10px var(--acc-neon)}
:root[data-theme="light"] .hero .btn.ghost{background:transparent;color:var(--text);border-color:var(--line2)}
:root[data-theme="light"] .hero .btn.ghost:hover{background:var(--panel2)}
:root[data-theme="light"] .lp-logo .mk-letters{fill:#F3F4FB}
:root[data-theme="light"] .th-card .th-hub{background:#FFFFFF!important;border:1.5px solid #3D45C4!important;box-shadow:none!important}
:root[data-theme="light"] .mw-ava{background:#FFFFFF;border-color:rgba(61,69,196,.55)}

/* ═══ прототип 21.10: нейросеть на весь экран входа ═══ */
#login{background:var(--hero-bg)!important}
#login .lp-full{position:fixed!important;inset:0!important;height:auto!important;order:0;border:0!important;z-index:0;pointer-events:none;overflow:hidden}
#login .lp-full .nn-cv{display:block;position:absolute;inset:0;width:100%;height:100%}
#login .lp-full .nn-sym .ic{left:-19px;top:-19px;width:38px;height:38px}
#login .lp-full .nn-core .disc{left:-36px;top:-36px;width:72px;height:72px}
#login .lp-full .nn-core .disc svg{width:48px}
#login .lwrap{position:relative;z-index:2}
#login .lposter,#login .lside{background:transparent!important}
#login .lposter .lp-mid{max-width:560px}
#login .glasscard{background:color-mix(in srgb,var(--panel) 72%,transparent)!important;
  backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2)}
:root[data-theme="light"] #login .glasscard{background:color-mix(in srgb,#FFFFFF 94%,transparent)!important}
:root[data-theme="light"] #login .lp-full .nn-core .wv-d{display:inline}
:root[data-theme="light"] #login .lp-full .nn-core .wv-l{display:none}
:root[data-theme="light"] #login .lp-full .nn-core .disc{background:radial-gradient(circle at 50% 35%,#2F3592 0%,#1C2068 55%,#0B1036 100%);
  border:1px solid rgba(183,194,255,.5);box-shadow:0 0 0 6px rgba(94,107,255,.10),0 18px 40px -12px rgba(5,8,30,.8),inset 0 1px 0 rgba(255,255,255,.18)}
@media (max-width:719px){#login .lp-full .nn-sym,#login .lp-full .nn-core{display:none}}
:root[data-theme="light"] #login{background:radial-gradient(52% 78% at 75% 44%,rgba(47,53,146,.55) 0%,rgba(28,32,104,.28) 42%,rgba(20,26,92,0) 72%),
           radial-gradient(38% 60% at 102% 104%,rgba(74,82,224,.22),rgba(74,82,224,0) 70%),
           linear-gradient(180deg,#0B1036 0%,#090D2A 55%,#070A1F 100%)!important}
