/* Сеанс: часы старта, кто идёт с прогнозом и где смотрит, итог зала. Образец — экран сеанса в приложении */
.se-hero { position: absolute; left: 0; right: 0; top: 0; height: 420px; z-index: -1; background: var(--bd, none) center 30% / cover no-repeat;
  -webkit-mask-image: linear-gradient(180deg, rgba(0,0,0,.42), transparent); mask-image: linear-gradient(180deg, rgba(0,0,0,.42), transparent); }
.se-page { position: relative; }
.se-top { display: flex; align-items: flex-end; gap: var(--s5); margin: var(--s6) 0 var(--s6); }
.se-poster { width: 150px; border-radius: var(--r2); box-shadow: var(--shadow-2); flex: none; }
.se-kicker { font: 800 12.5px/1 var(--f-text); letter-spacing: .2em; text-transform: uppercase; color: var(--gold); margin-bottom: var(--s2); }
.se-top .sub { margin-top: var(--s2); color: var(--muted); }
.se-cols { align-items: start; }
.se-clock { display: flex; flex-direction: column; align-items: center; text-align: center; padding: var(--s5) var(--s4); }
.se-clock small { font-size: var(--t-s); color: var(--muted); font-weight: 700; }
.se-clock b { font: 600 64px/1.1 var(--f-display); margin: 6px 0 4px; }
.se-clock.se-live b, .se-clock.se-post b { font-size: 39px; margin: 8px 0; }
.se-clock.se-live b { color: var(--gold); }
.se-clock > span { font-size: var(--t-s); color: var(--muted); }
.se-prog { display: block; width: 100%; max-width: 420px; height: 6px; margin: 6px 0 10px; border-radius: 3px; background: var(--surface-3); overflow: hidden; }
.se-prog i { display: block; height: 100%; background: var(--gold); border-radius: 3px; }
.se-guest, .se-rate, .se-sum { margin-top: var(--s4); }
.se-guest b, .se-rate b, .se-sum > b { font: 500 var(--t-l)/1.25 var(--f-display); display: block; }
.se-guest .sub, .se-rate .sub, .se-sum .sub { margin-top: 6px; color: var(--muted); font-size: var(--t-s); }
.se-btns { display: flex; gap: var(--s2); flex-wrap: wrap; margin-top: var(--s4); }
.se-join { width: 100%; margin-top: var(--s4); }
.se-hint { text-align: center; margin: var(--s3) var(--s4) 0; font-size: var(--t-s); color: var(--muted); }
.se-rate .stars { margin-top: var(--s3); }
.se-rings { display: flex; gap: var(--s6); margin: var(--s4) 0 var(--s2); }
.se-rings > div { display: flex; flex-direction: column; align-items: center; gap: 8px; } .se-rings small { font-size: 12.5px; color: var(--muted); font-weight: 700; }
.se-rings .rc.dec { font-size: 19px; }
.se-chat { margin-top: var(--s4); }
.se-h { margin: var(--s5) 0 var(--s3); }
.se-cols > div:last-child > .se-h:first-child { margin-top: 0; }
.se-list { padding: 2px var(--s4); }
.se-m { display: flex; align-items: center; gap: var(--s3); padding: 12px 0; } .se-m + .se-m { border-top: 1px solid var(--line); }
.se-m .ava { width: 38px; height: 38px; flex: none; }
.se-m .tx { flex: 1; min-width: 0; display: flex; flex-direction: column; } .se-m .tx b { font-weight: 800; }
.se-m .tx small { font-size: 12.5px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.se-m .prob { margin: 0; flex: none; }
.se-host { font-style: normal; font-size: 11px; font-weight: 800; color: var(--muted); border: 1px solid var(--line-2); border-radius: 6px; padding: 0 5px; margin-left: 4px; vertical-align: 2px; }
.se-note { flex: none; font-size: 12.5px; color: var(--muted); font-weight: 600; }
.se-hit { font-style: normal; color: #9fd48a; font-weight: 900; } .se-miss { font-style: normal; color: #d48a7a; }
.se-inv { margin-top: var(--s3); }
.se-acts { display: flex; justify-content: space-between; margin-top: var(--s4); } .tlink.danger { color: var(--sticker-2); }
.se-live { color: var(--gold); font-weight: 700; }
.se-lp { width: 34px; height: 51px; border-radius: 6px; object-fit: cover; flex: none; background: var(--surface-3); }
.se-days { margin-bottom: var(--s3); }
.se-time { display: flex; align-items: center; justify-content: space-between; gap: var(--s3); margin-bottom: var(--s4); padding: 10px 14px; border-radius: var(--r2);
  background: rgba(247, 247, 238, .05); box-shadow: inset 0 0 0 1px var(--line); font-weight: 700; color: var(--ink); }
.se-time input { font: 600 26px var(--f-display); background: none; border: 0; outline: 0; color: var(--ink); color-scheme: dark; }
.rmc-min { font-weight: 800; color: var(--gold); margin-right: 5px; }
@media (max-width: 720px) {
  .se-top { align-items: center; gap: var(--s4); margin-top: var(--s5); } .se-poster { width: 96px; }
  .se-clock b { font-size: 52px; }
}
.se-new { flex-direction: column; gap: 2px; } .se-new small { font: 600 12.5px var(--f-text); color: var(--muted); letter-spacing: 0; }
.se-found { display: grid; gap: 4px; margin-top: var(--s3); max-height: 50vh; overflow: auto; }
.se-f { display: flex; align-items: center; gap: var(--s3); padding: 6px; border-radius: var(--r2); text-align: left; color: var(--ink); }
.se-f:hover { background: rgba(247, 247, 238, .06); } .se-f b { display: block; font-weight: 800; } .se-f small { color: var(--muted); }

/* r2: сеанс как афиша. Постер предметом, как на странице фильма, часы старта крупными ровными цифрами с тёплым светом */
.se-poster { box-shadow: 0 1px 1px rgba(0, 0, 0, .55), 0 3px 6px rgba(0, 0, 0, .35), 0 18px 36px -6px rgba(0, 0, 0, .55), 0 44px 80px -20px rgba(0, 0, 0, .7), inset 0 0 0 1px rgba(247, 247, 238, .1); }
.se-kicker { font: 500 11px var(--f-mono); letter-spacing: .12em; }
.se-top h1 a { transition: color var(--d1); } .se-top h1 a:hover { color: var(--gold); }
.se-clock { position: relative; overflow: hidden; padding: var(--s6) var(--s5);
            background: radial-gradient(70% 90% at 50% 0%, rgba(233, 180, 92, .1), transparent 70%), linear-gradient(180deg, rgba(247, 247, 238, .05), rgba(247, 247, 238, .02)); }
.se-clock b { font-weight: 800; font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
.se-clock.se-pre b { text-shadow: 0 0 40px rgba(233, 180, 92, .18); }
.se-clock small { font: 500 11px var(--f-mono); letter-spacing: .08em; text-transform: uppercase; }
.se-guest { box-shadow: var(--shadow-1), inset 0 0 0 1px rgba(233, 180, 92, .3); }
.se-list { padding: 2px var(--s5); }
.se-m { border-radius: 10px; transition: background-color var(--d1); }
.se-m .tx b { font-weight: 600; }
@media (max-width: 520px) { .se-btns .btn { width: 100%; } .se-clock { padding: var(--s5) var(--s4); } }
.se-m .tx b { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.se-m .se-note { max-width: 40%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
