[hidden]{display:none!important}
input[type=range]{accent-color:var(--amber)}
/* Моушен (эталон mchat/docs/MOTION.md): только opacity/transform, вход = зеркало выхода, одни токены. */
:root{--motion-ease:cubic-bezier(.2,0,0,1);--motion-ease-out:cubic-bezier(1,0,.8,1);--motion-open:.28s;--motion-close:.22s;--motion-fade:.2s;--motion-micro:.14s;--ease-out:var(--motion-ease)}
@view-transition{navigation:auto}
::view-transition-old(root){animation:vtOut var(--motion-fade) var(--motion-ease-out) both}
::view-transition-new(root){animation:vtIn var(--motion-fade) var(--motion-ease) both}
@keyframes vtIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes vtOut{from{opacity:1;transform:none}to{opacity:0;transform:translateY(6px)}}
/* AiBrand — сайт и кабинет. База (токены, кнопки, имена агентов) — base.css из brand/src. */
html{overscroll-behavior-y:none}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
.btn{cursor:pointer;transition:transform var(--motion-micro) var(--motion-ease),box-shadow var(--motion-close) var(--motion-ease),opacity var(--motion-micro)}
.btn:active{transform:scale(.97)}
.btn[disabled],.btn.off{opacity:.45;pointer-events:none}
.btn.pri:hover{box-shadow:0 10px 26px rgba(232,134,46,.34)}
:focus-visible{outline:2.5px solid var(--amber);outline-offset:2px;border-radius:8px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
img{max-width:100%}
.coin i{flex:none}

/* ── публичная шапка ── */
nav.top .links a{transition:color .15s}nav.top .links a:hover,nav.top .links a.on{color:var(--graphite)}
nav.top .logo{height:44px}
.closed{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:800;color:#8A4A12;background:var(--amber-soft);border-radius:99px;padding:6px 12px}

/* ── главная (brand/src/home.html) ── */
.hero{display:grid;grid-template-columns:1fr 1.15fr;align-items:center;min-height:600px;margin-top:8px;border-radius:32px;background:linear-gradient(to right,#F3F3F5 0,#F3F3F5 160px,rgba(243,243,245,0) 470px),url(/img/hero.webp) right -20px bottom -6px/1060px auto no-repeat #F3F3F5;overflow:hidden;box-shadow:var(--sh-2)}
.hero .txt{padding:0 0 0 64px}
.hero h1{font-size:68px;line-height:1.02;font-weight:800;letter-spacing:-.04em}
.hero h1 em{font-style:normal;color:var(--accent)}
.hero p{font-size:19px;line-height:1.5;color:var(--slate);margin:22px 0 32px;max-width:440px}
.hero .cta{display:flex;gap:12px}
.sec-h{font-size:42px;font-weight:800;margin:96px 0 28px;max-width:640px;line-height:1.08;scroll-margin-top:20px}
.bento{display:grid;grid-template-columns:1.3fr 1fr 1fr;grid-template-rows:260px 260px;gap:18px}
.b{border-radius:22px;overflow:hidden;position:relative;box-shadow:var(--sh-1);background:var(--white);transition:transform .2s ease,box-shadow .2s}
a.b:hover{transform:translateY(-3px);box-shadow:var(--sh-2)}
.b.big{grid-row:span 2;background:url(/img/agent-mira.webp) 50% 4%/auto 150% no-repeat,#F3F3F5}
.b.big .lab{position:absolute;left:22px;right:22px;bottom:22px;background:rgba(251,251,252,.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:18px;padding:18px 20px}
.b .nm+p{margin-top:10px}
.b.img.tint .pic{background-color:#E9E9ED}.b p{font-size:14.5px;color:var(--slate);margin-top:6px;line-height:1.45}
.b.img{display:grid;grid-template-columns:1fr 170px}
.b.img .t{padding:24px 6px 24px 24px;display:flex;flex-direction:column;justify-content:flex-end}
.b.img .pic{background:#F3F3F5 50% 6%/auto 150% no-repeat}
.b.tint{background:var(--mist)}
.steps3{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--silver)}
.st{padding:28px 28px 0 0}.st+.st{padding-left:28px;border-left:1px solid var(--silver)}
.st b{font-size:15px;color:var(--accent);font-weight:800}.st h3{font-size:24px;margin:10px 0 8px}.st p{color:var(--slate);line-height:1.5}
.demo{margin-top:96px;display:grid;grid-template-columns:360px 1fr;gap:56px;align-items:center;background:var(--mist);border-radius:32px;padding:44px}
.demo>img{width:100%;border-radius:22px;box-shadow:var(--sh-2);display:block}
.demo h2{font-size:42px;font-weight:800;margin:0 0 16px;line-height:1.08}.demo p{font-size:18px;color:var(--slate);line-height:1.55;max-width:470px}
.demo ul{list-style:none;margin:24px 0 30px;display:grid;gap:12px}.demo li{display:flex;gap:12px;align-items:center;font-weight:700}
.demo li img{width:44px;height:44px;mix-blend-mode:multiply}
footer.ft{margin-top:80px;border-top:1px solid var(--silver);padding:26px 0 40px;display:flex;justify-content:space-between;color:var(--steel);font-size:14px;font-weight:600;gap:12px}
footer.ft a:hover{color:var(--graphite)}

/* ── агенты ── */
.ag-head{margin:40px 0 28px}.ag-head h1{font-size:52px;font-weight:800;line-height:1.05;letter-spacing:-.035em}.ag-head p{color:var(--slate);font-size:18px;margin-top:12px;max-width:600px;line-height:1.5}
.ag-list{display:grid;gap:18px}
.ag{display:grid;grid-template-columns:260px 1fr;gap:28px;align-items:center;background:var(--white);border-radius:28px;box-shadow:var(--sh-1);padding:22px 30px 22px 22px;overflow:hidden}
.ag .poses{display:flex;align-items:flex-end;justify-content:center;height:260px;background:linear-gradient(180deg,var(--white),var(--pearl));border-radius:22px}
.ag .poses img{height:240px}
.ag h2{font-size:28px;margin:10px 0 8px}.ag p{color:var(--slate);line-height:1.55;font-size:16px;max-width:620px}
.ag .bub{margin-top:16px;display:inline-block}
.ag .tools{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.ag.lead{box-shadow:0 0 0 2px var(--amber),var(--sh-1)}

/* ── тарифы (brand/src/pricing.html) ── */
.pr-head{margin:40px 0 34px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.pr-head h1{font-size:52px;font-weight:800;line-height:1.05}.pr-head p{color:var(--slate);font-size:18px;margin-top:10px;max-width:520px;line-height:1.45}
.pr-head img{width:560px;min-width:0;height:250px;object-fit:cover;object-position:50% 34%;border-radius:28px;box-shadow:var(--sh-1)}
.plans{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr) minmax(0,1fr);gap:20px;align-items:stretch}
.p{padding:30px;display:flex;flex-direction:column}
.p h3{font-size:22px}.p .amt{display:flex;align-items:baseline;gap:10px;margin:18px 0 4px}.p .amt b{font-size:48px;letter-spacing:-.03em}
.p .coin i{width:26px;height:26px}
.p .price{color:var(--slate);font-weight:700}
.p ul{list-style:none;margin:22px 0 26px;display:grid;gap:12px;font-size:15px}
.p li{display:flex;gap:10px}.p li:before{content:"";width:18px;height:18px;border-radius:6px;background:var(--mist);flex:none;margin-top:1px}
.p .btn{margin-top:auto}
.p.hot{background:var(--graphite);color:#fff;box-shadow:var(--sh-2)}.p.hot .price,.p.hot li{color:#D2D1D7}.p.hot li:before{background:var(--accent)}
.p.hot .badge{align-self:flex-start;background:var(--accent);color:#fff;font-weight:800;font-size:12.5px;padding:6px 12px;border-radius:999px;margin-bottom:12px}
.cost{margin-top:40px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.c{padding:20px;display:flex;gap:14px;align-items:center}
.c img{width:58px;height:58px;mix-blend-mode:multiply;margin:-6px}
.c b{display:block}.c small{color:var(--slate);font-weight:600}
.note{margin:26px 0 40px;color:var(--steel);font-size:14px;font-weight:600}

/* ── вход ── */
.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px;max-width:1160px;margin:0 auto;padding:40px}
.login .card{padding:40px}.login h1{font-size:44px;font-weight:800;line-height:1.05;letter-spacing:-.035em;margin:20px 0 14px}
.login h1 em{font-style:normal;color:var(--amber)}
.login p{color:var(--slate);line-height:1.55;font-size:17px}
.login .acts{display:grid;gap:12px;margin-top:26px}
.login .pic{border-radius:32px;overflow:hidden;box-shadow:var(--sh-2);aspect-ratio:4/5;background:url(/img/vertical.webp) center/cover}
.login .err{margin-top:16px;background:var(--amber-soft);color:#8A4A12;border-radius:14px;padding:12px 14px;font-weight:700;font-size:14.5px}

/* ── кабинет: шапка ── */
.app{max-width:1360px;margin:0 auto;padding:0 40px 56px}
.bar{height:76px;display:flex;align-items:center;gap:28px}
.bar .logo{height:42px}
.bar .nav{display:flex;gap:6px;margin-left:12px}
.bar .nav a{font-size:14px;font-weight:700;color:var(--steel);padding:9px 15px;border-radius:999px;transition:color .15s,background .15s}
.bar .nav a:hover{color:var(--graphite)}
.bar .nav a.on{background:var(--white);color:var(--graphite);box-shadow:var(--sh-1)}
.bar .right{margin-left:auto;display:flex;align-items:center;gap:12px}
.bal{display:flex;align-items:center;gap:10px;background:var(--white);box-shadow:var(--sh-1);border-radius:999px;padding:6px 6px 6px 14px;font-weight:800;font-size:15px}
.bal .btn{padding:8px 14px;font-size:13.5px}
.me{width:40px;height:40px;border-radius:50%;background:var(--white);box-shadow:var(--sh-1);display:grid;place-items:center;font-weight:800;color:var(--slate)}
.mnav{display:none}

/* ── кабинет: «Твоя команда» (brand/src/comp-team.html) ── */
.hd{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end;margin:8px 0 24px}
.hd h1{font-size:42px;font-weight:800;letter-spacing:-.035em}.hd p{color:var(--slate);font-size:17px;margin-top:8px}
.lead2{display:flex;align-items:center;gap:14px}.lead2 img{width:64px;height:64px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 3px var(--amber);flex:none}
.lead2 .bub{max-width:420px}.lead2 .bub::after{left:-6px;top:24px}
.crew{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.m{background:var(--white);border-radius:26px;box-shadow:var(--sh-1);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
a.m:hover{transform:translateY(-3px);box-shadow:var(--sh-2)}
.m .pic{height:330px;display:flex;align-items:flex-end;justify-content:center;background:linear-gradient(180deg,var(--white),var(--pearl));position:relative}
.m .pic img{height:268px}
.m .st{position:absolute;left:14px;top:14px;font-size:12px;font-weight:800;padding:6px 11px;border-radius:99px;background:var(--pearl);color:var(--slate);display:flex;gap:6px;align-items:center}
.m .st i{width:8px;height:8px;border-radius:50%;background:var(--steel)}.m .st.w{background:var(--amber-soft);color:#8A4A12}.m .st.w i{background:var(--amber);box-shadow:0 0 0 4px rgba(232,134,46,.18)}.m .st.d i{background:#3BAA6E}
.m .tx{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.m .tx p{font-size:14.5px;line-height:1.45;color:var(--graphite);font-weight:600}
.m .tx .q{font-size:13px;color:var(--steel);font-weight:700;margin-top:auto}
.m.on{box-shadow:0 0 0 2px var(--amber),var(--sh-2)}
.feedh{margin-top:32px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.feedh h3{font-size:22px;font-weight:800;margin-right:12px}
.fl{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:14px}
.fi{background:var(--white);border-radius:20px;box-shadow:var(--sh-1);padding:14px;display:flex;gap:12px;align-items:center;min-width:0}
.fi .th{width:56px;height:56px;border-radius:14px;background:var(--pearl) center/82% no-repeat;flex:none;background-blend-mode:multiply}
.fi .th.photo{background-size:cover}
.fi b{display:block;font-size:15px;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fi>div{min-width:0}
.empty{background:var(--white);border-radius:22px;box-shadow:var(--sh-1);padding:22px;color:var(--slate);font-weight:600;line-height:1.5}

/* ── работы (лента из brand/src/cabinet.html) ── */
.feed{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:16px}
.w{overflow:hidden;display:flex;flex-direction:column}.w .im{aspect-ratio:4/5;background:var(--mist) center/cover;position:relative;display:block}
.w .im span{position:absolute;left:10px;top:10px;background:rgba(251,251,252,.9);border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800}
.w .im.txt{background:var(--white);padding:46px 18px 18px;font:600 14.5px/1.5 Manrope;color:var(--slate);overflow:hidden}
.w .im.txt b{display:block;color:var(--graphite);font-weight:800;font-size:18px;line-height:1.25;margin-bottom:8px}
.w .t{padding:12px 14px 14px}.w .t>b{font-size:15px;display:block;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.st-fail{color:#B4532A}.st-wait{color:var(--slate)}

/* ── инструмент: рабочая зона + агент (brand/src/companion.css) ── */
.stage{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:36px;align-items:start}
.work{padding-top:12px;min-width:0}
.eyebrow{font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--amber)}
.work h1{font-size:40px;line-height:1.08;font-weight:800;letter-spacing:-.035em;margin:10px 0 12px;max-width:720px}
.work .lead{font-size:17px;line-height:1.5;color:var(--slate);max-width:640px}
.panel{background:var(--white);border-radius:28px;box-shadow:var(--sh-2);padding:28px;margin-top:24px}
.panel+.panel{margin-top:18px}
.panel h2{font-size:22px;font-weight:800;margin-bottom:6px}.panel .sub{color:var(--slate);font-size:14.5px;line-height:1.45}
textarea.field,input.field{width:100%;border:1.5px solid var(--silver);border-radius:18px;padding:16px 18px;font:500 16.5px/1.55 Manrope;color:var(--graphite);background:#fff;resize:vertical;transition:border-color .15s}
textarea.field{min-height:132px}
textarea.field:focus,input.field:focus{outline:0;border-color:var(--amber)}
input.field{min-height:52px}
label.lb{display:block;font-weight:800;font-size:14px;margin:18px 0 8px}
.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px}
.row .grow{margin-left:auto}
.mic{width:52px;height:52px;border-radius:50%;background:var(--pearl);display:grid;place-items:center;box-shadow:inset 0 0 0 1.5px var(--silver);border:0;flex:none;transition:background .15s}
.mic svg{width:22px;height:22px}
.mic.rec{background:var(--amber);box-shadow:0 0 0 6px rgba(232,134,46,.2)}.mic.rec svg{stroke:#fff}
.recinfo{font-size:14px;font-weight:700;color:var(--slate)}
.prog{display:flex;align-items:center;gap:14px;margin-top:22px;font-size:14px;font-weight:700;color:var(--slate)}
.prog .bar2{flex:1;height:8px;border-radius:99px;background:var(--mist);overflow:hidden}.prog .bar2 i{display:block;height:100%;border-radius:99px;background:var(--amber);transition:width .4s}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{border:0;cursor:pointer}
.price{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--slate);font-size:14.5px}
.msg{margin-top:14px;border-radius:16px;padding:12px 16px;font-weight:700;font-size:14.5px;line-height:1.45;display:none}
.msg.show{display:block}.msg.err{background:#FBE3CC;color:#8A4A12}.msg.ok{background:#E3F3EA;color:#1F6A43}.msg.info{background:var(--mist);color:var(--slate)}
.wait{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:800;color:var(--slate);background:var(--mist);border-radius:99px;padding:6px 11px}
.agent{position:sticky;top:20px;display:flex;flex-direction:column;align-items:center;padding-top:8px}
.agent .fig{height:470px;width:auto;display:block;filter:drop-shadow(0 18px 24px rgba(40,40,52,.06));transition:opacity .25s}
.agent .nm{margin-top:10px}
.bub{position:relative;background:var(--white);border-radius:22px;box-shadow:var(--sh-2);padding:16px 20px;font-size:16px;line-height:1.45;font-weight:600;color:var(--graphite);max-width:340px}
.bub .who{display:block;font-family:Unbounded,Manrope;font-size:12px;font-weight:700;color:var(--amber);margin-bottom:4px}
.bub::after{content:"";position:absolute;width:18px;height:18px;background:var(--white);transform:rotate(45deg);border-radius:3px}
.agent .bub{margin-bottom:-6px;width:100%;z-index:2}
.agent .bub::after{left:50%;bottom:-8px;margin-left:-9px}
.mob-agent{display:none}
.steps-list{display:grid;gap:0;margin-top:8px}
.sl{display:flex;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--mist)}
.sl .n{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-weight:800;background:var(--mist);color:var(--slate);flex:none}
.sl.ok .n{background:var(--graphite);color:#fff}.sl.now .n{background:var(--amber);color:#fff}
.sl b{display:block;font-size:16.5px}.sl small{color:var(--slate);font-size:13.5px;font-weight:600}
.sl .tag{margin-left:auto;font-size:12.5px;font-weight:800;border-radius:99px;padding:6px 12px;background:var(--mist);color:var(--slate);white-space:nowrap}
.sl.ok .tag{background:#E3F3EA;color:#1F6A43}.sl.now .tag{background:var(--amber-soft);color:#8A4A12}
.tip{display:flex;gap:12px;align-items:flex-start;background:var(--amber-soft);border-radius:18px;padding:14px 16px;margin-top:16px;font-size:14.5px;line-height:1.45;font-weight:600}
.tip img{width:38px;height:38px;border-radius:50%;object-fit:cover;flex:none}.tip b{font-family:Unbounded,Manrope;margin-right:6px}
video.cam,video.res{width:100%;border-radius:22px;background:#E9E9ED;display:block;max-height:70vh;object-fit:cover}
video.res{object-fit:contain;background:#222226}
.camwrap{position:relative;margin-top:16px;border-radius:22px;overflow:hidden;background:var(--mist);aspect-ratio:9/16;max-height:72vh;margin-left:auto;margin-right:auto}
.camwrap video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}
.prompter{position:absolute;left:0;right:0;top:0;height:46%;overflow:hidden;background:linear-gradient(rgba(34,34,38,.72),rgba(34,34,38,.45) 80%,transparent);color:#fff;font-weight:700;font-size:24px;line-height:1.45;padding:18px 20px}
.prompter .roll{transition:transform .2s linear}
.phrase{background:var(--graphite);color:#fff;border-radius:18px;padding:16px 18px;font-weight:700;font-size:18px;line-height:1.45;margin-top:14px}
.result{margin-top:18px}
.posts{display:grid;gap:14px;margin-top:16px}
.post{border:1.5px solid var(--mist);border-radius:20px;padding:18px}.post .k{font-size:12.5px;font-weight:800;color:var(--amber);text-transform:uppercase;letter-spacing:.06em}
.post h3{font-size:18px;margin:6px 0 8px}.post p{white-space:pre-wrap;line-height:1.55;color:#3a3a40}
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:14px}
.gal img{width:100%;border-radius:14px;box-shadow:var(--sh-1);display:block}
.qlist{display:grid;gap:6px;margin-top:10px}
.qd{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:14px;background:var(--pearl);font-size:14px;font-weight:600;color:var(--slate);cursor:pointer;border:0;text-align:left;width:100%}
.qd i{width:20px;height:20px;border-radius:7px;background:var(--mist);flex:none;display:grid;place-items:center;font-style:normal;font-size:12px;color:#fff}
.qd.done i{background:var(--graphite)}.qd.cur{background:var(--amber-soft);color:#8A4A12}.qd.voice i{background:var(--amber)}
.plan{width:100%;border-collapse:collapse;font-size:14.5px;margin-top:12px}.plan td,.plan th{padding:10px 8px;border-bottom:1px solid var(--mist);text-align:left;vertical-align:top}
.plan th{color:var(--steel);font-size:12.5px;text-transform:uppercase;letter-spacing:.05em}.plan small{color:var(--slate)}
.kv{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;font-size:15px;margin-top:10px}.kv dt{color:var(--slate);font-weight:700}
table.t{width:100%;border-collapse:collapse;font-size:14px}table.t td,table.t th{padding:9px 8px;border-bottom:1px solid var(--mist);text-align:left;vertical-align:top}
table.t th{color:var(--steel);font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.05em}
.plus{color:#1F6A43;font-weight:800}.minus{color:var(--graphite);font-weight:800}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.stat{background:var(--white);border-radius:22px;box-shadow:var(--sh-1);padding:18px 20px}.stat b{display:block;font-size:30px;letter-spacing:-.02em}.stat small{color:var(--slate);font-weight:700}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px}
.funnel{display:grid;gap:8px;margin-top:12px}.fu{display:grid;grid-template-columns:200px 1fr 60px;gap:12px;align-items:center;font-size:14px;font-weight:700}
.fu .bar2{height:12px;border-radius:99px;background:var(--mist);overflow:hidden}.fu .bar2 i{display:block;height:100%;background:var(--graphite);border-radius:99px}
.ok-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#3BAA6E;margin-right:6px}.no-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--steel);margin-right:6px}

/* появление: одно движение, без каскадов дольше 50 мс */
.rise{animation:rise var(--motion-open) var(--motion-ease) both}
.rise:nth-child(2){animation-delay:.025s}.rise:nth-child(n+3){animation-delay:.05s}
@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.pulse{animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{50%{opacity:.45}}
[data-text],.agent .fig{transition:opacity var(--motion-micro) var(--motion-ease)}
.swap [data-text],.swap>[data-text],.fig.swap{opacity:0;transition-timing-function:var(--motion-ease-out)}
.msg.show{animation:popIn var(--motion-close) var(--motion-ease) both}
@keyframes popIn{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}
.prog .bar2 i{transform-origin:left}
/* шторка: вход sheetUp ↔ выход sheetDown, одна длительность */
.sheet-wrap{position:fixed;inset:0;z-index:50;display:flex;align-items:flex-end;justify-content:center}
.sheet-bg{position:absolute;inset:0;background:rgba(34,34,38,.32);animation:fadeIn var(--motion-open) var(--motion-ease) both}
.sheet{position:relative;width:min(520px,100%);background:var(--white);border-radius:28px 28px 0 0;box-shadow:var(--sh-2);padding:24px 22px calc(22px + env(safe-area-inset-bottom));animation:sheetUp var(--motion-open) var(--motion-ease) both}
.sheet-wrap.closing .sheet-bg{animation:fadeOut var(--motion-open) var(--motion-ease-out) both}
.sheet-wrap.closing .sheet{animation:sheetDown var(--motion-open) var(--motion-ease-out) both}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeOut{from{opacity:1}to{opacity:0}}
@keyframes sheetUp{from{transform:translateY(100%)}to{transform:none}}@keyframes sheetDown{from{transform:none}to{transform:translateY(100%)}}
@media (min-width:761px){.sheet-wrap{align-items:center}.sheet{border-radius:28px;padding-bottom:24px}}
.sheet-h{display:flex;gap:14px;align-items:center}.sheet-h img{border-radius:14px;flex:none}.sheet-h b{display:block;font-size:19px}.sheet-h small{color:var(--slate);font-weight:600;font-size:14px;line-height:1.4}
.sheet-steps{margin:16px 0 0;padding-left:22px;display:grid;gap:10px;font-size:15.5px;line-height:1.45}.sheet-steps .ico{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:6px;background:var(--mist);font-size:13px}
.sheet-or{text-align:center;color:var(--steel);font-weight:700;font-size:13px;margin-top:12px}.sheet-note{margin-top:12px;background:var(--mist);border-radius:14px;padding:10px 12px;font-size:13.5px;color:var(--slate);font-weight:600}
/* плашка обновления: всплывает снизу, уходит тем же путём */
.upd{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom));z-index:40;display:flex;gap:14px;align-items:center;background:var(--graphite);color:#fff;border-radius:20px;padding:12px 12px 12px 18px;box-shadow:var(--sh-2);width:max-content;max-width:calc(100% - 24px);transform:translateX(-50%);animation:updIn var(--motion-open) var(--motion-ease) both}
.upd b{display:block;font-size:15px}.upd small{color:#C9C8CE;font-size:12.5px;font-weight:600}
@keyframes updIn{from{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%,0)}}
/* уход — зеркало прихода: тот же путь вниз, та же длительность и кривая */
.upd.closing{animation:updOut var(--motion-open) var(--motion-ease-out) both;pointer-events:none}
@keyframes updOut{from{opacity:1;transform:translate(-50%,0)}to{opacity:0;transform:translate(-50%,16px)}}
.upd .btn[disabled]{opacity:.7}
@media (min-width:761px){.upd{bottom:24px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001s!important;animation-delay:0s!important;transition-duration:.001s!important}::view-transition-old(root),::view-transition-new(root){animation:none}}

/* ── телефон ── */
@media (max-width:760px){
  .wrap{padding:0 16px} nav.top{height:60px} nav.top .links{display:none} nav.top .logo{height:36px}
  .hero{display:block;min-height:860px;border-radius:26px;background:linear-gradient(to bottom,#F3F3F5 0,#F3F3F5 49%,rgba(243,243,245,0) 53%),url(/img/hero.webp) 90% 100%/auto 50% no-repeat,#F3F3F5}
  .hero .txt{padding:36px 22px 0}.hero h1{font-size:44px}.hero p{font-size:16.5px;margin:16px 0 24px}.hero .cta{flex-direction:column}
  .sec-h{font-size:31px;margin:64px 0 20px}
  .bento{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .b.big{grid-column:1/-1;grid-row:auto;height:380px}.b.img{grid-column:1/-1;min-height:180px;grid-template-columns:1fr 150px}
  .steps3{grid-template-columns:1fr}.st,.st+.st{padding:22px 0;border-left:0;border-bottom:1px solid var(--silver)}
  .demo{grid-template-columns:1fr;padding:22px;gap:24px;margin-top:64px}.demo>img{max-width:260px;margin:0 auto}.demo h2{font-size:31px}
  footer.ft{flex-direction:column;gap:8px}
  .ag-head h1,.pr-head h1{font-size:34px}.ag{grid-template-columns:1fr;padding:16px}.ag .poses{height:220px}.ag .poses img{height:200px}
  .pr-head{display:block}.pr-head img{width:100%;height:180px;margin-top:20px}
  .plans{grid-template-columns:1fr}.cost{grid-template-columns:1fr 1fr}
  .login{grid-template-columns:1fr;padding:18px;gap:18px}.login .pic{display:none}.login .card{padding:26px 22px}.login h1{font-size:34px}
  .app{padding:0 16px 96px}
  .bar{height:62px;gap:12px}.bar .logo{height:34px}.bar .nav{display:none}
  .mnav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:20;background:rgba(251,251,252,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--silver);padding:6px 6px calc(6px + env(safe-area-inset-bottom))}
  .mnav a{flex:1;text-align:center;font-size:11.5px;font-weight:800;color:var(--steel);padding:6px 2px;border-radius:12px;display:flex;flex-direction:column;align-items:center;gap:2px}
  .mnav a img{width:28px;height:28px;mix-blend-mode:multiply}
  .mnav a.on{color:var(--graphite);background:var(--white)}
  .bal{font-size:14px;padding:5px 5px 5px 12px}.bal .btn{display:none}.me{display:none}
  .hd{grid-template-columns:1fr}.hd h1{font-size:28px}.hd p{font-size:15px}.lead2 img{width:48px;height:48px}.lead2 .bub{font-size:14.5px;padding:12px 15px}.lead2 .bub::after{display:none}
  .crew{grid-template-columns:1fr;gap:12px}
  .m{flex-direction:row;position:relative}.m .pic{height:150px;width:116px;flex:none;position:static}.m .pic img{height:142px}.m .st{left:auto;right:12px;top:12px;white-space:nowrap}
  .m .tx{padding:12px 14px}.m .tx p{font-size:14px;padding-right:70px}
  .fl{grid-template-columns:1fr}.feed{grid-template-columns:1fr 1fr;gap:10px}
  .stage{display:block}.agent{display:none}
  .work{padding-top:4px}.work h1{font-size:27px}.work .lead{font-size:15.5px}
  .mob-agent{display:flex;gap:12px;align-items:flex-start;margin:14px 0 4px}
  .mob-agent img{width:52px;height:52px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2.5px var(--amber);flex:none}
  .mob-agent .bub{font-size:14.5px;padding:12px 15px;border-radius:6px 20px 20px 20px;box-shadow:var(--sh-1)}
  .mob-agent .bub::after{display:none}
  .panel{padding:18px;border-radius:22px;margin-top:16px}
  textarea.field{font-size:16px;min-height:120px;padding:14px 16px}
  .row .grow{margin-left:0;flex:1}.row .btn.pri{width:100%}
  .stats{grid-template-columns:1fr 1fr}.grid2{grid-template-columns:1fr}.fu{grid-template-columns:120px 1fr 44px}
  .sl .tag{display:none}
  .prompter{font-size:20px}
}
@media (max-width:370px){.hero h1{font-size:40px}.feed{grid-template-columns:1fr}}

/* ── реестр инструментов: каталог, метки, инструкции, «Что нового» ── */
.tl{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.tc{display:flex;gap:16px;background:var(--white);border-radius:24px;box-shadow:var(--sh-1);padding:18px;transition:transform .2s var(--ease-out),box-shadow .2s}
.tc:hover{transform:translateY(-3px);box-shadow:var(--sh-2)}
.tci{width:64px;height:64px;border-radius:18px;background:var(--pearl);display:grid;place-items:center;flex:none}.tci img{width:56px;height:56px;mix-blend-mode:multiply}
.tcb{min-width:0;display:flex;flex-direction:column;gap:6px}.tch{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.tch b{font-size:17px}
.tcb p{color:var(--slate);font-size:14px;line-height:1.45}.tcf{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:auto}
.nb{display:inline-flex;align-items:center;font-size:11.5px;font-weight:800;color:#fff;background:var(--amber);border-radius:99px;padding:3px 9px;letter-spacing:.02em;text-transform:none}
.nb.beta{background:var(--mist);color:var(--slate)}
.howto summary{cursor:pointer;font-weight:800;font-size:16px;list-style:none;display:flex;align-items:center;gap:8px}
.howto summary::-webkit-details-marker{display:none}.howto summary::before{content:"?";width:26px;height:26px;border-radius:50%;background:var(--amber-soft);color:#8A4A12;display:grid;place-items:center;font-size:14px}
.mdx{margin-top:12px;color:var(--graphite);line-height:1.55;font-size:15px}.mdx p{margin:6px 0}.mdx h3{font-size:16px;margin:14px 0 6px}.mdx ol,.mdx ul{padding-left:22px;display:grid;gap:4px}
.newsl{display:grid;gap:4px;max-width:820px}
@media (max-width:1100px){.tl{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.tl{grid-template-columns:1fr}.mnav a{font-size:10.5px}}
#qtext{transition:opacity var(--motion-micro) var(--motion-ease)}#qtext.swap-h{opacity:0;transition-timing-function:var(--motion-ease-out)}
#build.ready{box-shadow:0 0 0 2px var(--amber),var(--sh-2);transition:box-shadow var(--motion-open) var(--motion-ease)}
.niches{margin-top:20px}.niches .chip{padding:12px 18px;font-size:15px}
/* ── мастер «Сними сам» ── */
.wz-h{display:flex;gap:12px;align-items:center;margin-bottom:8px}.wz-h h2{margin:0}
.wz-n{width:34px;height:34px;border-radius:11px;background:var(--graphite);color:#fff;display:grid;place-items:center;font-weight:800;flex:none}
.stys{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:10px}
.sty{border:1.5px solid var(--mist);background:var(--white);border-radius:20px;padding:10px;text-align:left;display:flex;flex-direction:column;gap:4px;transition:border-color var(--motion-micro),transform var(--motion-micro) var(--motion-ease)}
.sty:active{transform:scale(.98)}.sty.on{border-color:var(--amber);box-shadow:0 0 0 2px var(--amber)}
.sty b{font-size:15px}.sty small{color:var(--slate);font-size:12.5px;line-height:1.35;font-weight:600}
.sty-prev{aspect-ratio:9/12;border-radius:14px;background:linear-gradient(160deg,#E2E1E6,#C9C8CE);position:relative;overflow:hidden;margin-bottom:6px;display:block}
.sty-prev i,.sty-prev em{position:absolute;left:10%;right:10%;text-align:center;font-style:normal;font-weight:800}
.sty-prev i{top:12%;font-size:11px;padding:4px 6px;border-radius:6px}.sty-prev em{bottom:16%;font-size:12px;line-height:1.2}
.sty-clean i{background:#FBFBFC;color:#222226}.sty-clean em{color:#fff;-webkit-text-stroke:.6px #222226;text-shadow:0 1px 2px #222226}
.sty-bright i{background:var(--amber);color:#fff;font-family:Unbounded}.sty-bright em{font-family:Unbounded;color:#fff;text-shadow:0 1px 2px #222226}.sty-bright em u{text-decoration:none;color:var(--amber)}
.sty-calm i{background:rgba(243,243,245,.9);color:#222226}.sty-calm em{background:rgba(251,251,252,.85);color:#222226;border-radius:6px;padding:4px;font-weight:700}
.sty-brand{background:linear-gradient(160deg,#FBE3CC,#E8862E)}.sty-brand i{background:#222226;color:#fff}.sty-brand em{background:#222226;color:#fff;border-radius:6px;padding:4px}
.brandopts{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:14px;padding:12px 14px;border-radius:16px;background:var(--pearl)}
.brandopts input[type=color]{width:40px;height:32px;border:0;background:none;vertical-align:middle}
.opts{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;margin:16px 0 10px}.opt{display:flex;gap:8px;align-items:flex-start;font-weight:700;font-size:14.5px;line-height:1.35}.opt input{flex:none;margin-top:1px}
.opt input,.price input[type=checkbox]{width:18px;height:18px;accent-color:var(--amber)}
.caph{margin-top:20px;font-size:18px}.caph small{color:var(--slate);font-weight:600;font-size:13px}
@media (max-width:760px){.stys{grid-template-columns:1fr 1fr}.opts{grid-template-columns:1fr}}
/* меню «Ещё» для модулей: не растягивает шапку */
.bar .nav{flex-wrap:nowrap;white-space:nowrap;min-width:0}
.more{position:relative}.more summary{list-style:none;cursor:pointer;font-size:14px;font-weight:700;color:var(--steel);padding:9px 15px;border-radius:999px}
.more summary::-webkit-details-marker{display:none}.more summary::after{content:" ▾";font-size:11px}
.more summary.on,.more[open] summary{background:var(--white);color:var(--graphite);box-shadow:var(--sh-1)}
.more-m{position:absolute;top:calc(100% + 8px);right:0;z-index:30;min-width:220px;background:var(--white);border-radius:18px;box-shadow:var(--sh-2);padding:8px;display:grid;gap:2px;animation:popIn var(--motion-close) var(--motion-ease) both;transform-origin:top right}
.more-m a{display:flex;gap:10px;align-items:center;padding:8px 10px;border-radius:12px;font-weight:700;font-size:14px;color:var(--slate)}
.more-m a:hover,.more-m a.on{background:var(--pearl);color:var(--graphite)}.more-m img{width:28px;height:28px;mix-blend-mode:multiply}
@media (max-width:1180px){.bar .nav a,.more summary{padding:9px 10px;font-size:13.5px}.bar{gap:16px}}

/* ═════════════ Интерфейс v2 «как Обучение MChat» (09.10, docs/DESIGN-LEARN-STYLE.md) ═════════════
   Обложка → прогресс → аккуратные карточки, скелетоны вместо пустоты, одна колонка на телефоне.
   Палитра, янтарь, логотип и 3D-агенты — прежние. Движение — только opacity/transform на токенах выше. */
:root{--r-cover:28px;--r-card:18px;--r-row:14px;--gap:12px;
  --sh-card:0 1px 2px rgba(40,40,52,.04),0 3px 10px rgba(40,40,52,.045);
  --cover-bg:radial-gradient(420px 260px at 82% 30%,rgba(232,134,46,.16),transparent 70%),radial-gradient(520px 300px at 0% 0%,#FFFFFF,transparent 70%),linear-gradient(135deg,#FBFBFC 0%,#F0F0F3 55%,#E6E6EB 100%)}

/* обложка раздела */
.cover{position:relative;overflow:hidden;isolation:isolate;border-radius:var(--r-cover);background:var(--cover-bg);box-shadow:var(--sh-card),inset 0 0 0 1px rgba(255,255,255,.7);
  min-height:236px;display:flex;align-items:flex-end;margin:6px 0 14px}
.cover .cv-fig{position:absolute;z-index:-1;right:4%;top:22px;width:230px;height:calc(100% - 14px);max-width:none;object-fit:cover;object-position:50% 0;filter:drop-shadow(0 14px 22px rgba(40,40,52,.10))}
.cover .cv-img{position:absolute;z-index:-1;right:0;top:0;height:100%;width:68%;object-fit:cover;object-position:100% 20%;mix-blend-mode:multiply}
.cover.art::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(251,251,252,.92) 0%,rgba(251,251,252,.7) 42%,rgba(251,251,252,0) 66%)}
.cv-in{position:relative;padding:28px 32px;max-width:640px;display:flex;flex-direction:column;gap:8px;min-width:0}
.cover.art .cv-in{max-width:62%}
.cover h1{font-size:36px;line-height:1.1;font-weight:800;letter-spacing:-.03em;margin:0;overflow-wrap:anywhere}
.cover .eyebrow{font-size:12.5px}
.cover .eyebrow a{color:inherit}
.cv-meta{font-size:14px;font-weight:700;color:var(--slate);display:flex;gap:8px 12px;flex-wrap:wrap;align-items:center}
.cv-meta .coin{color:var(--graphite)}
.cv-desc{color:var(--slate);font-size:16px;line-height:1.5;margin:0 6px 14px;max-width:680px}
/* на десктопе рядом стоит компаньон с позой — второй такой же агент в обложке не нужен */
@media (min-width:761px){.stage:has(>.agent) .cover .cv-fig{display:none}.stage:has(>.agent) .cover.art::before{display:none}.stage:has(>.agent) .cover .cv-in{max-width:none}
  .stage:has(>.agent) .cover{min-height:0}.stage .cover{margin-top:12px}}
/* мастерская агента за фигурой (docs/AGENT-OFFICES.md): комната — фон с глубиной, слева светлая растяжка под текст, мягкая виньетка.
   Размеры картинки заданы (CLS 0); пока грузится — тон стены. Фигура cv-fig спереди, её переход fig-<a> не меняется. */
.cover.room{background:#ECEAE7}
.cover .cv-room{position:absolute;inset:0;z-index:-3;display:block;pointer-events:none}
.cover .cv-room img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:62% 64%;transition:translate .2s linear}
.cover .cv-room::after{content:"";position:absolute;inset:0;background:radial-gradient(130% 120% at 70% 40%,transparent 52%,rgba(52,44,38,.16) 100%),linear-gradient(0deg,rgba(52,44,38,.08),transparent 22%)}
.cover.room::after{opacity:.4}
.cover.room::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(251,251,252,.94) 0%,rgba(251,251,252,.82) 30%,rgba(251,251,252,.35) 50%,rgba(251,251,252,0) 64%)}
/* Фигура в мастерской (docs/AGENT-OFFICES.md § «Вырез и встраивание»): тень на полу уже в самой позе (tools/pose_matte.py),
   здесь — только лёгкая подгонка под тёплый свет комнаты; обводки-тени по силуэту нет — с ней фигура выглядит наклейкой. */
.cover.room .cv-fig{filter:sepia(.07) saturate(1.04) brightness(.985)}
@media (min-width:761px){.stage:has(>.agent) .cover.room{min-height:220px}
  .stage:has(>.agent) .cover.room::before{display:block;background:linear-gradient(90deg,rgba(251,251,252,.95) 0%,rgba(251,251,252,.86) 38%,rgba(251,251,252,.3) 64%,rgba(251,251,252,0) 80%)}
  .stage:has(>.agent) .cover.room .cv-in{max-width:70%}}
@media (max-width:760px){.cover .cv-room img{object-position:100% 60%}
  .cover.room::before{background:linear-gradient(90deg,rgba(251,251,252,.95) 0%,rgba(251,251,252,.84) 44%,rgba(251,251,252,.2) 66%,rgba(251,251,252,0) 78%)}}
@media (prefers-reduced-motion:reduce){.cover .cv-room img{transition:none;translate:none!important}}
.lsec{font-size:12.5px;font-weight:800;color:var(--steel);letter-spacing:.06em;text-transform:uppercase;margin:22px 6px 10px}

/* кольцо и полоска прогресса */
.ring{position:relative;width:56px;height:56px;flex:none;display:block}
.ring svg{display:block;transform:rotate(-90deg)}
.ring circle{fill:none;stroke-width:5}
.ring-bg{stroke:var(--mist)}
.ring-fg{stroke:var(--amber);stroke-linecap:round;transition:stroke-dashoffset var(--motion-open) var(--motion-ease)}
.ring b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;font-variant-numeric:tabular-nums}
.pbar{display:block;height:6px;border-radius:3px;background:var(--mist);overflow:hidden}
.pbar>i{display:block;height:100%;width:100%;background:var(--amber);border-radius:3px;transform-origin:0 50%;transition:transform var(--motion-open) var(--motion-ease)}
.pbar.thin{height:4px}
/* карточка «прогресс + действие» */
.pcard{display:flex;align-items:center;gap:14px;background:var(--white);border-radius:var(--r-card);box-shadow:var(--sh-card);padding:14px 16px;margin:0 0 var(--gap)}
.pcard .tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.pcard .tx b{font-size:15.5px;font-weight:800}
.pcard .tx span{font-size:13.5px;color:var(--slate);font-weight:600;line-height:1.35}
.pcard>.btn{flex:none;padding:11px 18px;font-size:14.5px}
a.pcard{transition:transform var(--motion-micro) var(--motion-ease)}a.pcard:active{transform:scale(.985)}
.chev{color:var(--steel);font-size:22px;font-weight:600;line-height:1;flex:none}

/* строка-карточка списка */
.lrows{display:flex;flex-direction:column;gap:8px}
.lrow{display:flex;align-items:center;gap:12px;background:var(--white);border-radius:var(--r-card);box-shadow:var(--sh-card);padding:10px 14px 10px 10px;min-width:0;transition:transform var(--motion-micro) var(--motion-ease)}
.lrow:active{transform:scale(.985)}
.lrow .th{width:56px;height:56px;border-radius:var(--r-row);background:var(--pearl);flex:none;display:grid;place-items:center;overflow:hidden}
.lrow .th img{width:52px;height:52px;mix-blend-mode:multiply}
.lrow .tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.lrow .tx b{font-size:15px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lrow .tx small{font-size:13px;color:var(--slate);font-weight:600;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* скелетоны: плашка тумана с бликом; картинки до загрузки — на фоне-скелетоне */
@keyframes skShine{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
.sk,.sk-row,.sk-card{position:relative;overflow:hidden;background:var(--mist);border-radius:var(--r-row)}
.sk-row{height:64px;margin-bottom:8px}.sk-card{height:160px;border-radius:var(--r-card);margin-bottom:var(--gap)}
.sk::after,.sk-row::after,.sk-card::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:skShine 1.4s linear infinite}

/* общий вид: карточки ровнее и легче, нажатие — лёгкое сжатие */
.panel{border-radius:var(--r-cover);box-shadow:var(--sh-card)}
.card,.stat,.empty,.fi,.tc,.tm-m,.tm-fi,.tm-ho{box-shadow:var(--sh-card)}
.chip{transition:transform var(--motion-micro) var(--motion-ease),background var(--motion-micro) var(--motion-ease)}
.chip:active{transform:scale(.96)}
.feedh h3{letter-spacing:-.02em}
.bar{position:sticky;top:0;z-index:25;background:rgba(243,243,245,.82);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);margin:0 -40px;padding:0 40px}
.prog .bar2 i{width:100%}

/* ── телефон: одна колонка, обложка 188 px, карточки r18 ── */
@media (max-width:760px){
  :root{--r-cover:24px;--gap:10px}
  .app{padding:0 14px 96px}
  .bar{margin:0 -14px;padding:env(safe-area-inset-top) 14px 0;height:auto;min-height:58px;box-shadow:0 1px 0 rgba(40,40,52,.06)}
  .bar .logo{height:34px}
  .cover{min-height:188px;margin:10px 0 12px}
  .cover .cv-fig{right:-4px;top:14px;width:150px;height:calc(100% - 6px)}
  .cover .cv-img{width:78%;object-position:92% 18%}
  .cover.art::before{background:linear-gradient(90deg,rgba(251,251,252,.95) 0%,rgba(251,251,252,.78) 50%,rgba(251,251,252,0) 74%)}
  .cv-in{padding:18px 16px 16px;gap:6px}
  .cover.art .cv-in{max-width:68%}
  .cover h1{font-size:23px;line-height:1.18}
  .cover .eyebrow{font-size:11px;letter-spacing:.08em}
  .cv-meta{font-size:12.5px}
  .cv-desc{font-size:15px;margin:0 4px 12px}
  .lsec{margin:18px 4px 8px;font-size:12px}
  .panel{border-radius:var(--r-card);padding:16px;margin-top:var(--gap)}
  .panel h2{font-size:18px}
  .pcard{padding:12px 14px;gap:12px}
  .pcard>.btn{padding:10px 14px;font-size:14px}
  .feedh{margin-top:18px}
  .feedh h3{font-size:12px;font-weight:800;color:var(--steel);letter-spacing:.06em;text-transform:uppercase;margin-right:auto}
  .feedh .chip{padding:7px 12px;font-size:12.5px}
  .mnav{padding:5px 8px calc(5px + env(safe-area-inset-bottom));border-top:0;box-shadow:0 -1px 0 rgba(40,40,52,.07)}
  .mnav a{transition:color var(--motion-micro) var(--motion-ease),transform var(--motion-micro) var(--motion-ease);position:relative}
  .mnav a:active{transform:scale(.94)}
  .mnav a.on{background:none;color:var(--graphite)}
  .mnav a.on::after{content:"";position:absolute;top:1px;left:50%;width:5px;height:5px;margin-left:12px;border-radius:50%;background:var(--amber)}
  .mob-agent{margin:2px 0 4px}
  .stat{border-radius:var(--r-card)}
}
/* распаковка: вопрос — заголовок карточки, а не обложки (обложка не прыгает от длины вопроса) */
.q-h{font-size:24px;line-height:1.25;font-weight:800;letter-spacing:-.02em;margin:8px 0 6px}
.q-top{margin-top:0;justify-content:space-between}
#qtext.q-h{transition:opacity var(--motion-micro) var(--motion-ease)}
.panel .sub+textarea.field{margin-top:14px}
.niches{margin-top:16px}
@media (max-width:760px){.q-h{font-size:19px}.niches .chip{padding:10px 14px;font-size:14px}}
/* вход и приглашение: на телефоне сверху обложка с Марком, ниже карточка — без пустого экрана */
.login .card{border-radius:var(--r-cover);box-shadow:var(--sh-card)}
.login .pic{border-radius:var(--r-cover);box-shadow:var(--sh-card)}
@media (max-width:760px){
  .login{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;min-height:100svh;gap:12px;padding:14px 14px calc(20px + env(safe-area-inset-bottom))}
  .login .pic{display:block;order:-1;aspect-ratio:auto;height:min(42svh,330px);min-height:220px;background-position:50% 24%}
  .login .card{padding:22px 18px}.login .card>img:first-child{height:32px}
  .login .card>div:first-of-type{margin-top:18px!important}
  .login h1{font-size:30px;margin:14px 0 10px}.login p{font-size:15.5px}
  .login .acts{margin-top:18px}.login .acts .btn{width:100%}
}
/* обложка-картинка (кабинет): на телефоне картинка сверху, текст снизу на светлой подложке */
@media (max-width:760px){
  .cover:has(.cv-img){min-height:236px}
  .cover .cv-img{width:100%;height:78%;object-position:88% 12%}
  .cover:has(.cv-img)::before{background:linear-gradient(0deg,rgba(251,251,252,.98) 0%,rgba(251,251,252,.9) 30%,rgba(251,251,252,0) 58%)}
  .cover:has(.cv-img) .cv-in{max-width:none}
}
/* обложка «вся команда» (11 на одном фото): на десктопе — справа шире, слева белое поле под заголовок;
   до 1023 px — фото целиком сверху (свой кроп через <picture>), текст под ним, никто не обрезан и не закрыт */
@media (min-width:1024px){
  .cover.cv-team .cv-img{width:80%;object-position:100% 30%}
  .cover.cv-team::before{background:linear-gradient(90deg,rgba(251,251,252,.92) 0%,rgba(251,251,252,.6) 24%,rgba(251,251,252,0) 40%)}
  .cover.cv-team .cv-in{max-width:44%}
}
@media (max-width:1023px){
  .cover.cv-team{min-height:0;flex-direction:column;align-items:stretch}
  .cover.cv-team::before{display:none}
  .cover.cv-team .cv-pic{display:block}
  .cover.cv-team .cv-img{position:relative;display:block;width:100%;height:auto;aspect-ratio:1400/636;object-fit:cover;object-position:50% 0;translate:none!important}
  .cover.cv-team .cv-in{max-width:none;margin-top:-6px;padding-top:0}
}
/* тарифы: групповое фото 11 агентов до 1023 px — на всю ширину, в своей пропорции (никого не обрезать) */
@media (max-width:1023px){.pr-head{display:block}.pr-head img{width:100%;height:auto;aspect-ratio:1400/636;margin-top:20px}}
.hd2:empty{display:none}
.hd2 .lead2{margin:0 0 14px}.hd2 .lead2 .bub{box-shadow:var(--sh-card);max-width:680px}
.hd2 .lead2 .bub::after{display:none}
.cover .cv-meta .coin i{width:16px;height:16px}
.cv-link{color:var(--amber);font-weight:800}
/* широкие таблицы (админка, монеты) прокручиваются внутри карточки, страница не уезжает вбок */
@media (max-width:760px){table.t,table.plan{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}}
@media (max-width:380px){.cover .cv-fig{width:128px;right:-10px}.cover.art .cv-in{max-width:70%}.cover h1{font-size:21px}}

/* Публичный AiBrand: общая команда и вход, изолировано от кабинета. */
.landing{padding-bottom:36px}.landing h1{font-size:clamp(36px,4.4vw,62px);line-height:1.13;letter-spacing:-.045em}.landing h1 em{color:#ad5416;font-style:normal}.landing h2{font-size:clamp(26px,3vw,38px);line-height:1.2}.landing p{line-height:1.65;color:#5b5961}.landing-kicker{display:block;color:#975021;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:18px}.landing-hero{display:grid;grid-template-columns:1.25fr 1fr;gap:32px;align-items:center;min-height:540px;padding:40px 0 24px}.landing-intro>p{font-size:18px;max-width:550px;margin:24px 0}.landing-actions{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 20px}.landing-intro>small{display:block;color:#66636c;line-height:1.6;max-width:420px}.landing-hero-art{position:relative;background:radial-gradient(ellipse at 50% 80%,#f6d8ba,transparent 65%);min-height:440px;display:flex;align-items:flex-end;justify-content:center}.landing-hero-art>img{height:420px;width:280px;object-fit:contain;position:relative}.landing-orbit{position:absolute;top:20px;left:20px;padding:12px 18px;border:1px solid #e2d9d1;border-radius:50px;background:#fbfbfccc;font-size:12px;font-weight:700;transform:rotate(-6deg)}.landing-quote{position:absolute;right:0;bottom:35px;padding:18px 22px;background:#fbfbfceF;border-radius:20px;box-shadow:var(--sh-1);font-size:15px;line-height:1.5}.landing-quote b{display:block;color:#975021;margin-top:6px;font-size:12px}.landing-section{padding:56px 0 16px;scroll-margin-top:24px}.landing-heading{display:flex;justify-content:space-between;gap:32px;align-items:flex-end;margin-bottom:28px}.landing-heading>p{max-width:400px;font-size:16px}.landing-team{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.landing-agent{border-radius:26px;background:#fbfbfc;overflow:hidden;box-shadow:var(--sh-1);scroll-margin-top:24px;display:flex;flex-direction:column}.landing-art{background:radial-gradient(ellipse at 50% 100%,#f3e3d4,transparent 72%);height:230px;overflow:hidden;text-align:center;padding:12px 12px 0}.landing-art img{width:100%;height:250px;object-fit:contain;object-position:50% 0;display:block}.landing-agent:nth-child(3n+2) .landing-art{background:radial-gradient(ellipse at 50% 100%,#e7e5f0,transparent 72%)}.landing-agent:nth-child(3n) .landing-art{background:radial-gradient(ellipse at 50% 100%,#e0ebe8,transparent 72%)}.landing-agent-text{padding:22px 24px 26px}.landing-role{color:#74666a;font-size:12px;font-weight:700}.landing-agent h3{font-family:Unbounded,Manrope,sans-serif;font-size:23px;margin:6px 0 12px}.landing-agent p{font-size:14px}.landing-link{display:inline-block;color:#864116;text-decoration:underline;text-underline-offset:4px;font-size:14px;font-weight:700;background:none;border:0;padding:0;cursor:pointer;margin-top:16px;white-space:normal;text-align:left}.landing-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:28px}.landing-steps article{border-top:1px solid #d7d6db;padding:24px 0}.landing-steps b{color:#a6561c;font-size:13px}.landing-steps h3{font-size:20px;margin:14px 0 12px}.landing-steps p{font-size:15px}.landing-end{margin:36px 0 0;padding:36px;background:#f0e6dd;border-radius:28px;display:flex;align-items:center;gap:32px;justify-content:space-between}.landing-end p{margin-top:14px;max-width:650px}.landing :focus-visible{outline:3px solid #985122;outline-offset:4px}
@media(max-width:960px){.landing-hero{gap:16px}.landing-actions .btn{font-size:14px;padding:14px 18px}.landing-team{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-heading>p{max-width:300px}.landing-end{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.landing-hero{grid-template-columns:1fr;padding-top:28px;gap:24px}.landing h1{font-size:36px}.landing-intro>p{font-size:16px}.landing-hero-art{min-height:320px}.landing-hero-art>img{height:320px;width:220px}.landing-orbit{top:8px;left:0;font-size:10px}.landing-quote{right:0;bottom:20px;padding:14px;font-size:13px}.landing-heading{display:block}.landing-heading>p{max-width:none;margin-top:18px}.landing-section{padding-top:40px}.landing-team{gap:12px}.landing-art{height:175px;padding-top:8px}.landing-art img{height:195px}.landing-agent{border-radius:20px}.landing-agent-text{padding:16px 14px 20px}.landing-agent h3{font-size:18px}.landing-agent p{font-size:12px;line-height:1.55}.landing-role{font-size:10px}.landing-steps{grid-template-columns:1fr;gap:0}.landing-end{padding:26px}}
@media(prefers-reduced-motion:reduce){.landing *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}



/* Общий портрет команды: оригинальные персонажи без перерисовки, единая сцена. */
.landing-hero-team{display:block;padding:54px 0 0;text-align:center;min-height:0}.landing-hero-team .landing-intro{position:relative;z-index:2;max-width:900px;margin:0 auto}.landing-hero-team h1{font-size:clamp(34px,4.1vw,57px);line-height:1.15}.landing-hero-team .landing-intro>p{max-width:650px;margin:22px auto 0;font-size:17px}.landing-hero-team .landing-actions{justify-content:center;align-items:center;margin:26px 0 0;gap:26px}.landing-hero-team .landing-actions .landing-link{margin:0;text-decoration:none}.landing-hero-team .landing-actions .btn{padding:16px 25px}.team-portrait{position:relative;margin:30px 0 0;isolation:isolate;border-radius:36px;background:linear-gradient(180deg,#f7f6f6 0%,#f0e8e1 70%,#e9dfd6 100%);overflow:hidden;border:1px solid #e7e2dc}.team-portrait-glow{position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 44%,#fff9ef 0%,#f8ebd97a 42%,transparent 70%)}.team-portrait-scene{height:440px;position:relative;max-width:1050px;margin:0 auto}.team-portrait-scene:after{content:"";position:absolute;bottom:8px;left:10%;right:10%;height:28px;background:#80726126;filter:blur(18px);border-radius:50%;z-index:-1}.team-person{position:absolute;object-fit:contain;object-position:center bottom;transform:translateX(-50%);height:310px;width:160px;top:4px;filter:drop-shadow(0 8px 7px #54433512)}.team-person-1{left:10%;z-index:1}.team-person-2{left:26%;z-index:2}.team-person-3{left:42%;z-index:3}.team-person-4{left:58%;z-index:3}.team-person-5{left:74%;z-index:2}.team-person-6{left:90%;z-index:1}.team-person:nth-of-type(n+7){height:340px;width:190px;top:97px;z-index:5}.team-person-7{left:18%}.team-person-8{left:34%}.team-person-9{left:50%;z-index:7!important}.team-person-10{left:66%}.team-person-11{left:82%}.team-portrait figcaption{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 28px;border-top:1px solid #d8cfc580;color:#766456;font-size:12px;background:#faf5ef80;position:relative;z-index:8}.team-portrait-count{font-weight:800;color:#655144;letter-spacing:.03em}.team-hero-foot{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:22px 6px;color:#6a6263;font-size:12px;border-bottom:1px solid #ded9d6}.team-hero-foot span:first-child{display:flex;align-items:center;gap:7px}.team-hero-foot i{width:6px;height:6px;background:#ad6b30;border-radius:50%}.team-hero-foot a{color:#864116;font-weight:700}.landing-hero-team+.landing-section{padding-top:64px}
@media(max-width:960px) and (min-width:621px){.team-portrait-scene{height:370px}.team-person{height:255px;width:135px}.team-person:nth-of-type(n+7){height:285px;width:150px;top:80px}.team-hero-foot{flex-wrap:wrap;justify-content:center}}
@media(max-width:620px){.landing-hero-team{padding-top:30px}.landing-hero-team h1{font-size:32px}.landing-hero-team .landing-kicker{font-size:10px;letter-spacing:.05em}.landing-hero-team .landing-intro>p{font-size:15px;margin-top:18px}.landing-hero-team .landing-actions{gap:16px;margin-top:22px}.landing-hero-team .landing-actions .btn{font-size:14px;padding:14px 20px}.team-portrait{margin-top:26px;border-radius:24px}.team-portrait-scene{height:430px;max-width:390px}.team-person{height:210px;width:104px;top:5px}.team-person-1{left:15%}.team-person-2{left:38%}.team-person-3{left:62%}.team-person-4{left:85%}.team-person-5{left:15%;top:107px;z-index:4}.team-person-6{left:38%;top:107px;z-index:4}.team-person-7:nth-of-type(n){left:62%;top:107px;height:210px;width:104px;z-index:4}.team-person-8:nth-of-type(n){left:85%;top:107px;height:210px;width:104px;z-index:4}.team-person-9:nth-of-type(n){left:50%;top:210px;height:215px;width:112px}.team-person-10:nth-of-type(n){left:25%;top:210px;height:215px;width:112px}.team-person-11:nth-of-type(n){left:75%;top:210px;height:215px;width:112px}.team-portrait figcaption{padding:15px 12px;justify-content:center;font-size:11px}.team-portrait figcaption>span:last-child{display:none}.team-hero-foot{justify-content:center;flex-wrap:wrap;gap:10px 16px;font-size:11px;padding:18px 0}.team-hero-foot>span:nth-child(2){width:100%;order:3}.landing-hero-team+.landing-section{padding-top:42px}}

/* Возвращаем характер первого макета: личный AI Brand, огонь и команда. */
.landing-hero-team .hero-team-label{display:inline-flex;align-items:center;gap:8px;padding:9px 15px;border:1px solid #e5d9cb;border-radius:999px;background:#fffaf3;color:#87532d;font-size:11px;letter-spacing:.06em;margin-bottom:20px}.hero-team-label i{width:6px;height:6px;border-radius:50%;background:#db7b2d;box-shadow:0 0 0 4px #f5e4d0}.landing-hero-team h1{font-family:Unbounded,Manrope,sans-serif;font-size:clamp(40px,5.2vw,74px);font-weight:650;line-height:1.16;letter-spacing:-.045em}.landing-hero-team h1 em{color:#ba601d;white-space:nowrap}.hero-fire{display:inline-block;font-size:.82em;vertical-align:.02em;letter-spacing:0}.landing-hero-team .landing-intro>p{max-width:580px;font-size:17px;line-height:1.7;margin-top:22px}.landing-hero-team .landing-actions .btn{background:linear-gradient(135deg,#f7ad64,#ec913e);color:#39271b;box-shadow:0 7px 20px #bc6a2124;border:1px solid #e9974d}.landing-hero-team .landing-actions .btn:hover{background:#f6b36f;transform:translateY(-1px)}.landing-hero-team .landing-actions .btn:active{transform:translateY(0)}.landing-hero-team .landing-actions .landing-link{color:#5b4b42}.landing-hero-team .team-portrait{box-shadow:0 15px 45px #8063400a}
@media(max-width:620px){.landing-hero-team h1{font-size:clamp(32px,9.4vw,48px)}.landing-hero-team .hero-team-label{font-size:10px;padding:8px 13px;margin-bottom:20px}.landing-hero-team .landing-intro>p{font-size:15px;max-width:340px;margin-top:18px}.landing-hero-team .landing-actions{gap:18px}.landing-hero-team .landing-actions .landing-link{font-size:13px}}

/* AiBrand premium v1: light studio team portrait, pearl + graphite type + amber. */
.premium-hero{isolation:isolate;background:#fbfbfc;border:1px solid #e3ded8;border-radius:30px;color:#222226;overflow:hidden;position:relative;box-shadow:0 24px 70px #20202218;margin-top:12px}.premium-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 15%,#f1d8b735,transparent 50%),linear-gradient(115deg,transparent 30%,#ffffff70 50%,transparent 70%)}.premium-topline{display:flex;justify-content:space-between;gap:16px;padding:22px 32px;border-bottom:1px solid #e7e1db;color:#685d55;font:10px/1.4 Manrope,sans-serif;letter-spacing:.14em;font-weight:700}.premium-topline span:first-child{display:flex;align-items:center;gap:9px}.premium-topline i,.premium-foot i{height:5px;width:5px;display:inline-block;background:#ffa64f;border-radius:50%;box-shadow:0 0 12px #ffab55}.premium-intro{text-align:center;padding:34px 24px 26px;position:relative;z-index:1}.premium-eyebrow{display:block;color:#786354;font-size:12px;font-weight:500;letter-spacing:.045em;margin-bottom:16px}.landing .premium-intro h1{font-family:Unbounded,Manrope,sans-serif;font-weight:600;font-size:clamp(38px,4.8vw,65px);line-height:1.12;letter-spacing:-.05em;color:#222226}.landing .premium-intro h1 em{font-style:normal;color:#a9521b;white-space:nowrap}.premium-intro h1 span{font-size:.75em}.landing .premium-intro p{font-size:15px;line-height:1.7;color:#655f5b;margin:20px auto 0;max-width:650px}.premium-actions{display:flex;justify-content:center;align-items:center;gap:28px;margin-top:24px}.premium-primary{background:linear-gradient(130deg,#ffd3a0,#ffa54c);color:#291a10;box-shadow:0 0 0 1px #ffffff22,0 7px 30px #e7893625;padding:14px 24px;font-size:14px}.premium-primary span{margin-left:10px;font-size:20px;font-weight:400}.premium-secondary{color:#6a4a34;font-size:13px;display:inline-flex;gap:12px;align-items:center;text-decoration:none;border-bottom:1px solid #c9a37b55;padding:8px 0}.premium-portrait{margin:0;position:relative;background:#f5f3ef;overflow:hidden}.premium-portrait picture>img{width:100%;height:auto;display:block;aspect-ratio:1672/941;object-fit:contain}.premium-portrait figcaption{position:absolute;left:24px;right:24px;bottom:14px;display:flex;justify-content:space-between;gap:18px;color:#554536;font-size:10px;letter-spacing:.045em;text-shadow:none;background:#fffaf0e8;backdrop-filter:blur(12px);border:1px solid #dfd2bf;border-radius:10px;padding:10px 14px}.premium-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:19px 30px;color:#655f5b;font-size:11px;border-top:1px solid #e7e1db}.premium-foot span:last-child{display:flex;gap:8px;align-items:center}.premium-disciplines{display:flex;justify-content:center;align-items:center;gap:36px;border-bottom:1px solid #dedbd7;padding:32px 8px;color:#696059;font-size:11px;font-weight:800;letter-spacing:.08em}.premium-disciplines b{color:#be6c2c;font-size:23px;font-weight:400}.landing-premium>.landing-section{padding-top:64px}.landing-premium .landing-heading{margin-bottom:32px}.landing-premium .landing-heading h1{line-height:1.2}.landing-premium .landing-heading h1,.landing-premium .landing-heading h2,.landing-premium .landing-section>h2{font-family:Unbounded,Manrope,sans-serif;font-weight:500;letter-spacing:-.04em;font-size:clamp(24px,2.7vw,36px)}.landing-premium .landing-heading>p{font-size:14px;max-width:350px}.landing-premium .landing-team{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.landing-premium .landing-agent{border:1px solid #e2dfdc;border-radius:22px;box-shadow:0 3px 9px #28201504;transition:transform .2s ease,box-shadow .2s ease}.landing-premium .landing-art{height:210px;background:radial-gradient(ellipse at bottom,#ead6bd80,transparent 75%)}.landing-premium .landing-art img{height:232px}.landing-premium .landing-agent-text{padding:19px 20px 24px}.landing-premium .landing-agent h3{font-size:20px;font-weight:600}.landing-premium .landing-agent p{font-size:13px}.landing-premium .landing-role{color:#7b6452;font-size:11px}.landing-premium .landing-steps{gap:16px}.landing-premium .landing-steps article{background:linear-gradient(145deg,#fbfbfc,#f1eeea);border:1px solid #dedbd7;border-radius:20px;padding:26px}.landing-premium .landing-steps b{font:500 30px/1.2 Unbounded,Manrope,sans-serif;color:#b86b31}.landing-premium .landing-steps h3{font-size:18px;margin-top:26px}.landing-premium .landing-steps p{font-size:14px}.landing-premium .landing-end{background:radial-gradient(ellipse at right,#fbe6cd,#fbfbfc 70%);color:#222226;padding:40px;border:1px solid #e3d5c4;box-shadow:0 16px 45px #271a1110}.landing-premium .landing-end .landing-kicker{color:#875020}.landing-premium .landing-end p{color:#655f5b;font-size:14px}.landing-premium .landing-end h2{font-size:clamp(25px,2.7vw,36px)}.landing-premium .landing-end .btn{background:#ffc58a;color:#332213;font-size:14px}.landing-premium :focus-visible{outline:3px solid #db8b46;outline-offset:5px}
@media(hover:hover){.landing-premium .landing-agent:hover{transform:translateY(-4px);box-shadow:0 12px 26px #39291910}.premium-primary:hover{filter:brightness(1.06)}.premium-secondary:hover{color:#9b4a18}}
@media(max-width:960px){.landing-premium .landing-team{grid-template-columns:repeat(3,minmax(0,1fr))}.landing-premium .landing-agent-text{padding:18px}}
@media(max-width:620px){.premium-hero{margin-top:6px;border-radius:22px}.premium-topline{padding:16px 16px;font-size:8px;letter-spacing:.08em}.premium-intro{padding:26px 14px 22px}.premium-eyebrow{font-size:10px;letter-spacing:0;margin-bottom:14px}.landing .premium-intro h1{font-size:clamp(27px,8.1vw,44px);line-height:1.2}.landing .premium-intro p{font-size:12px;line-height:1.65;margin-top:17px}.premium-desktop-break{display:none}.premium-actions{gap:14px;flex-direction:column;margin-top:20px}.premium-primary{font-size:13px;padding:12px 20px}.premium-secondary{font-size:11px;padding:4px 0}.premium-portrait figcaption{position:static;backdrop-filter:none;border:0;border-radius:0;justify-content:center;padding:12px 10px;font-size:9px;background:#faf5ec}.premium-portrait figcaption span:last-child{display:none}.premium-foot{padding:13px 12px;justify-content:center;font-size:9px}.premium-foot span:first-child{display:none}.premium-disciplines{gap:10px;font-size:8px;letter-spacing:.02em;padding:22px 0}.premium-disciplines b{font-size:17px}.landing-premium>.landing-section{padding-top:38px}.landing-premium .landing-heading>p{font-size:13px}.landing-premium .landing-team{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.landing-premium .landing-art{height:175px}.landing-premium .landing-art img{height:195px}.landing-premium .landing-agent-text{padding:16px 13px 18px}.landing-premium .landing-agent h3{font-size:17px}.landing-premium .landing-agent p{font-size:12px}.landing-premium .landing-role{font-size:10px}.landing-premium .landing-steps article{padding:22px}.landing-premium .landing-end{padding:28px 24px}}
@media(prefers-reduced-motion:reduce){.landing-premium .landing-agent{transition:none}}

.premium-portrait picture{display:block}
@media(max-width:620px){.premium-portrait picture>img{aspect-ratio:1122/1402}}

.premium-login-jump{display:none}#signin{scroll-margin-top:20px}
@media(max-width:620px){.premium-login-jump{display:inline-flex;margin-top:20px}}

/* Light appearance is intentional, including devices set to dark mode. */
:root{color-scheme:light}

/* Вход на главной: одна форма для всех публичных CTA. */

/* ═════════════ «Вау»-слой (09.10, docs/DESIGN-WOW.md) — работает вместе с public/js/motion.js ═════════════
   Только transform/opacity. Пружина — на отпускание (вход быстрый, выход с лёгким перелётом), без каскадов на первом экране. */
:root{--spring:cubic-bezier(.34,1.56,.64,1);--glide:cubic-bezier(.2,.8,.2,1);--motion-reveal:.46s;
  --glow-a:rgba(232,134,46,.22);--glow-b:rgba(255,214,170,.5)}

/* переходы между страницами: шапка и нижняя навигация стоят на месте, обложка и агент «перетекают» */
.bar{view-transition-name:ab-bar}.mnav{view-transition-name:ab-nav}
/* туда и обратно — одна длительность и кривая (закон симметрии): страница тает/всплывает за .3 с, фигура летит .42 с */
::view-transition-old(root){animation:pgOut .3s var(--glide) both}
::view-transition-new(root){animation:pgIn .3s var(--glide) both}
/* страница целиком — только прозрачность и сдвиг (без масштаба: масштаб снимка во весь экран — пересэмплирование каждого кадра) */
@keyframes pgIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes pgOut{from{opacity:1;transform:none}to{opacity:0;transform:translateY(8px)}}
::view-transition-group(ab-bar),::view-transition-group(ab-nav){z-index:3}
/* размытие фона ломает снимок перехода (навигация «таяла» на каждом переходе) — на время перехода плотный фон */
html:active-view-transition .mnav,html:active-view-transition .bar{-webkit-backdrop-filter:none;backdrop-filter:none;background:#F9F9FA}
/* во время полёта — никакой лишней работы в кадре: свечение и «дыхание» обложки ждут, текст обложки не всплывает второй раз */
html:active-view-transition .cover::after,html:active-view-transition .cover .cv-fig{animation-play-state:paused}
html:active-view-transition .cover h1,html:active-view-transition .cover .eyebrow,html:active-view-transition .cover .cv-meta{animation:none}
@keyframes vtIn{from{opacity:0;transform:translateY(10px) scale(.995)}to{opacity:1;transform:none}}
@keyframes vtOut{from{opacity:1;transform:none}to{opacity:0;transform:scale(.99)}}
::view-transition-group(*){animation-duration:.42s;animation-timing-function:var(--glide)}
/* старт через 50 мс: первые кадры уходят на снимки страниц, движение начинается уже на свободных кадрах (без «прыжка» в начале) */
::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation-delay:50ms}
::view-transition-image-pair(*){isolation:isolate}
.tm-m[data-agent=mira] .pic img,.cover[data-agent=mira] .cv-fig,.agent[data-agent=mira] .fig{view-transition-name:fig-mira}
.tm-m[data-agent=tim] .pic img,.cover[data-agent=tim] .cv-fig,.agent[data-agent=tim] .fig{view-transition-name:fig-tim}
.tm-m[data-agent=mark] .pic img,.cover[data-agent=mark] .cv-fig,.agent[data-agent=mark] .fig{view-transition-name:fig-mark}
.tm-m[data-agent=nina] .pic img,.cover[data-agent=nina] .cv-fig,.agent[data-agent=nina] .fig{view-transition-name:fig-nina}
.tm-m[data-agent=asya] .pic img,.cover[data-agent=asya] .cv-fig,.agent[data-agent=asya] .fig{view-transition-name:fig-asya}
.tm-m[data-agent=aurora] .pic img,.cover[data-agent=aurora] .cv-fig,.agent[data-agent=aurora] .fig{view-transition-name:fig-aurora}
.tm-m[data-agent=leya] .pic img,.cover[data-agent=leya] .cv-fig,.agent[data-agent=leya] .fig{view-transition-name:fig-leya}
.tm-m[data-agent=kai] .pic img,.cover[data-agent=kai] .cv-fig,.agent[data-agent=kai] .fig{view-transition-name:fig-kai}
.tm-m[data-agent=lukyan] .pic img,.cover[data-agent=lukyan] .cv-fig,.agent[data-agent=lukyan] .fig{view-transition-name:fig-lukyan}
.tm-m[data-agent=ilana] .pic img,.cover[data-agent=ilana] .cv-fig,.agent[data-agent=ilana] .fig{view-transition-name:fig-ilana}
.tm-m[data-agent=zlata] .pic img,.cover[data-agent=zlata] .cv-fig,.agent[data-agent=zlata] .fig{view-transition-name:fig-zlata}
@media (prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}
/* браузер без переходов между страницами — мягкое проявление содержимого */
@supports not (view-transition-name:none){#main{animation:vtIn .3s var(--glide) both}}

/* каскад при прокрутке (motion.js добавляет .rv только тем, кто ниже первого экрана) */
.mo .mo-rv{opacity:.35;transform:translateY(14px) scale(.99);animation:none!important}
.mo .mo-rv.mo-in{opacity:1;transform:none;transition:opacity var(--motion-reveal) var(--glide),transform calc(var(--motion-reveal) + .08s) var(--glide)}

/* живые карточки: наклон за курсором, блик, пружина на отпускании */
.lv{position:relative;overflow:hidden;transition:transform .5s var(--spring),box-shadow var(--motion-close) var(--motion-ease)!important;-webkit-tap-highlight-color:transparent}
@media (hover:hover) and (pointer:fine){.lv{will-change:transform}}
.lv.lv-on{will-change:transform;transition:transform .14s var(--motion-ease),box-shadow var(--motion-close) var(--motion-ease)!important}
.lv>.glare{position:absolute;left:-50%;top:-50%;width:200%;height:200%;pointer-events:none;z-index:3;opacity:0;border-radius:inherit;
  background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.75) 0,rgba(255,244,230,.35) 14%,rgba(232,134,46,.07) 28%,transparent 40%);
  transition:opacity .35s var(--motion-ease);mix-blend-mode:soft-light}
@supports not (mix-blend-mode:soft-light){.lv>.glare{mix-blend-mode:normal}}
.tm-m.lv>.glare,.landing-agent.lv>.glare,.m.lv>.glare{mix-blend-mode:normal;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.55) 0,rgba(255,236,214,.22) 16%,transparent 36%)}
.lv .pic img,.lv .landing-art img{transition:translate .5s var(--spring)}
.lv.lv-on .pic img,.lv.lv-on .landing-art img{transition:translate .08s linear;will-change:translate}
.lv.lv-on>.glare{will-change:transform,opacity}
@media (hover:hover) and (pointer:fine){.tm-m.lv:hover,.landing-premium .landing-agent.lv:hover{box-shadow:0 18px 40px rgba(40,40,52,.12),0 2px 6px rgba(40,40,52,.05)}}

/* кнопки: пружина на отпускании, волна от пальца, галочка успеха */
.btn{position:relative;overflow:hidden;isolation:isolate;transition:transform .42s var(--spring),box-shadow var(--motion-close) var(--motion-ease),opacity var(--motion-micro);-webkit-tap-highlight-color:transparent}
.btn:active{transform:scale(.95);transition-duration:.1s;transition-timing-function:var(--motion-ease)}
.chip,.mnav a,.lrow,a.pcard{transition:transform .42s var(--spring),background var(--motion-micro) var(--motion-ease),color var(--motion-micro) var(--motion-ease)}
.chip:active,.lrow:active,.mnav a:active{transition-duration:.1s;transition-timing-function:var(--motion-ease)}
.rip{position:absolute;border-radius:50%;pointer-events:none;z-index:-1;background:radial-gradient(circle,rgba(255,255,255,.55) 0,rgba(255,255,255,.18) 45%,transparent 70%);transform:scale(0);opacity:1;animation:rip .6s var(--glide) forwards}
.btn.sec .rip,.btn.dark .rip{background:radial-gradient(circle,rgba(232,134,46,.22) 0,rgba(232,134,46,.08) 45%,transparent 70%)}
@keyframes rip{to{transform:scale(1);opacity:0}}
.btn.is-ok{animation:okPop .5s var(--spring)}
.btn.is-ok.tick::after{content:"";position:absolute;right:12px;top:50%;width:14px;height:8px;margin-top:-6px;border:solid currentColor;border-width:0 0 2.5px 2.5px;transform:rotate(-45deg) scale(0);transform-origin:50% 50%;animation:okTick .42s var(--spring) .06s forwards}
@keyframes okPop{0%{transform:scale(1)}35%{transform:scale(.94)}100%{transform:scale(1)}}
@keyframes okTick{to{transform:rotate(-45deg) scale(1)}}

/* обложка: мягкое переливающееся свечение и «дыхание» агента */
.cover::after{content:"";position:absolute;z-index:-2;pointer-events:none;width:120%;height:180%;left:20%;top:-60%;
  background:radial-gradient(closest-side at 62% 48%,var(--glow-a),transparent 70%),radial-gradient(closest-side at 30% 62%,var(--glow-b),transparent 72%);
  opacity:.85;animation:coverGlow 14s ease-in-out infinite alternate;will-change:transform}
@keyframes coverGlow{0%{transform:translate3d(-6%,0,0) rotate(0deg) scale(1)}50%{transform:translate3d(-14%,6%,0) rotate(8deg) scale(1.08)}100%{transform:translate3d(-2%,-4%,0) rotate(-6deg) scale(1.02)}}
.cover .cv-fig{animation:figBreath 6s ease-in-out infinite}
/* дыхание от пола: ноги и тень под ними стоят на месте, фигура чуть «вырастает» */
.cover .cv-fig{transform-origin:50% 100%}
@keyframes figBreath{0%,100%{transform:none}50%{transform:scale(1.012)}}
.cover h1,.cover .eyebrow,.cover .cv-meta{animation:cvText .5s var(--glide) both}
.cover .cv-meta{animation-delay:.05s}
@keyframes cvText{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.cover .cv-fig,.cover .cv-img{transition:translate .2s linear}

/* скелетоны: тёплый блик */
.sk::after,.sk-row::after,.sk-card::after{background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.75) 45%,rgba(255,236,214,.5) 55%,transparent 80%);animation:skShine 1.3s var(--motion-ease) infinite}

/* липкая шапка: линия и тень проявляются при прокрутке */
.bar::after{content:"";position:absolute;left:0;right:0;bottom:0;height:18px;transform:translateY(100%);pointer-events:none;
  background:linear-gradient(180deg,rgba(40,40,52,.07),rgba(40,40,52,0));opacity:0;transition:opacity var(--motion-close) var(--motion-ease)}
.bar.scrolled::after{opacity:1}
.bar .logo{transition:transform var(--motion-close) var(--motion-ease);transform-origin:0 50%}
.bar.scrolled .logo{transform:scale(.92)}
.bal .coin{font-variant-numeric:tabular-nums}

/* нижняя навигация: «плывущий» индикатор */
.mnav-ind{display:none}
@media (max-width:760px){
  .bar{box-shadow:none}
  .mnav.has-ind .mnav-ind{display:block;position:absolute;left:0;top:5px;bottom:calc(5px + env(safe-area-inset-bottom));border-radius:16px;background:var(--white);
    box-shadow:0 1px 2px rgba(40,40,52,.06),0 6px 16px rgba(40,40,52,.08);transition:transform .5s var(--spring),opacity var(--motion-fade) var(--motion-ease);pointer-events:none;z-index:0}
  .mnav.has-ind .mnav-ind::before{content:"";position:absolute;left:50%;top:3px;width:18px;height:3px;margin-left:-9px;border-radius:3px;background:var(--amber)}
  .mnav.has-ind a{position:relative;z-index:1}
  .mnav.has-ind a.on::after{display:none}
  .mnav.has-ind a img{transition:transform .42s var(--spring)}
  .mnav.has-ind a.on img{transform:translateY(-1px) scale(1.08)}
}

/* шторка: ручка и перетаскивание пальцем */
.sheet::before{content:"";position:absolute;left:50%;top:8px;width:40px;height:4.5px;margin-left:-20px;border-radius:3px;background:var(--silver)}
@media (min-width:761px){.sheet::before{display:none}}
.sheet.drag{animation:none;transition:none;-webkit-user-select:none;user-select:none}
.sheet-wrap .sheet{transition:transform .36s var(--spring)}
.sheet-wrap.swiped .sheet{animation:none;transform:translateY(105%)!important;transition:transform var(--motion-open) var(--motion-ease-out)}
.sheet-wrap.swiped .sheet-bg{animation:none;opacity:0!important;transition:opacity var(--motion-open) var(--motion-ease-out)}

/* карточки команды: статус «работает» мерцает янтарным ореолом по краю */
.tm-m.st-w::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:2;box-shadow:inset 0 0 0 1.5px rgba(232,134,46,.0),0 0 24px rgba(232,134,46,.28);opacity:0;animation:workGlow 2.4s ease-in-out infinite}
@keyframes workGlow{50%{opacity:1}}

@media (prefers-reduced-motion:reduce){
  .cover::after,.cover .cv-fig,.cover h1,.cover .eyebrow,.cover .cv-meta,.tm-m.st-w::before{animation:none!important}
  .mo .mo-rv{opacity:1;transform:none}
}

/* Админка на телефоне: таблицы .cards → карточки строк (подписи из data-l), действия под палец */
@media (max-width:620px){
  table.t.cards{display:block;overflow:visible}
  table.t.cards thead{display:none}
  table.t.cards tbody{display:block}
  table.t.cards tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px;padding:12px 0;border-bottom:1px solid var(--mist)}
  table.t.cards td{display:block;border:0;padding:0;min-width:0;overflow-wrap:anywhere}
  table.t.cards td:first-child,table.t.cards td.act,table.t.cards td[colspan]{grid-column:1/-1}
  table.t.cards td:first-child{font-weight:700}
  table.t.cards td[data-l]:not(:first-child)::before{content:attr(data-l);display:block;font-size:11px;font-weight:800;color:var(--steel);text-transform:uppercase;letter-spacing:.05em}
  table.t.cards td.act .btn{width:100%}
}
@media (pointer:coarse),(max-width:620px){
  .adm .btn,.au-rev .row .btn{min-height:44px}
}
/* Выбор пояса: длинные подписи не распирают страницу на телефоне */
.tz-pick{display:block;min-width:0;overflow:hidden}.tz-pick select,#set-tz{width:100%;max-width:100%;min-width:0;text-overflow:ellipsis}
.ps-form>label{min-width:0}.ps-form>label:has(#set-tz){overflow:hidden}
select.field{width:100%;border:1.5px solid var(--silver);border-radius:18px;padding:12px 16px;min-height:52px;font:500 16px/1.4 Manrope;color:var(--graphite);background:#fff}

/* Планшет 761–1100 px: шапка не наезжает на баланс — без дублей («Профиль» = аватар, «Пополнить» = «Монеты»), «Админка» — в «Ещё» */
.more-m .adm-in{display:none}
@media (min-width:761px) and (max-width:1100px){
  .bar{gap:14px}.bar .nav{margin-left:0;gap:2px}.bar .nav a,.bar .more summary{padding:9px 11px}
  .bar .nav a[href="/app/me"],.bal .btn{display:none}.bal{padding:6px 14px}
  .bar .nav .adm-top{display:none}.more-m .adm-in{display:flex}
}
@media (min-width:761px) and (max-width:860px){.bar{gap:10px}.bar .logo{height:36px}.bar .nav a,.bar .more summary{padding:8px 8px;font-size:13px}.bar .right{gap:8px}}
/* Карточка входа на главной — единственное место входа (docs/SIGNIN-HOME-ONLY-20261010.md). Стекло на тёплом свечении, виды в одной ячейке сетки. */
.landing-inline-signin{position:relative;isolation:isolate;padding:56px 0}.landing-inline-signin:before{content:"";position:absolute;inset:8% 15%;z-index:-1;background:radial-gradient(ellipse at 50% 55%,rgba(232,134,46,.16),transparent 62%);filter:blur(10px);pointer-events:none}
.signin{width:100%;max-width:440px;margin:0 auto;padding:30px 30px 22px;border-radius:28px;background:rgba(251,251,252,.78);-webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2);border:1px solid rgba(255,255,255,.9);box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 1px 2px rgba(40,40,52,.05),0 18px 50px rgba(40,32,24,.09);scroll-margin-top:96px;color:var(--graphite)}
.signin-kicker{display:inline-flex;align-items:center;gap:8px;color:#975021;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.signin-kicker i{width:6px;height:6px;border-radius:50%;background:#ffa64f;box-shadow:0 0 10px #ffab55}
.landing .signin h2{font-family:Unbounded,Manrope,sans-serif;font-weight:600;font-size:26px;line-height:1.2;letter-spacing:-.035em;margin:14px 0 0;overflow-wrap:anywhere}
.landing .signin .signin-sub{font-size:15px;line-height:1.45;color:var(--slate);margin:8px 0 0}
.signin-stage{display:grid;margin-top:22px}
.signin-view{grid-area:1/1;display:flex;flex-direction:column;align-items:flex-start;gap:14px;min-width:0;transition:opacity var(--motion-fade) var(--motion-ease),transform var(--motion-close) var(--motion-ease),visibility 0s}
.signin-view[inert]{opacity:0;transform:translateY(6px);visibility:hidden;pointer-events:none;transition:opacity var(--motion-micro) var(--motion-ease-out),transform var(--motion-micro) var(--motion-ease-out),visibility 0s var(--motion-micro)}
.tg-slot{position:relative;height:40px;width:100%}.tg-slot[hidden]{display:none}.tg-skel{position:absolute;left:0;top:0;width:min(234px,100%);height:40px;border-radius:22px;background:var(--mist);overflow:hidden}.tg-skel:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.75) 45%,rgba(255,236,214,.5) 55%,transparent 80%);animation:skShine 1.3s var(--motion-ease) infinite}
.tg-slot.ready .tg-skel{visibility:hidden}#tg-login{position:relative;height:40px}#tg-login iframe{max-width:100%;display:block}
.signin-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}.signin-alt{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0;font-size:13.5px;color:var(--steel)}
.signin-quiet{background:none;border:0;padding:4px 0;margin:0;font:inherit;font-size:13.5px;font-weight:600;color:var(--slate);cursor:pointer;text-decoration:underline;text-decoration-color:rgba(106,105,112,.3);text-underline-offset:4px;transition:color var(--motion-micro) var(--motion-ease),text-decoration-color var(--motion-micro) var(--motion-ease)}.signin-quiet:hover{color:var(--graphite);text-decoration-color:currentColor}
.landing .signin .signin-err{margin:0;font-size:13.5px;line-height:1.45;color:#a3401f;font-weight:600}.signin-err[hidden]{display:none}.signin-err.keep{min-height:1.45em}.signin-err .signin-quiet{color:#a3401f;text-decoration-color:rgba(163,64,31,.35)}
.landing .signin .signin-note{margin:0;font-size:14px;line-height:1.5;color:var(--slate)}
.signin .btn{font-size:15px;padding:11px 22px;min-height:44px}
.signin-go{background:linear-gradient(130deg,#ffd3a0,#ffa54c);color:#291a10;box-shadow:0 0 0 1px #ffffff22,0 7px 24px #e7893628;min-width:180px}.signin-go span{margin-left:6px}
.signin-form{display:flex;gap:8px;width:100%;margin:0}.signin-form input{flex:1;min-width:0;font:inherit;font-size:15px;padding:11px 16px;min-height:44px;box-sizing:border-box;border:1px solid var(--silver);border-radius:999px;background:#fff;color:var(--graphite);transition:border-color var(--motion-micro) var(--motion-ease),box-shadow var(--motion-micro) var(--motion-ease)}.signin-form input:focus{outline:0;border-color:#d79a63;box-shadow:0 0 0 3px rgba(232,134,46,.16)}.signin-form .btn{flex:none}
.landing .signin .signin-policy{margin:22px 0 0;padding-top:14px;border-top:1px solid rgba(215,214,219,.6);font-size:12px;line-height:1.5;color:var(--steel)}.signin-policy a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
@media(max-width:620px){.landing-inline-signin{padding:36px 0}.signin{padding:24px 20px 18px;border-radius:22px}.landing .signin h2{font-size:22px}.signin-stage{margin-top:18px}}
@media(prefers-reduced-motion:reduce){.signin-view,.signin-view[inert]{transform:none;transition:none}.tg-skel:after{animation:none}}
/* Оплата ECR / eRub: плашка «скоро», выбор монеты, счёт с QR (docs/PAY-ECR-ERUB.md) */
.pay-soon{margin-top:10px;border-radius:18px;padding:16px 18px;background:var(--mist)}.pay-soon b{font-size:16px}.pay-soon .sub{margin-top:6px}.pay-soon.warn{background:var(--amber-soft)}
.pay-coins{margin-top:14px}.pay-rate{margin-top:10px;font-size:13px}.pay-rate span[hidden],.price span[hidden]{display:none}
.card.p small.muted{display:block;margin-top:2px}
.inv-card{margin-top:18px;border:1.5px solid var(--silver);border-radius:22px;padding:20px;background:var(--white)}
.inv-card .k{display:block;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--steel)}
.inv-head{display:flex;gap:16px;justify-content:space-between;align-items:flex-start;flex-wrap:wrap}.inv-head h2{margin-top:4px}.inv-head h2 b{font-variant-numeric:tabular-nums}
.inv-timer{margin:0;padding:8px 14px;border-radius:999px;background:var(--mist);font-weight:700;font-size:14px;white-space:nowrap}.inv-timer b{font-variant-numeric:tabular-nums}
.inv-body{display:grid;grid-template-columns:200px minmax(0,1fr);gap:20px;margin-top:16px;align-items:start}
.inv-qr{width:200px;aspect-ratio:1;border-radius:16px;overflow:hidden;background:#fff;box-shadow:var(--sh-1)}.inv-qr svg{display:block;width:100%;height:100%}
.inv-fields .k{margin-top:4px}.inv-fields .k~.k{margin-top:14px}
.inv-v{margin:4px 0 0;font-weight:800;font-size:22px;font-variant-numeric:tabular-nums;word-break:break-all}.inv-v.addr{font-size:15px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:600}
@media(max-width:620px){.inv-card{padding:16px}.inv-body{grid-template-columns:1fr}.inv-qr{width:min(240px,100%);margin:0 auto}.inv-timer{white-space:normal}}
