/* Lumvi Партнёр — светлая/тёмная тема. Токены: :root = светлая; dark — media + [data-theme]. */
:root{
  --bg:#f6f4fb;--bg-2:#efebf8;--card:#ffffff;--card-2:#f7f5fc;--ink:#1b1726;--ink-2:#5d5670;--ink-3:#948ca8;
  --line:#e7e2f1;--line-2:#d6cfe6;--brand:#7a5cf5;--brand-ink:#ffffff;--brand-soft:#ece6ff;--brand-soft-ink:#5a3fd6;
  --grad:linear-gradient(135deg,#7c5cff 0%,#b36cf2 60%,#e58fd0 100%);
  --good:#1f9d6a;--good-soft:#dff5ea;--warn:#b7791f;--warn-soft:#fbefd9;--bad:#d64553;--bad-soft:#fde4e7;
  --shadow:0 1px 2px rgba(40,24,90,.05),0 8px 28px rgba(40,24,90,.07);--chart:#7a5cf5;--chart-2:#c9bcf7;
  --r-lg:20px;--r-md:14px;--r-sm:10px;
  --f-body:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --f-disp:'Unbounded','Manrope',-apple-system,sans-serif;--f-mono:'JetBrains Mono',ui-monospace,Menlo,monospace;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0e0c14;--bg-2:#14121c;--card:#191622;--card-2:#211d2c;--ink:#f1eefb;--ink-2:#aaa2bf;--ink-3:#736b88;
  --line:#2a2536;--line-2:#3a3349;--brand:#8e72ff;--brand-ink:#ffffff;--brand-soft:#2a2242;--brand-soft-ink:#cdbfff;
  --good:#46d19a;--good-soft:#16302a;--warn:#e8b25c;--warn-soft:#352a17;--bad:#ff7a86;--bad-soft:#3a1c22;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 12px 34px rgba(0,0,0,.35);--chart:#9a80ff;--chart-2:#3d3360;color-scheme:dark;}}
:root[data-theme="dark"]{
  --bg:#0e0c14;--bg-2:#14121c;--card:#191622;--card-2:#211d2c;--ink:#f1eefb;--ink-2:#aaa2bf;--ink-3:#736b88;
  --line:#2a2536;--line-2:#3a3349;--brand:#8e72ff;--brand-ink:#ffffff;--brand-soft:#2a2242;--brand-soft-ink:#cdbfff;
  --good:#46d19a;--good-soft:#16302a;--warn:#e8b25c;--warn-soft:#352a17;--bad:#ff7a86;--bad-soft:#3a1c22;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 12px 34px rgba(0,0,0,.35);--chart:#9a80ff;--chart-2:#3d3360;color-scheme:dark;}

*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}
body{min-height:100dvh;overflow-x:hidden}
a{color:var(--brand);text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0}
:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:8px}
h1,h2,h3{text-wrap:balance;letter-spacing:-.01em}
.num,.tab{font-variant-numeric:tabular-nums}
.muted{color:var(--ink-2)}.faint{color:var(--ink-3)}.small{font-size:13px}.mono{font-family:var(--f-mono);font-size:13px}

.boot{min-height:100dvh;display:grid;place-items:center}
.boot-mark{width:56px;height:56px;border-radius:16px;background:var(--grad);display:grid;place-items:center;color:#fff;font:700 26px var(--f-disp);animation:pulse 1.4s ease-in-out infinite}
@keyframes pulse{50%{transform:scale(.92);opacity:.7}}

/* ── каркас ── */
.shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100dvh}
.shell>div{min-width:0}
.side{position:sticky;top:0;height:100dvh;padding:22px 16px;border-right:1px solid var(--line);background:var(--bg-2);display:flex;flex-direction:column;gap:22px}
.brand{display:flex;align-items:center;gap:11px;padding:0 6px}
.brand-mark{width:36px;height:36px;border-radius:11px;background:var(--grad);display:grid;place-items:center;color:#fff;font:700 17px var(--f-disp);flex:none}
.brand b{font:600 16px var(--f-disp);letter-spacing:-.02em;display:block}
.brand small{color:var(--ink-3);font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.nav{display:grid;gap:3px}
.nav a{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:12px;color:var(--ink-2);font-weight:600}
.nav a:hover{background:var(--card-2);color:var(--ink)}
.nav a.on{background:var(--brand-soft);color:var(--brand-soft-ink)}
.nav svg{width:19px;height:19px;flex:none}
.side-foot{margin-top:auto;display:grid;gap:10px}
.me{display:flex;align-items:center;gap:10px;padding:10px;border-radius:14px;background:var(--card);border:1px solid var(--line)}
.ava{width:34px;height:34px;border-radius:50%;background:var(--brand-soft);color:var(--brand-soft-ink);display:grid;place-items:center;font-weight:800;overflow:hidden;flex:none}
.ava img{width:100%;height:100%;object-fit:cover}
.me b{display:block;font-size:14px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.me span{font-size:12px;color:var(--ink-3)}
.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}
.row>*{min-width:0;max-width:100%}
.main{min-width:0;padding:26px 34px 60px;max-width:1180px;width:100%}
.top>div{min-width:0}
.top{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.top h1{font:600 26px/1.15 var(--f-disp);letter-spacing:-.03em}
.top p{color:var(--ink-2);margin-top:4px}
.mtop{display:none}
.tabbar{display:none}

/* ── элементы ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;border-radius:12px;font-weight:700;font-size:14px;border:1px solid var(--line-2);background:var(--card);color:var(--ink);white-space:nowrap}
.btn:hover{border-color:var(--brand)}
.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}
.btn.primary:hover{filter:brightness(1.08)}
.btn.ghost{background:transparent;border-color:transparent;color:var(--ink-2)}
.btn.ghost:hover{background:var(--card-2);color:var(--ink)}
.btn.sm{height:32px;padding:0 11px;font-size:13px;border-radius:10px}
.btn svg{width:16px;height:16px;flex:none}
.btn:disabled{opacity:.5;cursor:default}
.icon-btn{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;color:var(--ink-2);border:1px solid var(--line)}
.icon-btn:hover{color:var(--ink);border-color:var(--line-2)}
.icon-btn svg{width:18px;height:18px}
.seg{display:inline-flex;padding:3px;gap:2px;border-radius:12px;background:var(--card);border:1px solid var(--line);overflow-x:auto;max-width:100%;scrollbar-width:none}
.seg button{padding:6px 11px;border-radius:9px;font-size:13px;font-weight:700;color:var(--ink-2);white-space:nowrap}
.seg button.on{background:var(--brand-soft);color:var(--brand-soft-ink)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;box-shadow:var(--shadow)}
.card h2{font:600 15px var(--f-disp);letter-spacing:-.01em}
.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.stack{display:grid;gap:18px;grid-template-columns:minmax(0,1fr)}
.label{font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.pill{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:700;background:var(--card-2);color:var(--ink-2);border:1px solid var(--line)}
.pill.good{background:var(--good-soft);color:var(--good);border-color:transparent}
.pill.warn{background:var(--warn-soft);color:var(--warn);border-color:transparent}
.pill.brand{background:var(--brand-soft);color:var(--brand-soft-ink);border-color:transparent}

/* ── баланс ── */
.hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,1fr);gap:14px}
.bal{position:relative;overflow:hidden;border-radius:var(--r-lg);padding:22px;color:#fff;background:var(--grad);box-shadow:0 18px 44px rgba(122,92,245,.28)}
.bal::after{content:"";position:absolute;right:-40px;top:-60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.28),transparent 65%)}
.bal .label{color:rgba(255,255,255,.78)}
.bal .big{font:600 38px/1.1 var(--f-disp);letter-spacing:-.03em;margin:10px 0 6px;font-variant-numeric:tabular-nums}
.bal p{color:rgba(255,255,255,.85);font-size:13.5px}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px 20px;box-shadow:var(--shadow)}
.kpi .val{font:600 24px/1.15 var(--f-disp);letter-spacing:-.03em;margin-top:8px;font-variant-numeric:tabular-nums}
.kpi .sub{font-size:13px;color:var(--ink-2);margin-top:4px}
.kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.kpis .kpi{box-shadow:none;background:var(--card-2);padding:14px 16px}
.kpis .kpi .val{font-size:20px}
.kpi.accent{background:var(--brand-soft)!important;border-color:transparent}
.kpi.accent .val{color:var(--brand-soft-ink)}

/* ── график ── */
.chart{position:relative;height:210px;margin-top:6px}
.chart svg{width:100%;height:100%;display:block;overflow:visible}
.chart .ax{fill:var(--ink-3);font-size:11px;font-family:var(--f-body)}
.chart .grid{stroke:var(--line);stroke-width:1}
.chart .bar{fill:var(--chart);transition:opacity .15s}
.chart .bar.neg{fill:var(--bad)}
.chart .bar-bg{fill:var(--chart-2);opacity:.55}
.chart .hit{fill:transparent;cursor:pointer}
.chart .hit:hover+.bar,.chart g:hover .bar{opacity:.8}
.tip{position:absolute;pointer-events:none;background:var(--ink);color:var(--bg);padding:8px 11px;border-radius:10px;font-size:12.5px;line-height:1.45;white-space:nowrap;transform:translate(-50%,-110%);box-shadow:var(--shadow);z-index:3}
.legend{display:flex;gap:14px;font-size:12.5px;color:var(--ink-2);flex-wrap:wrap}
.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}

/* ── таблицы ── */
.tbl-wrap{overflow-x:auto;margin:0 -20px;padding:0 20px}
table{width:100%;border-collapse:collapse;font-size:14px}
th{font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);text-align:right;padding:9px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
td{padding:11px 10px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
th:first-child,td:first-child{text-align:left;padding-left:0}
th:last-child,td:last-child{padding-right:0}
tr:last-child td{border-bottom:0}
tr.click{cursor:pointer}
tr.click:hover td{background:var(--card-2)}
td.pos{color:var(--good);font-weight:700}
td.negv{color:var(--bad);font-weight:700}

/* ── ссылки ── */
.links{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
.lk{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px;border-radius:16px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);cursor:pointer}
.lk:hover{border-color:var(--line-2)}
.lk.arch{opacity:.6}
.thumb{width:56px;height:70px;border-radius:12px;background:var(--card-2);overflow:hidden;display:grid;place-items:center;color:var(--ink-3);flex:none}
.thumb img,.thumb video{width:100%;height:100%;object-fit:cover;display:block}
.thumb svg{width:22px;height:22px}
.lk-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.lk-title b{font-family:var(--f-mono);font-size:14.5px;font-weight:500}
.lk-meta{font-size:13px;color:var(--ink-2);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lk-stats{display:flex;gap:18px;margin-top:8px;font-size:13px;color:var(--ink-2);flex-wrap:wrap}
.lk-stats b{color:var(--ink);font-variant-numeric:tabular-nums}
.lk-side{text-align:right}
.lk-side .val{white-space:nowrap;font:600 17px var(--f-disp);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.copy{display:flex;align-items:center;gap:8px;padding:9px 10px 9px 13px;border-radius:12px;background:var(--card-2);border:1px solid var(--line);min-width:0}
.copy code{font-family:var(--f-mono);font-size:13px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.copy-label{font-size:12.5px;font-weight:700;color:var(--ink-2);margin:10px 0 5px}
.empty{text-align:center;padding:44px 20px;color:var(--ink-2)}
.empty .big-icon{width:58px;height:58px;border-radius:18px;background:var(--brand-soft);color:var(--brand-soft-ink);display:grid;place-items:center;margin:0 auto 14px}
.empty .big-icon svg{width:26px;height:26px}
.empty h3{font:600 17px var(--f-disp);color:var(--ink);margin-bottom:6px}
.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.search{flex:1;min-width:min(180px,100%);height:40px;border-radius:12px;border:1px solid var(--line-2);background:var(--card);padding:0 14px}

/* ── формы / модалки ── */
.field{display:grid;gap:6px}
.field label{font-size:13px;font-weight:700;color:var(--ink-2)}
.field input,.field textarea{height:44px;border-radius:12px;border:1px solid var(--line-2);background:var(--card);padding:0 14px;width:100%}
.field textarea{height:80px;padding:10px 14px;resize:vertical}
.field .hint{font-size:12.5px;color:var(--ink-3)}
.prefix{display:flex;align-items:center;border:1px solid var(--line-2);border-radius:12px;background:var(--card);overflow:hidden}
.prefix span{padding:0 4px 0 14px;color:var(--ink-3);font-family:var(--f-mono);font-size:13px;white-space:nowrap}
.prefix input{border:0!important;padding-left:0!important;font-family:var(--f-mono);font-size:14px;outline:none!important;box-shadow:none!important}
.prefix:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.modal-bg{position:fixed;inset:0;background:rgba(10,8,18,.55);backdrop-filter:blur(3px);display:grid;place-items:center;padding:16px;z-index:50;animation:fade .15s}
.modal{width:min(640px,100%);max-height:calc(100dvh - 32px);overflow:auto;background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.modal-h{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--card);z-index:1}
.modal-h h3{font:600 17px var(--f-disp)}
.modal-b{padding:20px;display:grid;gap:16px}
.modal-f{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--line);position:sticky;bottom:0;background:var(--card)}
@keyframes fade{from{opacity:0}}
.tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));grid-auto-rows:146px;gap:10px;max-height:330px;overflow-y:auto;padding:2px}
.tpl{position:relative;display:block;width:100%;height:146px;border-radius:14px;overflow:hidden;background:var(--card-2);border:2px solid transparent;text-align:left;padding:0}
.tpl img,.tpl video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.tpl span{position:absolute;left:0;right:0;bottom:0;padding:18px 7px 6px;font-size:11.5px;font-weight:700;line-height:1.25;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.78))}
.tpl.on{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.tpl.none{display:grid;place-items:center;color:var(--ink-2);font-weight:700;font-size:13px;padding:10px;text-align:center;border-style:dashed;border-color:var(--line-2)}
.tpl.none.on{border-style:solid;border-color:var(--brand)}
.tpl .chk{position:absolute;top:6px;right:6px;width:22px;height:22px;border-radius:50%;background:var(--brand);color:#fff;display:none;place-items:center}
.tpl.on .chk{display:grid}
.tpl .chk svg{width:13px;height:13px}
.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:11px 18px;border-radius:12px;font-weight:700;font-size:14px;z-index:60;box-shadow:var(--shadow);animation:fade .15s}
.toast.err{background:var(--bad);color:#fff}
.note{padding:12px 14px;border-radius:14px;background:var(--card-2);border:1px solid var(--line);font-size:13.5px;color:var(--ink-2)}
.formula{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-weight:700}
.formula .t{padding:8px 12px;border-radius:12px;background:var(--card-2);border:1px solid var(--line)}
.formula .t small{display:block;font-size:11px;color:var(--ink-3);font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.formula .t.res{background:var(--brand-soft);color:var(--brand-soft-ink);border-color:transparent}
.formula .op{color:var(--ink-3);font-size:18px}
.back{display:inline-flex;align-items:center;gap:6px;color:var(--ink-2);font-weight:700;font-size:14px;margin-bottom:10px}
.back svg{width:16px;height:16px}
.g2{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:18px;align-items:start}
.rank{display:grid;gap:8px}
.rk{display:grid;grid-template-columns:40px 1fr auto;gap:12px;align-items:center;padding:12px 14px;border-radius:14px;background:var(--card-2);border:1px solid var(--line)}
.rk.me{background:var(--brand-soft);border-color:transparent}
.rk .pl{font:600 16px var(--f-disp);text-align:center;color:var(--ink-2)}
.rk.top1 .pl{color:#d4a017}.rk.top2 .pl{color:#9aa3b2}.rk.top3 .pl{color:#c47a3a}
.rk b{display:block}.rk small{color:var(--ink-2)}

/* ── вход ── */
.login{min-height:100dvh;display:grid;grid-template-columns:1.1fr 1fr}
.login-art{position:relative;overflow:hidden;background:var(--grad);color:#fff;padding:48px;display:flex;flex-direction:column;justify-content:space-between}
.login-art::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 15%,rgba(255,255,255,.3),transparent 40%),radial-gradient(circle at 10% 90%,rgba(40,10,90,.35),transparent 45%)}
.login-art>*{position:relative}
.login-art h1{font:600 clamp(30px,4vw,46px)/1.08 var(--f-disp);letter-spacing:-.04em;max-width:13ch}
.login-art p{max-width:42ch;color:rgba(255,255,255,.88);margin-top:14px;font-size:16px}
.frames{display:flex;gap:10px;margin-top:30px}
.frames div{width:72px;aspect-ratio:3/4;border-radius:12px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3)}
.frames div:nth-child(2){transform:translateY(-12px)}.frames div:nth-child(3){transform:translateY(6px)}
.login-box{display:grid;place-items:center;padding:32px 20px}
.login-card{width:min(400px,100%);display:grid;gap:18px}
.login-card h2{font:600 24px var(--f-disp);letter-spacing:-.03em}
.steps{display:grid;gap:10px;counter-reset:s}
.steps li{list-style:none;display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start;font-size:14px;color:var(--ink-2)}
.steps li::before{counter-increment:s;content:counter(s);width:28px;height:28px;border-radius:9px;background:var(--brand-soft);color:var(--brand-soft-ink);display:grid;place-items:center;font-weight:800;font-size:13px}
.tg-slot{min-height:48px}
.alert{padding:12px 14px;border-radius:14px;background:var(--bad-soft);color:var(--bad);font-size:14px;font-weight:600}

@media (max-width:1080px){.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.g2{grid-template-columns:minmax(0,1fr)}}
@media (max-width:860px){
  .shell{grid-template-columns:1fr}
  .side{display:none}
  .main{padding:14px 16px 96px}
  .mtop{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--bg-2);position:sticky;top:0;z-index:20}
  .tabbar{display:grid;grid-template-columns:repeat(var(--n,4),1fr);position:fixed;left:0;right:0;bottom:0;background:var(--card);border-top:1px solid var(--line);padding:6px 6px calc(6px + env(safe-area-inset-bottom));z-index:30}
  .tabbar a{display:grid;justify-items:center;gap:2px;padding:6px 0;font-size:11px;font-weight:700;color:var(--ink-3)}
  .tabbar a.on{color:var(--brand)}
  .tabbar svg{width:21px;height:21px}
  .top h1{font-size:21px}
  .hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .hero .bal{grid-column:1/-1}
  .bal .big{font-size:32px}
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kpis .kpi.accent{grid-column:1/-1}
  .lk{grid-template-columns:48px minmax(0,1fr);gap:12px}
  .thumb{width:48px;height:60px}
  .lk-side{grid-column:2;text-align:left;display:flex;gap:10px;align-items:center;justify-content:space-between}
  .lk-side .row{margin-top:0!important}
  .login{grid-template-columns:1fr}
  .login-art{padding:28px 20px}
  .frames{display:none}
  .card{padding:16px}
  .tbl-wrap{margin:0 -16px;padding:0 16px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Lumvi — partner studio. Shared tokens keep both themes in step. */
:root{
  --bg:#f8f7fb;--bg-2:#f0edf6;--card-2:#f7f5fa;--ink:#252032;--ink-2:#686174;--ink-3:#797183;
  --brand:#7c5cff;--line:#e9e5ef;--shadow:0 4px 24px color-mix(in srgb,var(--ink) 3%,transparent);
  --hero-ink:#fff;--hero-muted:#e4dafb;--hero-bg:#30234f;--hero-line:#b9a1f04d;--hero-glow:#b36cf252;
  --r-lg:24px;--r-md:16px;
}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#100e16;--bg-2:#18151f;--card:#1c1825;--card-2:#231e2d;--ink:#f5f0ff;--ink-2:#b9afc9;--ink-3:#a397b4;--line:#332b40;--shadow:none}}
:root[data-theme="dark"]{--bg:#100e16;--bg-2:#18151f;--card:#1c1825;--card-2:#231e2d;--ink:#f5f0ff;--ink-2:#b9afc9;--ink-3:#a397b4;--line:#332b40;--shadow:none}
body{overflow-x:visible}
.shell{grid-template-columns:236px minmax(0,1fr)}
.side{padding:32px 20px 20px;background:var(--card);gap:10px}
.brand{gap:12px}.brand b{font-size:21px;letter-spacing:-.06em}.brand small{font-size:9px;letter-spacing:.18em;color:var(--ink-2)}
.brand-mark{width:40px;height:40px;border-radius:14px;transform:rotate(-6deg)}
.nav-caption{font-size:10px;letter-spacing:.15em;font-weight:800;color:var(--ink-3);margin:42px 12px 10px}
.nav{gap:6px}.nav a{min-height:48px;font-size:13px;padding:12px;border-radius:14px}.nav a.on{box-shadow:inset 3px 0 var(--brand)}
.side-foot{gap:16px}.side-note{padding:20px 16px;border-radius:20px;background:var(--card-2);margin-bottom:12px}.spark{font-size:30px;color:var(--brand);display:block;margin-bottom:8px}.side-note b{font-size:14px;line-height:1.5;display:block}.side-note p{font-size:12px;color:var(--ink-2);margin:8px 0 16px}.side-note a{font-size:12px;font-weight:800}.me{padding:10px 0;border:0;background:transparent}.me span{color:var(--ink-2)}
.main{max-width:1440px;margin:auto;padding:30px 40px 60px}.workspace-label{font-size:10px;font-weight:800;letter-spacing:.16em;color:var(--ink-3);margin-bottom:26px}.workspace-label span{padding:0 12px;color:var(--line-2)}
.top{margin-bottom:28px;align-items:center}.top h1{font-size:clamp(22px,2vw,29px);line-height:1.35;max-width:30ch}.top p{font-size:13px;margin-top:8px;max-width:66ch}.top>div:first-child{flex:1;min-width:260px}
.btn{height:44px;border-radius:13px;transition:background .15s,transform .15s}.btn.primary{background:var(--grad);color:var(--hero-ink);border:0;box-shadow:0 5px 16px color-mix(in srgb,var(--brand) 18%,transparent)}.btn:hover{transform:translateY(-1px)}.btn.sm{min-height:38px}.icon-btn{width:42px;height:42px;background:var(--card)}
.stack{gap:24px}.hero{grid-template-columns:minmax(0,1.55fr) repeat(2,minmax(0,1fr));gap:16px}.bal{padding:26px 28px;min-height:218px;background:radial-gradient(ellipse at 100% 0,var(--hero-glow),transparent 65%),var(--hero-bg);color:var(--hero-ink);box-shadow:none;isolation:isolate}.bal:before{content:"";position:absolute;inset:auto 0 0;height:5px;background:var(--grad)}.bal:after{display:none}.bal>*:not(.balance-orbit){position:relative}.bal .label{color:var(--hero-muted);display:flex;align-items:center;gap:8px;letter-spacing:.07em}.bal .label svg{width:16px;height:16px}.bal .big{font-size:clamp(28px,2.8vw,42px);margin:18px 0 12px;font-weight:500}.bal p{font-size:12px;max-width:38ch;color:var(--hero-muted)}.balance-orbit{position:absolute;width:220px;height:220px;border:1px solid var(--hero-line);border-radius:50%;right:-110px;top:20px;z-index:-1;box-shadow:0 0 0 24px var(--hero-line),0 0 0 48px color-mix(in srgb,var(--hero-line) 40%,transparent)}.balance-link{display:flex;align-items:center;gap:20px;font-size:12px;font-weight:700;margin-top:18px;color:var(--hero-ink)}.balance-link span{font-size:20px;line-height:1}
.hero>.kpi{display:flex;flex-direction:column;justify-content:center;padding:26px;position:relative}.hero>.kpi:before{content:"↗";font-size:23px;color:var(--brand);margin-bottom:16px}.hero>.kpi:last-child:before{content:"✓";color:var(--good)}.hero .kpi .val{font-size:26px;margin:10px 0 2px}.label{font-size:10px;letter-spacing:.08em;color:var(--ink-2)}
#per{gap:20px;margin-top:8px}#per>.card-head{align-items:flex-start;gap:18px}#per>.card-head>h2{padding-top:9px}
.period-control{min-width:0}.seg{background:var(--bg-2);padding:4px;border:0;gap:2px;border-radius:14px}.seg button{min-height:36px;padding:7px 10px;font-size:11px}.seg button.on{background:var(--card);color:var(--brand-soft-ink);box-shadow:var(--shadow)}
.kpis{gap:0;border:1px solid var(--line);background:var(--card);border-radius:20px;overflow:hidden}.kpis .kpi{background:transparent;border:0;border-radius:0;padding:20px;border-right:1px solid var(--line)}.kpis .kpi:last-child{border:0}.kpis .kpi .val{font-size:21px;margin:12px 0 6px}.kpi .sub{font-size:11px}.kpis .accent .label{color:var(--brand-soft-ink)}
.card{padding:24px;box-shadow:var(--shadow)}.card h2{font-family:var(--f-body);font-size:16px;font-weight:800}.card-head{margin-bottom:22px}.legend{font-size:11px}.chart{height:220px}.chart .grid{stroke-dasharray:3 5}.chart .bar{fill:var(--chart)}
th{font-size:10px;padding-bottom:14px}td{padding:17px 10px;font-size:13px}.link-name{color:var(--ink);font-weight:700}.link-name:hover{color:var(--brand)}.tbl-wrap{margin:0 -24px;padding:0 24px}.faint{color:var(--ink-3)}
.toolbar{gap:14px;margin:0}.search{height:46px;min-width:0}.toolbar>.search{flex-basis:100%}.toolbar .period-control{width:100%}
.lk{padding:22px;grid-template-columns:64px minmax(0,1fr) auto;border-radius:22px;gap:20px;transition:border-color .15s}.lk:hover{border-color:var(--brand)}.thumb{width:64px;height:80px;border-radius:16px;background:var(--brand-soft);color:var(--brand-soft-ink)}.lk-title b{font-size:16px}.lk-meta{margin-top:6px}.lk-stats{margin-top:14px;gap:22px;font-size:11px}.lk-stats b{display:block;font-size:14px;margin-top:3px}.lk-side .val{margin-top:4px;color:var(--brand-soft-ink);font-size:21px}.lk-side .small{font-size:11px}
.g2{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:24px}.copy{flex-wrap:wrap}.copy code{flex-basis:100%;font-size:11px}.copy .btn{margin-left:auto}.formula{gap:12px}.formula .t{padding:16px;flex:1;min-width:110px}.formula .t small{margin-bottom:6px;font-size:10px}.note{line-height:1.7}
.rank{gap:10px}.rk{padding:20px;grid-template-columns:44px minmax(0,1fr) auto;background:var(--card);border-radius:16px}.rk.me{border:1px solid var(--brand);background:var(--brand-soft)}.rk b{font-size:14px}.rk small{font-size:12px}.rk.top1 .pl{background:var(--warn-soft);color:var(--warn);padding:9px;border-radius:12px}.rk .num{font-size:16px}
.login{padding:18px;gap:18px;background:var(--bg)}.login-art{border-radius:28px;background:radial-gradient(ellipse at 90% 75%,var(--hero-glow),transparent 65%),var(--hero-bg);color:var(--hero-ink);padding:46px}.login-art:before{inset:auto -180px -300px auto;width:700px;height:700px;border:1px solid var(--hero-line);border-radius:50%;background:none;box-shadow:0 0 0 70px var(--hero-line),0 0 0 140px color-mix(in srgb,var(--hero-line) 35%,transparent)}.login-art h1{font-size:clamp(30px,3.6vw,52px);line-height:1.2;max-width:16ch}.login-art p{font-size:14px;color:var(--hero-muted);line-height:1.8}.login-art .brand small{color:var(--hero-muted)}.partner-path{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:34px 0}.partner-path span{border:1px solid var(--hero-line);border-radius:30px;padding:10px 16px;font-size:12px}.partner-path i{font-style:normal;color:var(--hero-muted)}.eyebrow{font-size:10px;color:var(--brand-soft-ink);font-weight:800;letter-spacing:.13em;margin-bottom:18px}.login-card{gap:28px}.login-card h2{line-height:1.45;font-size:28px}.steps{gap:20px}.steps li{line-height:1.7;font-size:13px}.tg-slot{padding:16px;background:var(--card);border:1px solid var(--line);border-radius:16px;min-height:74px;display:flex;align-items:center}.login-card .muted{font-size:14px;line-height:1.7}
@media(max-width:1200px) and (min-width:861px){.main{padding:28px}.hero .kpi .val{font-size:21px}.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.g2{grid-template-columns:1fr}.side{padding:28px 16px}}
@media(max-width:860px){
 .shell{grid-template-columns:minmax(0,1fr)}.main{padding:24px 18px 108px}.workspace-label{display:none}.mtop{padding:13px 18px;background:var(--card)}.mtop .brand-mark{width:34px;height:34px;border-radius:11px}.mtop .brand b{font-size:19px}.mtop .brand small{font-size:8px}.mtop .icon-btn{width:40px;height:40px}.top{gap:16px;margin-bottom:22px}.top>div:first-child{min-width:0;flex-basis:100%}.top h1{font-size:23px;line-height:1.4}.top p{font-size:12px;line-height:1.7}.top>.row:has(.primary){width:100%}.top .primary{width:100%;height:46px}.stack{gap:20px}
 .hero{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.bal{padding:23px;min-height:210px}.bal .big{font-size:36px}.hero>.kpi{padding:18px;min-height:140px}.hero>.kpi:before{font-size:18px;margin-bottom:8px}.hero .kpi .val{font-size:19px}.hero .label{font-size:9px}.hero .kpi .sub{line-height:1.6}
 #per{margin-top:6px}.period-control{width:100%}.seg{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;overflow:visible}.seg button{font-size:10px;white-space:normal;padding:7px 3px;min-height:40px}#per>.card-head>h2{padding:0;font-size:16px!important}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.kpis .kpi{padding:17px;border-bottom:1px solid var(--line)}.kpis .kpi:nth-child(2n){border-right:0}.kpis .kpi.accent{display:grid;grid-template-columns:1fr auto;align-items:center}.kpis .accent .val{grid-column:2;grid-row:1/3;margin:0}.kpis .accent .sub{margin-top:6px}.kpis .kpi .val{font-size:21px}
 .card{padding:20px;border-radius:22px}.card-head{gap:12px;margin-bottom:18px}.legend{font-size:10px;gap:8px}.chart{height:200px}.tbl-wrap{margin:0 -20px;padding:0 20px}.g2{grid-template-columns:minmax(0,1fr);gap:20px}
 :is(.best-links,.daily-table) table,:is(.best-links,.daily-table) tbody{display:block}:is(.best-links,.daily-table) thead{display:none}:is(.best-links,.daily-table) tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 8px;padding:18px 0;border-bottom:1px solid var(--line)}:is(.best-links,.daily-table) tr:last-child{border:0}:is(.best-links,.daily-table) td{padding:0;text-align:left;border:0;white-space:normal;font-size:12px}:is(.best-links,.daily-table) td:first-child{grid-column:1/-1}:is(.best-links,.daily-table) td:before{content:attr(data-label);display:block;color:var(--ink-2);font-size:9px;font-weight:500;margin-bottom:4px}:is(.best-links,.daily-table) td:first-child:before{display:none}:is(.best-links,.daily-table) td:last-child{grid-column:2/4}.best-links .mono{font-size:14px}
 .lk{grid-template-columns:48px minmax(0,1fr);gap:14px;padding:18px}.lk .thumb{width:48px;height:64px}.lk-title b{font-size:14px}.lk-meta{font-size:11px}.lk-stats{gap:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.lk-side{grid-column:1/-1;padding-top:14px;border-top:1px solid var(--line)}.lk-side .val{font-size:20px}.lk-side .btn{height:44px}.lk-side .row{margin-top:0!important}
 .tabbar{padding:8px 8px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -4px 24px color-mix(in srgb,var(--ink) 4%,transparent)}.tabbar a{font-size:10px;padding:8px 2px;gap:5px;border-radius:14px}.tabbar a.on{background:var(--brand-soft);color:var(--brand-soft-ink)}.tabbar svg{width:20px;height:20px}.toast{bottom:95px;max-width:calc(100% - 32px);width:max-content;font-size:12px}
 .rk{padding:14px 10px;gap:8px;grid-template-columns:30px minmax(0,1fr) auto}.rk b{font-size:12px}.rk small{font-size:10px}.rk .num{font-size:12px}.rk .pl{font-size:13px}.rk.top1 .pl{padding:8px 4px}
 .modal-bg{padding:0;place-items:end stretch}.modal{width:100%;max-height:92dvh;border-radius:22px 22px 0 0;border-bottom:0}.modal-f{padding-bottom:calc(14px + env(safe-area-inset-bottom))}.modal-f .btn{flex:1}.modal-h h3{font-size:16px}.modal-b{padding:18px}.prefix{display:block;padding:9px 14px 0}.prefix span{display:block;padding:0;font-size:12px;line-height:1.3}.prefix input{height:38px!important;padding:0!important;font-size:16px;background:transparent}.tpl-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:132px;max-height:300px}.tpl{height:132px}.field input,.field textarea{font-size:16px}.formula .t{min-width:100px;padding:12px}.formula{gap:8px}
 .login{padding:10px;gap:0}.login-art{padding:26px 22px;border-radius:24px;min-height:380px}.login-art .brand{margin-bottom:28px}.login-art h1{font-size:29px}.login-art p{font-size:12px}.login-art>p:last-child{display:none}.partner-path{gap:7px;margin:24px 0 0}.partner-path span{font-size:9px;padding:8px 10px}.login-box{padding:32px 16px}.login-card h2{font-size:25px}.login-card{gap:22px}
}

.tg-slot{flex-direction:column;align-items:flex-start;gap:12px}.thumb{position:relative}.thumb:before{content:"✦";position:absolute;font-size:22px;z-index:0}.thumb img,.thumb video,.thumb svg{position:relative;z-index:1}

/* Partner acquisition: offer first, Telegram authentication remains native. */
.partner-login{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr)}
.partner-login .login-art{padding:36px 46px;gap:34px;background:radial-gradient(ellipse at 100% 50%,var(--hero-glow),transparent 70%),var(--hero-bg)}
.partner-login .login-art:before{width:520px;height:520px;right:-350px;bottom:-190px;opacity:.55}
.login-offer{padding:6px 0;max-width:540px}
.offer-kicker{font-size:10px;letter-spacing:.16em;color:var(--hero-muted);font-weight:700;margin-bottom:20px}
.partner-login .login-art h1{font-size:clamp(30px,3.2vw,46px);line-height:1.17;letter-spacing:-.045em;max-width:none}
.offer-reward{margin:24px 0 12px;display:flex;flex-direction:column;gap:4px}
.offer-reward>span{font-size:16px;color:var(--hero-muted)}
.offer-reward strong{display:block;font:500 clamp(76px,8vw,118px)/1.1 var(--f-disp);letter-spacing:-.065em;background:var(--grad);background-clip:text;-webkit-background-clip:text;color:transparent;width:fit-content}
.offer-reward strong span{font-size:.73em}.offer-reward sup{font-size:.27em;vertical-align:top;position:relative;top:14px;margin-left:6px}
.partner-login .login-offer>p{max-width:40ch;margin:0;font-size:14px;line-height:1.75}
.offer-cta{display:flex;align-items:center;justify-content:space-between;width:260px;max-width:100%;padding:15px 20px;margin-top:26px;border-radius:14px;background:var(--hero-ink);color:var(--hero-bg);font-size:14px;font-weight:800;transition:transform .15s}
.offer-cta:hover{transform:translateY(-2px)}.offer-cta svg{width:20px;height:20px}
.offer-footnote{display:block;font-size:11px;line-height:1.5;color:var(--hero-muted);margin-top:16px}
.login-signature{display:flex;justify-content:space-between;gap:16px;font-size:10px;letter-spacing:.04em;color:var(--hero-muted)}
.partner-login .login-box{scroll-margin-top:20px;padding:36px}
.partner-login .login-card{width:min(420px,100%);gap:30px}
.partner-login .login-card h2{font-size:34px;line-height:1.3;letter-spacing:-.04em}
.partner-login .login-card .muted{margin-top:14px;font-size:14px}
.partner-login .steps{gap:22px}.partner-login .steps li{grid-template-columns:32px 1fr;gap:14px}.partner-login .steps li:before{width:32px;height:32px;border-radius:11px}.partner-login .steps b{display:block;color:var(--ink);font-size:14px;margin-bottom:3px}.partner-login .steps span{display:block;font-size:12px;color:var(--ink-2)}
.login-start{padding:22px;border:1px solid var(--line);border-radius:20px;background:var(--card);display:grid;gap:10px}.login-start h3{font-size:16px}.login-start>p{font-size:12px;color:var(--ink-2);line-height:1.7}.partner-login .tg-slot{margin-top:4px;border:0;border-radius:0;padding:0;min-height:36px;background:transparent}.partner-login .tg-slot .muted{font-size:11px;margin:0;color:var(--ink-3)}.login-theme{justify-content:center}.login-theme span{font-size:11px}
@media(max-width:860px){
 .partner-login{grid-template-columns:minmax(0,1fr)}
 .partner-login .login-art{padding:25px 24px;gap:26px;min-height:0}.partner-login .login-art .brand{margin:0}.login-offer{padding:0}.offer-kicker{font-size:8px;letter-spacing:.12em;margin-bottom:16px}.partner-login .login-art h1{font-size:30px}.offer-reward{margin:18px 0 10px}.offer-reward>span{font-size:13px}.offer-reward strong{font-size:84px}.offer-reward sup{top:10px}.partner-login .login-offer>p{font-size:12px;line-height:1.7}.offer-cta{width:100%;margin-top:20px;padding:14px 18px}.offer-footnote{font-size:10px;margin-top:12px}.login-signature{font-size:9px;gap:10px}.partner-login .login-box{padding:34px 18px}.partner-login .login-card{gap:26px}.partner-login .login-card h2{font-size:29px}.partner-login .login-card .muted{font-size:13px}.partner-login .steps b{font-size:13px}.login-start{padding:20px}.partner-login .tg-slot .muted{font-size:11px;margin:0}
}
.offer-reward sup{color:var(--hero-muted)}
.login-start{scroll-margin-top:24px}

/* Official Lumvi artwork, supplied by the project owner. */
.brand-mark,.boot-mark{background:transparent;border-radius:50%;overflow:hidden;transform:none}
.brand-mark img,.boot-mark img{display:block;width:100%;height:100%;object-fit:contain;border-radius:inherit}
.brand-mark{width:48px;height:48px}
.partner-login .brand-mark{width:64px;height:64px}
@media(max-width:860px){.mtop .brand-mark{width:42px;height:42px;border-radius:50%}.partner-login .brand-mark{width:56px;height:56px}}

/* The mascot supplies the visual language: violet light and soft halos. */
:root{--mascot-glow:#aa42f34d;--mascot-depth:#120720;--mascot-edge:#ba78f566}
.partner-login .login-art{background:radial-gradient(ellipse at 95% 50%,var(--hero-glow),transparent 68%),linear-gradient(150deg,var(--mascot-depth),var(--hero-bg))}
.partner-login .login-art:before{opacity:.22}
.offer-showcase{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 18px}
.offer-showcase .offer-reward{margin:0;position:relative;z-index:1}
.offer-showcase .offer-reward strong{font-size:clamp(76px,7vw,104px)}
.mascot-aura{width:220px;max-width:44%;flex-shrink:0;position:relative;border-radius:50%;box-shadow:0 0 55px var(--mascot-glow);border:1px solid var(--mascot-edge)}
.offer-mascot{display:block;width:100%;height:auto;border-radius:50%}
.partner-login .offer-cta{box-shadow:0 0 28px var(--mascot-glow)}
@media(max-width:860px){.offer-showcase{gap:6px;margin:18px 0}.offer-showcase .offer-reward strong{font-size:72px}.mascot-aura{width:132px;max-width:42%}.offer-showcase .offer-reward>span{font-size:12px}.offer-showcase .offer-reward sup{margin-left:2px}}

/* Interactive Lumvi stage — isolated from the partner dashboard. */
:root{--scene-bg:#11091f;--scene-deep:#090510;--scene-purple:#9f60ff;--scene-pink:#e7a1f3;--scene-text:#fcf7ff;--scene-muted:#c2addd;--scene-ring:#ad7de72b;--scene-shadow:#050209;--scene-glow:#a14ff34d}
.login-play{padding:0;gap:0;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);min-height:100dvh}
.magic-stage{--mx:0;--my:0;position:relative;isolation:isolate;overflow:hidden;min-height:800px;background:radial-gradient(ellipse at 50% 58%,var(--hero-bg),var(--scene-bg) 60%,var(--scene-deep));color:var(--scene-text);display:flex;flex-direction:column;padding:36px 44px 26px}
.magic-header{display:flex;align-items:center;justify-content:space-between;gap:20px}.magic-wordmark{font:700 32px var(--f-disp);letter-spacing:-.08em;color:var(--scene-text)}.magic-wordmark span{font-size:22px;color:var(--scene-pink);padding-left:5px}.magic-program{font-size:9px;letter-spacing:.16em;color:var(--scene-muted)}
.magic-heading{position:relative;z-index:2;margin:64px 0 0;pointer-events:none}.magic-kicker{font-size:9px;letter-spacing:.15em;color:var(--scene-muted);margin-bottom:18px}.magic-heading h1{font:500 clamp(28px,2.9vw,44px)/1.3 var(--f-disp);letter-spacing:-.045em}.magic-heading h1 span{color:var(--scene-pink)}
.magic-world{position:relative;flex:1;min-height:435px;cursor:pointer;outline-offset:-8px;perspective:900px;-webkit-tap-highlight-color:transparent}
.magic-character{position:absolute;inset:0;display:grid;place-items:center;transform:translate(calc(var(--mx)*18px),calc(var(--my)*12px)) rotateX(calc(var(--my)*-6deg)) rotateY(calc(var(--mx)*9deg));transition:transform .35s ease-out;will-change:transform;z-index:3;pointer-events:none}
.magic-character img{width:min(440px,100%);height:auto;display:block;animation:mascot-float 5s ease-in-out infinite;filter:drop-shadow(0 18px 32px var(--scene-shadow))}
.magic-halo{position:absolute;width:76%;aspect-ratio:1;left:12%;top:3%;border-radius:50%;background:radial-gradient(circle,var(--scene-glow),transparent 68%);filter:blur(18px);transform:translate(calc(var(--mx)*-22px),calc(var(--my)*-16px));transition:transform .5s}
.magic-orbit{position:absolute;left:9%;top:16%;width:82%;height:64%;border:1px solid var(--scene-ring);border-radius:50%;transform:rotate(-28deg);pointer-events:none}.orbit-two{left:18%;top:2%;width:64%;height:92%;transform:rotate(32deg);border-style:dashed}
.magic-floor{position:absolute;bottom:4%;left:29%;width:42%;height:24px;background:var(--scene-shadow);filter:blur(14px);border-radius:50%;opacity:.6;animation:floor-breathe 5s ease-in-out infinite}
.magic-chip{position:absolute;z-index:4;padding:11px 16px;border:1px solid var(--scene-ring);background:color-mix(in srgb,var(--scene-bg) 65%,transparent);backdrop-filter:blur(12px);border-radius:14px;font-size:12px;color:var(--scene-text);box-shadow:0 8px 26px color-mix(in srgb,var(--scene-shadow) 35%,transparent);pointer-events:none;transform:translate(calc(var(--mx)*-12px),calc(var(--my)*-8px));transition:transform .5s}.chip-photo{left:2%;top:32%;rotate:-9deg}.chip-video{right:0;bottom:18%;rotate:8deg}
.magic-sparkles{position:absolute;inset:0;pointer-events:none}.magic-sparkles i{position:absolute;left:calc(8% + mod(var(--i)*29,85)*1%);top:calc(8% + mod(var(--i)*37,80)*1%);font-style:normal;font-size:calc(8px + mod(var(--i),3)*5px);color:var(--scene-pink);animation:star-glimmer 3.8s ease-in-out infinite;animation-delay:calc(var(--i)*-.43s)}
.wand-light{position:absolute;width:70px;height:70px;right:13%;top:26%;border-radius:50%;background:radial-gradient(circle,var(--scene-glow),transparent 70%);mix-blend-mode:screen;animation:star-glimmer 3s infinite}
.magic-footer{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--scene-muted);font-size:10px;padding-top:18px}.motion-toggle{color:var(--scene-muted);font-size:10px;text-decoration:underline;text-underline-offset:4px;min-height:32px}
.magic-burst{position:absolute;z-index:5;left:76%;top:35%;pointer-events:none}.magic-burst i{position:absolute;font-style:normal;color:var(--scene-pink);font-size:15px;animation:magic-burst 1s ease-out both;--bx:calc(cos(var(--angle))*var(--distance));--by:calc(sin(var(--angle))*var(--distance))}
.magic-celebrate .magic-character img{animation:mascot-greet .9s ease-in-out}.magic-celebrate .magic-halo{filter:blur(8px);opacity:1}
.access-panel{display:flex;flex-direction:column;justify-content:center;padding:36px clamp(28px,4.4vw,72px) 24px;background:var(--bg);min-width:0}.access-content{width:100%;max-width:430px;margin:auto}.access-topline{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px}.access-topline>span{font-size:9px;letter-spacing:.15em;font-weight:800;color:var(--ink-3)}.access-content h2{font:500 clamp(22px,2.1vw,31px)/1.45 var(--f-disp);letter-spacing:-.035em}
.access-reward{margin:26px 0 14px}.access-reward>span{display:block;font-size:14px;color:var(--ink-2)}.access-reward strong{font:500 106px/1.15 var(--f-disp);letter-spacing:-.075em;color:var(--brand-soft-ink)}.access-reward em{font-size:.68em;font-style:normal}.access-reward sup{font-size:24px;vertical-align:top;position:relative;top:16px;padding-left:6px;letter-spacing:0}
.access-description{font-size:14px;line-height:1.8;color:var(--ink-2);max-width:39ch}.access-benefits{display:grid;gap:10px;margin:25px 0;font-size:12px;color:var(--ink-2)}.access-benefits span{display:flex;gap:9px;align-items:center}.access-benefits svg{width:16px;height:16px;color:var(--brand-soft-ink);flex-shrink:0}
.magic-start{display:flex;align-items:center;justify-content:space-between;width:100%;padding:17px 22px;border-radius:16px;background:var(--grad);color:var(--hero-ink);font-weight:800;font-size:15px;box-shadow:0 8px 30px color-mix(in srgb,var(--brand) 20%,transparent);transition:transform .2s,box-shadow .2s}.magic-start:hover{transform:translateY(-3px);box-shadow:0 12px 38px color-mix(in srgb,var(--brand) 35%,transparent)}.magic-start span{font-size:23px;line-height:1}
.telegram-entry{scroll-margin-top:24px;margin-top:20px;padding:16px 0;border-top:1px solid var(--line);transition:background .2s}.telegram-entry>p{font-size:11px;color:var(--ink-2);line-height:1.7}.login-play .tg-slot{padding:10px 0 0;min-height:40px;background:transparent;border:0;max-width:100%}.entry-active{background:var(--brand-soft);border-radius:12px;padding:16px}.access-footnote{font-size:10px;color:var(--ink-3)}.access-bottom{display:flex;justify-content:space-between;gap:16px;margin-top:36px;font-size:8px;letter-spacing:.1em;color:var(--ink-3)}.access-bottom span{letter-spacing:0}
.motion-paused *{animation-play-state:paused!important}.motion-paused .magic-character,.motion-paused .magic-chip,.motion-paused .magic-halo{transform:none!important}.motion-paused .magic-burst{display:none}
@keyframes mascot-float{0%,100%{transform:translateY(5px) rotate(-2deg)}50%{transform:translateY(-12px) rotate(1deg)}}
@keyframes floor-breathe{50%{transform:scale(.85);opacity:.35}}
@keyframes star-glimmer{0%,100%{opacity:.25;scale:.8}50%{opacity:.9;scale:1.12}}
@keyframes mascot-greet{0%,100%{transform:translateY(0) rotate(-2deg)}35%{transform:translateY(-18px) rotate(6deg)}70%{transform:translateY(-8px) rotate(-4deg)}}
@keyframes magic-burst{0%{opacity:0;transform:translate(0,0) scale(.2)}20%{opacity:1}100%{opacity:0;transform:translate(var(--bx),var(--by)) scale(.7)}}
@media(max-width:860px){.login-play{grid-template-columns:minmax(0,1fr)}.magic-stage{padding:24px 24px 14px;min-height:0}.magic-wordmark{font-size:27px}.magic-program{font-size:7px}.magic-heading{margin-top:32px}.magic-kicker{font-size:7px;margin-bottom:14px}.magic-heading h1{font-size:26px}.magic-world{min-height:330px;margin:0 -6px}.magic-character img{width:320px;max-width:100%}.magic-chip{font-size:10px;padding:8px 11px}.chip-photo{left:0;top:28%}.chip-video{right:0;bottom:15%}.magic-footer{font-size:9px;padding-top:0}.motion-toggle{font-size:9px}.interaction-hint{font-size:0}.interaction-hint:after{content:'Коснитесь персонажа ✦';font-size:9px}.access-panel{padding:28px 26px 24px}.access-topline{margin-bottom:20px}.access-content h2{font-size:23px}.access-reward{margin:20px 0 12px}.access-reward strong{font-size:88px}.access-description{font-size:13px}.access-benefits{font-size:11px;margin:22px 0}.access-bottom{font-size:7px;margin-top:28px}.magic-burst{left:77%;top:33%}}
@media(prefers-reduced-motion:reduce){.magic-character,.magic-chip,.magic-halo{transform:none!important}.magic-burst{display:none}.magic-start:hover{transform:none}}
@media(max-width:700px){.tabbar{grid-template-columns:repeat(3,minmax(0,1fr));height:auto}.tabbar a{min-height:44px}.main{padding-bottom:130px}}

.desktop-account{display:flex;justify-content:flex-end;gap:8px;margin-bottom:18px}.side{overflow-y:auto}.side-foot>.row{display:none}.side-note{display:none}.side-foot{padding-top:18px}.nav-caption{margin-top:26px}
@media(max-width:860px){.desktop-account{display:none}.tabbar{grid-template-columns:repeat(4,minmax(0,1fr))!important}}

@media(min-width:861px){.desktop-account{position:sticky;top:12px;z-index:30;width:max-content;margin-left:auto;padding:5px;border:1px solid var(--line);border-radius:13px;background:var(--card);box-shadow:0 4px 18px #0001}}
/* Compact mobile navigation and accessible native-dialog drawer. */
.partner-drawer{position:fixed;inset:0 auto 0 0;margin:0;width:min(320px,86vw);max-width:86vw;height:100dvh;max-height:100dvh;border:0;border-right:1px solid var(--line);border-radius:0;padding:24px 20px;background:var(--card);color:var(--ink);overflow-y:auto;box-shadow:20px 0 80px #0003}
.partner-drawer::backdrop{background:#0d081a80;backdrop-filter:blur(4px)}.drawer-open{overflow:hidden}.drawer-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.drawer-heading b{font-size:24px;letter-spacing:-.06em}.drawer-heading small{display:block;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-3)}.drawer-heading button{font-size:26px}.partner-drawer nav{display:grid;gap:6px}.partner-drawer nav a{display:flex;align-items:center;gap:14px;padding:14px;border-radius:13px;font-size:14px;color:var(--ink-2)}.partner-drawer nav svg{width:20px;height:20px}.partner-drawer nav a.on{background:var(--brand-soft);color:var(--brand-soft-ink);font-weight:750}.drawer-account{display:grid;gap:12px;border-top:1px solid var(--line);margin-top:28px;padding-top:22px}.drawer-account>b{font-size:13px}.drawer-account button{justify-content:flex-start}.mtop [data-menu]{flex:none}.mtop>.brand{margin-right:auto}
@media(max-width:860px){.tabbar{grid-template-columns:repeat(4,minmax(0,1fr))!important;min-height:64px;padding:7px 10px calc(7px + env(safe-area-inset-bottom));gap:4px}.tabbar a{min-height:48px;padding:6px 4px;font-size:10px}.main{padding-bottom:96px!important}.mtop{gap:8px}.mtop .brand-mark{display:none}.mtop .brand b{font-size:20px}.mtop .brand small{font-size:8px}.mtop>.row [data-logout]{display:none}}
@media(prefers-reduced-motion:no-preference){.partner-drawer[open]{animation:drawer-in .18s ease-out}@keyframes drawer-in{from{transform:translateX(-100%)}to{transform:translateX(0)}}}

/* Stable Telegram entry: one action, no layout jump or avatar. */
.telegram-entry{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.telegram-entry .tg-slot{min-height:52px;display:flex;align-items:center;justify-content:flex-start}.telegram-entry iframe{max-width:100%}.magic-character img{aspect-ratio:1/1;object-fit:contain}.boot-mark{animation:none;background:transparent}.boot-mark img{width:56px;height:56px;object-fit:contain;border-radius:16px}.access-reward strong{font-size:clamp(64px,7vw,104px);letter-spacing:-.055em}.access-content h2{font-size:clamp(25px,3vw,40px)}

/* ── 06.10.2026: продающий лендинг под входом (.lp) ── */
.lp{--lp-max:1180px;padding:24px 18px 70px;display:flex;flex-direction:column;gap:clamp(64px,9vw,120px);background:radial-gradient(1200px 500px at 50% 0,color-mix(in srgb,var(--brand) 9%,transparent),transparent 70%),var(--bg);overflow:hidden}
.lp-band{width:min(var(--lp-max),100%);margin:0 auto}
.lp-ic{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.lp-head{max-width:720px;margin:0 auto 34px;text-align:center}
.lp-kicker{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border-radius:999px;background:var(--brand-soft);color:var(--brand-soft-ink);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.lp-kicker .lp-ic{width:15px;height:15px}
.lp h2{font:600 clamp(28px,3.6vw,46px)/1.12 var(--f-disp);letter-spacing:-.035em;margin:16px 0 0;color:var(--ink)}
.lp h2 em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.lp-head p{margin:14px auto 0;max-width:56ch;color:var(--ink-2);font-size:16px;line-height:1.65}
/* появление */
.lp-rv{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.7,.2,1) var(--d,0ms),transform .7s cubic-bezier(.2,.7,.2,1) var(--d,0ms)}
.lp-rv.is-in{opacity:1;transform:none}
/* лента трендов */
.lp-trends{width:100%;max-width:none}
.lp-marquee{display:flex;flex-direction:column;gap:14px;-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.lp-track{display:flex;gap:14px;width:max-content;animation:lp-scroll 60s linear infinite}
.lp-track-r{animation-direction:reverse;animation-duration:70s}
.lp-marquee:hover .lp-track{animation-play-state:paused}
@keyframes lp-scroll{to{transform:translateX(-50%)}}
.lp-tile{position:relative;margin:0;width:170px;aspect-ratio:3/4;border-radius:20px;overflow:hidden;background:var(--card-2);box-shadow:0 14px 34px rgba(20,10,50,.18);flex:none;transition:transform .3s}
.lp-tile:hover{transform:translateY(-6px) rotate(-1deg)}
.lp-tile img{width:100%;height:100%;object-fit:cover;display:block}
.lp-tile i{position:absolute;top:10px;right:10px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:rgba(10,8,20,.55);color:#fff;font-size:10px;font-style:normal;backdrop-filter:blur(6px)}
.lp-tile figcaption{position:absolute;inset:auto 0 0;padding:28px 12px 11px;background:linear-gradient(transparent,rgba(8,6,16,.85));color:#fff;font-size:12.5px;font-weight:700;line-height:1.25}
/* шаги */
.lp-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:s;position:relative}
.lp-steps:before{content:"";position:absolute;top:44px;left:12%;right:12%;height:2px;background:linear-gradient(90deg,transparent,var(--brand),transparent);opacity:.35}
.lp-steps li{position:relative;display:flex;flex-direction:column;gap:10px;padding:24px 20px 22px;border-radius:24px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow)}
.lp-steps li i{position:absolute;top:16px;right:18px;font:600 40px/1 var(--f-disp);font-style:normal;color:var(--brand);opacity:.14}
.lp-steps li>.lp-ic{width:44px;height:44px;padding:11px;border-radius:14px;background:var(--grad);color:#fff;stroke-width:2;box-shadow:0 10px 24px color-mix(in srgb,var(--brand) 35%,transparent)}
.lp-steps b{font:600 17px var(--f-disp);letter-spacing:-.02em;margin-top:6px}
.lp-steps span{color:var(--ink-2);font-size:14px;line-height:1.55}
.lp-steps code{font:600 12px var(--f-mono);color:var(--brand-soft-ink);background:var(--brand-soft);padding:2px 6px;border-radius:6px;word-break:break-all}
/* сценарии */
.lp-scns{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.lp-scn{position:relative;display:flex;flex-direction:column;gap:12px;padding:26px;border-radius:28px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden;transition:transform .35s,box-shadow .35s}
.lp-scn:before{content:"";position:absolute;width:260px;height:260px;right:-90px;top:-110px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--brand) 22%,transparent),transparent 70%);pointer-events:none}
.lp-scn:hover{transform:translateY(-4px);box-shadow:0 24px 60px rgba(60,30,140,.18)}
.lp-scn-top{display:flex;align-items:center;gap:10px}
.lp-scn-ic{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand-soft-ink)}
.lp-scn-tag{font-size:12.5px;font-weight:800;letter-spacing:.04em;color:var(--ink-3);text-transform:uppercase}
.lp-scn h3{font:600 21px/1.25 var(--f-disp);letter-spacing:-.025em;margin:4px 0 0}
.lp-scn p{color:var(--ink-2);font-size:14.5px;line-height:1.6;margin:0}
.lp-funnel{display:flex;flex-direction:column;gap:7px;margin-top:6px}
.lp-fn{position:relative;display:flex;align-items:baseline;gap:8px;padding:9px 14px;border-radius:12px;overflow:hidden;font-size:13px;color:var(--ink-2)}
.lp-fn:before{content:"";position:absolute;inset:0 auto 0 0;width:0;background:color-mix(in srgb,var(--brand) 16%,transparent);border-radius:12px;transition:width 1.1s cubic-bezier(.2,.7,.2,1) .25s}
.lp-scn.is-in .lp-fn:before{width:var(--w)}
.lp-fn b,.lp-fn span{position:relative}
.lp-fn b{font:600 15px var(--f-disp);color:var(--ink);font-variant-numeric:tabular-nums}
.lp-scn-res{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:2px 12px;margin-top:auto;padding-top:14px;border-top:1px dashed var(--line-2)}
.lp-scn-res span{font-size:13px;color:var(--ink-3)}
.lp-scn-res b{font:600 30px/1.1 var(--f-disp);letter-spacing:-.03em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;text-align:right;font-variant-numeric:tabular-nums}
.lp-scn-res small{grid-column:1/-1;text-align:right;font-size:11.5px;color:var(--ink-3)}
/* калькулятор */
.lp-calc{display:grid;grid-template-columns:1.25fr 1fr;gap:0;border-radius:32px;overflow:hidden;border:1px solid var(--line);box-shadow:0 30px 80px rgba(60,30,140,.16)}
.lp-calc-l{padding:36px;background:var(--card)}
.lp-calc-l h2{font-size:clamp(24px,2.6vw,34px)}
.lp-slider{display:grid;grid-template-columns:1fr auto;align-items:end;gap:14px 12px;margin-top:28px}
.lp-slider>span{color:var(--ink-2);font-size:14.5px}
.lp-slider>b{font:600 30px/1 var(--f-disp);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.lp-slider input{grid-column:1/-1;-webkit-appearance:none;appearance:none;width:100%;height:10px;border-radius:999px;background:linear-gradient(90deg,var(--brand) var(--p,50%),var(--line-2) var(--p,50%));outline:none;cursor:pointer}
.lp-slider input::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;border-radius:50%;background:#fff;border:6px solid var(--brand);box-shadow:0 6px 18px color-mix(in srgb,var(--brand) 45%,transparent);transition:transform .15s}
.lp-slider input::-webkit-slider-thumb:hover{transform:scale(1.12)}
.lp-slider input::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:6px solid var(--brand)}
.lp-slider input:focus-visible{box-shadow:0 0 0 4px var(--brand-soft)}
.lp-calc-steps{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.lp-calc-steps span{padding:8px 12px;border-radius:999px;background:var(--card-2);border:1px solid var(--line);font-size:13px;color:var(--ink-2)}
.lp-calc-steps b{color:var(--ink);font-variant-numeric:tabular-nums}
.lp-calc-r{position:relative;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:36px;color:#fff;background:radial-gradient(400px 260px at 85% 10%,rgba(255,255,255,.25),transparent 60%),linear-gradient(150deg,#2a1563,#6b3fe0 60%,#c76bd8)}
.lp-calc-r>span{font-size:14px;opacity:.8}
.lp-calc-sum{font:600 clamp(40px,5vw,64px)/1.05 var(--f-disp);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.lp-calc-year{font-size:15px;opacity:.9}
.lp-calc-r .lp-cta{margin-top:22px;background:#fff;color:#3b1f8f;box-shadow:0 14px 34px rgba(0,0,0,.25)}
.lp-note{max-width:820px;margin:16px auto 0;text-align:center;font-size:12.5px;line-height:1.6;color:var(--ink-3)}
/* кнопки */
.lp-cta{display:inline-flex;align-items:center;justify-content:center;gap:9px;height:54px;padding:0 28px;border-radius:999px;background:var(--grad);color:#fff;font-weight:800;font-size:15.5px;text-decoration:none;box-shadow:0 14px 34px color-mix(in srgb,var(--brand) 40%,transparent);transition:transform .2s,box-shadow .2s;align-self:flex-start}
.lp-cta:hover{transform:translateY(-2px);box-shadow:0 20px 44px color-mix(in srgb,var(--brand) 50%,transparent)}
.lp-cta .lp-ic{width:17px;height:17px}
.lp-ghost{display:inline-flex;align-items:center;height:54px;padding:0 24px;border-radius:999px;border:1px solid var(--line-2);color:var(--ink);font-weight:700;font-size:15px;text-decoration:none}
.lp-ghost:hover{border-color:var(--brand)}
/* почему */
.lp-why{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.lp-why>div{display:flex;flex-direction:column;gap:8px;padding:24px;border-radius:24px;background:var(--card);border:1px solid var(--line)}
.lp-why .lp-ic{width:40px;height:40px;padding:10px;border-radius:13px;background:var(--brand-soft);color:var(--brand-soft-ink);margin-bottom:6px}
.lp-why b{font:600 16px var(--f-disp);letter-spacing:-.02em}
.lp-why span{color:var(--ink-2);font-size:14px;line-height:1.55}
/* демо кабинета */
.lp-demo-band{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.lp-demo-copy h2{margin-top:16px}.lp-demo-copy p{color:var(--ink-2);font-size:16px;line-height:1.65;margin-top:14px;max-width:44ch}
.lp-demo{position:relative;padding:22px;border-radius:30px;background:var(--card);border:1px solid var(--line);box-shadow:0 30px 80px rgba(60,30,140,.18);transform:rotate(1.2deg)}
.lp-demo-bal{position:relative;padding:22px;border-radius:22px;color:#fff;background:var(--grad);overflow:hidden}
.lp-demo-bal span{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:.85}
.lp-demo-bal b{display:block;font:600 40px/1.1 var(--f-disp);letter-spacing:-.03em;margin-top:8px;font-variant-numeric:tabular-nums}
.lp-demo-tag{position:absolute;top:16px;right:16px;padding:3px 10px;border-radius:999px;background:rgba(255,255,255,.2);font-size:11px;font-style:normal;font-weight:800}
.lp-demo-feed{display:flex;flex-direction:column;gap:8px;margin-top:14px;min-height:232px}
.lp-demo-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;background:var(--card-2);border:1px solid var(--line);font-size:13.5px;color:var(--ink-2);animation:lp-pop .5s cubic-bezier(.2,.8,.2,1.2)}
.lp-demo-row b{color:var(--good);font-weight:800}
.lp-demo-row code{font:600 12px var(--f-mono);color:var(--ink)}
.lp-demo-row small{color:var(--ink-3);font-size:11.5px}
.lp-demo-dot{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--good-soft);color:var(--good)}
.lp-demo-dot .lp-ic{width:17px;height:17px}
@keyframes lp-pop{from{opacity:0;transform:translateY(-12px) scale(.96)}}
/* вопросы */
.lp-faq{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:10px}
.lp-faq details{border-radius:20px;background:var(--card);border:1px solid var(--line);padding:0 22px}
.lp-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;font:600 16px var(--f-disp);letter-spacing:-.015em}
.lp-faq summary::-webkit-details-marker{display:none}
.lp-faq summary:after{content:"+";font:400 26px/1 var(--f-body);color:var(--brand);transition:transform .25s}
.lp-faq details[open] summary:after{transform:rotate(45deg)}
.lp-faq p{margin:0 0 20px;color:var(--ink-2);font-size:14.5px;line-height:1.65}
/* финал */
.lp-final{width:min(var(--lp-max),100%);margin:0 auto;display:grid;grid-template-columns:300px 1fr;align-items:center;gap:30px;padding:30px 44px;border-radius:36px;color:#fff;background:radial-gradient(500px 300px at 20% 50%,rgba(186,140,255,.45),transparent 70%),linear-gradient(135deg,#1c0f44,#4a26b5 60%,#a556cf)}
.lp-final img{width:100%;height:auto;animation:lp-float 5s ease-in-out infinite;filter:drop-shadow(0 30px 40px rgba(0,0,0,.35))}
@keyframes lp-float{50%{transform:translateY(-12px) rotate(2deg)}}
.lp-final h2{color:#fff}.lp-final h2 em{background:linear-gradient(90deg,#fff,#f3c4ff);-webkit-background-clip:text;background-clip:text}
.lp-final p{color:rgba(255,255,255,.8);margin-top:12px;font-size:15.5px}
.lp-final-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.lp-final .lp-cta{background:#fff;color:#3b1f8f}
.lp-final .lp-ghost{color:#fff;border-color:rgba(255,255,255,.4)}
/* адаптив */
@media(max-width:980px){.lp-steps{grid-template-columns:repeat(2,1fr)}.lp-steps:before{display:none}.lp-why{grid-template-columns:repeat(2,1fr)}.lp-calc,.lp-demo-band{grid-template-columns:1fr}.lp-demo{transform:none}}
@media(max-width:640px){.lp{padding:16px 14px 50px}.lp-scns,.lp-steps,.lp-why{grid-template-columns:1fr}.lp-tile{width:130px}.lp-calc-l,.lp-calc-r{padding:24px}.lp-final{grid-template-columns:1fr;text-align:center;padding:26px}.lp-final img{width:180px;margin:0 auto}.lp-final-btns{justify-content:center}.lp-scn{padding:20px}}
@media(prefers-reduced-motion:reduce){.lp-rv{opacity:1;transform:none;transition:none}.lp-track,.lp-final img{animation:none}.lp-fn:before{transition:none;width:var(--w)}.lp-demo-row{animation:none}}
.lp-steps code{display:inline-block;white-space:nowrap;font-size:11px;margin-top:4px}

/* 06.10.2026 (Бек: «не сильно сочетается страница») — вход + лендинг одним тёмным фирменным стилем при любой теме */
.lp-page{--bg:#0c0814;--bg-2:#120d1d;--card:#161121;--card-2:#1d1729;--ink:#f4effd;--ink-2:#b4aac8;--ink-3:#7f7695;--line:#2a2238;--line-2:#3a3150;
  --brand:#9b7cff;--brand-soft:#261d3d;--brand-soft-ink:#d4c6ff;--good:#45d494;--good-soft:#123426;--shadow:none;color-scheme:dark;
  background:radial-gradient(900px 600px at 78% 8%,rgba(155,124,255,.16),transparent 70%),radial-gradient(800px 700px at 10% 120%,rgba(199,107,216,.10),transparent 70%),var(--bg);color:var(--ink);min-height:100dvh}
html:has(.lp-page),body:has(.lp-page){background:#0c0814}
.lp-page .login-play{background:transparent}
.lp-page .access-panel{background:transparent}
.lp-page .magic-stage{border-radius:0 0 40px 0;box-shadow:inset -1px 0 0 rgba(255,255,255,.05)}
.lp-page [data-theme-btn]{display:none}
.lp-page .access-content h2,.lp-page .access-content{color:var(--ink)}
.lp-page .alert{background:rgba(155,124,255,.1);color:#e3d9ff;border:1px solid rgba(155,124,255,.32);font-weight:500;line-height:1.5}
.lp-page .telegram-entry{border-top-color:var(--line)}
/* лендинг продолжает тот же фон — без своей подложки */
.lp-page .lp{background:transparent}
.lp-page .lp-scn,.lp-page .lp-steps li,.lp-page .lp-why>div,.lp-page .lp-faq details,.lp-page .lp-calc-l,.lp-page .lp-demo{background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.015));border-color:rgba(255,255,255,.07);backdrop-filter:blur(6px)}
.lp-page .lp-calc{border-color:rgba(255,255,255,.08);box-shadow:0 30px 90px rgba(80,40,180,.25)}
.lp-page .lp-scn:hover{box-shadow:0 24px 70px rgba(120,80,255,.22)}
.lp-page .lp-calc-steps span,.lp-page .lp-demo-row{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.07)}
.lp-page .lp-tile{box-shadow:0 18px 40px rgba(0,0,0,.45)}
@media(max-width:860px){.lp-page .magic-stage{border-radius:0 0 32px 32px}}

/* 06.10.2026 (Бек: «переход, линии, непонятно есть ли что-то внизу») — первый экран перетекает в лендинг */
.lp-page .login-play{min-height:calc(100dvh - 70px)}
.lp-page .magic-stage{min-height:0;border-radius:0;box-shadow:none;-webkit-mask:linear-gradient(180deg,#000 72%,transparent);mask:linear-gradient(180deg,#000 72%,transparent)}
.lp-page .magic-footer .interaction-hint,.lp-page .access-bottom{display:none}
.lp-page .magic-footer{justify-content:flex-end;opacity:.6}
.lp-page .lp{padding-top:0}
/* подсказка «листайте» */
.lp-cue{position:fixed;left:50%;bottom:22px;z-index:30;transform:translateX(-50%);display:inline-flex;align-items:center;gap:12px;height:48px;padding:0 8px 0 22px;border-radius:999px;background:rgba(22,16,36,.72);border:1px solid rgba(190,160,255,.28);color:#efe8ff;font-weight:700;font-size:14.5px;text-decoration:none;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 14px 40px rgba(0,0,0,.45),0 0 0 6px rgba(155,124,255,.06);transition:opacity .35s,transform .35s}
.lp-cue:hover{border-color:rgba(190,160,255,.6)}
.lp-cue.is-off{opacity:0;transform:translate(-50%,16px);pointer-events:none}
.lp-cue-arrow{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--grad);animation:lp-bob 1.6s ease-in-out infinite}
.lp-cue-arrow svg{width:17px;height:17px;fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
@keyframes lp-bob{50%{transform:translateY(4px)}}
/* плавающее меню разделов */
.lp-nav{position:fixed;top:14px;left:50%;z-index:40;transform:translate(-50%,-90px);display:flex;align-items:center;gap:6px;padding:6px 6px 6px 18px;border-radius:999px;background:rgba(18,13,30,.78);border:1px solid rgba(255,255,255,.09);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 18px 50px rgba(0,0,0,.45);transition:transform .4s cubic-bezier(.2,.8,.2,1);max-width:calc(100vw - 24px)}
.lp-nav.is-on{transform:translate(-50%,0)}
.lp-nav-logo{font:600 18px var(--f-disp);letter-spacing:-.04em;color:#fff;text-decoration:none;margin-right:8px}.lp-nav-logo span{color:#e58fd0;font-size:13px}
.lp-nav-links{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}
.lp-nav-links a{padding:9px 14px;border-radius:999px;color:#b9b0cc;font-size:13.5px;font-weight:600;text-decoration:none;white-space:nowrap;transition:background .2s,color .2s}
.lp-nav-links a:hover{color:#fff}.lp-nav-links a.on{background:rgba(155,124,255,.18);color:#fff}
.lp-nav-cta{padding:10px 20px;border-radius:999px;background:var(--grad);color:#fff;font-weight:800;font-size:13.5px;text-decoration:none;white-space:nowrap}
.lp-band[id]{scroll-margin-top:90px}
@media(max-width:860px){.lp-page .login-play{min-height:0}.lp-nav-links{display:none}.lp-nav{padding-left:16px;gap:14px}.lp-cue{bottom:14px;font-size:13.5px}}
@media(prefers-reduced-motion:reduce){.lp-cue-arrow{animation:none}}
.lp-page .magic-stage{-webkit-mask:linear-gradient(90deg,#000 80%,transparent),linear-gradient(180deg,#000 70%,transparent);-webkit-mask-composite:source-in;mask:linear-gradient(90deg,#000 80%,transparent),linear-gradient(180deg,#000 70%,transparent);mask-composite:intersect}
.lp-page .magic-footer{display:none}
@media(max-width:860px){.lp-page .magic-stage{-webkit-mask:linear-gradient(180deg,#000 75%,transparent);mask:linear-gradient(180deg,#000 75%,transparent)}}
/* кнопки первого экрана — капсулы, одна главная + лёгкая вторая */
.lp-page .telegram-entry{border-top:0;margin-top:26px;padding:0}
.lp-hero-btns{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.lp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:54px;padding:0 28px;border-radius:999px;font:800 15.5px var(--f-body);text-decoration:none;cursor:pointer;border:0;transition:transform .2s,box-shadow .2s,border-color .2s}
.lp-btn-main{background:var(--grad);color:#fff;box-shadow:0 14px 34px rgba(155,124,255,.4)}
.lp-btn-main:hover{transform:translateY(-2px);box-shadow:0 20px 44px rgba(155,124,255,.5)}
.lp-btn-ghost{background:rgba(255,255,255,.04);color:var(--ink);border:1px solid rgba(255,255,255,.14);font-weight:700}
.lp-btn-ghost:hover{border-color:rgba(190,160,255,.55)}
.lp-hero-hint{margin-top:12px;font-size:12.5px;color:var(--ink-3)}
.lp-page .telegram-entry .alert{margin-bottom:14px;padding:12px 16px;border-radius:16px;font-size:14px}
.lp-nav-ghost{padding:10px 16px;border-radius:999px;background:transparent;border:1px solid rgba(255,255,255,.16);color:#efe8ff;font:700 13.5px var(--f-body);cursor:pointer;white-space:nowrap}
.lp-nav-ghost:hover{border-color:rgba(190,160,255,.55)}
.lp-nav-cta{border:0;cursor:pointer;font-family:var(--f-body)}
.lp-cta,.lp-ghost{cursor:pointer;font-family:var(--f-body)}
.lp-ghost{background:transparent}
.lp-page .access-footnote{display:block;margin-top:14px}
/* окно анкеты — в тёмной гамме страницы */
body:has(.lp-page) dialog.lumvi-entry{--bg:#0c0814;--bg-2:#120d1d;--card:#161121;--card-2:#1d1729;--ink:#f4effd;--ink-2:#b4aac8;--ink-3:#7f7695;--line:#2a2238;--line-2:#3a3150;--brand:#9b7cff;--brand-soft:#261d3d;--brand-soft-ink:#d4c6ff;color-scheme:dark}
.lp-page .access-content h2{font-size:clamp(26px,2.5vw,36px);line-height:1.2}
/* 06.10.2026 (Бек: «белый экран во время загрузки») — заставка загрузки тёмная, в гамме страницы входа */
html:has(.boot),body:has(.boot){background:#0c0814}
.boot{min-height:100dvh;background:radial-gradient(600px 400px at 50% 45%,rgba(155,124,255,.18),transparent 70%),#0c0814}
.boot-mark{box-shadow:0 0 0 1px rgba(255,255,255,.08),0 20px 60px rgba(124,92,255,.35)}
/* Бек: «нет смысла показывать анимацию загрузки» — заставка без логотипа, просто тёмный фон */
.boot .boot-mark{display:none}
