/* День семинара: подсказки участнику, «сейчас на сцене», игра «Угроза и защита», вход и подарки, ведущий, таймер, экран спикера, экран зала */

/* ===== участник ===== */
.hint.soft{margin-top:6px;font-size:12.5px;color:var(--ink-3);line-height:1.4}
.prize > div > span{display:block}
.prize__go{display:block;width:max-content;margin-top:10px;border:0;border-radius:12px;padding:9px 18px;font:inherit;font-weight:800;background:#FFE08A;color:#2A1A00;cursor:pointer;position:relative}
.prize__go:active{transform:scale(.97)}
.wifi-line{font-size:13px;color:var(--ink-2);text-align:center}
.wifi-line b{color:var(--ink);user-select:all}
.pg span small{display:block;color:var(--ink-3);font-size:12px}
.pg.done{opacity:.5}
.pg.now b{color:var(--kasp-2)}
.pg.now span{color:var(--ink);font-weight:700}
.now-card{display:grid;gap:4px;text-align:left;border:1px solid rgba(63,224,191,.35);background:rgba(63,224,191,.07);border-radius:18px;padding:14px}
.now-card__l{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--kasp-2)}
.now-card b{font-size:15px}
.now-card small{color:var(--ink-2)}
.now-card .btn{margin-top:8px}
.pause-minor{display:grid;gap:2px;justify-items:center}
.stage > .minor{justify-self:center}
.qs-list{display:grid;gap:8px;max-height:38vh;overflow:auto}
.qs{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start;padding:10px 12px;border-radius:14px;background:var(--glass);border:1px solid var(--hair)}
.qs p{margin:0;font-size:14px}
.qs small{color:var(--ink-3);font-size:12px}
.qs.done{opacity:.55}
.qs-like{border:1px solid var(--hair);background:none;border-radius:10px;padding:6px 10px;color:var(--ink-2);font-weight:800;cursor:pointer;min-width:52px}
.qs-like.on{background:var(--kasp-2);color:#04121C;border-color:var(--kasp-2)}

/* ===== игра «Угроза и защита» ===== */
.lk-head{display:grid;grid-template-columns:1fr 1fr;column-gap:30px;margin-bottom:-4px}
.lk-h{font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;display:flex;align-items:center;gap:6px}
.lk-h::before{content:"";width:8px;height:8px;border-radius:50%}
.lk-h--a{color:#FF9A8F}.lk-h--a::before{background:#FF7A70}
.lk-h--b{color:var(--kasp-2)}.lk-h--b::before{background:var(--kasp-2)}
.lk-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;column-gap:30px}
.lk-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:2}
.lk-line{fill:none;stroke:url(#lkg);stroke-width:3;stroke-linecap:round}
.lk-glow{fill:none;stroke:#3FE0BF;stroke-width:7;opacity:.45}
.lk-line.draw,.lk-glow.draw{stroke-dasharray:400;stroke-dashoffset:400;animation:lkdraw .55s cubic-bezier(.3,.7,.3,1) forwards}
@keyframes lkdraw{to{stroke-dashoffset:0}}
.lk-dot{fill:#3FE0BF}
.lk-a{border-left:3px solid rgba(255,122,112,.55)}
.lk-b{border-right:3px solid rgba(63,224,191,.55)}
.lk-grid.picking .lk-b:not(.ok){border-color:rgba(63,224,191,.6);background:rgba(63,224,191,.06)}
.lk-a.sel{animation:lkpulse 1.1s ease-in-out infinite}
@keyframes lkpulse{50%{box-shadow:0 0 0 5px rgba(0,200,236,.18)}}
.lk-a.flash,.lk-b.flash{box-shadow:0 0 0 3px rgba(63,203,147,.55),0 0 22px rgba(63,224,191,.45)}
.lk-a.bad,.lk-b.bad{border-color:var(--bad);background:rgba(255,122,112,.14)}
@media (prefers-reduced-motion:reduce){.lk-line.draw,.lk-glow.draw{animation:none;stroke-dashoffset:0}.lk-a.sel{animation:none}}
.lk-col{display:grid;gap:8px;align-content:start;position:relative;z-index:1}
.lk-a,.lk-b{position:relative;text-align:left;min-height:64px;padding:10px 12px;border-radius:14px;border:1px solid var(--hair);background:var(--glass);color:var(--ink);font:inherit;font-size:13px;line-height:1.3;cursor:pointer;transition:background .2s,border-color .2s}
.lk-b{font-weight:700;color:#BFF5E8}
.lk-a.sel{border-color:var(--turq);background:rgba(0,200,236,.14);box-shadow:0 0 0 2px rgba(0,200,236,.35)}
.lk-a.ok,.lk-b.ok{border-color:rgba(63,203,147,.6);background:rgba(63,203,147,.14);cursor:default}
.lk-a.ok::after,.lk-b.ok::after{content:attr(data-n);position:absolute;top:-7px;right:-7px;width:22px;height:22px;border-radius:50%;background:var(--ok);color:#04121C;font-size:12px;font-weight:900;display:grid;place-items:center}
.lk-a.shake,.lk-b.shake{animation:shk .4s}
@media (max-width:360px){.lk-a,.lk-b{font-size:12px;padding:8px}}

/* ===== вход и подарки ===== */
.entry-sw a{flex:1;min-height:42px;display:grid;place-items:center;border:1px solid var(--hair);background:var(--glass);border-radius:12px;font-weight:800;font-size:14px;color:var(--ink-2);text-decoration:none}
.entry-sw a[aria-selected="true"]{background:var(--ink);color:var(--night)}
.arrive-col{display:grid;gap:2px;justify-items:center}
.rgift{font-size:11.5px;min-height:24px;padding:2px}
.verdict .minor{justify-self:center}

/* ===== ведущий ===== */
.host{gap:14px}
.stepper{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;counter-reset:st}
.stepper li{counter-increment:st;padding:10px 12px;border-radius:12px;border:1px solid var(--hair);font-size:13px;font-weight:700;color:var(--ink-3)}
.stepper li::before{content:counter(st) ". "}
.stepper li.past{color:var(--ink-2)}
.stepper li.cur{border-color:var(--kasp-2);background:rgba(63,224,191,.1);color:var(--ink)}
.host__state{font-size:14px;color:var(--ink-2)}
.host__state b{color:var(--ink)}
.host__actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.host__actions .btn{width:auto;flex:0 1 auto;padding-inline:20px}
.host__links{display:flex;gap:16px;flex-wrap:wrap;align-items:center;font-size:13.5px}
.host__links a{color:var(--turq)}
#setPanel summary{cursor:pointer;list-style:none;display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}
#setPanel summary::-webkit-details-marker{display:none}
#setPanel summary::after{content:"+";margin-left:auto;color:var(--turq);font-weight:800}
#setPanel[open] summary::after{content:"−"}
.set-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.set-col{display:grid;gap:12px;align-content:start;min-width:0}
.input.mono{font-family:ui-monospace,Consolas,monospace;font-size:13px;line-height:1.5}
select.input{appearance:auto}
.qr-prev{display:flex;gap:14px;flex-wrap:wrap}
.qr-prev figure{margin:0;display:grid;gap:4px;justify-items:center;font-size:12px;color:var(--ink-3)}
.qr-prev figure div{background:#fff;padding:6px;border-radius:8px;min-width:132px;min-height:132px;color:#061624;font-size:11px;word-break:break-all}
.dup{border-top:1px solid var(--hair);padding-top:10px;display:grid;gap:8px}
.dup__row{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}
.dup__row small{display:block;color:var(--ink-3)}

/* ===== таймер ведущего ===== */
.tmr-now{gap:10px}
.tmr-head{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:center}
.tmr-l{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--kasp-2)}
.drift{font-size:13px;font-weight:800;padding:4px 10px;border-radius:99px}
.drift.ok{background:rgba(63,203,147,.14);color:var(--ok)}
.drift.late{background:rgba(242,181,68,.16);color:var(--warn)}
.tmr-big{font-family:var(--f-display);font-size:clamp(48px,9vw,96px);line-height:1;font-variant-numeric:tabular-nums;color:var(--ink)}
.tmr-big.ok{color:var(--ok)}
.tmr-big.soon{color:var(--warn)}
.tmr-big.late{color:#FF9A57}
.tmr-big.over{color:var(--bad)}
.prog{display:grid;gap:2px}
.prog__row{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--hair)}
.prog__row.done{opacity:.5}
.prog__row.now{background:rgba(63,224,191,.07);border-radius:10px;padding-inline:8px}
.prog__t b{font-variant-numeric:tabular-nums}
.prog__t small,.prog__x small{display:block;color:var(--ink-3);font-size:12px}
.qa-list{display:grid;gap:8px}
.qa-row{display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;padding:10px;border-radius:12px;background:var(--glass);border:1px solid var(--hair)}
.qa-row p{margin:0}
.qa-row small{color:var(--ink-3)}
.qa-row.hid{opacity:.4}
.qa-row.done{opacity:.6}
.qa-likes{color:var(--kasp-2)}
.qa-btn{grid-column:2;display:flex;gap:8px}

/* ===== экран спикера ===== */
body.spk-body .aurora,body.spk-body .grain,body.hall-body .aurora{display:none}
.spk{position:fixed;inset:0;display:grid;grid-template-rows:auto 1fr auto auto;align-items:center;justify-items:center;padding:4vh 4vw calc(4vh + env(safe-area-inset-bottom,0px));background:#04101A;text-align:center;gap:2vh}
.spk-top,.spk-bottom{font-size:clamp(16px,2.6vw,30px);color:var(--ink-2);max-width:90vw}
.spk-big{font-family:var(--f-display);font-size:clamp(90px,26vw,360px);line-height:.9;font-variant-numeric:tabular-nums}
.spk-bar{width:80vw;height:12px;border-radius:6px;background:rgba(255,255,255,.08);overflow:hidden}
.spk-bar i{display:block;height:100%;background:currentColor;transition:width .25s linear}
.spk.ok{color:var(--ok)}
.spk.soon{color:var(--warn)}
.spk.late{color:#FF9A57}
.spk.over{color:var(--bad);background:#1F0B0B}
.spk.idle{color:var(--ink-3)}

/* ===== экран зала (проектор 16:9) ===== */
.hx{position:fixed;inset:0;display:grid;grid-template-rows:auto 1fr;gap:2.4vh;padding:3vh 3vw;font-size:clamp(14px,1.35vw,26px)}
.hx-head{display:flex;justify-content:space-between;align-items:center;gap:2vw}
.hx-head .brands svg{height:max(20px,2.4vw);width:auto}
.hx-meta{display:flex;gap:2vw;align-items:center;color:var(--ink-2)}
.hx-meta b{color:var(--ink)}
#hxClock{font-family:var(--f-display);font-size:1.6em;color:var(--ink)}
.hx-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:2vw;min-height:0}
.hx-two{grid-template-columns:repeat(auto-fit,minmax(0,1fr))}
.hx-card{border:1px solid var(--hair);background:var(--glass);border-radius:2vw;padding:3vh 2.4vw;display:grid;gap:2.4vh;align-content:start;min-height:0;overflow:hidden}
.hx-c{justify-items:center;align-content:center}
.hx-l{font-size:.75em;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--kasp-2)}
.hx-title{font-family:var(--f-display);font-size:2.6em;line-height:1.1;margin:0}
.hx-sp{font-size:1.2em;color:var(--ink-2)}
.hx-qr{display:flex;gap:2vw;align-items:center}
.hx-qr__img{background:#fff;padding:10px;border-radius:14px;line-height:0;flex:none}
.hx-qr__img img,.hx-qr__img canvas{display:block;width:auto;max-height:34vh}
.hx-qr b{display:block;font-family:var(--f-display);font-size:1.3em}
.hx-qr span{color:var(--ink-2)}
.hx-c .hx-qr{flex-direction:column;text-align:center}
.hx-steps,.hx-how{margin:0;padding-left:1.3em;display:grid;gap:1.4vh;color:var(--ink-2)}
.hx-how{font-size:1.25em}
.hx-how b{color:var(--ink)}
.hx-now{display:grid;gap:.4vh;border-top:1px solid var(--hair);padding-top:2vh}
.hx-now b{font-size:1.2em}
.hx-now .hx-sm{font-size:1em;color:var(--ink-2)}
.hx-now small{color:var(--ink-2)}
.hx-rate h3{margin:0 0 1vh;font-family:var(--f-display)}
.hx-r{display:grid;grid-template-columns:2.2em 1fr auto;gap:1vw;align-items:center;padding:1vh 0;border-bottom:1px solid var(--hair)}
.hx-r__i{width:1.8em;height:1.8em;border-radius:50%;display:grid;place-items:center;background:var(--glass-2);font-weight:800}
.hx-r__i.p1{background:#FFC74A;color:#2A1A00}
.hx-r__i.p2{background:#C9D6E0;color:#0B1E2D}
.hx-r__i.p3{background:#E39B66;color:#2A1200}
.hx-r__n small{display:block;color:var(--ink-3);font-size:.75em}
.hx-r__v{font-family:var(--f-display)}
.hx-next{display:grid;gap:1.2vh}
.hx-next div{display:grid;grid-template-columns:4.5em 1fr;gap:1vw;color:var(--ink-2)}
.hx-next b{color:var(--ink);font-variant-numeric:tabular-nums}
.hx-qs{display:grid;gap:1.6vh}
.hx-q{display:grid;grid-template-columns:4em 1fr;gap:1.4vw;align-items:start;font-size:1.2em}
.hx-q b{color:var(--kasp-2)}
.hx-q p{margin:0}
.hx-q small{color:var(--ink-3);font-size:.7em}
.hx-mute{color:var(--ink-3)}
.hx-aw .podium{max-width:70vw;margin:0 auto;width:100%}
.set-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.hx-cd{display:grid;gap:.6vh}
.hx-cd b{font-family:var(--f-display);font-size:2.8em;line-height:1;font-variant-numeric:tabular-nums;color:#FFE08A}
.hx-card{position:relative}
.hx-duo{position:absolute;right:1.6vw;bottom:0;width:auto;pointer-events:none;filter:drop-shadow(0 1vh 2vh rgba(0,0,0,.45))}
.hx-qr__img img,.hx-qr__img canvas{max-height:28vh}
.hx-main{gap:2vh}
.hx-wifi{display:flex;gap:1vw;align-items:center;font-size:.85em;line-height:1.3}
.hx-wifi__qr{background:#fff;padding:5px;border-radius:8px;line-height:0}
.hx-wifi__qr img,.hx-wifi__qr canvas{width:9vh;height:9vh;max-height:none}

/* ===== QR для спикера во вкладке «Таймер» ===== */
.spk-share{display:flex;gap:14px;align-items:center;border-top:1px solid var(--hair);padding-top:12px}
.spk-share__qr{background:#fff;padding:6px;border-radius:8px;line-height:0;flex:none}
.spk-share b{display:block}
.spk-share .muted{display:block;font-size:13px}
/* ===== страница спикера на телефоне ===== */
body.m-speakerq .aurora{opacity:.35}
.spq{position:relative;z-index:1;max-width:560px;margin:0 auto;padding:16px 16px calc(32px + env(safe-area-inset-bottom,0px));display:grid;gap:14px}
.spq-top{display:flex;justify-content:center;padding-top:4px}
.spq-time{display:grid;gap:6px;justify-items:center;text-align:center;border-radius:20px;padding:16px;background:rgba(0,0,0,.25);border:1px solid var(--hair);color:var(--ink-3)}
.spq-time b{font-family:var(--f-display);font-size:clamp(56px,20vw,96px);line-height:1;font-variant-numeric:tabular-nums}
.spq-time .spk-bar{width:100%}
.spq-time.ok{color:var(--ok)}
.spq-time.soon{color:var(--warn)}
.spq-time.late{color:#FF9A57}
.spq-time.over{color:var(--bad)}
.spq-l,.spq-time small{color:var(--ink-2);font-size:14px}
.spq-talk{text-align:center;display:grid;gap:2px}
.spq-talk small{color:var(--ink-3)}
.spq-qh{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--hair);padding-top:12px}
.spq-qh span{color:var(--ink-3);font-size:13px}
.spq-list{display:grid;gap:10px}
.spq-q{display:grid;gap:8px;padding:12px;border-radius:14px;background:var(--glass);border:1px solid var(--hair)}
.spq-q p{margin:0;font-size:16px;line-height:1.4}
.spq-q__h{display:flex;gap:10px;align-items:baseline}
.spq-q__h b{color:var(--kasp-2)}
.spq-q__h small{color:var(--ink-3)}
.spq-q__b{display:flex;gap:8px;flex-wrap:wrap}
.spq-q.later{border-color:rgba(242,181,68,.45)}
.spq-q.done{opacity:.5}
a.btn{display:grid;place-items:center;text-align:center;text-decoration:none}
.tmr .panel,.host,#setPanel{align-content:start}

/* рейтинг: длинные имена и организации не вылезают за строку */
.lb-who{min-width:0}
.lb-who b,.lb-who small,.hx-r__n b,.hx-r__n small,.pod__name b,.pod__name small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hx-r__n{min-width:0}
