/* Poker Arena Noir — визуальный пасс «Stars» для лобби и комнаты ожидания.
   Always-on слой: грузится сразу после poker_lobby.css, DOM-контракт — pnl-*
   (bot/arena/js/views/poker_lobby.js). Единственная JS-фича — countdown-пилюля
   .pnl-tn-cd — уже встроена в tournamentCard. */

/* === фирменные детали, общие со столом ================================== */

/* Полосатая казино-фишка — та же геометрия, что у .pk-chip на столе */
.poker-noir-lobby .pnl-wallet-mark,
.poker-noir-lobby .pnl-pack::before {
  content: '';
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 50%, #f4e3b2 0 34%, transparent 35%),
    repeating-conic-gradient(#d4af37 0 18deg, #f7ecc8 18deg 36deg);
  border: 2px solid #8a6a2e;
  box-shadow: inset 0 0 0 2px #f7ecc8, inset 0 0 0 4px rgba(0,0,0,.25),
    0 3px 8px rgba(0,0,0,.5);
}

/* === герой ============================================================== */
.poker-noir-lobby .pnl-hero {
  border: 1px solid rgba(212, 175, 85, .38);
  background:
    linear-gradient(100deg, rgba(6, 8, 10, .96) 34%, rgba(6, 8, 10, .55) 58%, rgba(6, 8, 10, .18)),
    url(../../assets/poker/arena-noir-hero.webp) right 62% / cover no-repeat,
    linear-gradient(135deg, #0d1115, #181320 62%, #090b0e);
  box-shadow: 0 24px 70px rgba(0, 0, 0, .5), inset 0 1px 0 rgba(255, 236, 190, .12);
}
/* золотая нить по верхней кромке — свет лампы на рельсе */
.poker-noir-lobby .pnl-hero::before {
  content: ''; position: absolute; inset: 0 0 auto; height: 1px; z-index: 3;
  background: linear-gradient(90deg, transparent, rgba(255, 226, 150, .75) 30%, rgba(255, 226, 150, .75) 70%, transparent);
}
.poker-noir-lobby .pnl-hero h1 {
  background: linear-gradient(175deg, #fdf6dd 20%, #e9cf87 55%, #b98c3b 90%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  text-shadow: none;
  filter: drop-shadow(0 2px 10px rgba(0, 0, 0, .6));
}
.poker-noir-lobby .pnl-hero .pnl-kicker { color: #d9b968; text-shadow: 0 0 14px rgba(212, 175, 85, .35); }
.poker-noir-lobby .pnl-hero-art .pnl-card-back {
  background: url(../../assets/poker/arena-noir-card-back.webp) center / cover no-repeat #120e1d;
  border: 1px solid rgba(226, 196, 125, .85);
  box-shadow: 0 14px 30px rgba(0, 0, 0, .65), 0 0 0 3px rgba(12, 9, 16, .9), 0 0 26px rgba(212, 175, 85, .18);
}
.poker-noir-lobby .pnl-hero-art b {
  color: rgba(233, 207, 135, .9);
  text-shadow: 0 0 26px rgba(212, 175, 85, .65), 0 4px 12px rgba(0, 0, 0, .6);
  filter: none; /* у прода тут drop-shadow под старый тёмный валет — с подсветкой не нужен */
}
/* векторный эллипс-«фетр» из poker_lobby.css прячем: его роль играет фото */
.poker-noir-lobby .pnl-hero::after { content: none; }

/* === кошелёк и тулбар =================================================== */
.poker-noir-lobby .pnl-wallet {
  border-color: rgba(212, 175, 85, .3);
  background: linear-gradient(150deg, rgba(34, 28, 18, .95), rgba(17, 15, 18, .95));
}
.poker-noir-lobby .pnl-wallet-mark { width: 34px; height: 34px; font-size: 0; }
.poker-noir-lobby .pnl-wallet-copy b,
.poker-noir-lobby .pnl-wallet-copy strong { color: #ffe9ad; text-shadow: 0 0 16px rgba(212, 175, 85, .3); }
.poker-noir-lobby .pnl-history,
.poker-noir-lobby .pnl-active { transition: border-color .15s, color .15s, transform .12s; }
.poker-noir-lobby .pnl-history:hover { border-color: rgba(212, 175, 85, .45); color: #ffe9ad; }

/* === магазин фишек ====================================================== */
.poker-noir-lobby .pnl-paid-shop {
  border-color: rgba(212, 175, 85, .22);
  background: linear-gradient(150deg, rgba(24, 21, 16, .94), rgba(14, 13, 17, .94));
}
.poker-noir-lobby .pnl-pack {
  position: relative; padding-left: 34px;
  border-color: rgba(212, 175, 85, .2);
  background: rgba(255, 255, 255, .03);
  transition: transform .14s ease, border-color .14s ease, box-shadow .14s ease;
}
.poker-noir-lobby .pnl-pack::before { position: absolute; left: 8px; width: 18px; height: 18px; }
.poker-noir-lobby .pnl-pack:hover {
  transform: translateY(-2px); border-color: rgba(212, 175, 85, .5);
  box-shadow: 0 10px 24px rgba(0, 0, 0, .4), 0 0 18px rgba(212, 175, 85, .12);
}

/* === табы и фильтры ===================================================== */
.poker-noir-lobby .pnl-tabs { border-color: rgba(212, 175, 85, .16); }
.poker-noir-lobby .pnl-tabs button { transition: color .15s, background .15s, box-shadow .15s; }
.poker-noir-lobby .pnl-tabs button.is-on {
  color: #11100d; background: var(--gold-grad);
  box-shadow: 0 4px 16px rgba(190, 143, 54, .35), inset 0 1px 0 rgba(255, 255, 255, .35);
}
.poker-noir-lobby .pnl-chip-row button { transition: border-color .14s, color .14s, background .14s; }
.poker-noir-lobby .pnl-chip-row button:not(.is-on):hover { border-color: rgba(212, 175, 85, .5); color: #e8ddc2; }
.poker-noir-lobby .pnl-section-label { color: #d9b968; }

/* === строки кэш-столов ================================================== */
.poker-noir-lobby .pnl-room {
  position: relative;
  border-color: rgba(255, 255, 255, .07);
  background: linear-gradient(145deg, rgba(23, 21, 25, .97), rgba(15, 14, 18, .97));
  transition: transform .14s ease, border-color .14s ease, box-shadow .14s ease;
}
.poker-noir-lobby .pnl-room::before { /* фетровая кромка слева */
  content: ''; position: absolute; left: 0; top: 12%; bottom: 12%; width: 3px; border-radius: 3px;
  background: linear-gradient(180deg, #2c7a58, #123526);
  opacity: .55; transition: opacity .14s;
}
.poker-noir-lobby .pnl-room:hover {
  transform: translateY(-1px); border-color: rgba(212, 175, 85, .38);
  box-shadow: 0 12px 30px rgba(0, 0, 0, .45), 0 0 22px rgba(212, 175, 85, .08);
}
.poker-noir-lobby .pnl-room:hover::before { opacity: 1; }
.poker-noir-lobby .pnl-room.is-mine {
  border-color: rgba(212, 175, 85, .55);
  background:
    radial-gradient(circle at 4% 50%, rgba(212, 175, 85, .14), transparent 34%),
    linear-gradient(145deg, rgba(32, 27, 19, .97), rgba(18, 16, 15, .97));
  box-shadow: 0 0 0 1px rgba(212, 175, 85, .14), 0 14px 34px rgba(0, 0, 0, .45);
}
.poker-noir-lobby .pnl-room.is-mine::before {
  background: linear-gradient(180deg, #f0d488, #8a6a2e); opacity: 1;
}
.poker-noir-lobby .pnl-visibility { position: relative; padding-left: 2px; font-size: 9px; color: #79c89b; }
/* Продовые статусы стола: open/playing/paused (is-${table.status}) — «live»-статуса
   нет, раздача идёт при status="playing". Лайв-пульс и зелёная пилюля вяжутся на него. */
.poker-noir-lobby .pnl-room:has(.pnl-status.is-playing) .pnl-visibility { animation: pnl-live 2.2s ease-in-out infinite; }
@keyframes pnl-live { 50% { opacity: .35; } }
.poker-noir-lobby .pnl-status.is-playing {
  background: rgba(28, 92, 64, .35); color: #9fe8c0; border: 1px solid rgba(53, 177, 112, .45);
}
.poker-noir-lobby .pnl-room-sub { color: #8d8891; font: 400 10.5px var(--font-body); }
.poker-noir-lobby .pnl-room.is-mine .pnl-room-sub { color: #d9b968; }
.poker-noir-lobby .pnl-room-grid dd { color: #f0e6cd; }
.poker-noir-lobby .pnl-room-grid dt { color: #6f6a74; }

/* === турнирные карточки ================================================= */
.poker-noir-lobby .pnl-tournament {
  border-color: rgba(255, 255, 255, .08);
  background: linear-gradient(145deg, rgba(25, 24, 29, .98), rgba(16, 16, 20, .98));
  transition: transform .14s ease, border-color .14s ease, box-shadow .14s ease;
}
.poker-noir-lobby .pnl-tournament:hover {
  transform: translateY(-1px); border-color: rgba(212, 175, 85, .34);
  box-shadow: 0 16px 40px rgba(0, 0, 0, .5);
}
.poker-noir-lobby .pnl-tournament.is-weekly {
  border-color: rgba(212, 175, 85, .5);
  background:
    radial-gradient(circle at 7% 50%, rgba(212, 175, 85, .2), transparent 32%),
    linear-gradient(145deg, #251d22, #121115);
  box-shadow: 0 0 0 1px rgba(212, 175, 85, .12), 0 16px 44px rgba(0, 0, 0, .5);
}
/* кубок в медальоне — как дилерская фишка на столе */
.poker-noir-lobby .pnl-trophy {
  width: 58px; height: 58px; display: grid; place-items: center;
  font-size: 30px; border-radius: 50%;
  background:
    radial-gradient(circle at 50% 38%, rgba(70, 52, 22, .9), rgba(24, 18, 10, .95));
  border: 2px solid rgba(212, 175, 85, .55);
  box-shadow: inset 0 2px 6px rgba(255, 226, 150, .25), inset 0 -4px 10px rgba(0, 0, 0, .55),
    0 0 22px rgba(212, 175, 85, .28);
  color: #f0d488; text-shadow: 0 0 18px rgba(212, 175, 85, .8);
}
.poker-noir-lobby .pnl-tournament-main .pnl-kicker { color: #d9b968; }
.poker-noir-lobby .pnl-tournament-main h3 { color: #f7efdb; letter-spacing: -.01em; }
.poker-noir-lobby .pnl-tournament-main small { color: #a49d90; }
.poker-noir-lobby .pnl-prize {
  position: absolute; right: 14px; top: 10px; padding: 4px 9px; border-radius: 999px;
  border: 1px solid rgba(212, 175, 85, .34); background: rgba(212, 175, 85, .1);
  color: #f2d47e; font: 800 10px var(--font-mono); letter-spacing: .04em;
}
.poker-noir-lobby .pnl-tournament-actions { display: grid; gap: 7px; min-width: 150px; }
.poker-noir-lobby .pnl-tournament-actions .pnl-btn { min-height: 38px; }
.poker-noir-lobby .pnl-btn:disabled { cursor: default; opacity: .52; box-shadow: none; }

/* countdown-пилюля турнира — разметка .pnl-tn-cd приезжает из tournamentCard (poker_lobby.js) */
.poker-noir-lobby .pnl-tn-cd {
  display: inline-flex; align-items: center; gap: 6px; justify-self: start; margin-top: 3px;
  padding: 4px 11px; border-radius: 999px;
  background: rgba(28, 92, 64, .28); border: 1px solid rgba(53, 177, 112, .5);
  color: #9fe8c0; font: 800 11px var(--font-mono);
}
.poker-noir-lobby .pnl-tn-cd::before {
  content: ''; width: 6px; height: 6px; border-radius: 50%; background: #53b170;
  box-shadow: 0 0 8px #53b170; animation: pnl-live 2.2s ease-in-out infinite;
}
.poker-noir-lobby .pnl-tn-cd.late { background: rgba(212, 175, 85, .12); border-color: rgba(212, 175, 85, .5); color: #ffd97a; }
.poker-noir-lobby .pnl-tn-cd.late::before { background: #d4af37; box-shadow: 0 0 8px #d4af37; }
.poker-noir-lobby .pnl-tn-cd.is-closed { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.12); color: #918b92; }
.poker-noir-lobby .pnl-tn-cd.is-closed::before { background: #706b73; box-shadow: none; animation: none; }
/* прогресс набора — продовый .pnl-progress из tournamentCard, JS не трогаем */
.poker-noir-lobby .pnl-progress { background: #2b2830; }
.poker-noir-lobby .pnl-progress i {
  background: linear-gradient(90deg, #8a6a2e, #e9c979 60%, #fdf0c0);
  box-shadow: 0 0 10px rgba(212, 175, 85, .45);
}

/* === кнопки ============================================================= */
.poker-noir-lobby .pnl-btn { transition: transform .12s, box-shadow .15s, border-color .15s, background .15s; }
.poker-noir-lobby .pnl-btn.primary {
  position: relative; overflow: hidden;
  border-color: #f5da93;
  box-shadow: 0 8px 25px rgba(190, 143, 54, .35), inset 0 1px 0 rgba(255, 255, 255, .4);
}
.poker-noir-lobby .pnl-btn.primary::after { /* блик */
  content: ''; position: absolute; top: 0; bottom: 0; left: -60%; width: 40%;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .5), transparent);
  transform: skewX(-18deg); transition: left .45s ease;
}
.poker-noir-lobby .pnl-btn.primary:hover::after { left: 120%; }
.poker-noir-lobby .pnl-btn.primary:hover { box-shadow: 0 10px 30px rgba(190, 143, 54, .5), inset 0 1px 0 rgba(255, 255, 255, .4); }
.poker-noir-lobby .pnl-btn.ghost:hover { border-color: rgba(212, 175, 85, .55); color: #ffe9ad; }

/* === шторки (createSheet грузится в body, вне .poker-noir-lobby) ======== */
.pnl-sheet h2 { margin: 0 34px 10px 0; font: 800 20px Georgia, "Times New Roman", serif; color: #f4ead2; }
.pnl-sheet .pnl-kicker { color: #d9b968; }
.pnl-sheet .pnl-mode { transition: border-color .15s, transform .12s; }
.pnl-sheet .pnl-mode:hover { border-color: rgba(212, 175, 85, .45); transform: translateY(-1px); }
.pnl-sheet .pnl-choice-row button { transition: border-color .14s, background .14s, color .14s; }
.pnl-sheet .pnl-choice-row button:not(.is-on):hover { border-color: rgba(212, 175, 85, .5); color: #e8ddc2; }
.pnl-sheet .pnl-input:focus { outline: none; border-color: rgba(212, 175, 85, .55); box-shadow: 0 0 0 3px rgba(212, 175, 85, .12); }
.pnl-sheet .pnl-back { transition: color .14s; }
.pnl-sheet .pnl-back:hover { color: #ffe9ad; }
.pnl-sheet {
  border-color: rgba(212, 175, 85, .35);
  background: linear-gradient(170deg, rgba(24, 21, 18, .98), rgba(12, 12, 15, .98));
  box-shadow: 0 30px 90px rgba(0, 0, 0, .65), inset 0 1px 0 rgba(255, 236, 190, .14);
}
.pnl-sheet-x:hover { border-color: rgba(212, 175, 85, .5); color: #ffe9ad; }
.pnl-tournament-sheet h3 { margin: 18px 0 8px; color: #cbbd9d; font: 800 11px var(--font-body); letter-spacing: .12em; text-transform: uppercase; }
.pnl-sheet-note { margin: 0; color: #a49d90; font-size: 12px; }
.pnl-pay-grid { display: grid; gap: 5px; }
.pnl-pay-row { display: grid; grid-template-columns: 48px 1fr auto; gap: 10px; align-items: center; padding: 9px 11px; border-radius: 10px; background: rgba(255,255,255,.045); }
.pnl-pay-row b { color: #f0d488; }.pnl-pay-row span { color: #918b92; }.pnl-pay-row strong { color: #f7efdb; font-family: var(--font-mono); }
.pnl-blind-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 6px; }
.pnl-blind-cell { display: grid; gap: 3px; padding: 9px 5px; border: 1px solid rgba(255,255,255,.08); border-radius: 9px; text-align: center; background: #0d0d10; }
.pnl-blind-cell b { color: #e8ddc2; font: 800 11px var(--font-mono); }.pnl-blind-cell span { color: #69656b; font-size: 9px; }
.pnl-reg-avatars { display: flex; flex-wrap: wrap; gap: 6px; }
.pnl-reg-avatars i { display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; background: #211d25; color: #d8ceb8; font: 800 12px var(--font-body); font-style: normal; }
.pnl-reg-avatars i.is-me { border-color: rgba(212,175,85,.7); color: #ffe9ad; box-shadow: 0 0 15px rgba(212,175,85,.2); }.pnl-reg-avatars i.more { border-style: dashed; color: #918b92; }

/* Tournament finish is a product state, not a toast over a dead table. */
.poker-tournament-finish { position: relative; display: grid; place-items: center; min-height: calc(100dvh - 70px); padding: 22px; overflow: hidden; color: #f5efdf; }
.poker-tournament-finish::before { content: ""; position: absolute; inset: 8% 8%; border-radius: 50%; background: radial-gradient(circle, rgba(212,175,85,.16), transparent 62%); filter: blur(20px); }
.ptf-card { position: relative; z-index: 2; width: min(580px,100%); padding: clamp(24px,5vw,48px); border: 1px solid rgba(212,175,85,.42); border-radius: 28px; text-align: center; background: linear-gradient(165deg,rgba(29,24,31,.98),rgba(8,9,12,.98)); box-shadow: 0 32px 100px rgba(0,0,0,.72), inset 0 1px 0 rgba(255,239,195,.12); }
.ptf-crown { width: 74px; height: 74px; margin: -4px auto 10px; display: grid; place-items: center; border: 2px solid rgba(212,175,85,.65); border-radius: 50%; color: #f5d77f; background: radial-gradient(circle at 40% 30%,#58451f,#171109 72%); font: 44px Georgia,serif; box-shadow: 0 0 45px rgba(212,175,85,.3); }
.ptf-card h1 { margin: 7px 0 2px; color: #ffe9ad; font: 900 clamp(30px,7vw,56px)/.95 Georgia,serif; letter-spacing: -.035em; }.poker-tournament-finish.is-out .ptf-card h1 { color: #e7dfcf; }
.ptf-event,.ptf-note { color: #aaa294; }.ptf-place { display: block; margin: 16px 0; color: #f7efdb; font: 800 18px var(--font-mono); }
.ptf-prize { display: grid; gap: 2px; width: min(300px,100%); margin: 0 auto 15px; padding: 14px; border: 1px solid rgba(212,175,85,.35); border-radius: 16px; background: rgba(212,175,85,.08); }.ptf-prize span,.ptf-prize small { color: #a99f8b; }.ptf-prize b { color: #f5d77f; font: 900 30px var(--font-mono); }
.ptf-board { margin-top: 20px; text-align: left; }.ptf-board h2 { margin: 0 0 7px; color: #cbbd9d; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.ptf-standings { display: grid; gap: 4px; }.ptf-standing { display: grid; grid-template-columns: 38px 1fr auto; gap: 8px; padding: 7px 10px; border-radius: 8px; background: rgba(255,255,255,.04); }.ptf-standing.is-me { outline: 1px solid rgba(212,175,85,.55); background: rgba(212,175,85,.08); }.ptf-standing span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.ptf-standing strong { color: #e8d49d; font-family: var(--font-mono); }
.ptf-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.ptf-rain { position: absolute; inset: 0; z-index: 1; pointer-events: none; }.ptf-rain i { position: absolute; left: var(--x); top: -30px; width: 18px; height: 9px; border: 2px solid #f0d488; border-radius: 50%; background: #7c5822; box-shadow: inset 0 0 0 2px #cda954; animation: ptf-fall 3.2s linear infinite; animation-delay: var(--delay); }
@keyframes ptf-fall { to { transform: translate(var(--drift),calc(100dvh + 70px)) rotate(720deg); } }

/* === комната ожидания (pwt) =============================================
   Вью уже .view-poker — рельса, вотермарк и форма стола приезжают из
   poker.css/poker_stars.css (на телефоне <620px включается продовая
   мобильная геометрия: компактный овал + места по краям).
   Здесь только специфика ожидания: свободное место читается как приглашение,
   занятое — как игрок, своё — с золотой звездой. */
/* Слой мест поверх фетра: на 10-max телефона clamp прижимает боковые места
   к рейлу, и поздний в DOM фетр иначе съедает край плашки (на живом столе
   то же поведение, но там это продовая норма — здесь чиним). */
.poker-waiting .pwt-seats { z-index: 2; }
.poker-waiting .pwt-seat.is-empty:not(:disabled) .pk-plate {
  border: 1px dashed rgba(212, 175, 85, .5);
  background: rgba(22, 18, 11, .78);
  box-shadow: 0 6px 18px rgba(0, 0, 0, .38);
  animation: pwt-plate-pulse 2.6s ease-in-out infinite;
}
.poker-waiting .pwt-seat.is-empty:not(:disabled) .pk-avatar {
  border: 1.5px dashed rgba(212, 175, 85, .65);
  background: rgba(212, 175, 85, .08);
  color: #ffd97a; font-size: 15px;
}
.poker-waiting .pwt-seat.is-empty:not(:disabled) .pk-seat-name { color: rgba(235, 221, 187, .55); }
.poker-waiting .pwt-seat.is-empty:not(:disabled) .pk-seat-stack {
  color: #e8c56f; font-weight: 800; letter-spacing: .1em; text-transform: uppercase;
}
.poker-waiting .pwt-seat.is-empty:not(:disabled) { cursor: pointer; }
.poker-waiting .pwt-seat.is-empty:disabled { cursor: default; }
.poker-waiting .pwt-seat.is-empty:disabled .pk-plate { animation: none; opacity: .48; box-shadow: none; }
.poker-waiting .pwt-seat.is-empty:not(:disabled):hover .pk-plate {
  animation: none; border-style: solid; border-color: rgba(240, 215, 143, .95);
  background: rgba(40, 30, 14, .92);
  box-shadow: 0 0 26px rgba(212, 175, 85, .42), 0 8px 20px rgba(0, 0, 0, .45);
}
.poker-waiting .pwt-seat.is-empty:not(:disabled):hover .pk-avatar {
  border-style: solid; background: rgba(212, 175, 85, .2);
  box-shadow: 0 0 22px rgba(212, 175, 85, .45);
}
.poker-waiting .pwt-seat.is-empty:not(:disabled):hover .pk-seat-stack { color: #ffd97a; }
.poker-waiting .pwt-seat.is-empty:not(:disabled):focus-visible .pk-plate { outline: 3px solid #fff1bd; outline-offset: 3px; }
.poker-waiting .pwt-seat.is-empty:not(:disabled):active { transform: translate(-50%, -50%) scale(.95); }
@keyframes pwt-plate-pulse {
  50% { border-color: rgba(212, 175, 85, .92); box-shadow: 0 0 22px rgba(212, 175, 85, .3), 0 6px 18px rgba(0, 0, 0, .38); }
}
.poker-waiting .pwt-seat.is-occupied .pk-plate {
  border-color: rgba(212, 175, 85, .32);
  background: linear-gradient(160deg, rgba(22, 25, 22, .95), rgba(12, 14, 12, .95));
  box-shadow: 0 8px 22px rgba(0, 0, 0, .45);
}
.poker-waiting .pwt-seat.is-occupied .pk-avatar {
  box-shadow: 0 0 0 1.5px rgba(212, 175, 85, .55), 0 2px 5px rgba(0, 0, 0, .4);
}
.poker-waiting .pwt-seat.is-occupied .pk-seat-stack { color: #d9c491; }
/* Своё место: тёплое золото + звезда — видно сразу после посадки. */
.poker-waiting .pwt-seat.is-me .pk-plate {
  border: 1px solid rgba(240, 215, 143, .9);
  background: linear-gradient(160deg, rgba(52, 36, 15, .96), rgba(24, 16, 7, .96));
  box-shadow: 0 0 28px rgba(212, 175, 85, .4), 0 8px 22px rgba(0, 0, 0, .5);
}
.poker-waiting .pwt-seat.is-me .pk-plate::after {
  content: "★"; position: absolute; top: -10px; right: -8px;
  width: 20px; height: 20px; display: grid; place-items: center;
  border-radius: 50%; background: linear-gradient(#f1d486, #bd8f39);
  color: #17130c; font-size: 11px; line-height: 1;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .55);
}
.poker-waiting .pwt-seat.is-me .pk-avatar {
  box-shadow: 0 0 0 2px rgba(240, 215, 143, .9), 0 0 14px rgba(212, 175, 85, .5);
}
.poker-waiting .pwt-seat.is-me .pk-seat-stack { color: #f0d78f; }
/* Фетр: тёплое свечение вокруг статуса, кикер — пилюля. */
.poker-waiting .pwt-felt::before {
  content: ""; position: absolute; inset: 0; border-radius: inherit;
  background: radial-gradient(ellipse at 50% 46%, rgba(212, 175, 85, .1), transparent 55%);
  pointer-events: none;
}
.poker-waiting .pwt-felt .pnl-kicker {
  padding: 4px 11px; border: 1px solid rgba(212, 175, 85, .35); border-radius: 20px;
  color: #e3c16e; background: rgba(10, 14, 11, .55);
}
.poker-waiting .pwt-felt .mono { color: #cbb98c; letter-spacing: .12em; }
.poker-waiting .pwt-felt strong {
  background: linear-gradient(175deg, #fdf6dd 25%, #e0c37e 70%, #b98c3b);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, .5));
}
.poker-waiting .pwt-hint { color: rgba(235, 221, 187, .55); font: 400 11px var(--font-body); }
@container scene (min-width: 620px) {
  .poker-waiting .pwt-seat.is-empty:hover { transform: translate(-50%, -50%) scale(1.06); }
}

/* === телефон ============================================================ */
@container scene (max-width: 480px) {
  .poker-noir-lobby { gap: 10px; }
  .poker-noir-lobby .pnl-hero { padding: 18px; }
  .poker-noir-lobby .pnl-hero-art { display: none; } /* фон-фото остаётся */
  .poker-noir-lobby .pnl-toolbar { display: grid; grid-template-columns: 1fr auto auto; width: 100%; }
  .poker-noir-lobby .pnl-wallet { margin-right: 0; }
  .poker-noir-lobby .pnl-paid-shop { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
  .poker-noir-lobby .pnl-paid-shop::-webkit-scrollbar { display: none; }
  .poker-noir-lobby .pnl-paid-shop > b { flex: 0 0 auto; }
  .poker-noir-lobby .pnl-pack { flex: 0 0 auto; }
  .poker-noir-lobby .pnl-room { grid-template-columns: 1fr; gap: 8px; padding: 12px; }
  .poker-noir-lobby .pnl-room::before { top: auto; bottom: 0; left: 12%; right: 12%; width: auto; height: 2px; }
  .poker-noir-lobby .pnl-room-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .poker-noir-lobby .pnl-room-acts { display: grid; grid-template-columns: 1fr 1fr; }
  .poker-noir-lobby .pnl-room-acts .pnl-btn.primary { grid-column: 1 / -1; order: -1; }
  .poker-noir-lobby .pnl-tournament { grid-template-columns: 44px 1fr; padding: 14px; }
  .poker-noir-lobby .pnl-trophy { width: 44px; height: 44px; font-size: 23px; }
  .poker-noir-lobby .pnl-prize { top: 8px; right: 9px; }
  .poker-noir-lobby .pnl-tournament-actions { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; min-width: 0; }
  .poker-noir-lobby .pnl-tournament-actions .pnl-btn { min-height: 42px; padding-inline: 9px; }
  .pnl-blind-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .poker-tournament-finish { padding: 8px; }.ptf-card { padding: 22px 14px; border-radius: 22px; }.ptf-actions .pnl-btn { flex: 1; padding-inline: 10px; }
}

/* === reduced motion ===================================================== */
@media (prefers-reduced-motion: reduce) {
  .poker-noir-lobby .pnl-btn.primary::after { display: none; }
  .poker-noir-lobby .pnl-room,
  .poker-noir-lobby .pnl-tournament,
  .poker-noir-lobby .pnl-pack { transition: none; }
  .poker-noir-lobby .pnl-room:has(.pnl-status.is-playing) .pnl-visibility,
  .poker-noir-lobby .pnl-tn-cd::before,
  .poker-waiting .pwt-seat.is-empty:not(:disabled) .pk-plate { animation: none; }
  .poker-waiting .pwt-seat.is-empty:not(:disabled) .pk-plate { border-style: solid; box-shadow: 0 0 0 2px rgba(212,175,85,.26), 0 0 18px rgba(212,175,85,.28); }
  .ptf-rain { display: none; }
}
