:root {
  --bg: #0f1a14; --panel: #18241d; --panel-line: #2f4637; --felt: #12573a; --felt-deep: #0b3a27;
  --wood: #4a2a17; --wood-hi: #7a4a2a; --ivory: #f5eedc; --gold: #d8b25a; --gold-ink: #8a6a1f;
  --text: #f3ead2; --muted: #a9b8a4; --red: #b3242f; --ink: #1d150c;
  --safe-top: env(safe-area-inset-top, 0px); --safe-bottom: env(safe-area-inset-bottom, 0px);
}
* { box-sizing: border-box; margin: 0; -webkit-tap-highlight-color: transparent; }
html { background: var(--bg); touch-action: manipulation; -webkit-text-size-adjust: 100%; }
button, input, .seat { touch-action: manipulation; }
body { background: var(--bg); color: var(--text); font: 500 15px/1.4 Manrope, system-ui, sans-serif;
       min-height: 100dvh; padding-bottom: calc(180px + var(--safe-bottom)); overscroll-behavior: none; }
::selection { background: var(--gold); color: var(--ink); }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
button { padding: 0; }
.slot, .hero-cards button { line-height: 0; }
.slot:disabled { opacity: .5; }
button:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }

/* Шапка */
.top { display: flex; justify-content: space-between; align-items: center; padding: calc(14px + var(--safe-top)) 18px 0; }
h1 { font: 400 24px/1 Prata; color: var(--ivory); }
h1 em { font-style: normal; color: var(--gold); }
.top-actions { display: flex; gap: 8px; align-items: center; }
.street { font: 700 12px Manrope; color: var(--gold); letter-spacing: .14em; text-transform: uppercase;
          border: 1px solid rgba(216,178,90,.45); border-radius: 999px; padding: 6px 12px; }
.icon-btn { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; color: var(--muted);
            border: 1px solid var(--panel-line); }

/* Стол */
.table-wrap { position: relative; width: min(358px, calc(100vw - 24px)); aspect-ratio: 358 / 300; margin: 18px auto 0;
              user-select: none; -webkit-user-select: none; }
.rail { position: absolute; left: calc(var(--sx) - 14px); top: calc(var(--sy) - 14px);
        width: calc(var(--sw) + 28px); height: calc(var(--sh) + 28px); border-radius: 999px;
        background: linear-gradient(160deg, var(--wood-hi), var(--wood) 45%, #2b170c);
        box-shadow: 0 18px 40px rgba(0,0,0,.6), inset 0 2px 0 rgba(255,255,255,.12); }
.felt { position: absolute; inset: 14px; border-radius: 999px;
        background: radial-gradient(ellipse at 50% 35%, #1a7a51, var(--felt) 45%, var(--felt-deep));
        box-shadow: inset 0 6px 24px rgba(0,0,0,.55); }
.felt::after { content: ''; position: absolute; inset: 0; border-radius: inherit; opacity: .35; mix-blend-mode: overlay;
               background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E"); }
.center { position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; gap: 8px; z-index: 1; pointer-events: none; }
.board { display: flex; gap: 4px; pointer-events: auto; }
.pot-chip { font: 700 13px Manrope; color: var(--ivory); background: rgba(0,0,0,.4); padding: 6px 12px; border-radius: 999px;
            pointer-events: auto; border: 1px solid rgba(216,178,90,.45); }
.pot-chip:empty { visibility: hidden; }
.pot-chip b { color: var(--gold); }
.pot-chip.ask { color: var(--gold); border-style: dashed; }
.stakes-row { display: flex; gap: 6px; margin: 10px 18px 0; }
.level-up { flex: none; padding: 0 10px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px; border-radius: 12px; background: var(--panel); border: 1px solid var(--gold);
            color: var(--gold); font: 700 12.5px/1.2 Manrope; white-space: nowrap; }
.level-up[hidden] { display: none; }
.level-up:active { background: var(--panel-line); }
.level-up small { font: 700 11px/1 Manrope; }
.quick { display: flex; gap: 6px; margin-top: 6px; }
.quick button { flex: 1; min-height: 36px; border-radius: 10px; background: var(--panel); border: 1px solid var(--panel-line);
                color: var(--ivory); font: 700 12.5px/1.15 Manrope; padding: 0 2px; }
.quick button[aria-pressed="true"] { background: var(--ivory); color: var(--ink); }
.levels-input:focus { outline: none; border-color: var(--gold); }
.levels-input { width: 100%; font: 400 15px/1.3 Manrope; color: var(--ivory); background: var(--panel); border: 1px solid var(--panel-line);
                border-radius: 12px; padding: 10px 12px; }
.stakes { display: flex; gap: 6px; justify-content: center; flex-wrap: wrap; flex: 1; min-width: 0;
          font-size: 13px; color: var(--muted); padding: 7px 10px; border-radius: 12px; background: var(--panel); border: 1px solid var(--panel-line); }
.stakes b { color: var(--ivory); font-weight: 700; }
.stakes .warn { color: var(--gold); }

.seat { position: absolute; transform: translate(-50%, -50%); z-index: 2; min-width: 46px; padding: 4px 6px 5px;
        border-radius: 10px; text-align: center; background: #18241d; border: 1px solid var(--panel-line);
        box-shadow: 0 4px 10px rgba(0,0,0,.5); transition: background-color .2s, opacity .2s; }
.seat b { display: block; font: 400 18px/1.05 Prata; color: var(--ivory); }
.seat span { display: block; font: 700 10px Manrope; color: var(--gold); letter-spacing: .08em; min-height: 12px; }
.seat.is-hero { background: var(--ivory); border-color: var(--gold); }
.seat.is-hero b { color: var(--ink); } .seat.is-hero span { color: var(--gold-ink); }
.seat.is-hero::before { content: 'ТЫ'; position: absolute; top: -9px; left: 50%; transform: translateX(-50%); font: 800 9px/1 Manrope;
                        letter-spacing: .1em; color: var(--ink); background: var(--gold); border-radius: 999px; padding: 3px 6px; }
.seat.is-out { opacity: .45; border-style: dashed; background: transparent; box-shadow: none; }
.seat.is-out span { color: var(--muted); font-weight: 500; letter-spacing: 0; }
.croupier { position: absolute; transform: translate(-50%, -50%); z-index: 2; font: 700 10px Manrope; letter-spacing: .12em;
            text-transform: uppercase; color: var(--gold); background: #1d130b; border: 1px solid #5b3a20; border-radius: 8px; padding: 5px 9px; }
.button-chip { position: absolute; z-index: 3; width: 30px; height: 30px; margin: -15px 0 0 -15px; border-radius: 50%;
               background: var(--ivory); color: var(--ink); font: 400 14px Prata; display: grid; place-items: center;
               border: 2px solid var(--gold); box-shadow: 0 3px 6px rgba(0,0,0,.6); touch-action: none; cursor: grab;
               transition: left .22s cubic-bezier(.2,.8,.2,1), top .22s cubic-bezier(.2,.8,.2,1); }
.button-chip::before { content: ''; position: absolute; inset: -9px; } /* палец не промахнётся */
.button-chip.dragging { transition: none; transform: scale(1.15); cursor: grabbing; }
.hint { text-align: center; font-size: 12px; color: var(--muted); margin-top: 4px; padding: 0 16px; }
.hint b { color: var(--gold); font-family: Prata; font-weight: 400; }

/* Карты */
.card { width: 32px; height: 45px; border-radius: 5px; background: var(--ivory); display: inline-grid;
        align-content: center; justify-items: center; line-height: 1; box-shadow: 0 2px 5px rgba(0,0,0,.45); }
.card b { font: 400 17px Prata; } .card i { font-style: normal; font-size: 14px; }
.suit-s, .suit-c { color: var(--ink); } .suit-h, .suit-d { color: var(--red); }
.card.empty { background: rgba(0,0,0,.18); box-shadow: none; border: 1px dashed rgba(245,238,220,.35); }
.card.empty.next { border: 1.5px solid var(--gold); background: rgba(216,178,90,.12); }
.card.big { width: 58px; height: 82px; border-radius: 8px; }
.card.big b { font-size: 28px; } .card.big i { font-size: 22px; }
.card.big.empty { display: grid; place-items: center; color: var(--gold); font-size: 13px; font-weight: 700; }

/* Твоя рука */
.hand { display: flex; gap: 16px; align-items: center; padding: 14px 18px 0; }
.hero-cards { display: flex; gap: 6px; }
.hero-cards .card.big:first-child:not(.empty) { transform: rotate(-4deg); }
.hero-cards .card.big:last-child:not(.empty) { transform: rotate(5deg); margin-left: -8px; }
.hero-info { flex: 1; display: grid; gap: 8px; justify-items: start; }
.hero-pos { font: 400 20px/1.15 Prata; color: var(--ivory); }
.hero-pos small { display: block; font: 700 11px Manrope; color: var(--muted); letter-spacing: .06em; text-transform: uppercase; margin-bottom: 2px; }
.new-hand { font: 700 13px Manrope; color: var(--ink); background: var(--gold); border-radius: 999px; padding: 9px 14px; }
.new-hand:active { transform: scale(.97); }

/* Ввод ставок */
.inputs { padding: 14px 18px 0; display: grid; gap: 10px; }
.label { font-size: 12px; color: var(--muted); margin-bottom: 6px; letter-spacing: .04em; }
.segments { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 4px; background: var(--panel);
            border: 1px solid var(--panel-line); border-radius: 12px; padding: 3px; }
.segments button { min-height: 40px; border-radius: 9px; font: 700 12.5px/1.15 Manrope; color: var(--muted); padding: 0 2px; }
.explain { font-size: 12.5px; color: var(--muted); margin-top: 7px; min-height: 1.4em; }
.explain b { color: var(--ivory); font-weight: 700; }
.segments button[aria-pressed="true"] { background: var(--ivory); color: var(--ink); }
.steppers { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 8px; } /* турнирные суммы (2 000 000) не влезали в половину ширины */
.stepper { background: var(--panel); border: 1px solid var(--panel-line); border-radius: 12px; padding: 7px 8px 7px 12px;
           display: grid; grid-template-columns: 1fr auto; align-items: center; }
.stepper .name { font-size: 11px; color: var(--muted); grid-column: 1 / -1; }
.stepper .value { font: 400 22px/1.2 Prata; min-width: 0; color: var(--ivory); width: 100%; background: none; border: 0; padding: 0; }
.stepper .value:focus { outline: none; color: var(--gold); }
.stepper .btns { display: flex; gap: 4px; }
.stepper .btns button { width: 40px; height: 40px; border-radius: 10px; background: #0f1a14; border: 1px solid var(--panel-line);
                        font: 700 20px Manrope; color: var(--ivory); }
.stepper .btns button:active { background: var(--panel-line); }

/* Совет */
.ticket { position: fixed; left: 12px; right: 12px; bottom: calc(10px + var(--safe-bottom)); z-index: 5;
          max-width: 520px; margin: 0 auto; background: var(--ivory); color: var(--ink);
          border-radius: 16px; padding: 10px 16px 11px; box-shadow: 0 16px 40px rgba(0,0,0,.55); }
.ticket .top-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.ticket .act { font: 400 27px/1 Prata; white-space: nowrap; }
.ticket .act small { display: block; font: 700 10px Manrope; letter-spacing: .1em; color: var(--gold-ink); text-transform: uppercase; margin-bottom: 3px; }
.ticket .act.fold { color: var(--red); }
.gauge { text-align: right; flex: 0 1 auto; min-width: 0; }
.gauge b { font: 400 25px/1 Prata; color: var(--felt); }
.gauge span { display: block; font-size: 10.5px; color: #6b6150; line-height: 1.25; }
.ticket hr { border: 0; border-top: 1px dashed #c9bd9d; margin: 7px 0 5px; }
.ticket .line { font-size: 12.5px; line-height: 1.35; color: #4a4030; }
.ticket .line b { color: var(--ink); }
.ticket .wait { font: 400 18px/1.3 Prata; color: #4a4030; }
.ticket .wait small { display: block; font: 500 13px Manrope; color: #6b6150; margin-top: 2px; }
.ticket.busy .gauge b { opacity: .4; }

/* Окно снизу */
.dim { position: fixed; inset: 0; z-index: 9; background: rgba(5,10,7,.7); opacity: 0; pointer-events: none; transition: opacity .2s; }
.sheet { position: fixed; left: 0; right: 0; bottom: 0; z-index: 10; max-width: 560px; margin: 0 auto; background: #16231c;
         border-radius: 24px 24px 0 0; padding: 18px 16px calc(24px + var(--safe-bottom)); border-top: 1px solid var(--panel-line);
         transform: translateY(105%); transition: transform .24s cubic-bezier(.2,.8,.2,1); }
.open .dim { opacity: 1; pointer-events: auto; }
.open .sheet { transform: none; }
.sheet h2 { font: 400 22px Prata; margin-bottom: 12px; display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.sheet h2 button { font: 700 13px Manrope; color: var(--muted); padding: 6px 2px; }
.step { display: flex; gap: 8px; align-items: center; font-size: 12px; color: var(--muted); margin-bottom: 8px; letter-spacing: .08em; text-transform: uppercase; }
.step b { color: var(--gold); }
.ranks { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; margin-bottom: 14px; }
.ranks button { height: 54px; border-radius: 10px; background: #0f1a14; border: 1px solid var(--panel-line); font: 400 24px Prata; color: var(--ivory); }
.ranks button[aria-pressed="true"] { background: var(--ivory); color: var(--ink); border-color: var(--gold); }
.suits { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.suits button { height: 84px; border-radius: 12px; background: var(--ivory); font-size: 38px; transition: opacity .15s, transform .1s; }
.suits button:active { transform: scale(.96); }
.suits button:disabled { opacity: .22; cursor: default; }
.suits.waiting button { opacity: .35; }
.sheet .remove { margin-top: 12px; width: 100%; min-height: 44px; border-radius: 12px; border: 1px solid var(--panel-line); color: var(--muted); font-weight: 700; }
.menu { display: grid; gap: 8px; }
.menu button, .menu .mail-btn { color: inherit; text-decoration: none; min-height: 52px; border-radius: 12px; background: var(--panel); border: 1px solid var(--panel-line);
               text-align: left; padding: 0 16px; font-weight: 700; display: flex; justify-content: space-between; align-items: center; }
.menu button small, .menu .mail-btn small { color: var(--muted); font-weight: 500; font-size: 12px; text-align: right; }
.menu .mail-btn { border-color: var(--gold); }
.menu button:disabled { opacity: .4; }
.note { font-size: 12px; color: var(--muted); margin-top: 12px; }

@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; }
}

.disagree { display: block; margin: 6px 0 0 auto; font: 700 11px Manrope; color: var(--gold-ink); padding: 4px 0; }
.copy-box { width: 100%; height: 220px; border-radius: 12px; background: #0f1a14; color: var(--ivory);
            border: 1px solid var(--panel-line); padding: 10px; font: 500 12px/1.4 Manrope; }

.gauge small { font-size: 10px; color: #8a7f6a; }
.new-hand.big { width: 100%; min-height: 50px; margin-top: 12px; font-size: 15px; border-radius: 14px; }

.update-bar { position: fixed; top: calc(8px + var(--safe-top)); left: 12px; right: 12px; z-index: 20; min-height: 44px;
              border-radius: 12px; background: var(--gold); color: var(--ink); font: 700 14px Manrope; box-shadow: 0 8px 24px rgba(0,0,0,.5); }

/* Кто повысил: отметки на столе */
.seat.can-pick { border-color: var(--gold); box-shadow: 0 0 0 2px rgba(216,178,90,.35), 0 4px 10px rgba(0,0,0,.5); }
.seat.is-raiser::after, .seat.is-reraiser::after { position: absolute; bottom: -9px; left: 50%; transform: translateX(-50%);
  font: 800 9px/1 Manrope; letter-spacing: .08em; color: #fff; background: var(--red); border-radius: 999px; padding: 3px 6px; white-space: nowrap; }
.seat.is-raiser::after { content: 'РЕЙЗ'; }
.seat.is-reraiser::after { content: '3-БЕТ'; }
.seat.is-caller::after { position: absolute; bottom: -9px; left: 50%; transform: translateX(-50%); content: 'КОЛЛ';
  font: 800 9px/1 Manrope; letter-spacing: .08em; color: var(--ink); background: var(--gold); border-radius: 999px; padding: 3px 6px; white-space: nowrap; }
.explain .pick { color: var(--gold); }
.link { color: var(--gold); text-decoration: underline; font-weight: 700; padding: 0 2px; }

.ticket .about { font-size: 11.5px; color: #7a6f5a; }

/* Спрятать карты от соседей: смахнуть влево / вправо */
.hand { position: relative; touch-action: pan-y; overflow: hidden; }
.hero-cards { transition: transform .32s cubic-bezier(.2,.8,.2,1), opacity .32s ease; }
.hand.is-hidden .hero-cards { transform: translateX(-100vw); opacity: 0; pointer-events: none; }
.hide-tab { position: absolute; left: 0; top: 50%; width: 6px; height: 56px; margin-top: -28px; border-radius: 0 6px 6px 0;
            background: var(--gold); opacity: 0; transition: opacity .32s ease; }
.hand.is-hidden .hide-tab { opacity: .85; }
.hand.is-hidden .hero-info { padding-left: 14px; }
@media (prefers-reduced-motion: reduce) { .hero-cards, .hide-tab { transition: none; } }

/* Шуточное прозвище руки */
.nickname { font: italic 400 16px/1.2 Prata; color: var(--gold); min-height: 0; }
.nickname:empty { display: none; }
.nickname small { display: block; font: 500 11px/1.3 Manrope; font-style: normal; color: var(--muted); margin-top: 2px; }

/* Pro (2026-10-12) */
.pro-badge { font: 800 10px Manrope; letter-spacing: .12em; color: var(--ink); background: var(--gold); padding: 3px 7px; border-radius: 999px; margin-right: 8px; vertical-align: 1px; }
.pro-row { display: flex; align-items: center; width: 100%; text-align: left; padding: 12px 14px; margin-bottom: 12px; border-radius: 12px;
  background: var(--panel); border: 1px solid var(--gold); color: var(--text); font: 700 14px Manrope; }
.pro-row b { margin-left: auto; color: var(--gold); font-size: 18px; }
.pro-row.free { border-color: var(--panel-line); }
.locked-row { display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: 14px; padding: 12px 14px; border-radius: 12px;
  background: var(--panel); border: 1px dashed var(--panel-line); color: var(--muted); font: 700 14px Manrope; }
.locked-row span { font: 800 10px Manrope; letter-spacing: .12em; color: var(--ink); background: var(--gold); padding: 3px 7px; border-radius: 999px; }
.pro-list { list-style: none; padding: 0; margin: 6px 0 12px; display: grid; gap: 8px; }
.pro-list li { background: var(--panel); border: 1px solid var(--panel-line); border-radius: 12px; padding: 10px 12px; font-size: 13.5px; color: var(--muted); line-height: 1.4; }
.pro-list li b { color: var(--text); }
.pro-list li.soon { opacity: .7; }
.pro-status { color: var(--gold); font-weight: 700; font-size: 13.5px; margin: 4px 0 10px; }
.pro-buy { background: var(--ivory); color: var(--ink); border-radius: 14px; padding: 14px; font: 400 20px Prata; }
.pro-buy small { display: block; font: 500 12.5px Manrope; color: #6b5f48; margin-top: 4px; }
.pro-code { display: flex; gap: 8px; margin-top: 10px; }
.pro-code input { flex: 1; min-width: 0; font: 700 15px Manrope; letter-spacing: .06em; color: var(--ivory); background: var(--panel); border: 1px solid var(--panel-line); border-radius: 12px; padding: 11px 12px; }
.pro-code input:focus { outline: none; border-color: var(--gold); }
.pro-code button { padding: 0 14px; border-radius: 12px; background: var(--gold); color: var(--ink); font: 800 14px Manrope; }
.pro-cta { display: inline-block; margin-top: 10px; padding: 9px 14px; border-radius: 10px; background: var(--gold); color: var(--ink); font: 800 13.5px Manrope; }
.toast { position: fixed; left: 12px; right: 12px; top: calc(10px + var(--safe-top)); z-index: 20; padding: 12px 14px; border-radius: 14px;
  background: var(--panel); border: 1px solid var(--gold); color: var(--text); font: 700 14px Manrope; text-align: left; box-shadow: 0 8px 24px rgba(0,0,0,.45);
  display: flex; align-items: center; animation: toast-in .35s ease-out; }
.toast b { margin-left: auto; color: var(--gold); font-size: 18px; }
@keyframes toast-in { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .toast { animation: none; } }

/* Тренажёр (2026-10-13) — тот же стол и карты, что на главном экране */
.train-btn { font: 700 12px Manrope; color: var(--ink); background: var(--gold); letter-spacing: .04em;
  padding: 0 14px; height: 40px; border-radius: 999px; }
.train-btn:active { filter: brightness(.92); }
body.training main, body.training .stakes-row, body.training #ticket, body.training #street { display: none; }
.trainer[hidden], .tr-ticket[hidden] { display: none; }
.tr-topics { display: flex; gap: 6px; overflow-x: auto; padding: 14px 18px 2px; scrollbar-width: none; }
.tr-topics::-webkit-scrollbar { display: none; }
.tr-topics button { flex: none; padding: 8px 12px; border-radius: 999px; background: var(--panel); border: 1px solid var(--panel-line);
  color: var(--muted); font: 700 12.5px Manrope; }
.tr-topics button[aria-pressed="true"] { background: var(--ivory); color: var(--ink); border-color: var(--ivory); }
.tr-progress { padding: 12px 18px 0; }
.tr-count { display: flex; justify-content: space-between; font-size: 13px; color: var(--muted); font-variant-numeric: tabular-nums; }
.tr-count b { color: var(--text); }
.tr-dots { display: grid; grid-template-columns: repeat(20, 1fr); gap: 3px; margin-top: 7px; }
.tr-dots i { height: 5px; border-radius: 3px; background: #26362c; }
.tr-dots .ok { background: #4fae7a; } .tr-dots .no { background: #d4545c; } .tr-dots .now { background: var(--gold); }
#tr-table .seat { cursor: default; }
#tr-table .button-chip { pointer-events: none; }
.seat-act { position: absolute; left: 50%; top: 100%; transform: translate(-50%, 4px); white-space: nowrap; font: 700 10.5px/1 Manrope;
  font-style: normal; padding: 3px 7px; border-radius: 999px; background: rgba(0,0,0,.55); color: var(--muted); z-index: 3; }
.seat-act.raise { background: var(--red); color: #fff; }
.seat-act.edge-r { left: auto; right: 0; transform: translate(0, 4px); }
.seat-act.edge-l { left: 0; transform: translate(0, 4px); }
.tr-pot { font: 700 12px Manrope; color: var(--ivory); background: rgba(0,0,0,.28); padding: 5px 11px; border-radius: 999px; }
.tr-hand { align-items: center; }
.tr-sit { font-size: 14px; line-height: 1.45; color: #d9e6d4; }
.tr-sit b { color: var(--ivory); }
.tr-answers { padding: 4px 18px 0; }
.tr-q { font: 400 22px Prata; text-align: center; margin: 14px 0 10px; }
.tr-buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.tr-buttons button { min-height: 50px; border-radius: 12px; background: var(--panel); border: 1px solid var(--panel-line);
  color: var(--text); font: 800 14.5px Manrope; transition: background-color .18s ease-out, opacity .18s ease-out; }
.tr-buttons button:active:not(:disabled) { background: var(--panel-line); }
.tr-buttons button.right { background: #1f3a2a; border: 2px solid #4fae7a; color: #7fd6a2; }
.tr-buttons button.wrong { background: #3a1f22; border: 2px solid #d4545c; color: #ff9a9f; }
.tr-buttons button.off { opacity: .45; }
.tr-wait { font-size: 13.5px; color: #4a4030; text-align: center; padding: 6px 0; }
.tr-verdict { font: 400 21px/1.2 Prata; color: var(--ink); }
.tr-verdict.ok { color: #1f6b44; } .tr-verdict.no { color: var(--red); }
.tr-why { font-size: 13px; line-height: 1.45; color: #4a4030; margin-top: 8px; }
.tr-next { width: 100%; margin-top: 12px; padding: 13px; border-radius: 12px; background: var(--gold); color: var(--ink); font: 800 15px Manrope; }
.tr-row { display: flex; gap: 8px; } .tr-row .tr-next { flex: 2; }
.tr-exit { flex: 1; margin-top: 12px; padding: 13px; border-radius: 12px; background: transparent; border: 1px solid #c9bd9d; color: var(--ink); font: 700 14px Manrope; }
@media (prefers-reduced-motion: reduce) { .tr-buttons button { transition: none; } }
/* Твоё открытие в задании «Тебе сделали 3-бет» — золотом, чтобы отличалось от чужого повышения (красным). */
.seat-act.open { background: var(--gold); color: var(--ink); }
.tr-more { width: 100%; margin-top: 12px; padding: 11px; border-radius: 12px; background: transparent; border: 1px solid #c9bd9d;
  color: var(--ink); font: 700 14px Manrope; }
.tr-more:disabled { opacity: .6; }
.tr-explain { margin-top: 12px; padding-top: 10px; border-top: 1px solid #ddd0ae; }
.tr-explain h3 { font: 400 16px Prata; color: var(--ink); margin-bottom: 4px; }
.tr-explain p { font-size: 13px; line-height: 1.5; color: #4a4030; margin-top: 6px; }
.tr-explain b { color: var(--ink); }
/* Статистика по местам (2026-10-16, Pro) */
.stats-row { display: flex; align-items: center; width: 100%; text-align: left; padding: 12px 14px; margin-bottom: 12px; border-radius: 12px;
  background: var(--panel); border: 1px solid var(--panel-line); color: var(--text); font: 700 14px Manrope; }
.stats-row b { margin-left: auto; color: var(--gold); font-size: 18px; }
.stats-total { margin: 16px 2px 12px; font-size: 14.5px; line-height: 1.5; color: var(--text); font-variant-numeric: tabular-nums; }
.stats-total b { font-size: 16px; }
.stats-empty { margin: 18px 2px 4px; font-size: 14px; line-height: 1.5; color: var(--muted); }
.stats-table { width: 100%; border-collapse: collapse; font-size: 14px; font-variant-numeric: tabular-nums;
  background: var(--panel); border: 1px solid var(--panel-line); border-radius: 14px; overflow: hidden; border-style: hidden; box-shadow: 0 0 0 1px var(--panel-line); }
.stats-table th { font: 700 11px Manrope; color: var(--muted); text-align: right; padding: 11px 8px 7px; }
.stats-table td { padding: 10px 8px; text-align: right; border-top: 1px solid var(--panel-line); white-space: nowrap; }
.stats-table th:first-child, .stats-table td:first-child { text-align: left; padding-left: 14px; }
.stats-table th:last-child, .stats-table td:last-child { padding-right: 14px; }
.stats-table tr.none td { color: var(--muted); opacity: .6; }
.plus { color: #7fd6a2; font-weight: 700; } .minus { color: #ff8a8f; font-weight: 700; }
.seat-act.limp { background: rgba(216,178,90,.22); color: var(--gold); }
.stats-h { font: 400 19px Prata; margin: 26px 2px 2px; color: var(--text); }
.stats-hint { font-size: 12px; color: var(--muted); margin: 0 2px 10px; line-height: 1.4; }
.stats-sect { font: 700 11px Manrope; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); margin: 12px 2px 6px; }
.stats-hand { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; padding: 9px 12px; margin-bottom: 6px;
  background: var(--panel); border: 1px solid var(--panel-line); border-radius: 12px; }
.mini-cards { display: flex; gap: 3px; }
.mini-cards .card { width: 26px; height: 36px; font: 400 15px/1 Prata; color: var(--ink); place-items: center; }
.stats-hand-name { font: 700 14px Manrope; } .stats-hand-name small { display: block; font: 500 12px Manrope; color: var(--muted); margin-top: 2px; }
.stats-hand-res { text-align: right; font-size: 12px; color: var(--muted); font-variant-numeric: tabular-nums; }
.stats-hand-res b { display: block; font-size: 15px; }
