/* Live-зал (часть 6, D-0049) — стили макетов 40–42 (docs/ui/assets/live.css) без изменений, кроме высоты: зал — на всё окно. */
/* Live-зал — копия демо оригинала (замеры demo-marketplace при окнах 1440 и 1920, светлая тема).
   Колонки как на демо: каталог 350 · центр — остаток · панель 350, промежутки 20;
   содержимое центра и полоса прогресса в шапке — не шире 864 и по центру. */
/* ===== Дизайн-токены зала — одно место для светлой и тёмной темы (таблица — docs/notes/design-tokens.md) =====
   Имена и значения — оригинала: assets/styles/live/_config/_theme.scss (светлый набор на body, тёмный — body[data-live-theme="dark"]).
   У клона светлый набор — на body зала и на .lv, тёмный — на .lv.lv-dark (класс ставит переключатель темы, live.js).
   Правила ниже берут цвета только отсюда; шрифты — токены сайта (--font-roboto, --font-afacad из site.css). */
body.lv-page,.lv{
  --live-brand:#247e89; --live-brand-hover:#055f5f; --live-brand-strong:#0d6565; --live-brand-soft:#eff6f7;
  --live-accent:#d9042a; --live-start-price:#a1001d; --live-danger-soft:#f77;
  --live-warn:#ffe055; --live-warn-surface:#fff2bd; --live-warn-surface-strong:#ffe055;
  --live-success:#0c9; --live-success-soft:#a7efdd; --live-info:#1c64d9; --live-info-deep:#003559;
  --live-slate:#2a3644; --live-slate-surface:#2a3644; --live-fill:#e7ecef; --live-fill-strong:#dadee1; --live-plate-dark:#1e1e1e;
  --live-pill-warm:#ffe0d8; --live-pill-done:#bed9dc; --live-bubble-in:#def4f6; --live-bubble-own:#fff1db;
  --live-ink:#1e1e1e; --live-ink-strong:#000; --live-muted:#757575; --live-muted-soft:#8a8a8a;
  --live-on-accent:#fff; --live-on-brand:#fff; --live-on-brand-accent:#d9042a; --live-on-plate-brand:#3fa3b1;
  --live-step-done:#ff9500; --live-leader-surface:#d5ebee;
  --live-line:#ededf0; --live-line-soft:#edf1f4; --live-line-strong:#cfd2d9; --live-bid-bg:#000;
  --live-switch-track:rgba(0,0,0,24%); --live-switch-thumb:#fff; --live-switch-ink:#1c1c1c;
  --live-bone:#eee; --live-bone-sheen:#f5f5f5;
  --live-surface:#fff; --live-surface-raised:#fff; --live-surface-soft:#f6f8f9;
  --live-radius:10px; --live-radius-sm:6px;
  --live-shadow-color:rgba(0,0,0,25%); --live-shadow:0 12px 40px rgba(0,0,0,12%); --live-shadow-sm:0 2px 8px rgba(0,0,0,10%);
  --live-overlay:rgba(0,0,0,45%);
  --live-display-font:var(--font-afacad);
}
.lv.lv-dark{
  --live-brand:#3fa3b1; --live-brand-hover:#55bccb; --live-brand-strong:#1b6d76; --live-brand-soft:#16323a;
  --live-accent:#ff4d67; --live-start-price:#ff7b94; --live-danger-soft:#ff8f8f;
  --live-warn:#ffd84d; --live-warn-surface:#4a3d14; --live-warn-surface-strong:#5a4c17;
  --live-success:#2fd6a6; --live-success-soft:#17453a; --live-info:#5b93f0; --live-info-deep:#9fc4ef;
  --live-slate:#aebccb; --live-slate-surface:#222c38; --live-fill:#2a3440; --live-fill-strong:#35404e; --live-plate-dark:#35404e;
  --live-pill-warm:#3d221e; --live-pill-done:#24484d; --live-bubble-in:#1a373d; --live-bubble-own:#3c3018;
  --live-ink:#dbe3ec; --live-ink-strong:#f2f6fa; --live-muted:#93a1b0; --live-muted-soft:#6b7887;
  --live-line:#2c3641; --live-line-soft:#232b35; --live-line-strong:#3d4956; --live-bid-bg:#3fa3b1;
  --live-on-brand:#08252a; --live-on-brand-accent:#5a0a16; --live-on-plate-brand:#55bccb;
  --live-step-done:#ffa640; --live-leader-surface:#1c3a40; --live-switch-track:rgba(255,255,255,30%);
  --live-bone:#1a2029; --live-bone-sheen:#1e252e;
  --live-surface:#1a2029; --live-surface-raised:#222a35; --live-surface-soft:#12171c;
  --live-shadow-color:#000; --live-shadow:0 12px 40px rgba(0,0,0,55%); --live-shadow-sm:0 2px 8px rgba(0,0,0,45%);
  --live-overlay:rgba(0,0,0,65%);
}

.lv{position:relative;height:100vh;height:100dvh;overflow:hidden;background:var(--live-surface-soft);color:var(--live-ink);font:400 14px/19.6px var(--font-roboto)}
.lv svg.ph{display:block;fill:currentColor}
.lv button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}

/* баннер демо */
.lv-demo{display:flex;align-items:center;justify-content:center;gap:16px;height:43px;background:var(--live-brand);color:var(--live-on-brand)}
.lv-demo span{font:600 14px/19.6px var(--font-roboto)}
.lv-demo a{display:inline-flex;align-items:center;height:27px;padding:0 14px;border:1px solid var(--live-on-accent);border-radius:4px;font:400 14px/18.2px var(--font-roboto);color:var(--live-on-accent)}

/* шапка зала */
.lv-hdr{display:flex;align-items:center;height:48px;padding:0 20px;background:var(--live-surface);border-bottom:1px solid var(--live-line)}
.lv-brand{flex:1 1 0;min-width:0}
.lv-brand img{height:25px;width:auto;display:block}
.lv-progress{display:flex;align-items:center;gap:14px;flex:0 1 864px;margin-inline:16px}
.lv-progress .track{flex:1;height:5px;border-radius:999px;background:var(--live-fill);overflow:hidden}
.lv-progress .fill{height:100%;border-radius:999px;background:var(--live-brand-hover)}
.lv-progress .lbl{flex:none;color:var(--live-muted);text-transform:uppercase}
.lv-meta{flex:1 1 0;display:flex;align-items:center;justify-content:flex-end;gap:24px}
.lv-theme{display:grid;place-items:center;width:38px;height:38px}
.lv-theme .trk{position:relative;width:32px;height:14px;border-radius:7px;background:var(--live-switch-track)}
.lv-theme .thb{position:absolute;left:0;top:-3px;width:20px;height:20px;border-radius:50%;background:var(--live-switch-thumb);box-shadow:0 1px 3px rgba(0,0,0,.35);display:grid;place-items:center;color:#f5a524}
.lv-theme.on .trk{background:var(--live-brand)} .lv-theme.on .thb{left:12px;color:var(--live-brand-hover)}
.lv-icon{display:grid;place-items:center;width:34px;height:34px;color:var(--live-ink)}
.lv-dd{display:inline-flex;align-items:center;gap:8px;height:38px;font:400 15px/21px var(--font-afacad);color:var(--live-ink)}
.lv-dd svg{width:8px;height:13px}

/* колонки */
.lv-body{display:grid;grid-template-columns:350px minmax(0,1fr) 350px;gap:20px;height:809px}
.lv-col{position:relative;min-width:0;height:100%}
.lv-cat{background:var(--live-surface);box-shadow:0 3px 12px rgba(0,0,0,.09)}
.lv-center{padding-top:8px}
.lv-center > *{max-width:864px;margin-inline:auto}
.lv-panel{background:var(--live-surface);box-shadow:var(--live-shadow)}

/* каталог сессии */
.lv-cat h2{margin:13px 0 0;padding:0 13px 10px;font:500 20px/24px var(--font-afacad)}
.lv-tabs{display:flex;gap:2px;margin:0 13px;padding:2px;border-radius:var(--live-radius-sm);background:var(--live-fill)}
.lv-tabs button{flex:auto;height:32px;border-radius:var(--live-radius-sm);font:500 12px/12px var(--font-roboto);color:var(--live-muted);text-transform:uppercase}
.lv-tabs button.on{background:var(--live-surface);color:var(--live-ink)}
.lv-tools{display:flex;justify-content:flex-end;height:32px;margin:6px 13px 0}
.lv-tools button{display:grid;place-items:center;width:32px;height:32px}
.lv-list{padding-top:8px}
.lv-lot{height:112px;padding:6px 13px 0;border-bottom:1px solid var(--live-line)}
.lv-lot.cur{background:var(--live-surface-soft)}
.lv-lot .top{display:flex;align-items:center;justify-content:space-between;height:22px}
.lv-lot .num{font:400 12px/12px var(--font-roboto);color:var(--live-ink-strong)}
.lv-lot .ic{display:flex;gap:4px;color:var(--live-ink)}
.lv-lot .ic button{display:grid;place-items:center;width:22px;height:22px;border-radius:var(--live-radius)}
.lv-lot .row{display:flex;gap:13px}
.lv-lot .img{position:relative;flex:none;width:108px;height:79px}
.lv-lot .img img{width:108px;height:79px;object-fit:cover;border-radius:var(--live-radius-sm);display:block}
.lv-badge{position:absolute;left:0;top:0;padding:3px 6px;font:600 10px/12px var(--font-roboto);color:var(--live-on-accent);text-transform:uppercase}
.lv-badge.live{background:var(--live-accent)} .lv-badge.sold{background:var(--live-brand)} .lv-badge.unsold{background:var(--live-muted)}
.lv-lot .note{position:absolute;left:0;right:0;bottom:0;height:30px;padding:3px 6px;border-radius:0 0 6px 6px;background:rgba(30,30,30,.85);color:var(--live-on-accent);font:400 10px/12px var(--font-roboto);overflow:hidden}
.lv-lot .info{flex:1;min-width:0}
.lv-lot .ttl{display:block;width:100%;height:34px;font:400 14px/17px var(--font-roboto);overflow:hidden;text-align:start}
.lv-lot .bot{position:relative;margin-top:8px;height:36px}
.lv-lot .bot .l{position:absolute;left:0;top:3px;font:400 14px/14px var(--font-roboto);color:var(--live-muted)}
.lv-lot .bot .v{position:absolute;right:0;top:0;font:400 16px/16px var(--font-roboto);color:var(--live-brand-hover)}
.lv-lot .bot .v.start{color:var(--live-start-price)}
.lv-lot .bot .cv{position:absolute;right:0;top:19px;font:400 13px/18.2px var(--font-roboto);color:var(--live-muted)}
.lv-carousel{position:absolute;left:50%;transform:translateX(-50%);bottom:35px;display:flex;background:var(--live-surface);border:1px solid var(--live-line);border-radius:var(--live-radius);box-shadow:0 6px 18px rgba(0,0,0,.12);overflow:hidden}
.lv-carousel span{display:grid;place-items:center;width:55px;height:44px;font:400 14px/19.6px var(--font-roboto)}
.lv-carousel span.on{background:var(--live-brand-hover);color:var(--live-on-brand);font-weight:500}

/* центр: заголовок лота */
.lv-crumbs{display:flex;align-items:center;height:24px;color:var(--live-muted)}
.lv-crumbs a{display:flex;align-items:center;height:24px;margin-inline-start:13px;padding-inline-start:12px;border-inline-start:1px solid var(--live-line)}
.lv-headline{display:flex;align-items:center;justify-content:space-between;margin-top:8px;height:29px}
.lv-headline h1{flex:1;min-width:0;margin:0 15px 0 0;font:500 24px/28.8px var(--font-afacad);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lv-headline.seller{height:34px}
.lv-headline.seller h1{font-weight:400;line-height:33.6px}
.lv-counters{display:flex;gap:19px;width:146px;justify-content:space-between;font:400 15.3px/21.4px var(--font-roboto)}
.lv-counters span{display:inline-flex;align-items:center;gap:6px}
/* карточка лота */
.lv-card{display:grid;grid-template-columns:2.38fr 1fr;gap:32px;margin-top:8px;padding:13px;background:var(--live-surface);border-radius:var(--live-radius)}
.lv-card .media{position:relative;min-width:0}
.lv-card .media img.main{display:block;width:100%;height:486px;object-fit:contain}
.lv-card.seller .media img.main{height:272px}
.lv-card .preview{position:absolute;left:8px;top:8px;z-index:1;padding:2px 10px;border-radius:var(--live-radius);background:var(--live-brand);color:var(--live-on-brand);font:400 12px/16.8px var(--font-roboto);text-transform:uppercase}
.lv-card .details{display:flex;flex-direction:column;justify-content:space-between;min-width:0}
.lv-spec{display:flex;justify-content:space-between;align-items:center;height:38px;border-top:1px solid var(--live-line)}
.lv-spec:first-child{border-top:0}
.lv-spec .k{color:var(--live-muted)} .lv-spec .v{font-weight:500}
.lv-spec.text{flex-direction:column;align-items:flex-start;justify-content:flex-start;height:auto;padding:9px 0}
.lv-spec.text .v{font-weight:400;margin-top:2px}
.lv-desc{max-width:202px;margin-inline-start:-16px;padding-inline-start:16px;font:300 16px/20px var(--font-roboto);max-height:140px;overflow:hidden}
.lv-readmore{display:inline-flex;align-items:center;gap:4px;margin-top:7px;color:var(--live-ink)}
.lv-adminnote{margin-top:16px;padding:8px 12px;border-radius:var(--live-radius);background:var(--live-warn-surface);font:400 14px/19.6px var(--font-roboto)}

/* блок ставки покупателя */
.lv-bid{margin-top:24px;padding:13px;background:var(--live-surface);border-radius:var(--live-radius)}
.lv-bid .head{display:flex;align-items:center;justify-content:space-between;height:39px}
.lv-bid .price{display:flex;align-items:center;flex:1;margin-inline-end:24px}
.lv-bid .price .l{color:var(--live-muted);width:204px}
.lv-bid .price .amt{font:700 28px/39.2px var(--font-roboto)}
.lv-bid .price .lead{width:26px;height:26px;border-radius:50%;margin-inline-start:8px}
.lv-bid .price .cv{margin-inline-start:auto;color:var(--live-muted)}
.lv-people{display:flex;align-items:center;width:130px;justify-content:flex-end;color:var(--live-muted)}
.lv-people span{margin-inline-end:8px}
.lv-people img{width:26px;height:26px;border-radius:50%;margin-inline-start:-6px;border:1px solid var(--live-on-accent)}
.lv-bid .body{display:flex;gap:24px;margin-top:12px}
.lv-bid .main{flex:1;min-width:0;padding-top:8px}
.lv-ctrl{display:flex;gap:10px}
.lv-ctrl .pm{display:grid;place-items:center;width:54px;height:54px;border-radius:var(--live-radius-sm);background:var(--live-fill);color:var(--live-ink)}
.lv-ctrl .bid{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;height:54px;border-radius:var(--live-radius-sm);background:var(--live-bid-bg);color:var(--live-on-accent);font:400 24px/33.6px var(--font-afacad)}
.lv-ctrl .bid em{font-style:normal;color:var(--live-accent)}
.lv-ctrl .bid[disabled]{background:#9aa3a8}
.lv-quick{display:flex;gap:14px;margin-top:12px}
.lv-quick button{flex:1;height:37px;border-radius:var(--live-radius-sm);background:var(--live-fill);font:500 16px/19.52px var(--font-afacad)}
.lv-timer{flex:none;width:130px;text-align:center}
.lv-ring{position:relative;width:64px;height:64px;margin:0 auto}
.lv-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.lv-ring .trk{fill:none;stroke:var(--live-fill);stroke-width:10}
.lv-ring .val{fill:none;stroke-width:10;stroke-linecap:round}
.lv-ring b{position:absolute;inset:0;display:grid;place-items:center;font:400 16.9px/1 var(--font-roboto)}
.lv-timer .say{margin-top:4px;font:500 14px/17px var(--font-roboto);color:var(--live-accent)}
.lv-timer .say.ok{color:var(--live-brand-hover)} .lv-timer .say.dim{color:var(--live-muted)}

/* панель справа */
.lv-video{padding:13px 13px 0}
/* сцена 324 × 182 на демо; внутри — в долях, чтобы сцена тянулась по ширине панели */
.lv-scene{position:relative;width:100%;max-width:324px;aspect-ratio:324/182;border-radius:var(--live-radius);overflow:hidden;background:#05070c}
.lv-scene .plate{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lv-scene .slide{position:absolute;left:20.06%;top:8.24%;width:62.04%;height:53.3%;object-fit:contain}
.lv-scene .clerk{position:absolute;left:63.58%;top:15.38%;width:34.57%;height:62.64%;display:grid;place-items:end center}
.lv-scene .podium{position:absolute;left:71.6%;top:47.25%;width:16.67%}
.lv-scene .ctrls{position:absolute;right:8px;bottom:8px;display:flex;gap:6px}
.lv-scene .ctrls button{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:rgba(11,18,32,.7);border:1px solid rgba(255,255,255,.18);color:var(--live-on-accent)}
.lv-ptabs{display:flex;justify-content:space-between;padding:13px}
.lv-ptabs button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:70px;height:70px;border-radius:var(--live-radius-sm);color:var(--live-muted)}
.lv-ptabs button svg{color:var(--live-ink)}
.lv-ptabs button span{font:400 12px/12px var(--font-roboto)}
.lv-ptabs button.on{background:var(--live-fill)} .lv-ptabs button.on span{color:var(--live-ink)}
.lv-ptabs.icons button{width:43px;height:43px}
.lv-ptabs .dot{position:absolute;top:-3px;right:-3px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--live-accent);color:var(--live-on-brand);font:600 10px/16px var(--font-roboto)}
.lv-pmain{height:518px;overflow:hidden}
.lv-ptabs.icons + .lv-pmain{height:544px}
/* лента активности */
.lv-feed{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:26px 13px}
.lv-msg{display:inline-flex;align-items:center;gap:10px;padding:14px 20px;border-radius:26px 26px 26px 0;background:var(--live-line-soft);font:400 16px/24px var(--font-roboto)}
.lv-msg b{font-weight:500} .lv-msg b.other{color:var(--live-muted-soft)}
.lv-msg img{width:24px;height:24px;border-radius:50%;border:1px solid var(--live-line-strong)}
.lv-msg.sold{background:var(--live-pill-warm)}
.lv-msg.you{background:var(--live-bubble-in)}
.lv-empty{padding:20px 13px;font:400 13px/18.2px var(--font-roboto);color:var(--live-muted);text-align:center}
/* чат */
.lv-chat{display:flex;flex-direction:column;height:100%}
.lv-chat .msgs{flex:1;padding:27px 13px 0;display:flex;flex-direction:column;gap:14px}
.lv-bubble{position:relative;max-width:275px;padding:12px 20px 22px;border-radius:25px 25px 25px 4px;background:var(--live-bubble-in);font:400 16px/22.4px var(--font-roboto)}
.lv-bubble.me{align-self:flex-end;border-radius:25px 25px 4px 25px;background:var(--live-line-soft)}
.lv-bubble time{position:absolute;right:20px;bottom:6px;font:400 12px/16.8px var(--font-roboto);color:var(--live-muted)}
.lv-sender{margin-top:4px;font:400 12px/16.8px var(--font-roboto);color:var(--live-muted)}
.lv-compose{padding:12px 13px 13px}
.lv-compose div{display:flex;align-items:center;height:64px;padding:0 12px 0 17px;border-radius:var(--live-radius);background:var(--live-surface-soft);border:1px solid var(--live-line)}
.lv-compose input{flex:1;height:44px;border:0;background:transparent;font:400 16px var(--font-roboto);outline:none}
.lv-compose button{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:var(--live-brand-hover)}
/* статистика и настройки */
.lv-stat{padding:4px 13px}
.lv-stat div{display:flex;justify-content:space-between;align-items:center;height:54px;border-bottom:1px solid var(--live-line);font:400 15px/21px var(--font-roboto)}
.lv-stat div:last-child{border-bottom:0}
.lv-stat span{color:var(--live-muted)} .lv-stat b{font-weight:600}
.lv-set{padding:4px 13px}
.lv-set .r{display:flex;justify-content:space-between;align-items:center;height:56px;border-bottom:1px solid var(--live-line);color:var(--live-muted)}
.lv-set .r:last-child{border-bottom:0;height:64px}
.lv-set img{width:28px;height:28px;border-radius:50%}

/* продавец: панель торгов */
.lv-sbids{display:flex;gap:32px;margin-top:24px;padding:13px;height:326px;background:var(--live-surface);border-radius:var(--live-radius)}
.lv-sbids .main{flex:2.38;min-width:0}
.lv-sbids .shead{display:flex;align-items:center;height:92px}
.lv-sbids .shead .lv-ring{width:92px;height:92px;margin:0}
.lv-sbids .shead .lv-ring b{font-size:24.25px}
.lv-sbids .sprice{flex:1;text-align:center}
.lv-sbids .sprice .l{color:var(--live-muted)}
.lv-sbids .sprice .amt{font:700 24px/28px var(--font-roboto)}
.lv-sbids .sprice .cv{color:var(--live-muted)}
.lv-sbids .steps{display:flex;justify-content:center;gap:6px;margin-top:6px}
.lv-sbids .steps i{display:block;width:44px;height:3px;border-radius:2px;background:var(--live-fill)}
.lv-sbids .steps i.on{background:var(--live-brand-hover)}
.lv-act{margin-top:23px}
.lv-act .big{display:block;width:100%;height:54px;border-radius:var(--live-radius-sm);background:var(--live-bid-bg);color:var(--live-on-accent);font:600 24px/26.4px var(--font-roboto);text-transform:uppercase}
.lv-act .big.start{background:var(--live-brand)}
.lv-act .big.sold{background:var(--live-accent)}
.lv-act .row{display:flex;align-items:center;gap:20px;margin-top:24px}
.lv-act .book{display:flex;align-items:center;justify-content:center;gap:6px;width:211px;height:42px;border-radius:var(--live-radius-sm);background:var(--live-ink);color:var(--live-on-accent);font:500 14px/1 var(--font-roboto)}
.lv-act .book em{font-style:normal;color:#47b6c4}
.lv-act .sel{display:flex;align-items:center;justify-content:space-between;width:126px;height:42px;padding:0 10px 0 14px;border-radius:6px 0 0 6px;background:var(--live-fill);font:400 15px/1 var(--font-roboto)}
.lv-act .chg{width:84px;height:42px;margin-inline-start:-20px;border-radius:0 6px 6px 0;background:var(--live-bid-bg);color:var(--live-on-accent);font:500 12px/1 var(--font-roboto)}
.lv-act .row2{display:flex;align-items:center;gap:10px;margin-top:23px}
.lv-act .sq{display:grid;place-items:center;width:42px;height:42px;border-radius:var(--live-radius-sm);background:var(--live-fill)}
.lv-act .pass{margin-inline-start:auto;width:95px;height:42px;border-radius:var(--live-radius-sm);background:var(--live-surface);border:1px solid var(--live-accent);color:var(--live-accent);font:600 12px/1 var(--font-roboto);text-transform:uppercase}
.lv-sbids .aside{flex:1;min-width:0}
.lv-sbids .nob{height:38px;color:var(--live-muted);display:flex;align-items:center}
.lv-blist div{display:flex;justify-content:space-between;align-items:center;height:38px;border-bottom:1px solid var(--live-line)}
.lv-blist b{font-weight:500} .lv-blist span{color:var(--live-muted);font-size:13px}
.lv-blist div.lead b{color:var(--live-brand-hover)}
/* продавец: участники */
.lv-users{padding:13px}
.lv-users .f{display:flex;align-items:center;gap:8px}
.lv-users .seg{display:flex;gap:2px;width:288px;padding:2px;border-radius:var(--live-radius-sm);background:var(--live-fill)}
.lv-users .seg span{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;height:46px;border-radius:var(--live-radius-sm);color:var(--live-muted)}
.lv-users .seg span b{font:600 15px/16.5px var(--font-roboto);color:var(--live-ink)}
.lv-users .seg span small{font:500 11px/15.4px var(--font-roboto);text-transform:uppercase}
.lv-users .seg span.on{background:var(--live-surface);color:var(--live-ink)}
.lv-users .pend{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--live-accent);color:var(--live-on-brand);font:600 12px/1 var(--font-roboto)}
.lv-users .list{margin:8px -5px 0}
.lv-users .u{display:flex;align-items:center;gap:10px;height:40px;padding:0 8px;border-radius:var(--live-radius-sm)}
.lv-users .u:hover{background:var(--live-surface-soft)}
.lv-users .u img{width:26px;height:26px;border-radius:50%}
.lv-users .u span{flex:1;font:500 14px/19.6px var(--font-roboto)}
.lv-users .u .st{flex:none;font:400 12px/1 var(--font-roboto);padding:3px 8px;border-radius:999px}
.lv-users .u .st.wait{background:#fff3e0;color:#b45309}
.lv-users .u .ok,.lv-users .u .no{flex:none;height:26px;padding:0 10px;border-radius:var(--live-radius-sm);font:500 12px/26px var(--font-roboto)}
.lv-users .u .ok{background:var(--live-brand-hover);color:var(--live-on-brand)} .lv-users .u .no{background:var(--live-fill)}
/* продавец: настройки */
.lv-sset{padding:13px}
.lv-sset h3{margin:0 0 16px;font:600 14px/18.2px var(--font-afacad);text-transform:uppercase}
.lv-sset .seg{display:flex;gap:2px;margin-bottom:16px;padding:2px;border-radius:var(--live-radius-sm);background:var(--live-fill)}
.lv-sset .seg span{flex:1;display:grid;place-items:center;height:32px;border-radius:var(--live-radius-sm);font:500 12px/12px var(--font-roboto);color:var(--live-muted)}
.lv-sset .seg span.on{background:var(--live-surface);color:var(--live-ink)}
.lv-sset .grp{padding:14px 12px;border-radius:var(--live-radius-sm);background:var(--live-surface-soft);margin-bottom:8px}
.lv-sset .grp label{display:flex;align-items:center;gap:10px;font:400 14px/18px var(--font-roboto)}
.lv-sset .grp label i{display:block;width:18px;height:18px;border:1px solid var(--live-fill-strong);border-radius:4px;background:var(--live-surface)}
.lv-sset .grp label i.on{background:var(--live-brand-hover) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4L18 8'/%3E%3C/svg%3E") center/12px no-repeat;border-color:var(--live-brand-hover)}
.lv-sset .grp .dd{display:flex;align-items:center;justify-content:space-between;height:40px;margin-top:8px;padding:0 13px;border-radius:var(--live-radius-sm);background:var(--live-surface);border:1px solid var(--live-line);font:400 15px/21px var(--font-roboto);color:var(--live-ink);text-transform:none}
.lv-sset .upd{display:block;width:100%;height:42px;margin-top:12px;border-radius:var(--live-radius-sm);background:var(--live-brand);color:var(--live-on-brand);font:600 14px/1 var(--font-roboto);text-transform:uppercase}

/* окно поверх зала */
.lv-veil{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:24px;background:rgb(0 0 0 / 72%)}
.lv-final{width:100%;max-width:460px;padding:32px 28px;border-radius:8px;background:var(--live-surface);text-align:center}
.lv-final h2{margin:0 0 12px;font:700 22px/1.25 var(--font-roboto)}
.lv-final p{margin:0 0 24px;font:400 15px/1.4 var(--font-roboto);opacity:.75}
.lv-final a{display:block;margin-top:10px;padding:12px 18px;border:1px solid var(--live-brand-hover);border-radius:4px;color:var(--live-brand-hover);font-weight:600}
.lv-final a.pri{background:var(--live-brand-hover);color:var(--live-on-brand)}
.lv-toast{position:absolute;left:50%;top:110px;z-index:15;transform:translateX(-50%);display:flex;align-items:center;gap:10px;padding:12px 20px;border-radius:var(--live-radius);background:var(--live-surface);box-shadow:0 12px 40px rgba(0,0,0,.18);font:500 16px/22px var(--font-roboto)}
.lv-toast.ok{border-inline-start:4px solid var(--live-brand-hover)} .lv-toast.bad{border-inline-start:4px solid var(--live-accent)}

/* ===== Адаптив зала — по медиа-правилам демо (LiveRoom): до 1280 каталог убран, до 1024 — одна колонка ===== */
.lv-mtabs,.lv-burger{display:none}
.lv-bid,.lv-sbids{max-width:100%}
@media (max-width:1279px){
  .lv-room .lv-body{grid-template-columns:minmax(0,1fr) clamp(283px,26vw,350px)}
  .lv-room .lv-cat{display:none}
  .lv-room .lv-center{padding-inline-start:20px}
  .lv-ptabs button{width:auto;flex:0 1 70px}
  .lv-sbids{gap:20px}
  .lv-act .book{width:auto;flex:1}
}
@media (max-width:1024px){
  .lv-room{height:auto;overflow:visible}
  .lv-demo{flex-direction:column;gap:12px;height:auto;padding:8px 16px 9px;text-align:center}
  .lv-hdr{position:sticky;top:0;z-index:30;height:52px;padding:8px 14px}
  .lv-brand{flex:none}
  .lv-brand img{height:16px}
  .lv-progress{flex:1 1 auto;gap:14px;margin-inline:8px}
  .lv-progress .track{max-width:95px}
  .lv-meta{flex:none;gap:4px}
  .lv-theme,.lv-dd,.lv-login,.lv-user{display:none}
  .lv-burger{display:flex;flex-direction:column;justify-content:space-between;width:22px;height:20px;margin-inline-start:2px;padding:1px 0}
  .lv-burger i{display:block;height:2px;border-radius:1px;background:var(--live-ink)}
  .lv-mtabs{display:flex;gap:8px;padding:10px 14px 0;overflow-x:auto;scrollbar-width:none}
  .lv-mtabs button{flex:none;padding:8px 14px;border-radius:999px;background:var(--live-fill);color:var(--live-muted);font:500 13px/13px var(--font-roboto);text-transform:uppercase;white-space:nowrap}
  .lv-mtabs button.on{background:var(--live-brand);color:var(--live-on-brand)}
  /* колонки -> одна лента; блок ставки покупателя — внизу экрана, как mobile-place-bid-wrapper */
  .lv-room .lv-body{display:flex;flex-direction:column;gap:16px;height:auto;padding:16px 0 0}
  .lv-room .lv-center{display:contents}
  .lv-room .lv-center > *{max-width:none;margin-inline:0}
  .lv-room .lv-crumbs,.lv-room .lv-headline{padding-inline:17px}
  .lv-crumbs a{margin-inline-start:13px}
  .lv-headline,.lv-headline.seller{height:auto;align-items:flex-start;margin-top:-8px}
  .lv-headline h1{white-space:normal;font:400 24px/36px var(--font-afacad)}
  .lv-counters{width:auto;flex:none;margin-top:6px}
  .lv-card{display:block;padding:18px}
  .lv-room .lv-center > .lv-card,.lv-room .lv-center > .lv-sbids{margin-inline:13px}
  .lv-card .media img.main,.lv-card.seller .media img.main{height:233px}
  .lv-card .details{margin-top:12px}
  .lv-desc{max-width:none;margin:12px 0 0;padding:0}
  .lv-room .lv-panel{order:5;background:transparent;box-shadow:none}
  .lv-room .lv-video{padding:0 13px}
  .lv-room .lv-scene{max-width:none}
  .lv-room .lv-ptabs{display:none}
  .lv-room .lv-pmain,.lv-room .lv-ptabs.icons + .lv-pmain{height:auto}
  .lv-room .lv-bid{order:9;position:sticky;bottom:0;z-index:20;margin:0;padding:22px 13px 12px;border-radius:0;box-shadow:0 -6px 24px rgba(0,0,0,.1)}
  .lv-room .lv-bid::before{content:"";position:absolute;left:50%;top:9px;width:40px;height:4px;margin-left:-20px;border-radius:2px;background:var(--live-line)}
  .lv-bid .head{height:auto}
  .lv-bid .price{flex-wrap:wrap;margin:0;row-gap:0}
  .lv-bid .price .l{width:auto;margin-inline-end:8px}
  .lv-bid .price .amt{font-size:26px;line-height:36px}
  .lv-people{display:none}
  .lv-bid .body{flex-direction:column-reverse;gap:10px;margin-top:6px}
  .lv-bid .main{padding-top:0}
  .lv-timer{position:absolute;right:13px;top:18px;width:auto;display:flex;align-items:center;gap:8px}
  .lv-timer .say{display:none}
  .lv-ring{width:56px;height:56px}
  .lv-ctrl .bid{font-size:22px}
  .lv-quick{gap:10px}
  .lv-quick button{height:36px;font-size:15px}
  .lv-room .lv-sbids{order:3;display:block;height:auto;margin:0 13px;padding:18px}
  .lv-sbids .aside{margin-top:20px}
  .lv-act .row{flex-wrap:wrap;gap:12px}
  .lv-act .chg{margin-inline-start:-12px}
  .lv-bid{position:relative}
}
@media (max-width:640px){
  .lv-bid .price .cv{flex-basis:100%;margin:0}
  .lv-sbids .shead .lv-ring{width:72px;height:72px}
}

/* ── дополнения клона (D-0049): страница на всё окно, вход и заявка вместо ставки, замок, ошибки, пустой зал ── */
body.lv-page{margin:0}
.lv-gate{display:flex;align-items:center;justify-content:center;height:56px;border-radius:8px;background:var(--live-brand-hover);color:var(--live-on-brand);font:600 16px/1 var(--font-roboto);text-decoration:none}
.lv-say{margin:24px 0;color:var(--live-muted);font:500 16px/1.4 var(--font-roboto);text-align:center}
.lv-err{margin:8px 0 0;color:var(--live-accent);font-size:13px}
.lv-lock{display:grid;place-items:center;width:36px;height:36px;border-radius:999px;background:var(--live-fill)}
.lv-lock[aria-pressed="true"]{background:var(--live-accent);color:var(--live-on-brand)}
.lv-bid .head{display:flex;align-items:center;justify-content:space-between}
.lv-ctrl .bid:disabled,.lv-act button:disabled,.lv-ctrl .pm:disabled,.lv-quick button:disabled{opacity:.45;cursor:not-allowed}
.lv-act select.sel{height:40px;border:1px solid var(--live-line);border-radius:var(--live-radius-sm);padding:0 8px;background:var(--live-surface)}
.lv-lot.cur{outline:2px solid var(--live-brand-hover);outline-offset:-2px}
.lv-msg.sold{background:#fde3ea}
.lv-note{margin:8px 0 0;color:var(--live-brand-hover);font-size:13px}
.lv.lv-strip{height:auto;overflow:visible;background:none}
.lv-strip .lv-veil{position:fixed;z-index:50}
.lv-strip .lv-veil[hidden]{display:none}
body[data-live-demo] .lv-room{height:calc(100vh - 43px);height:calc(100dvh - 43px)}
@media (max-width:1024px){.lv-bid .head .lv-lock{margin-right:72px}}
.lv-mine{align-self:flex-end;display:flex;flex-direction:column;align-items:flex-end}
.lv-pmain[hidden]{display:none}
[data-live-msgs] [data-customer]{cursor:pointer}

/* Зал до старта и после End (F80): следующий лот с отсчётом, «Auction closed» со ссылками */
.lv-next{max-width:460px;margin:8px auto 24px;text-align:center}
.lv-next-k{margin:12px 0;color:var(--live-muted);font:500 14px/1.4 var(--font-roboto);text-transform:uppercase}
.lv-next-k b{color:var(--live-ink-strong);font-weight:600;text-transform:none}
.lv-next-card{display:flex;gap:16px;align-items:center;padding:13px;background:var(--live-surface);border-radius:var(--live-radius);text-align:left}
.lv-next-card img{width:120px;height:120px;object-fit:contain;flex:0 0 auto}
.lv-next-card img:not([src]),.lv-next-card img[src=""]{display:none}
.lv-next-card div{display:flex;flex-direction:column;gap:6px;min-width:0;font:400 14px/1.4 var(--font-roboto)}
.lv-next-card b{font-weight:600}
.lv-closed{display:flex;flex-direction:column;align-items:center;gap:12px;margin:24px 0}
.lv-closed h2{margin:0 0 8px;font:600 24px/1.3 var(--font-roboto)}
.lv-closed a{color:var(--live-brand);font:500 15px/1.4 var(--font-roboto);text-decoration:underline}

/* Зал на телефоне и планшете (F79): вкладки-пилюли («All lots» — каталог вместо панели), меню-бургер, строка статуса над ставкой */
.lv-msay{display:none}
@media (max-width:1024px){
  .lv-hdr{position:sticky}
  .lv-msay{display:block;margin:0 0 6px;font:600 14px/1.3 var(--font-roboto);text-align:center}
  .lv-msay:empty{display:none}
  .lv-room[data-mtab="lots"] .lv-cat{display:block;order:5;padding:0 13px}
  .lv-room[data-mtab="lots"] .lv-panel{display:none}
  /* блок лота — тоже «развёрнут»: полоса ставки становится элементом ленты — внизу, после панели, и прилипает к низу экрана */
  .lv-room [data-live-lotbox]:not([hidden]){display:contents}
  .lv-room [data-live-lotbox] > *{max-width:none;margin-inline:0}
  .lv-room [data-live-lotbox] > .lv-card{margin-inline:13px}
}

/* Зал — ровно в высоту окна на компьютере (F149): 809 / 486 px макета годились только для окна оригинала; на 1366×768 кнопки
   уходили за край. Центр — колонкой: фото лота занимает оставшееся место (object-fit: contain), полоса ставки покупателя и
   пульт аукциониста — своей высоты и всегда видны; каталог и лента панели прокручиваются внутри. Телефон (≤1024, F79) — как был */
@media (min-width:1025px){
  .lv-room{display:flex;flex-direction:column}
  .lv-room .lv-body{flex:1 1 auto;min-height:0;height:auto;grid-template-rows:minmax(0,1fr)}
  /* F152: строка сетки — ровно высота зала; без minmax(0,1fr) лента и чат растили колонку, и блок ставки уезжал за край окна */
  .lv-room .lv-body > *{min-height:0}
  .lv-room .lv-panel{display:flex;flex-direction:column;overflow:hidden}
  .lv-room .lv-panel .lv-pmain[data-live-pane="chat"]{overflow:hidden}
  .lv-room .lv-chat{height:100%;min-height:0}
  .lv-room .lv-chat .msgs{min-height:0;overflow-y:auto}
  .lv-room .lv-panel .lv-pmain{flex:1 1 auto;min-height:0;height:auto;overflow-y:auto}
  .lv-room .lv-center{display:flex;flex-direction:column;min-height:0;padding-bottom:16px}
  .lv-room .lv-center > [data-live-lotbox]:not([hidden]){display:flex;flex-direction:column;flex:1 1 auto;min-height:0;width:100%}
  .lv-room .lv-card{flex:1 1 auto;min-height:150px;grid-template-rows:minmax(0,1fr);overflow:hidden}
  .lv-room .lv-card .media{min-height:0}
  .lv-room .lv-card .media img.main,.lv-room .lv-card.seller .media img.main{position:absolute;inset:0;width:100%;height:100%}
  .lv-room .lv-card .details{min-height:0;overflow:hidden}
  .lv-room .lv-bid,.lv-room .lv-sbids{flex:none}
}
/* каталог слева — только с 1280 (до неё скрыт, правило выше); список прокручивается внутри колонки */
@media (min-width:1280px){
  .lv-room .lv-cat{display:flex;flex-direction:column;overflow:hidden}
  .lv-room .lv-cat .lv-list{flex:1 1 auto;min-height:0;overflow-y:auto}
}
/* описание лота в карточке зала (F150): четыре строки, «Read more» раскрывает; блок «Next lot» — над фото */
.lv-desc{max-height:80px}
.lv-desc.is-open{max-height:none;overflow:auto}
.lv-desc p{margin:0 0 6px}
.lv-card .details{gap:12px}
/* каталог зала (F150): поиск, отмеченные сердечко и колокольчик, окно предупреждения о лоте */
.lv-tools{align-items:center;gap:6px}
.lv-search{flex:1;min-width:0;height:30px;padding:0 10px;border:1px solid var(--live-line);border-radius:var(--live-radius-sm);font:400 14px/20px var(--font-roboto);color:var(--live-ink);background:var(--live-surface)}
.lv-lot .ic button[data-live-fav].on{color:var(--live-brand)}
.lv-lot .ic button[data-live-alert].on{color:var(--live-accent)}
.lv-lot[hidden]{display:none}
.lv-toast{position:fixed;right:20px;bottom:20px;z-index:60;max-width:360px;padding:14px 18px;border-radius:var(--live-radius);background:var(--live-brand-hover);color:var(--live-on-brand);font:500 14px/20px var(--font-roboto);box-shadow:0 8px 24px rgba(0,0,0,.2)}
/* панель (F150): у аукциониста вкладки — иконками; Auto live — флажки и задержки списком; кнопки видео — нажатая подсвечена */
.lv-ptabs.icons button span{display:none}
.lv-ptabs button[hidden]{display:none}
.lv-sset .grp label input{width:18px;height:18px;accent-color:var(--live-brand-hover)}
.lv-sset .grp select{display:block;width:100%;height:40px;margin-top:8px;padding:0 13px;border-radius:var(--live-radius-sm);background:var(--live-surface);border:1px solid var(--live-line);font:400 15px/21px var(--font-roboto);color:var(--live-ink)}
.lv-scene .ctrls button.on{background:var(--live-brand)}
.lv-set .lv-theme.on .trk{background:var(--live-brand)} .lv-set .lv-theme.on .thb{left:12px}
/* шапка зала (F150): выпадающие окна — уведомления, язык, валюта */
.lv-wrap{position:relative}
.lv-icon{position:relative}
.lv-dot{position:absolute;top:5px;right:6px;width:8px;height:8px;border-radius:50%;background:var(--live-accent)}
.lv-pop{position:absolute;right:0;top:44px;z-index:45;min-width:160px;padding:6px 0;background:var(--live-surface);border-radius:var(--live-radius);box-shadow:0 8px 24px rgba(0,0,0,.15)}
.lv-pop[hidden]{display:none}
.lv-list-pop a,.lv-list-pop button{display:block;width:100%;padding:9px 16px;text-align:start;color:var(--live-ink);font:400 14px/18px var(--font-roboto);text-decoration:none}
.lv-list-pop a:hover,.lv-list-pop button:hover,.lv-list-pop a[aria-current]{background:var(--live-fill)}
.lv-list-pop{max-height:320px;overflow-y:auto}
/* валюта показа (F122): поиск в списке, список не выше 288 px; выбранная отмечена; подсказка подписи пересчёта */
.lv-list-pop[data-live-curs]{max-height:none;overflow:visible}
.lv-cur-list{max-height:288px;overflow-y:auto}
.lv-cur-search{display:block;width:calc(100% - 20px);margin:8px 10px;padding:6px 8px;border:1px solid var(--line,#d5d9de);border-radius:4px;background:transparent;color:var(--live-ink);font:400 14px/18px var(--font-roboto)}
.lv-list-pop[data-live-curs] button.on{font-weight:600;background:var(--live-fill)}
.lv-cur-empty{padding:9px 16px;color:var(--live-muted);font:400 13px/18px var(--font-roboto)}
.lv .price-alt{cursor:help}
.currency-hint{position:absolute;z-index:300;padding:8px 10px;background:#1e2226;color:var(--live-on-accent);font:400 12px/16px var(--font-roboto);border-radius:4px;box-shadow:0 3px 8px rgba(0,0,0,.2);pointer-events:none}
.currency-hint[hidden]{display:none}
.lv-notes{width:320px;padding:0}
.lv-notes .hd{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--live-line)}
.lv-notes .hd a{font:600 14px/18px var(--font-roboto);color:var(--live-ink);text-decoration:none}
.lv-notes .hd button{color:var(--live-brand);font:500 13px/18px var(--font-roboto)}
.lv-notes ul{list-style:none;margin:0;padding:0;max-height:360px;overflow-y:auto}
.lv-notes li{display:flex;flex-direction:column;gap:4px;padding:10px 16px;border-bottom:1px solid var(--live-line);font:400 14px/19px var(--font-roboto)}
.lv-notes li a{color:var(--live-ink)} .lv-notes li time{color:var(--live-muted);font-size:12px}
.lv-dd{background:none}
.lv .cv{display:block;color:var(--live-muted);font:400 13px/18px var(--font-roboto)}
.lv-lot .bot .cv:empty,.lv .cv:empty{display:none}

/* тёмная тема зала (переключатель в шапке, как у оригинала) */
.lv.lv-dark{background:#0f1318;color:var(--live-ink)}
.lv.lv-dark .lv-hdr,.lv.lv-dark .lv-cat,.lv.lv-dark .lv-panel,.lv.lv-dark .lv-card,.lv.lv-dark .lv-bid,.lv.lv-dark .lv-sbids,
.lv.lv-dark .lv-pop,.lv.lv-dark .lv-mm,.lv.lv-dark .lv-mm-notes,.lv.lv-dark .lv-search,.lv.lv-dark .lv-sset .grp select,.lv.lv-dark .lv-carousel{background:#171c23;color:var(--live-ink)}
.lv.lv-dark .lv-lot.cur,.lv.lv-dark .lv-sset .grp,.lv.lv-dark .lv-users .u:hover{background:#1f252e}
.lv.lv-dark .lv-msg{background:var(--live-line-soft);color:var(--live-ink)}
.lv.lv-dark .lv-msg.sold{background:#4a2a24}
.lv.lv-dark .lv-tabs button.on,.lv.lv-dark .lv-users .seg span.on,.lv.lv-dark .lv-sset .seg span.on{background:#2f3641;color:var(--live-ink)}
.lv.lv-dark .lv-lot .num,.lv.lv-dark .lv-lot .ic,.lv.lv-dark .lv-icon,.lv.lv-dark .lv-dd{color:var(--live-ink)}
.lv.lv-dark .lv-quick button,.lv.lv-dark .lv-ctrl .pm,.lv.lv-dark .lv-sbids .sq{background:#2b313a;color:var(--live-ink)}
.lv.lv-dark .lv-ptabs button svg{color:var(--live-ink)}
.lv.lv-dark .lv-burger i{background:var(--live-ink)}
/* сверка с оригиналом в том же окне (F151): миниатюры каталога — целиком (contain), без «No bids»-линии, кнопка Start / Continue
   пульта до начала торгов — ниже, как у оригинала */
.lv-lot .img img{object-fit:contain;background:transparent}
.lv-blist .nob{border-bottom:0}
.lv-sbids.is-preview .lv-act{margin-top:85px}
/* быстрые суммы по ширине блока ставки (FastBids оригинала): 3, с 450 — 4, с 560 — 5 */
@media (min-width:1025px){
  .lv-bid .main{container:lv-bid-controls / inline-size}
  .lv-quick button:nth-child(n+4){display:none}
  @container lv-bid-controls (min-width:450px){.lv-quick button:nth-child(4){display:block}}
  @container lv-bid-controls (min-width:560px){.lv-quick button:nth-child(5){display:block}}
}
.lv-feed .lv-empty{align-self:stretch;padding-top:0;font-size:14px}
/* аукционист (F151, ClerkScene оригинала): коробка модели и полосы зала — доли кадра 1376 × 768 (utils/clerkScene.ts) */
.lv-scene .clerk3d{position:absolute;left:62.3547%;top:14.8438%;width:34.5930%;height:63.0208%;pointer-events:none}
.lv-scene .band{position:absolute;inset:0;background:url(/assets/img/live/hall.webp) center / 100% 100% no-repeat;pointer-events:none}
.lv-scene .band-l{clip-path:inset(54.6875% 79.9419% 0 0)}
.lv-scene .band-c{clip-path:inset(70.3125% 17.8779% 0 20.0581%)}
.lv-scene .band-r{clip-path:inset(54.6875% 0 0 82.1221%)}
.lv-scene .ctrls{z-index:2}

/* поиск каталога открыт всегда (F153, решение Андрея): поле во всю ширину под вкладками, лупа справа */
.lv-tools{height:36px;margin:10px 13px 4px;gap:12px}
.lv-tools .lv-search{height:36px;padding:7px 12px 7px 17px;border-radius:8px;font-size:15px}
.lv-tools .lv-search::placeholder{color:#8a9096}
/* итог лота в кольце (F154, TimeLine оригинала): кольцо полное (градиент #ff5d7a → #d9042a), в центре — молоток (Phosphor fill); посетителю
   со ставкой — галочка (выиграл, цвет бренда) или крестик (перебит); подпись «Lot sold» / «Lot unsold» — красная */
.lv-ring .val{transition:stroke-dashoffset .25s linear}
.lv-ring .mark{position:absolute;inset:0;margin:auto;display:none;width:26px;height:26px;fill:var(--live-accent);stroke:none}
.lv-ring .mark.ok,.lv-ring .mark.no{width:30px;height:30px;fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.lv-ring .mark.ok{stroke:var(--live-brand-hover)} .lv-ring .mark.no{stroke:var(--live-accent)}
.lv-ring[data-mark="gv"] .gv,.lv-ring[data-mark="ok"] .ok,.lv-ring[data-mark="no"] .no{display:block}
.lv-ring[data-mark="gv"] b,.lv-ring[data-mark="ok"] b,.lv-ring[data-mark="no"] b{display:none}
.lv-ring[data-mark="ok"] .val{stroke:var(--live-brand-hover)}
.lv-timer.is-winning .val{stroke:var(--live-brand-hover)} .lv-timer.is-winning .say{color:var(--live-brand-hover)}
.lv-timer .say.flash{animation:lv-flash .5s steps(2,start) infinite}
@keyframes lv-flash{to{visibility:hidden}}
.lv-msg.sold .ph{flex:none;fill:var(--live-accent)}
/* демо аукциониста: кнопка Start / Continue пульсирует, пока зал не начат (--demo-pulse оригинала) */
.pulse{animation:lv-pulse 1.6s ease-in-out infinite}
@keyframes lv-pulse{0%,100%{box-shadow:0 0 0 0 rgba(5,95,95,.45)}50%{box-shadow:0 0 0 10px rgba(5,95,95,0)}}
@media (prefers-reduced-motion:reduce){.pulse,.lv-timer .say.flash{animation:none}}
/* звук (F155): включён — динамик, выключен — перечёркнутый; кнопка «on» не подсвечивается — это обычное состояние */
.lv-scene .ctrls button .i-off,.lv-scene .ctrls button:not(.on) .i-on{display:none}
.lv-scene .ctrls button:not(.on) .i-off{display:block}
.lv-scene .ctrls button.on{background:rgba(11,18,32,.7)}
/* «Show in the lot card» (F155): сцена — в карточке лота на месте фото, тёмная рамка со скруглением; кадр 324:182 — по ширине или
   по высоте рамки (что меньше); правая колонка без сцены — вкладки панели сразу сверху */
.lv-card .media.has-stage img.main{visibility:hidden}
.lv-card .media .lv-stage{position:absolute;inset:0;display:grid;place-items:center;border-radius:16px;background:#05070c;overflow:hidden;container-type:size}
.lv-card .media .lv-stage .lv-scene{width:min(100cqw,calc(100cqh * 324 / 182));max-width:none;border-radius:0}
@media (max-width:1024px){
  .lv-card .media.has-stage{min-height:233px}
  .lv-scene .ctrls [data-live-dock]{display:none}
}
/* F156 (решение Андрея): центр — во всю ширину между колонками (без потолка 864 px макета), боковые колонки — около 20 % окна */
@media (min-width:1280px){
  .lv-room .lv-body{grid-template-columns:clamp(283px,20vw,420px) minmax(0,1fr) clamp(283px,20vw,420px)}
  .lv-room .lv-center > *,.lv-room .lv-center > [data-live-lotbox] > *{max-width:none;margin-inline:0}
  .lv-room .lv-center{padding-inline:8px}
  /* видео — во всю ширину правой колонки */
  .lv-room .lv-video .lv-scene{max-width:none}
}
@media (min-width:1025px) and (max-width:1279px){
  .lv-room .lv-center > *,.lv-room .lv-center > [data-live-lotbox] > *{max-width:none;margin-inline:0}
}
/* сообщения в правом нижнем углу окна (F159, F174, useAppToast оригинала): ставка принята — зелёное, отказ — красное; пропадают
   сами; не поверх кнопок ставки — на телефоне выше прилипшей полосы ставки (отступ ставит live.js) */
.lv-toast.ok,.lv-toast.error{top:auto;left:auto;right:20px;bottom:20px;transform:none;border-inline-start:0;font:500 14px/20px var(--font-roboto)}
.lv-toast.ok{background:#f0fdf4;color:#16a34a;box-shadow:0 0 0 1px #bbf7d0,0 8px 24px rgba(0,0,0,.12)}
.lv-toast.error{background:#fef2f2;color:#dc2626;box-shadow:0 0 0 1px #fecaca,0 8px 24px rgba(0,0,0,.12)}
/* цена — в середине свободной части строки (F157, LiveBidBlock оригинала): «Current bid:» слева, сумма с аватаром лидера —
   авто-отступами с обеих сторон пары, участники — справа */
@media (min-width:1025px){
  .lv-bid .price .l{width:auto;margin-inline-end:16px}
  .lv-bid .price .amt{margin-inline-start:auto}
  .lv-bid .price .lead,.lv-bid .price .amt:has(+ .lead[hidden]){margin-inline-end:auto}
  .lv-bid .price .cv{margin-inline-start:16px}
}
/* шапка зала (F158): без логотипа — круглый значок с инициалами и имя дома прописными, как в шапке сайта дома */
.lv-brand{padding-inline-end:20px}
.lv-brand a{display:inline-flex;align-items:center;gap:10px;min-width:0;max-width:100%;color:inherit;text-decoration:none}
.lv-brand img{height:32px}
.lv-brand .mark{flex:none;width:32px;height:32px;border-radius:50%;border:2px solid var(--live-brand-hover);display:grid;place-items:center;color:var(--live-brand-hover);font:600 12px/1 var(--font-afacad)}
.lv-brand .name{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font:600 15px/1 var(--font-afacad);letter-spacing:.06em;text-transform:uppercase}
@media (max-width:1024px){.lv-brand img{height:22px} .lv-brand .mark{width:24px;height:24px;font-size:10px} .lv-brand .name{font-size:13px}}
/* переключатель темы (F161, Header.vue оригинала): ручка белая с тёмным значком в обеих темах — солнце в светлой, луна со
   звёздами в тёмной; дорожка — чёрная 24 % / белая 30 % в тёмной; ручка переезжает за 0,15 с */
.lv-hdr .lv-theme .thb{color:var(--live-switch-ink);transition:left .15s ease}
.lv-hdr .lv-theme.on .trk{background:var(--live-switch-track)} .lv-hdr .lv-theme.on .thb{color:var(--live-switch-ink)}
.lv.lv-dark .lv-hdr .lv-theme .trk{background:rgba(255,255,255,.3)}
.lv-theme svg.i-moon,.lv-theme.on svg.i-sun{display:none}
.lv-theme.on svg.i-moon{display:block}
@media (prefers-reduced-motion:reduce){.lv-hdr .lv-theme .thb{transition:none}}
/* лот без фото (F160): серое поле со значком картинки вместо подписи «Lot» */
.lv-card .media.no-photo{min-height:200px;border-radius:var(--live-radius);background:#f1f3f5 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='%23b8bec5'%3E%3Cpath d='M216,40H40A16,16,0,0,0,24,56V200a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V56A16,16,0,0,0,216,40Zm0,16V158.75l-26.07-26.06a16,16,0,0,0-22.63,0l-20,20-44-44a16,16,0,0,0-22.62,0L40,149.37V56ZM40,172l52-52,80,80H40Zm176,28H194.63l-36-36,20-20L216,181.38V200ZM144,100a12,12,0,1,1,12,12A12,12,0,0,1,144,100Z'/%3E%3C/svg%3E") center / 64px no-repeat}
.lv.lv-dark .lv-card .media.no-photo{background-color:#1b2129}

.lv-toast:not(.ok):not(.error){top:auto;left:auto;transform:none}
/* замки (F161, LiveBidBlock и ActionButtons оригинала): открыт — PhLockSimpleOpen, закрыт — PhLockSimple */
.lv button svg.i-shut,.lv button[aria-pressed="true"] svg.i-open{display:none}
.lv button[aria-pressed="true"] svg.i-shut{display:block}
/* окно Shortcuts (F164, DashboardPopup оригинала): белое окно, заголовок и крестик, плитки 2 в ряд со значком и подписью прописными */
.lv-sc-veil{position:fixed;z-index:70;background:rgb(0 0 0 / 45%)}
.lv-sc-veil[hidden]{display:none}
.lv-sc{width:min(742px,100%);padding:36px 36px 36px;border-radius:12px;background:var(--live-surface);color:var(--live-ink);box-shadow:0 20px 60px rgba(0,0,0,.25)}
.lv-sc .hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:40px}
.lv-sc h2{margin:0;font:500 30px/1.2 var(--font-roboto)}
.lv-sc .x{display:grid;place-items:center;width:36px;height:36px;color:#8a8f96}
.lv-sc .x svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
.lv-sc .tiles{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.lv-sc .tiles button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;height:133px;border:1px solid var(--live-line);border-radius:var(--live-radius-sm);background:var(--live-surface);font:400 19px/1 var(--font-roboto);text-transform:uppercase;color:var(--live-ink)}
.lv-sc .tiles button:hover:not(:disabled){border-color:#c9ced4}
.lv-sc .tiles button:disabled{opacity:.45;cursor:default}
.lv-sc .tiles svg.ph{width:28px;height:28px}
.lv-sc .tiles svg.i-b,.lv-sc .tiles .alt svg.i-a{display:none}
.lv-sc .tiles .alt svg.i-b{display:block}
.lv-break{display:grid;place-items:center;width:92px;min-height:92px;padding:6px;border-radius:12px;background:#fff4e5;color:#b45309;font:600 14px/1.2 var(--font-roboto);text-align:center}
.lv-break[hidden]{display:none}
.lv.lv-dark .lv-sc,.lv.lv-dark .lv-sc .tiles button{background:#171c23;color:var(--live-ink)}
@media (max-width:640px){.lv-sc{padding:20px}.lv-sc .tiles button{height:96px;font-size:15px}.lv-sc h2{font-size:22px}}
/* список участников у пульта (F164, LotMainSeller оригинала): строки 38 px без линеек, аватар, имя серым в одну строку, ставка
   бирюзой справа; лидер — бирюзовая плашка, имя тёмным, корона перед суммой */
.lv-blist div.bidder{display:flex;justify-content:flex-start;gap:8px;min-height:38px;height:auto;padding:0 8px;border:0;border-radius:var(--live-radius-sm);color:var(--live-muted);font-size:14px}
.lv-blist div.bidder img{flex:none;width:26px;height:26px;border-radius:50%;object-fit:cover}
.lv-blist div.bidder .who{flex:0 1 auto;margin-inline-end:auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:inherit;font-size:14px}
.lv-blist div.bidder b{flex:none;color:var(--live-brand);font-weight:400;font-variant-numeric:tabular-nums}
.lv-blist div.bidder .crown{flex:none;fill:var(--live-brand)}
.lv-blist div.bidder.lead{position:sticky;top:0;z-index:1;background:var(--live-leader-surface);color:var(--live-ink)}
.lv-blist div.bidder.lead b{color:var(--live-brand)}
.lv.lv-dark .lv-blist div.bidder.lead{background:var(--live-leader-surface)}

/* панель лота на месте каталога (LotDetailsPopup оригинала, F162): каталог скрыт целиком, панель — во всю колонку */
.lv-cat.lp-open > :not(.lv-lp){display:none}
.lv-lp{display:flex;flex-direction:column;height:100%;min-height:0;padding:16px 0 12px}
.lv-lp[hidden]{display:none}
.lv-lp-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 20px}
.lv-lp-head .num{color:var(--live-muted);font:500 13px/16px var(--font-roboto)}
.lv-lp-head .ctl{display:flex;align-items:center;gap:4px}
.lv-lp-head button{display:grid;place-items:center;width:28px;height:28px;border-radius:4px;color:var(--live-ink)}
.lv-lp-head button:hover:not(:disabled){color:var(--live-brand)}
.lv-lp-head button:disabled{color:var(--live-line-strong);cursor:default}
.lv-lp-head .fav.on{color:var(--live-brand)}
.lv-lp-body{flex:1 1 auto;min-height:0;margin-top:12px;padding:0 20px;overflow:hidden auto}
.lv-lp{outline:none}
.lv-lp-body h2{margin:0;padding:0;font:600 18px/1.2 var(--font-roboto);overflow-wrap:anywhere}
.lv-lp-body .meta{margin:8px 0 0;font-size:13px;line-height:18px}
.lv-lp-body .meta .k{color:var(--live-muted)}
.lv-lp .media{margin-top:12px}
.lv-lp .media img{display:block;width:100%;max-height:260px;object-fit:contain;border-radius:var(--live-radius-sm)}
.lv-lp .media img[hidden]{display:none}
.lv-lp .dots{display:flex;justify-content:center;gap:6px;margin-top:8px}
.lv-lp .dots:empty{display:none}
.lv-lp .dots button{width:8px;height:8px;border-radius:50%;background:var(--live-line-strong)}
.lv-lp .dots button.on{background:var(--live-brand)}
.lv-lp-table{display:grid;margin-top:14px;padding:4px 20px;border-radius:5px;background:var(--live-line-soft)}
.lv-lp-table[hidden]{display:none}
.lv-lp-table .r{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;padding-block:10px;font-size:14px}
.lv-lp-table .r[hidden]{display:none}
.lv-lp-table .r + .r{border-top:1px solid var(--live-line-strong)}
.lv-lp-table .k{color:var(--live-muted)}
.lv-lp-table .v{min-width:0;font-weight:600;text-align:end;overflow-wrap:anywhere}
.lv-lp-table .r.big .v{font-size:20px;font-weight:700}
.lv-lp-table .r.unsold .k{color:var(--live-accent);font-weight:600}
.lv-lp-bid{margin-top:16px}
.lv-lp-bid[hidden],.lv-lp-bid [hidden]{display:none}
.lv-lp-bid .ctrl{display:flex;align-items:stretch;gap:8px}
.lv-lp-bid .pm{min-width:44px;border:1px solid var(--live-line-strong);border-radius:4px;background:var(--live-surface);color:var(--live-brand);font:700 22px/1 var(--font-roboto)}
.lv-lp-bid .pm:hover:not(:disabled){border-color:var(--live-brand)}
.lv-lp-bid .pm:disabled{opacity:.4;cursor:default}
.lv-lp-bid .amt{flex:1;display:flex;align-items:center;gap:4px;min-width:0;padding:0 12px;border:1px solid var(--live-line-strong);border-radius:4px}
.lv-lp-bid .amt:focus-within{border-color:var(--live-brand)}
.lv-lp-bid .amt span{color:var(--live-muted);font-weight:700}
.lv-lp-bid .amt input{width:100%;min-width:0;padding:12px 0;border:0;background:transparent;color:var(--live-ink);font:700 18px/1 var(--font-roboto);text-align:center}
.lv-lp-bid .amt input:focus{outline:none}
.lv-lp-bid .hint{margin:6px 0 0;color:var(--live-accent);font-size:12px;text-align:center}
.lv-lp-bid .go{display:block;width:100%;margin-top:10px;padding:12px 16px;border-radius:4px;background:var(--live-brand);color:var(--live-on-brand);font:700 14px/1.2 var(--font-roboto);letter-spacing:.02em;text-transform:uppercase}
.lv-lp-bid .go:hover:not(:disabled){background:var(--live-brand-hover)}
.lv-lp-bid .go:disabled{opacity:.5;cursor:default}
.lv-lp-bid .status{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;padding:10px 12px;border-radius:5px;background:var(--live-line-soft);color:var(--live-muted);font-size:13px}
.lv-lp-bid .status b{margin-inline-start:auto;color:var(--live-ink);font-size:15px}
.lv-lp-bid .status b:empty{display:none}
.lv-lp-bid .status.leading{background:#e6f4f1;color:#0b7a5c} .lv-lp-bid .status.outbid{background:#fdecef;color:var(--live-accent)}
.lv-lp-bid .lv-lp-table{margin-top:0}
.lv-lp-bid .terms{margin:12px 0;color:var(--live-muted);font-size:12px;line-height:17px}
.lv-lp-bid .terms a{color:var(--live-brand);text-decoration:underline}
.lv-lp-bid .btns{display:flex;gap:8px}
.lv-lp-bid .btns > button{flex:1;margin-top:0;padding-inline:8px;white-space:nowrap}
.lv-lp-bid .cancel{padding:12px 16px;border:1px solid var(--live-line-strong);border-radius:4px;background:var(--live-surface);color:var(--live-ink);font:600 14px/1.2 var(--font-roboto);text-transform:uppercase;letter-spacing:.02em}
.lv-lp-bid .cancel:hover{border-color:var(--live-brand)}
.lv-lp-desc{margin-top:14px;padding-top:12px;border-top:1px solid var(--live-line)}
.lv-lp-desc .lv-desc{max-width:none;margin:0;padding:0;color:var(--live-muted);font:400 13px/20px var(--font-roboto)}
/* тёмная тема — переменные тёмной темы оригинала (_theme.scss) */
.lv.lv-dark .lv-lp-table,.lv.lv-dark .lv-lp-bid .status{background:var(--live-line-soft)}
.lv.lv-dark .lv-lp-table .r + .r{border-top-color:var(--live-line-strong)}
.lv.lv-dark .lv-lp-bid .pm,.lv.lv-dark .lv-lp-bid .cancel{background:var(--live-surface);border-color:var(--live-line-strong);color:var(--live-ink)}
.lv.lv-dark .lv-lp-bid .pm{color:var(--live-brand)}
.lv.lv-dark .lv-lp-bid .amt{border-color:var(--live-line-strong)}
.lv.lv-dark .lv-lp-bid .go{background:var(--live-bid-bg);color:var(--live-on-brand)} .lv.lv-dark .lv-lp-bid .go:hover:not(:disabled){background:var(--live-brand-hover)}
.lv.lv-dark .lv-lp-bid .terms a{color:var(--live-brand-hover)}
.lv.lv-dark .lv-lp .dots button{background:var(--live-line-strong)} .lv.lv-dark .lv-lp .dots button.on{background:var(--live-bid-bg)}
.lv.lv-dark .lv-lp-bid .status.leading{background:#14332d;color:#5fd3b0} .lv.lv-dark .lv-lp-bid .status.outbid{background:#3a1d24;color:var(--live-accent)}
.lv.lv-dark .lv-lp-head button:disabled{color:var(--live-line-strong)}
.lv-lot{cursor:pointer}
/* карточка лота (F169, F173): описание — сразу под Condition, пустое место — внизу; скрытые строки места не занимают; длинное
   описание — с затуханием последней строки и «Read more ⌄», раскрытое — прокрутка внутри колонки, блок ставки не уезжает */
.lv-card .details{justify-content:flex-start}
.lv-card .details > *{flex:none}
.lv-card .lv-spec[hidden],.lv-descbox[hidden]{display:none}
.lv-desc.clamped:not(.is-open){-webkit-mask-image:linear-gradient(to bottom,#000 60%,transparent);mask-image:linear-gradient(to bottom,#000 60%,transparent)}
.lv-readmore svg{transition:transform .15s ease}
.lv-desc.is-open + .lv-readmore svg{transform:rotate(180deg)}
@media (min-width:1025px){.lv-room .lv-card .details{overflow:hidden auto}}
.lv-lp{flex:1 1 auto}
/* сердечко (F170): отмеченное — залитое бирюзовое с коротким «пульсом» при отметке; тёмная тема — бренд тёмной темы оригинала */
.lv-lot .ic button[data-live-fav].on svg,.lv-lp-head .fav.on svg{animation:lv-heart .3s ease}
@keyframes lv-heart{50%{transform:scale(1.25)}}
.lv.lv-dark .lv-lot .ic button[data-live-fav].on,.lv.lv-dark .lv-lp-head .fav.on{color:var(--live-brand)}
@media (prefers-reduced-motion:reduce){.lv-lot .ic button[data-live-fav].on svg,.lv-lp-head .fav.on svg{animation:none}}
/* значки итога в кольце (F175, TimeLine оригинала): Phosphor check / x bold и gavel fill по 24 px (64 px кольцо), без поворота
   кольца (поворот −90° был и у значков — галочка выглядела «›»); выиграл — бирюзовым бренда: кольцо, галочка и подпись */
.lv-ring svg.mark{transform:none;width:24px;height:24px;fill:currentColor;stroke:none}
.lv-ring .mark.ok,.lv-ring .mark.no{width:24px;height:24px;fill:currentColor;stroke:none}
.lv-ring .mark.gv,.lv-ring .mark.no{color:var(--live-accent)} .lv-ring .mark.ok{color:var(--live-brand)}
.lv-ring[data-mark="ok"] .val,.lv-timer.is-winning .val{stroke:var(--live-brand)}
.lv-timer.is-winning .say{color:var(--live-brand)}
.lv-sbids .shead .lv-ring svg.mark{width:30px;height:30px}
.lv.lv-dark .lv-ring .mark.ok,.lv.lv-dark .lv-timer.is-winning .say{color:var(--live-brand)}
.lv.lv-dark .lv-ring[data-mark="ok"] .val,.lv.lv-dark .lv-timer.is-winning .val{stroke:var(--live-brand)}
/* тёмная тема, переключатели (F172): подложка — --live-fill оригинала (#2a3440), выбранная вкладка — отдельная плашка
   --live-surface (#1a2029) со светлым текстом, остальные — приглушённые (LiveCatalog .lots-tabs); так же счётчики участников,
   подвкладки Settings и вкладки панели справа */
.lv.lv-dark .lv-tabs,.lv.lv-dark .lv-users .seg,.lv.lv-dark .lv-sset .seg{background:var(--live-fill)}
.lv.lv-dark .lv-tabs button,.lv.lv-dark .lv-users .seg span,.lv.lv-dark .lv-sset .seg span{color:var(--live-muted)}
.lv.lv-dark .lv-tabs button.on,.lv.lv-dark .lv-users .seg span.on,.lv.lv-dark .lv-sset .seg span.on{background:var(--live-surface);color:var(--live-ink-strong);box-shadow:0 1px 3px rgb(0 0 0 / 45%)}
.lv.lv-dark .lv-ptabs button.on{background:var(--live-fill)} .lv.lv-dark .lv-ptabs button.on span{color:var(--live-ink-strong)}
/* тёмная тема зала и демо (F172) — переменные тёмной темы оригинала (_config/_theme.scss): страница --live-surface-soft #12171c,
   карточки --live-surface #1a2029, заливки --live-fill #2a3440, линии #2c3641, текст #dbe3ec / #93a1b0; бренд #3fa3b1, красный
   #ff4d67, стартовая цена #ff7b94. BID и главная кнопка пульта — бирюзовые с тёмной подписью (--live-bid-bg / --live-on-brand),
   Book Bid — тёмная плашка #35404e с суммой #55bccb, PASS — красный контур; кольцо — дорожка #2a3440, градиент #ff8f8f → #ff4d67 */
.lv.lv-dark{background:var(--live-surface-soft)}
.lv.lv-dark .lv-hdr,.lv.lv-dark .lv-cat,.lv.lv-dark .lv-panel,.lv.lv-dark .lv-card,.lv.lv-dark .lv-bid,.lv.lv-dark .lv-sbids,
.lv.lv-dark .lv-pop,.lv.lv-dark .lv-mm,.lv.lv-dark .lv-mm-notes,.lv.lv-dark .lv-carousel{background:var(--live-surface);color:var(--live-ink)}
.lv.lv-dark .lv-search,.lv.lv-dark .lv-act select.sel,.lv.lv-dark .lv-sset .grp select{background:var(--live-surface-soft);border-color:var(--live-line-strong);color:var(--live-ink)}
.lv.lv-dark .lv-lot.cur,.lv.lv-dark .lv-users .u:hover{background:var(--live-surface-raised)}
.lv.lv-dark .lv-ctrl .bid{background:var(--live-bid-bg);color:var(--live-on-brand)}
.lv.lv-dark .lv-ctrl .bid em{color:var(--live-on-brand-accent)}
.lv.lv-dark .lv-ctrl .bid:disabled{background:var(--live-plate-dark);color:var(--live-muted)} .lv.lv-dark .lv-ctrl .bid:disabled em{color:inherit}
.lv.lv-dark .lv-quick button,.lv.lv-dark .lv-ctrl .pm,.lv.lv-dark .lv-sbids .sq,.lv.lv-dark .lv-act .sq{background:var(--live-fill);color:var(--live-ink)}
.lv.lv-dark .lv-act .big{background:var(--live-bid-bg);color:var(--live-on-brand)}
.lv.lv-dark .lv-act .big.sold{background:var(--live-accent);color:var(--live-on-brand)}
.lv.lv-dark .lv-act .book{background:var(--live-plate-dark);color:#fff} .lv.lv-dark .lv-act .book em{color:var(--live-brand-hover)}
.lv.lv-dark .lv-act .sel{background:var(--live-fill);color:var(--live-ink)}
.lv.lv-dark .lv-act .chg{background:var(--live-bid-bg);color:var(--live-on-brand)}
.lv.lv-dark .lv-act .pass{background:transparent;border-color:var(--live-accent);color:var(--live-accent)}
.lv.lv-dark .lv-ring .trk{stroke:var(--live-fill)}
.lv.lv-dark .lv-ring stop:first-child{stop-color:var(--live-danger-soft)} .lv.lv-dark .lv-ring stop:last-child{stop-color:var(--live-accent)}
.lv.lv-dark .lv-msg.sold{background:var(--live-pill-warm)}
.lv.lv-dark .lv-progress .track{background:var(--live-plate-dark)}
.lv.lv-dark .lv-gate{background:var(--live-bid-bg);color:var(--live-on-brand)}
/* название дома в шапке — целиком (F172): колонка бренда по содержимому, полоса прогресса ужимается */
@media (min-width:1025px){.lv-brand{flex:0 0 auto;max-width:42%}.lv-progress{flex:1 1 auto;max-width:864px}}
/* настройки пульта (Setting оригинала, F165): сегменты INTERFACE / HOTKEYS / LABELS — выбранный белый; подписи полей серым,
   поля 52 px со скруглением, × под полем сочетания, черта и бирюзовая UPDATE справа; «!» у значка участников — заявки ждут */
.lv-ptabs button{position:relative}
.lv-ptabs .dot[hidden]{display:none}
.lv-ptabs i.dot{display:grid;place-items:center;top:-3px;right:-3px;width:16px;min-width:0;height:16px;padding:0;border-radius:50%;font:700 11px/1 var(--font-roboto);font-style:normal}
.lv-cset{padding:13px}
.lv-cset .seg{display:flex;gap:2px;margin-bottom:12px;padding:2px;border-radius:var(--live-radius-sm);background:var(--live-fill)}
.lv-cset .seg button{flex:1;height:32px;border-radius:var(--live-radius-sm);color:var(--live-muted);font:500 12px/1 var(--font-roboto);text-transform:uppercase}
.lv-cset .seg button.on{background:var(--live-surface);color:var(--live-ink)}
.lv-cset form[hidden]{display:none}
.lv-cset .fg{display:block;margin-bottom:10px}
.lv-cset .fg > span{display:block;margin-bottom:6px;color:var(--live-muted);font:500 12px/1.2 var(--font-roboto)}
.lv-cset select,.lv-cset input:not([type="checkbox"]),.lv-cset .hk{display:flex;align-items:center;gap:6px;width:100%;height:40px;padding:0 12px;border:1px solid var(--live-line);border-radius:var(--live-radius-sm);background:var(--live-surface);color:var(--live-ink);font:400 14px/1 var(--font-roboto)}
.lv-cset .hk{font-weight:500;cursor:text}
.lv-cset .hk:focus{outline:2px solid var(--live-brand);outline-offset:-2px}
.lv-cset .hk .sh{background:linear-gradient(#e5005b,#ff9a3c);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:700}
.lv-cset .hk .plus{color:var(--live-ink)}
.lv-cset .clr{display:block;margin-top:2px;color:var(--live-muted)}
.lv-cset .clr:hover{color:var(--live-accent)}
.lv-cset .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.lv-cset .ck{display:flex;align-items:center;gap:10px;margin:2px 0 0;font:500 14px/1.2 var(--font-roboto)}
.lv-cset .ck input{width:18px;height:18px;margin:0;accent-color:var(--live-brand)}
.lv-cset .act{display:flex;justify-content:flex-end;margin-top:14px;padding-top:16px;border-top:1px solid var(--live-line)}
.lv-cset .upd{min-width:117px;height:40px;padding:0 16px;border-radius:var(--live-radius-sm);background:var(--live-brand);color:var(--live-on-brand);font:600 13px/1 var(--font-roboto);text-transform:uppercase}
.lv-cset .upd:hover{background:var(--live-brand-hover)}
.lv.lv-dark .lv-cset .seg{background:var(--live-fill)} .lv.lv-dark .lv-cset .seg button.on{background:var(--live-surface);color:var(--live-ink-strong);box-shadow:0 1px 3px rgb(0 0 0 / 45%)}
.lv.lv-dark .lv-cset select,.lv.lv-dark .lv-cset input:not([type="checkbox"]),.lv.lv-dark .lv-cset .hk{background:var(--live-surface-soft);border-color:var(--live-line-strong);color:var(--live-ink)}
.lv.lv-dark .lv-cset .upd{color:var(--live-on-brand)}
/* чат (Chat оригинала, F167): участник — бежевый пузырь справа (#fff1db), аукционист — бирюзовый слева (#def4f6), время внутри
   пузыря справа внизу; под пузырём — имя серым и у аукциониста кнопки ↶ и динамика; ответ — плашка «To Имя ×» над полем */
.lv-chat .msgs{gap:14px}
.lv-row{display:flex;flex-direction:column;align-items:flex-end;max-width:85%;margin-inline-start:auto}
.lv-row.house{align-items:flex-start;margin-inline:0 auto}
.lv-row .lv-bubble{display:flex;flex-direction:column;gap:2px;max-width:none;padding:12px 20px;border-radius:25px 25px 4px 25px;background:var(--live-bubble-own);font:400 16px/22.4px var(--font-roboto)}
.lv-row.house .lv-bubble{border-radius:25px 25px 25px 4px;background:var(--live-bubble-in)}
.lv-row .lv-bubble time{position:static;align-self:flex-end;font:400 12px/16px var(--font-roboto);color:var(--live-muted)}
.lv-row .lv-bubble .to{font:400 11px/14px var(--font-roboto);color:var(--live-brand)}
.lv-row .lv-sender{display:flex;align-items:center;gap:6px;margin-top:4px}
.lv-row .lv-sender .act{display:grid;place-items:center;width:24px;height:24px;border-radius:var(--live-radius-sm);color:var(--live-muted)}
.lv-row .lv-sender .act:hover{background:var(--live-surface-soft);color:var(--live-ink)}
.lv-row .lv-sender .act.on{color:var(--live-brand)}
.lv-to{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 13px;padding:8px 12px;border-radius:var(--live-radius-sm);background:var(--live-brand-soft);color:var(--live-brand);font:600 13px/1.2 var(--font-roboto)}
.lv-to[hidden]{display:none}
.lv-to button{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;color:var(--live-brand)}
.lv.lv-dark .lv-row .lv-bubble{background:var(--live-bubble-own)} .lv.lv-dark .lv-row.house .lv-bubble{background:var(--live-bubble-in)}
.lv.lv-dark .lv-to{background:var(--live-brand-soft);color:var(--live-brand)} .lv.lv-dark .lv-to button{color:var(--live-brand)}
.lv.lv-dark .lv-row .lv-sender .act:hover{background:var(--live-surface-soft)}
/* участники (Users оригинала, F168): серые сегменты с крупными числами BIDDERS / ACTIVE / WATCHERS и красный круг «!» —
   заявки ждут; список — аватар, полное имя, кружок статуса справа; окно участника — имя, ID, APPROVE и MUTE контуром,
   синяя MESSAGE во всю ширину */
.lv-users .f{gap:10px}
.lv-users .seg{flex:1;width:auto;padding:3px;border-radius:8px}
.lv-users .seg span{height:52px;gap:2px}
.lv-users .seg span b{font:600 17px/1 var(--font-roboto)}
.lv-users .seg span small{font:500 11px/1.2 var(--font-roboto);color:var(--live-muted)}
.lv-users .pend{flex:none;width:30px;height:30px;font:700 16px/1 var(--font-roboto)}
.lv-users .pend[hidden]{display:none}
.lv-users .list{margin:12px -5px 0}
.lv-users button.u{width:100%;height:44px;text-align:start;color:var(--live-ink)}
.lv-users .u img{width:30px;height:30px}
.lv-users .u .n{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font:500 15px/1.3 var(--font-roboto)}
.lv-users .u i.st{flex:none;width:9px;height:9px;padding:0;border-radius:50%;margin-inline-end:6px}
.lv-users .u.pending i.st{border:1px solid var(--live-accent);background:#fff3f0}
.lv-users .u.blocked i.st{background:var(--live-accent)}
.lv-users .u.muted .n{color:var(--live-muted)}
.lv-uw{width:min(420px,100%);padding:22px;border-radius:var(--live-radius);background:var(--live-surface);color:var(--live-ink);box-shadow:0 20px 60px rgba(0,0,0,.25)}
.lv-uw .hd{display:flex;align-items:center;justify-content:space-between;gap:12px}
.lv-uw h2{margin:0;font:700 18px/1.3 var(--font-roboto)}
.lv-uw .x{display:grid;place-items:center;width:30px;height:30px;color:#8a8f96}
.lv-uw .x svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
.lv-uw .id{margin:14px 0 0;color:var(--live-muted);font:400 14px/1.3 var(--font-roboto)}
.lv-uw .id[hidden]{display:none}
.lv-uw .btns{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}
.lv-uw .ol{height:44px;border:1px solid var(--live-info);border-radius:var(--live-radius-sm);background:var(--live-surface);color:var(--live-info);font:600 14px/1 var(--font-roboto);text-transform:uppercase}
.lv-uw .ol.warn{border-color:var(--live-accent);color:var(--live-accent)}
.lv-uw .ol:hover{background:#f2f7fe}
.lv-uw .msg{width:100%;height:44px;margin-top:12px;border-radius:var(--live-radius-sm);background:var(--live-info);color:var(--live-on-accent);font:600 14px/1 var(--font-roboto);text-transform:uppercase}
.lv-uw .msg:disabled{opacity:.45;cursor:default}
.lv.lv-dark .lv-uw{background:var(--live-surface)} .lv.lv-dark .lv-uw .ol{background:transparent;border-color:var(--live-info);color:var(--live-info-deep)}
.lv.lv-dark .lv-uw .msg{background:var(--live-info);color:var(--live-on-brand)} .lv.lv-dark .lv-users .u.pending i.st{background:var(--live-pill-warm)}
/* избранное (F171): «in 3 lots (~4 min)» рядом с номером будущего лота; сообщение «лот из избранного открыт» — в углу, бирюзовое */
.lv-lot .num .away{margin-inline-start:8px;color:var(--live-brand);font-weight:500}
.lv-lot .num .away[hidden]{display:none}
.lv-toast.fav{top:auto;left:auto;right:20px;transform:none;border-inline-start:0;background:var(--live-brand-soft);color:var(--live-brand);box-shadow:0 0 0 1px #cfe5e8,0 8px 24px rgba(0,0,0,.12)}
.lv.lv-dark .lv-toast.fav{background:var(--live-brand-soft);color:var(--live-brand-hover);box-shadow:0 0 0 1px var(--live-pill-done),0 8px 24px rgba(0,0,0,.4)}
/* ===== Шапка зала и меню телефона как у оригинала (Header.vue, MobileMenu.vue, live/_partials/header.scss; D-0145) =====
   Шапка — липкая и на компьютере (header-live оригинала). Гостю — LOG IN надписью и JOIN заливкой бренда, вошедшему — значок профиля
   с меню; до 1024 остаются логотип, прогресс (сжимается он один), колокольчик, JOIN и бургер — остальное в меню */
.lv-hdr{position:sticky;top:0;z-index:30}
.lv-login{color:var(--live-ink);font:400 12px/16px var(--font-afacad);text-transform:uppercase;white-space:nowrap;text-decoration:none;transition:color .15s ease}
.lv-login:hover{color:var(--live-brand-hover)}
.lv-join{display:inline-flex;align-items:center;justify-content:center;min-width:80px;height:38px;padding:0 20px;background:var(--live-brand-hover);color:var(--live-on-brand);font:400 12px/16px var(--font-afacad);text-transform:uppercase;white-space:nowrap;text-decoration:none;transition:background .15s ease}
.lv-join:hover{background:var(--live-brand)}
@media (min-width:1280px){.lv-login,.lv-join{font-size:15px;line-height:20px}}
.lv-umenu{min-width:200px}
.lv-umenu .who{display:block;padding:9px 16px 10px;border-bottom:1px solid var(--live-line);font:600 14px/18px var(--font-roboto);white-space:nowrap}
/* переход в другую вкладку панели входа: надписи шапки не просвечивают сквозь размытие (как .hdr-auth сайта) */
.auth-panel-open .lv-login,.auth-panel-open .lv-join{visibility:hidden}
/* бургер — второй щелчок закрывает; открытое меню — крестик */
.lv-burger i{transition:transform .2s ease,opacity .2s ease}
.lv-burger.on i:nth-child(1){transform:translateY(8px) rotate(45deg)}
.lv-burger.on i:nth-child(2){opacity:0}
.lv-burger.on i:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.lv-mm,.lv-mm-notes{display:none}
body.lv-menu-open,html:has(> body.lv-menu-open){overflow:hidden}
@media (max-width:1024px){
  .lv-meta{gap:10px}
  .lv-join{height:30px;min-width:0;padding:0 14px;font-size:12px}
  .lv-progress .lbl{font-size:11px}
  .lv-progress .track{min-width:24px}
  /* панель — во весь экран от низа шапки, выезжает слева; закрытая — за краем и невидима (не ловит щелчки и поиск по тексту) */
  .lv-mm{display:block;position:fixed;top:var(--lv-mm-top,52px);left:0;right:0;bottom:0;z-index:10;background:var(--live-surface);color:var(--live-ink);overflow-y:auto;overscroll-behavior:contain;
    transform:translateX(-100%);visibility:hidden;transition:transform .2s linear,visibility 0s .2s}
  .lv-mm.is-open{transform:translateX(0);visibility:visible;transition:transform .2s linear}
  /* вложенный уровень закрывает и шапку */
  .lv-mm.is-deep{top:0;z-index:12}
  .lv-mm-top{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;height:80px;padding:20px 18px;background:inherit;box-shadow:0 3px 12px rgb(0 0 0 / 28%);font:400 17px/1.2 var(--font-roboto)}
  .lv-mm-top[hidden]{display:none}
  .lv-mm-top .back,.lv-mm-notes .back{padding:10px;margin-inline-start:-10px}
  .lv-mm-top .back::after,.lv-mm-notes .back::after{content:"";display:block;width:12px;height:12px;border-top:3px solid currentColor;border-right:3px solid currentColor;transform:rotate(225deg)}
  .lv-mm-top .ttl{flex:1;min-width:0;padding-inline:12px;text-align:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
  .lv-mm-body{padding:20px 18px 30px}
  .lv-mm-list{display:flex;flex-direction:column;padding-inline:9px 14px}
  .lv-mm-list .row{display:flex;align-items:center;justify-content:space-between;width:100%;color:var(--live-ink);font:400 17px/1.18 var(--font-roboto);text-transform:uppercase;text-align:start;text-decoration:none}
  .lv-mm-list .row:not(:last-child){margin-bottom:30px}
  .lv-mm-list .row.inert{cursor:default}
  .lv-mm-list .row.has-children::after{content:"";flex:none;width:9px;height:9px;border-top:3px solid currentColor;border-right:3px solid currentColor;transform:rotate(45deg)}
  .lv-mm-list:not(.level-1,.level-2) .row.leaf{margin-bottom:20px;font-size:15px;text-transform:none}
  .lv-mm-list .ttl{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  [data-live-mm-root][hidden]{display:none}
  .lv-mm-search{position:relative;width:100%;margin-top:32px}
  .lv-mm-search input{display:block;width:100%;padding:7px 12px;border:1px solid var(--live-line);border-radius:0;background:var(--live-surface-soft);color:var(--live-ink);font:400 16px/1.4 var(--font-roboto)}
  .lv-mm-sep{display:block;width:100%;height:1px;margin:34px 0;background:var(--live-line)}
  .lv-mm-prof{padding:0 14px}
  .lv-mm-prof .it{position:relative;display:flex;align-items:center;justify-content:space-between}
  .lv-mm-prof .it:not(:last-child){margin-bottom:30px}
  .lv-mm-prof .it.out,.lv-mm-prof .it.out > button{text-transform:uppercase}
  .lv-mm-prof .it > a,.lv-mm-prof .it > button{display:flex;align-items:center;width:100%;color:var(--live-muted);font:400 17px/1.2 var(--font-roboto);text-align:start;text-decoration:none}
  .lv-mm-prof .ic{flex:none;display:flex;justify-content:center;width:30px;margin-inline-end:16px;color:var(--live-ink)}
  .lv-mm-prof .ic svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
  .lv-mm-prof .cnt{flex:none;display:flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 4px;border-radius:var(--live-radius);background:#f5a524;color:var(--live-on-accent);font:500 13px/1 var(--font-roboto)}
  .lv-mm-prof .lang > button{width:auto;text-transform:uppercase}
  .lv-mm-prof .lang > button::after{content:"";width:6px;height:6px;margin-inline-start:12px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}
  .lv-mm-langs{position:absolute;inset-inline-end:0;top:calc(100% + 4px);z-index:1;display:flex;flex-direction:column;min-width:64px;padding:4px;background:var(--live-surface);border:1px solid var(--live-line);border-radius:var(--live-radius-sm);box-shadow:0 6px 18px rgb(0 0 0 / 12%)}
  .lv-mm-langs a{padding:4px 8px;border-radius:4px;color:var(--live-ink);text-transform:uppercase;text-decoration:none}
  .lv-mm-langs a:hover{background:var(--live-fill)}
  .lv-mm-theme{justify-content:space-between;gap:12px}
  .lv-mm-theme .lv-theme{display:block;flex:none;width:32px;height:20px;padding-top:3px}
  .lv-mm-theme .lv-theme .thb{color:var(--live-switch-ink);transition:left .15s ease}
  .lv-mm-theme .lv-theme.on .thb{left:12px}
  /* уведомления из меню — поверх всего, выезжают слева; «назад» возвращает к меню */
  .lv-mm-notes{display:block;position:fixed;inset:0;z-index:60;background:var(--live-surface);color:var(--live-ink);overflow-y:auto;transform:translateX(-100%);visibility:hidden;transition:transform .2s linear,visibility 0s .2s}
  .lv-mm-notes.is-open{transform:translateX(0);visibility:visible;transition:transform .2s linear}
  .lv-mm-notes .bar{display:flex;align-items:center;gap:12px;height:80px;padding:20px 18px;box-shadow:0 3px 12px rgb(0 0 0 / 28%);font:500 17px/1.2 var(--font-roboto)}
  .lv-mm-notes ul{list-style:none;margin:0;padding:10px 0}
  .lv-mm-notes li{display:flex;justify-content:space-between;gap:12px;padding:13px 18px 15px;border-bottom:1px solid var(--live-line);font:400 14px/19px var(--font-roboto)}
  .lv-mm-notes li a{color:var(--live-ink)} .lv-mm-notes li time{flex:none;color:var(--live-muted)}
  .lv-mm-notes .lv-empty{padding:16px 18px}
}
/* вкладка Currency телефона (Currency оригинала): подпись и список валют, выбранная — заливкой бренда */
.lv-curtab{display:flex;flex-direction:column;gap:12px;padding:16px}
.lv-curtab .note{margin:0;color:var(--live-muted);font:400 13px/18px var(--font-roboto)}
.lv-curtab .list{display:grid;gap:6px}
.lv-curtab .list button{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border-radius:var(--live-radius-sm);background:var(--live-fill);text-align:start}
.lv-curtab .list button b{min-width:40px;font:600 14px/18px var(--font-roboto)}
.lv-curtab .list button span{color:var(--live-muted)}
.lv-curtab .list button.on{background:var(--live-brand);color:var(--live-on-brand)} .lv-curtab .list button.on span{color:var(--live-on-accent)}
/* тёмная тема: меню, профиль, вход */
.lv.lv-dark .lv-login{color:var(--live-ink)} .lv.lv-dark .lv-join{background:var(--live-bid-bg);color:var(--live-on-brand)}
.lv.lv-dark .lv-mm-search input,.lv.lv-dark .lv-mm-langs{background:var(--live-surface-soft);border-color:var(--live-line-strong);color:var(--live-ink)}
.lv.lv-dark .lv-mm-prof .ic{color:var(--live-ink)}
