/* Эфиры Take and Wake. Палитра и шрифт - как у посадочной эфира на сайте (tw-site/webinar.html):
   тёмно-зелёный фон, молочный текст, лаймовый акцент, Onest. Админка - светлая тема того же набора. */

@font-face{font-family:'Onest';src:url('fonts/onest-var.woff2?v=1') format('woff2');font-weight:400 800;font-style:normal;font-display:swap}

:root{
  --bg:#0a130f;--bg2:#0e1c15;--surface:#112219;--ink:#fbf8ea;--muted:rgba(251,248,234,.72);--soft:rgba(251,248,234,.5);
  --lime:#c6f25a;--lime2:#d4fb6c;--on-lime:#0c1814;--line:rgba(198,242,90,.2);--line2:rgba(251,248,234,.12);
  --card:rgba(251,248,234,.05);--danger:#ff7a6b;--ok:#9be36a;--warn:#f2c14e;--link:#d4fb6c;
  --radius:16px;--shadow:0 18px 44px -18px rgba(0,0,0,.6);
  color-scheme:dark;
}
[data-theme="light"]{
  --bg:#f4f3ec;--bg2:#eceae0;--surface:#fcfcfb;--ink:#14201a;--muted:#525a55;--soft:#7a817c;
  --lime:#c6f25a;--lime2:#b5e44a;--on-lime:#0c1814;--line:#dedcd1;--line2:#e7e5dc;
  --card:#fcfcfb;--danger:#c0392b;--ok:#2f7d1e;--warn:#9a6a00;--link:#2f6b10;
  --shadow:0 10px 30px -18px rgba(20,32,26,.35);
  color-scheme:light;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'Onest',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:var(--link);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto;display:block}
h1,h2,h3{line-height:1.15;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(28px,4.4vw,48px);font-weight:800}
h2{font-size:clamp(20px,2.4vw,26px);font-weight:700}
h3{font-size:18px;font-weight:700}
p{margin:0 0 1em}
.muted{color:var(--muted)}
.small{font-size:13px}
.hidden,[hidden]{display:none !important}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.narrow{max-width:760px}
.center-page{padding:80px 20px;text-align:center}
.lead{font-size:clamp(17px,2vw,20px);color:var(--muted);max-width:760px}
.sec-title{margin-top:40px}
:focus-visible{outline:2px solid var(--lime);outline-offset:2px}

/* кнопки */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 22px;border-radius:999px;border:0;background:var(--lime);color:var(--on-lime);font:inherit;font-weight:700;cursor:pointer;text-decoration:none;transition:background .15s,transform .15s;white-space:nowrap}
.btn:hover{background:var(--lime2);text-decoration:none}
.btn:active{transform:translateY(1px)}
.btn:disabled{opacity:.55;cursor:not-allowed}
.btn-big{min-height:56px;font-size:17px;padding:0 30px;width:100%}
.btn-sm{min-height:34px;padding:0 14px;font-size:14px}
.btn-ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line2)}
.btn-ghost:hover{background:var(--card)}
.btn-danger{background:var(--danger);color:#fff}
.btn-danger:hover{background:var(--danger);filter:brightness(1.08)}
.link{background:none;border:0;padding:0;color:var(--link);font:inherit;cursor:pointer}
.link:hover{text-decoration:underline}
.row-btns{display:flex;flex-wrap:wrap;gap:10px;align-items:center}

/* бейджи */
.badge{display:inline-flex;align-items:center;gap:8px;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--card);color:var(--muted);box-shadow:inset 0 0 0 1px var(--line2)}
.badge.live{background:rgba(255,90,70,.16);color:#ff9a8c;box-shadow:inset 0 0 0 1px rgba(255,90,70,.35)}
.badge.soon{color:var(--lime);box-shadow:inset 0 0 0 1px var(--line)}
.badge.replay{color:var(--warn);box-shadow:inset 0 0 0 1px rgba(242,193,78,.35)}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:currentColor;animation:pulse 1.8s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 currentColor}70%{box-shadow:0 0 0 8px transparent}100%{box-shadow:0 0 0 0 transparent}}
.tag{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--lime);margin-bottom:14px}

/* шапка и подвал публичных страниц */
.top{position:sticky;top:0;z-index:20;background:rgba(10,19,15,.82);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.top-in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px}
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-weight:700;text-decoration:none}
.brand:hover{text-decoration:none}
.brand span{font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.top-nav{display:flex;align-items:center;gap:16px;font-size:14px}
.top-nav a{color:var(--muted)}
.top-ext{display:none}
@media (min-width:760px){.top-ext{display:inline}}
.foot{border-top:1px solid var(--line2);margin-top:64px}
.foot-in{display:flex;flex-wrap:wrap;gap:8px 24px;padding:24px 20px;font-size:13px;color:var(--soft)}
.foot-in a{color:var(--soft)}

/* список эфиров */
.hero-list{padding:56px 0 8px}
.ev-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.ev-card{display:block;border-radius:var(--radius);background:var(--card);box-shadow:inset 0 0 0 1px var(--line2);overflow:hidden;color:var(--ink);transition:transform .15s}
.ev-card:hover{transform:translateY(-2px);text-decoration:none}
.ev-card img,.ev-cover-ph{aspect-ratio:1200/630;width:100%;object-fit:cover;background:radial-gradient(circle at 30% 30%,rgba(198,242,90,.25),transparent 60%),var(--bg2)}
.ev-card-in{padding:16px 18px}
.ev-card h3{margin:10px 0 4px}

/* посадочная */
.landing{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:48px;padding-top:48px;align-items:start}
.l-main h1{margin-top:14px}
.when{font-size:17px;color:var(--muted)}
.when b{color:var(--ink)}
.local-time{display:block;font-size:14px;color:var(--soft)}
.cover{border-radius:var(--radius);margin:24px 0}
.l-side{position:sticky;top:84px}
.reg-card{background:var(--surface);border-radius:20px;padding:28px;box-shadow:var(--shadow),inset 0 0 0 1px var(--line)}
.reg-card h2{margin-bottom:6px}
.reg-card.done{text-align:left}
.countdown{display:flex;gap:10px;margin:22px 0}
.countdown div{min-width:72px;padding:12px 10px;border-radius:14px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);text-align:center}
.countdown b{display:block;font-size:28px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--lime)}
.countdown span{font-size:12px;color:var(--soft)}
.speakers{list-style:none;padding:0;margin:24px 0;display:flex;flex-wrap:wrap;gap:16px}
.speakers li{display:flex;align-items:center;gap:12px}
.speakers img,.speakers .ava{width:48px;height:48px;border-radius:50%;object-fit:cover;flex:none}
.speakers .ava{display:grid;place-items:center;background:var(--lime);color:var(--on-lime);font-weight:800}
.speakers b{display:block}
.speakers span{font-size:14px;color:var(--muted)}
.bullets{list-style:none;padding:0;margin:0 0 24px;display:grid;gap:10px}
.bullets li{position:relative;padding:14px 16px 14px 44px;border-radius:14px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line2)}
.bullets li::before{content:"";position:absolute;left:16px;top:20px;width:12px;height:12px;border-radius:50%;background:var(--lime)}
.prose p{color:var(--muted)}
.legal h2{margin-top:28px;font-size:20px}

/* архив записей */
.rec-cover{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--bg2)}
.rec-cover img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.rec-cover-ph{position:absolute;inset:0;display:grid;place-items:end start;padding:16px;background:radial-gradient(circle at 75% 20%,rgba(198,242,90,.32),transparent 55%),linear-gradient(135deg,var(--bg2),var(--surface))}
.rec-cover-ph span{font-weight:800;font-size:18px;line-height:1.2;max-width:70%;color:var(--ink)}
.rec-play{position:absolute;left:50%;top:50%;width:58px;height:58px;margin:-29px 0 0 -29px;border-radius:50%;background:rgba(10,19,15,.62);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:inset 0 0 0 1.5px rgba(198,242,90,.7);transition:transform .2s,background .2s}
.rec-play::after{content:"";position:absolute;left:23px;top:18px;border-style:solid;border-width:11px 0 11px 17px;border-color:transparent transparent transparent var(--lime)}
/* на карточке значок - в углу: в центре обложек Rutube обычно надпись */
.rec-card .rec-play{left:12px;top:auto;bottom:12px;margin:0;width:42px;height:42px}
.rec-card .rec-play::after{left:16px;top:12px;border-width:9px 0 9px 14px}
.rec-dur{position:absolute;right:10px;bottom:10px;padding:3px 9px;border-radius:8px;background:rgba(10,19,15,.78);color:#fbf8ea;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}
.rec-featured{margin-top:36px}
.rec-feat{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);border-radius:20px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow),inset 0 0 0 1px var(--line);color:var(--ink)}
.rec-feat:hover{text-decoration:none}
.rec-feat:hover .rec-cover img,.rec-card:hover .rec-cover img{transform:scale(1.03)}
.rec-feat:hover .rec-play,.rec-card:hover .rec-play,.rec-poster:hover .rec-play{transform:scale(1.08);background:rgba(10,19,15,.8)}
.rec-feat .rec-cover{aspect-ratio:auto;min-height:100%}
.rec-feat-in{padding:28px 30px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.rec-feat-in .tag{margin:0}
.rec-feat-in h2{margin:0}
.rec-feat-list{margin:4px 0;padding:0 0 0 18px;color:var(--muted);display:grid;gap:4px}
.rec-feat-in .btn{margin-top:auto}
.rec-chips{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 0}
.rec-chips a{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;box-shadow:inset 0 0 0 1.5px var(--line2);color:var(--ink);font-size:14px;font-weight:600}
.rec-chips a:hover{text-decoration:none;box-shadow:inset 0 0 0 1.5px var(--lime)}
.rec-chips span{color:var(--soft);font-weight:400}
.rec-section{scroll-margin-top:80px}
.rec-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.rec-card{display:flex;flex-direction:column;border-radius:var(--radius);background:var(--card);box-shadow:inset 0 0 0 1px var(--line2);overflow:hidden;color:var(--ink);transition:transform .15s,box-shadow .15s}
.rec-card:hover{transform:translateY(-2px);text-decoration:none;box-shadow:inset 0 0 0 1px var(--line)}
.rec-card-in{padding:14px 18px 18px;display:flex;flex-direction:column;gap:6px;flex:1}
.rec-card h3{margin:0;font-size:17px}
.rec-series{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--link)}
.rec-sub{margin:0;color:var(--muted);font-size:14px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.rec-when{margin-top:auto;padding-top:4px;font-size:13px;color:var(--soft)}

/* страница записи */
.rec-hero{padding:48px 0 0}
.rec-hero h1{margin:14px 0 12px;max-width:900px}
.rec-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:14px;color:var(--muted)}
.rec-meta{display:flex;flex-wrap:wrap;gap:6px 0;color:var(--muted);font-size:15px;margin:0}
.rec-meta span+span::before{content:"·";margin:0 10px;color:var(--soft)}
.rec-who{margin:4px 0 0;color:var(--soft);font-size:14px}
.rec-sticky{display:none}
#register{scroll-margin-top:84px}
.rec-page .landing{padding-top:28px}
.rec-poster{position:relative;display:block;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow),inset 0 0 0 1px var(--line2);color:#fbf8ea}
.rec-poster:hover{text-decoration:none}
.rec-poster .rec-play{width:76px;height:76px;margin:-38px 0 0 -38px}
.rec-poster .rec-play::after{left:30px;top:23px;border-width:15px 0 15px 23px}
.rec-poster .rec-dur{top:10px;bottom:auto}
.rec-poster-cta{position:absolute;left:14px;bottom:12px;padding:6px 12px;border-radius:10px;background:rgba(10,19,15,.78);font-weight:700;font-size:14px}
.rec-takeaways{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.rec-takeaways li{display:flex;gap:16px;padding:18px 20px;border-radius:var(--radius);background:var(--card);box-shadow:inset 0 0 0 1px var(--line2)}
.rec-takeaways h3{margin:2px 0 6px;font-size:17px}
.rec-takeaways p{margin:0 0 6px;color:var(--muted)}
.rec-n{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--lime);color:var(--on-lime);font-weight:800}
.tc{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;border:0;background:rgba(198,242,90,.12);color:var(--link);font:inherit;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;cursor:pointer;text-decoration:none}
.tc:hover{background:rgba(198,242,90,.22);text-decoration:none}
.rec-numbers{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:28px 0 0}
.rec-numbers div{padding:16px 18px;border-radius:var(--radius);background:var(--card);box-shadow:inset 0 0 0 1px var(--line)}
.rec-numbers b{display:block;font-size:28px;font-weight:800;color:var(--link);font-variant-numeric:tabular-nums;line-height:1.1}
.rec-numbers span{display:block;margin-top:6px;font-size:14px;color:var(--muted)}
.rec-quote{margin:28px 0 0;padding:20px 24px;border-radius:var(--radius);background:linear-gradient(135deg,rgba(198,242,90,.1),transparent 70%),var(--card);box-shadow:inset 3px 0 0 var(--lime)}
.rec-quote blockquote{margin:0 0 10px;font-size:19px;line-height:1.45;font-weight:600}
.rec-quote figcaption{color:var(--muted);font-size:14px}
.rec-toc{list-style:none;padding:0;margin:0;display:grid;gap:2px}
.rec-toc a,.rec-toc button{display:flex;gap:14px;align-items:baseline;width:100%;padding:10px 12px;border:0;border-radius:10px;background:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.rec-toc a:hover,.rec-toc button:hover{background:var(--card);text-decoration:none}
.rec-toc b{flex:none;min-width:62px;color:var(--link);font-variant-numeric:tabular-nums}
.rec-toc.compact a,.rec-toc.compact button{padding:7px 8px;font-size:14px}
.rec-toc.compact b{min-width:54px}
.rec-cta-band{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:48px;padding:28px 32px;border-radius:20px;background:radial-gradient(circle at 90% 0%,rgba(198,242,90,.2),transparent 55%),var(--surface);box-shadow:inset 0 0 0 1px var(--line)}
.rec-cta-band h2{margin:0 0 6px}
.rec-cta-band p{margin:0;max-width:640px}
.seek-note{margin:0 0 12px;padding:10px 12px;border-radius:12px;background:rgba(198,242,90,.12);color:var(--link);font-size:14px;font-weight:600}
.rec-room h3{font-size:15px;margin:12px 0 6px;color:var(--muted)}
.rec-room-notes{margin-top:10px}
.rec-room-notes summary{cursor:pointer;font-weight:700;padding:6px 0}
.rec-room-notes ol{margin:6px 0 0;padding-left:20px;display:grid;gap:8px;color:var(--muted);font-size:14px}
.rec-room-notes b{color:var(--ink)}

/* формы */
.f{display:block;margin:0 0 14px}
.f>span,.f>legend{display:block;font-size:14px;font-weight:600;margin-bottom:6px}
.f em{font-style:normal;font-weight:400;color:var(--soft);font-size:12px}
.f input,.f select,.f textarea,.search,.copy-row input,.st-as input,.st-as select,.inline-form input{width:100%;min-height:48px;padding:10px 14px;border-radius:12px;border:1.5px solid var(--line2);background:var(--bg2);color:var(--ink);font:inherit;font-size:16px}
.f textarea{min-height:auto;resize:vertical}
.f input:focus,.f select:focus,.f textarea:focus{border-color:var(--lime);outline:none}
.f-err{display:block;color:var(--danger);font-size:13px;margin-top:4px}
.f-alert{padding:12px 14px;border-radius:12px;background:rgba(255,122,107,.12);color:var(--danger);margin-bottom:14px}
fieldset.f{border:0;padding:0}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips legend{width:100%}
.chips label{cursor:pointer}
.chips input{position:absolute;opacity:0;pointer-events:none}
.chips span{display:inline-block;padding:9px 14px;border-radius:999px;box-shadow:inset 0 0 0 1.5px var(--line2);font-size:14px}
.chips input:checked+span{background:var(--lime);color:var(--on-lime);box-shadow:none;font-weight:600}
.chips input:focus-visible+span{outline:2px solid var(--lime);outline-offset:2px}
.check{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--muted);margin:0 0 10px;cursor:pointer}
.check input{width:18px;height:18px;flex:none;margin:1px 0 0;accent-color:var(--lime)}
.reg-form .btn-big{margin-top:10px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* «вы записаны» */
.thanks{padding-top:48px}
.steps{list-style:none;counter-reset:s;padding:0;margin:28px 0;display:grid;gap:14px}
.step{counter-increment:s;position:relative;padding:22px 22px 22px 70px;border-radius:var(--radius);background:var(--card);box-shadow:inset 0 0 0 1px var(--line2)}
.step::before{content:counter(s);position:absolute;left:22px;top:22px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--lime);color:var(--on-lime);font-weight:800}
.step h3{margin-bottom:4px}
.ok-mark{color:var(--ok);font-weight:700;font-size:14px}
.copy-row{display:flex;gap:8px;margin-bottom:12px}
.ask-form .f{margin-bottom:10px}
.copy-row input{font-size:14px}
.gate{padding-top:48px}
.gate .reg-card{margin:24px 0}

/* ── комната ───────────────────────────────────────────────────────────── */
.room-page{overflow:hidden}
.room{display:flex;flex-direction:column;height:100vh;height:100dvh}
.room-top{display:flex;align-items:center;gap:16px;padding:10px 18px;border-bottom:1px solid var(--line);background:var(--bg)}
.room-title{min-width:0;flex:1}
.room-title b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.room-title span{font-size:13px;color:var(--soft)}
.room-meta{display:flex;align-items:center;gap:12px}
.online{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.room-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 380px}
.stage{overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:14px}
.player-wrap{position:relative;width:100%;aspect-ratio:16/9;background:#000;border-radius:14px;overflow:hidden;box-shadow:inset 0 0 0 1px var(--line2)}
.player-wrap iframe,.player-wrap video{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000}
.stage-screen{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:24px;background:radial-gradient(circle at 50% 35%,rgba(198,242,90,.18),transparent 60%),var(--bg2)}
.stage-screen h2{font-size:clamp(20px,3vw,30px)}
.stage-screen .countdown{justify-content:center}
.stage-screen .sub{color:var(--muted);max-width:520px;margin:0 auto 12px}
.replay-note{padding:10px 14px;border-radius:12px;background:rgba(242,193,78,.1);color:var(--warn);font-size:14px;box-shadow:inset 0 0 0 1px rgba(242,193,78,.3)}
.unmute{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);z-index:3}
.cta-banner{display:flex;align-items:center;gap:18px;padding:18px 20px;border-radius:var(--radius);background:linear-gradient(120deg,rgba(198,242,90,.2),rgba(198,242,90,.06));box-shadow:inset 0 0 0 1.5px var(--line);animation:rise .35s ease-out}
.cta-banner .cta-txt{flex:1;min-width:0}
.cta-banner h3{margin:0 0 4px}
.cta-banner p{margin:0;color:var(--muted);font-size:15px}
.cta-timer{font-size:13px;color:var(--lime);font-variant-numeric:tabular-nums;margin-top:6px}
@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.poll-card{padding:18px 20px;border-radius:var(--radius);background:var(--card);box-shadow:inset 0 0 0 1px var(--line2)}
.poll-card h3{margin-bottom:12px}
.poll-opts{display:grid;gap:8px}
.poll-opt{position:relative;display:flex;justify-content:space-between;gap:12px;width:100%;padding:12px 14px;border-radius:12px;border:0;background:var(--bg2);color:var(--ink);font:inherit;text-align:left;cursor:pointer;overflow:hidden;box-shadow:inset 0 0 0 1.5px var(--line2)}
.poll-opt:hover:not(:disabled){box-shadow:inset 0 0 0 1.5px var(--lime)}
.poll-opt:disabled{cursor:default}
.poll-opt.mine{box-shadow:inset 0 0 0 1.5px var(--lime)}
.poll-opt i{position:absolute;left:0;top:0;bottom:0;background:rgba(198,242,90,.16)}
.poll-opt span,.poll-opt b{position:relative}
.about{padding:6px 2px}
.about h2{font-size:20px}

.chat{display:flex;flex-direction:column;min-height:0;border-left:1px solid var(--line);background:var(--bg)}
.chat-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--line2)}
.pinned{margin:10px 12px 0;padding:10px 12px;border-radius:12px;background:rgba(198,242,90,.1);box-shadow:inset 0 0 0 1px var(--line);font-size:14px}
.pinned b{display:block;font-size:12px;color:var(--lime);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px}
.chat-list{flex:1;min-height:0;overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column;gap:6px;overscroll-behavior:contain}
.chat-empty{margin:auto;text-align:center;color:var(--soft);font-size:14px;padding:20px}
.msg{padding:8px 10px;border-radius:12px;font-size:14px;line-height:1.4;word-wrap:break-word;overflow-wrap:anywhere;position:relative}
.msg:hover{background:var(--card)}
.msg .who{font-weight:700;margin-right:6px}
.msg .when{font-size:11px;color:var(--soft);margin-left:6px}
.msg.staff .who{color:var(--lime)}
.msg.staff{background:rgba(198,242,90,.07)}
.msg .role{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:1px 6px;border-radius:6px;background:var(--lime);color:var(--on-lime);margin-right:6px;vertical-align:1px}
.msg .quote{display:block;margin:0 0 4px;padding:4px 8px;border-left:2px solid var(--line);color:var(--soft);font-size:13px}
.msg .state{display:block;font-size:11px;color:var(--warn);margin-top:2px}
.msg.from-live{opacity:.92}
.msg.from-live .src{font-size:10px;color:var(--soft);margin-left:6px}
.msg.private{box-shadow:inset 0 0 0 1px rgba(242,193,78,.35)}
.msg.hidden-msg{opacity:.45;text-decoration:line-through}
.msg-actions{display:none;position:absolute;right:6px;top:4px;gap:4px;background:var(--surface);padding:2px;border-radius:8px;box-shadow:var(--shadow)}
.msg:hover .msg-actions,.msg:focus-within .msg-actions{display:flex}
.msg-actions button{border:0;background:none;color:var(--muted);font:inherit;font-size:12px;padding:3px 7px;border-radius:6px;cursor:pointer}
.msg-actions button:hover{background:var(--card);color:var(--ink)}
.chat-new{position:relative}
.chat-new button{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);border:0;border-radius:999px;padding:6px 14px;background:var(--lime);color:var(--on-lime);font:inherit;font-size:13px;font-weight:700;cursor:pointer;box-shadow:var(--shadow)}
.chat-form{padding:10px 12px 12px;border-top:1px solid var(--line2)}
.chat-input-row{display:flex;gap:8px;align-items:flex-end}
.chat-input-row textarea{flex:1;min-height:44px;max-height:140px;padding:11px 14px;border-radius:14px;border:1.5px solid var(--line2);background:var(--bg2);color:var(--ink);font:inherit;font-size:15px;resize:none}
.chat-input-row textarea:focus{border-color:var(--lime);outline:none}
.btn-send{width:44px;min-height:44px;padding:0;flex:none;font-size:18px}
.reply-to{display:flex;justify-content:space-between;gap:8px;font-size:13px;color:var(--muted);padding:6px 10px;margin-bottom:6px;border-radius:10px;background:var(--card)}
.chat-note{min-height:16px;margin-top:4px}

.modal{border:0;border-radius:20px;padding:28px;max-width:480px;width:calc(100% - 32px);background:var(--surface);color:var(--ink);box-shadow:0 30px 80px rgba(0,0,0,.6)}
.modal::backdrop{background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.modal-close-form{position:absolute;right:12px;top:10px;margin:0}
.modal-x{border:0;background:none;color:var(--muted);font-size:28px;line-height:1;cursor:pointer}
.modal h2{padding-right:24px}

/* ── админка ───────────────────────────────────────────────────────────── */
.admin{font-size:15px}
.adm-top{background:#0a130f;color:#fbf8ea}
.adm-top-in{display:flex;align-items:center;gap:24px;max-width:1400px;margin:0 auto;padding:0 20px;min-height:56px}
.adm-brand{color:#fbf8ea;font-weight:600}
.adm-brand b{color:#c6f25a}
.adm-top nav{display:flex;gap:18px;flex:1;flex-wrap:wrap}
.adm-top nav a{color:rgba(251,248,234,.75);font-size:14px}
.adm-user{display:flex;gap:12px;align-items:center;font-size:14px;color:rgba(251,248,234,.75);margin:0}
.adm-user .link{color:#d4fb6c}
.adm-main{max-width:1180px;margin:0 auto;padding:28px 20px 80px}
.adm-main.wide{max-width:1400px}
.adm-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.adm-head h1{font-size:28px;margin:0}
.crumbs{font-size:13px;color:var(--soft);margin-bottom:4px}
.card{background:var(--card);border-radius:var(--radius);padding:22px;box-shadow:inset 0 0 0 1px var(--line);margin-bottom:16px}
.card h2{font-size:18px}
.card.off{opacity:.6}
.fold>summary{cursor:pointer;list-style:none;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.fold>summary::-webkit-details-marker{display:none}
.fold>summary::before{content:"▸";color:var(--soft)}
.fold[open]>summary::before{content:"▾"}
.fold[open]>summary{margin-bottom:16px}
.tabs{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:20px}
.tab{padding:10px 14px;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;font-weight:600;font-size:14px}
.tab.on{color:var(--ink);border-bottom-color:var(--ink)}
.tab:hover{text-decoration:none;color:var(--ink)}
.flash{padding:12px 16px;border-radius:12px;margin-bottom:16px;background:rgba(47,125,30,.1);color:var(--ok);font-weight:600}
.flash.err{background:rgba(192,57,43,.1);color:var(--danger)}
.grid2,.grid3,.grid4{display:grid;gap:0 16px}
.grid2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid4{grid-template-columns:repeat(4,minmax(0,1fr))}
.cols-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.cols-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.cols-2-1{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:20px;align-items:start}
.form-actions{margin-top:8px}
.adm-form .btn-big{width:auto}
.adm-form.inline{display:flex;gap:12px;align-items:flex-end}
.adm-form.inline .f{margin:0;flex:1;max-width:320px}
.inline-form{display:inline-flex;gap:6px;align-items:center;margin:0 8px 0 0}
.inline-form input{min-height:34px;width:160px;font-size:13px}
.danger-zone{box-shadow:inset 0 0 0 1px rgba(192,57,43,.35)}
.table-wrap{overflow-x:auto;border-radius:var(--radius);box-shadow:inset 0 0 0 1px var(--line);background:var(--card);margin-bottom:20px}
.tbl{width:100%;border-collapse:collapse;font-size:14px}
.tbl th,.tbl td{padding:10px 12px;border-bottom:1px solid var(--line2);text-align:left;vertical-align:top}
.tbl th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--soft);font-weight:600;white-space:nowrap}
.tbl tr:last-child td{border-bottom:0}
.tbl .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.tbl .actions{white-space:nowrap;text-align:right}
.tbl .actions .btn{margin-left:6px}
.sortable th{cursor:pointer;user-select:none}
.sortable th[aria-sort="descending"]::after{content:" ↓"}
.sortable th[aria-sort="ascending"]::after{content:" ↑"}
.search{min-height:40px;max-width:320px;font-size:14px}
.st{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:700;background:var(--bg2);color:var(--muted)}
.st-live{background:rgba(192,57,43,.12);color:var(--danger)}
.st-scheduled{background:rgba(47,107,16,.12);color:var(--link)}
.st-ended{background:var(--bg2)}
.pill{display:inline-block;padding:1px 8px;border-radius:999px;font-size:12px;font-style:normal;background:var(--bg2);color:var(--muted);margin-right:4px}
.pill.ok{background:rgba(47,125,30,.12);color:var(--ok)}
.pill.err{background:rgba(192,57,43,.12);color:var(--danger)}
.pills{margin-left:auto}
.health{list-style:none;padding:0;margin:0 0 18px;display:flex;flex-wrap:wrap;gap:10px}
.health li{padding:10px 14px;border-radius:12px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);font-size:13px;display:flex;flex-direction:column}
.health li.ok b{color:var(--ok)}
.health li.off b{color:var(--soft)}
.health span{color:var(--soft)}
.preview pre{white-space:pre-wrap;font:inherit;font-size:14px;background:var(--bg2);padding:12px 14px;border-radius:12px;margin:4px 0 12px}
.vars{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;font-size:13px;margin:0}
.vars dt{font-family:ui-monospace,Menlo,monospace;color:var(--link)}
.vars dd{margin:0;color:var(--muted)}
.slots{list-style:none;padding:0;margin:0 0 16px}
.slots li{display:flex;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line2)}
.slots form{margin:0}
.login-card{max-width:400px;margin:80px auto;background:var(--card);border-radius:20px;padding:32px;box-shadow:var(--shadow),inset 0 0 0 1px var(--line)}
.login-card h1{font-size:24px}

/* плитки и графики (dataviz: один акцентный цвет серии, тонкие линии, подписи текстом) */
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-bottom:16px}
.tile{background:var(--card);border-radius:14px;padding:14px 16px;box-shadow:inset 0 0 0 1px var(--line)}
.tile span{display:block;font-size:13px;color:var(--muted)}
.tile b{display:block;font-size:30px;font-weight:700;letter-spacing:-.02em;margin:2px 0}
.tile em{font-style:normal;font-size:12px;color:var(--soft)}
.funnel{display:grid;gap:10px}
.fn-row{display:grid;grid-template-columns:220px minmax(0,1fr) 60px 150px;gap:12px;align-items:center;font-size:14px}
.fn-track{height:20px;background:var(--bg2);border-radius:4px;overflow:hidden}
.fn-track i{display:block;height:100%;background:#2a78d6;border-radius:0 4px 4px 0}
.fn-n{text-align:right;font-variant-numeric:tabular-nums}
.chart{position:relative;width:100%;min-height:240px}
.chart svg{display:block;width:100%;height:auto;overflow:visible}
.chart .axis text{font-size:11px;fill:var(--soft);font-variant-numeric:tabular-nums}
.chart .grid line{stroke:var(--line2);stroke-width:1}
.chart .series{fill:none;stroke:#2a78d6;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.chart .wash{fill:#2a78d6;opacity:.1}
.chart .bar{fill:#2a78d6}
.chart .bar:hover,.chart .bar.on{fill:#1f63b5}
.chart .mark-line{stroke:var(--muted);stroke-width:1}
.chart .mark-label{font-size:11px;fill:var(--muted)}
.chart .cross{stroke:var(--ink);stroke-width:1;opacity:.5}
.chart .dot-hover{fill:#2a78d6;stroke:var(--surface);stroke-width:2}
.chart-tip{position:absolute;pointer-events:none;background:var(--surface);color:var(--ink);box-shadow:var(--shadow),inset 0 0 0 1px var(--line);border-radius:10px;padding:8px 10px;font-size:13px;white-space:nowrap;transform:translate(-50%,-110%)}
.chart-tip b{display:block;font-size:15px}
.chart-tip span{color:var(--muted)}
.table-view{margin-top:10px;font-size:13px}
.table-view summary{cursor:pointer;color:var(--link)}
.table-view .tbl{margin-top:8px}

/* пульт */
.studio-head{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:flex-end;margin-bottom:16px}
.studio-head h1{font-size:26px;margin:0}
.studio-status{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.big-num{display:flex;flex-direction:column;align-items:center;line-height:1.1}
.big-num b{font-size:24px;font-variant-numeric:tabular-nums}
.big-num span{font-size:11px;color:var(--soft);text-transform:uppercase;letter-spacing:.05em}
.clock{font-variant-numeric:tabular-nums;font-weight:700;color:var(--danger)}
.studio-grid{display:grid;grid-template-columns:320px minmax(0,1fr) 320px;gap:16px;align-items:start}
.st-col .card{margin-bottom:14px}
.st-chat{display:flex;flex-direction:column;height:calc(100vh - 190px);min-height:520px;padding:0;overflow:hidden}
.st-chat-head{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:14px 16px 10px;border-bottom:1px solid var(--line2);flex-wrap:wrap}
.st-chat-head h2{margin:0}
.st-chat .chat-list{background:var(--surface)}
.st-as{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:8px;font-size:13px;color:var(--muted)}
.st-as label{display:flex;gap:6px;align-items:center}
.st-as input{min-height:32px;width:160px;font-size:13px;padding:4px 10px}
.st-as select{min-height:32px;width:auto;font-size:13px;padding:4px 10px}
.st-as .check{margin:0}
.st-as input[type="checkbox"]{width:18px;height:18px;min-height:0;padding:0}
.st-player{position:relative;aspect-ratio:16/9;background:#000;border-radius:10px;overflow:hidden}
.st-player iframe,.st-player video{position:absolute;inset:0;width:100%;height:100%;border:0}
.seg{display:flex;flex-wrap:wrap;gap:4px;background:var(--bg2);padding:4px;border-radius:12px}
.seg button{flex:1;border:0;background:none;border-radius:9px;padding:8px 10px;font:inherit;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;white-space:nowrap}
.seg button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.seg.small button{padding:5px 8px;font-size:12px}
.seg i{font-style:normal;color:var(--danger)}
.st-cta{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid var(--line2)}
.st-cta:last-child{border-bottom:0}
.st-cta.on b{color:var(--ok)}
.st-poll{padding:10px 0;border-bottom:1px solid var(--line2);font-size:14px}
.st-poll:last-child{border-bottom:0}
.st-poll .row-btns{margin-top:6px}
.st-poll ol{margin:6px 0 0;padding-left:18px;color:var(--muted)}
.st-newpoll summary{cursor:pointer;color:var(--link);font-size:14px;margin-top:8px}
.st-newpoll form{margin-top:10px}
.leads{display:grid;gap:8px;max-height:40vh;overflow-y:auto}
/* карточка горячей заявки в пульте; не .lead - так называется подзаголовок публичных страниц */
.lead-card{padding:10px 12px;border-radius:12px;background:rgba(47,125,30,.08);box-shadow:inset 0 0 0 1px rgba(47,125,30,.25);font-size:14px;animation:rise .35s ease-out}
.lead-card b{display:block}
.lead-card a{font-weight:700}
.viewers{display:grid;gap:2px;max-height:48vh;overflow-y:auto;margin-top:8px;font-size:14px}
.viewer{display:flex;justify-content:space-between;gap:8px;padding:6px 4px;border-bottom:1px solid var(--line2)}
.viewer b{display:block}
.viewer span{color:var(--soft);font-size:12px}

/* адаптив */
@media (max-width:1100px){
  .studio-grid{grid-template-columns:minmax(0,1fr) 320px}
  .st-left{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .st-left .card{margin:0}
}
@media (max-width:960px){
  .landing{grid-template-columns:1fr;gap:28px}
  .l-side{position:static}
  .cols-3,.cols-2,.cols-2-1{grid-template-columns:1fr}
  .grid4{grid-template-columns:repeat(2,minmax(0,1fr))}
  /* Телефон: как в приложениях - страница не листается, видео сверху, баннер под ним, чат
     занимает остаток экрана и листается сам, поле ввода всегда у нижнего края. Прилипание
     (sticky) не годилось: оно держит плеер только внутри блока сцены, и при прокрутке к чату
     видео уезжало вместе с ним (проверено в превью 22.10). */
  .room-body{display:flex;flex-direction:column}
  .stage{flex:none;overflow:visible;padding:0;gap:0}
  .player-wrap{border-radius:0;box-shadow:none;max-height:56vh}
  .replay-note{border-radius:0;font-size:13px;padding:8px 12px}
  .cta-slot:empty,.poll-slot:empty{display:none}
  .cta-slot{padding:8px 10px 0}
  .cta-banner{padding:10px 12px;gap:12px;background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line)}
  .cta-banner p{display:none}
  .cta-banner h3{font-size:15px}
  .cta-banner .btn{min-height:40px;padding:0 16px}
  .stage .about{display:none}
  .chat{flex:1;min-height:0;border-left:0;border-top:0}
  .chat .rec-room{flex:none;max-height:38vh;overflow-y:auto;padding:4px 12px 8px;border-bottom:1px solid var(--line2)}
  .rec-feat{grid-template-columns:1fr}
  .rec-feat .rec-cover{aspect-ratio:16/9;min-height:0}
  .rec-feat-in{padding:20px 22px}
  .rec-cta-band{flex-direction:column;align-items:flex-start;padding:22px}
  .rec-sticky{display:flex;position:fixed;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:30;box-shadow:0 12px 30px -10px rgba(0,0,0,.7);transition:opacity .2s,transform .2s}
  .rec-sticky.away{opacity:0;transform:translateY(20px);pointer-events:none}
  .rec-page{padding-bottom:72px}
  .chat .poll-slot{margin:10px 12px 0}
  .chat .poll-card{padding:12px 14px}
  .chat .poll-card h3{font-size:15px;margin-bottom:8px}
  .chat .poll-opt{padding:9px 12px;font-size:14px}
  .studio-grid{grid-template-columns:1fr}
  .st-left{grid-template-columns:1fr}
  .st-chat{height:70vh}
  .fn-row{grid-template-columns:140px minmax(0,1fr) 48px;}
  .fn-conv{display:none}
}
@media (max-width:600px){
  .wrap{padding:0 16px}
  .grid2,.grid3,.grid4{grid-template-columns:1fr}
  .countdown div{min-width:0;flex:1}
  .countdown b{font-size:22px}
  .reg-card{padding:20px}
  .cta-banner .btn{white-space:normal;text-align:center}
  .room-top{padding:8px 12px;gap:10px}
  .room-top .brand span{display:none}
  .room-title span{display:none}
  .room-title b{font-size:15px}
  .room-meta{gap:8px}
  .room-meta .badge{padding:3px 8px;font-size:11px}
  .adm-top-in{gap:12px}
  .adm-form.inline{flex-direction:column;align-items:stretch}
  .step{padding:18px 18px 18px 60px}
  .step::before{left:16px;top:18px}
}
@media (prefers-reduced-motion:reduce){*{animation:none !important;transition:none !important}}
