/* poker-web 치즈 스킨 🧀 — 자동 생성: 골드→치즈옐로우 명시 매핑 +
 * 남색 계열 전체를 채널스왑(B↔R)+웜 보정으로 웜브라운 변환. */

body {
  background: #100b05;
  color: #f3e8c8;
}
/* Topbar — GG dark navy */
#topbar {
  background: linear-gradient(180deg, #2a200f 0%, #221b0a 100%);
  border-bottom: 1px solid #3b321e;
}
/* G-3: text-scale toggle in topbar */
.text-scale-toggle {
  color: #c9ae76;
  border: 1px solid #3b321e;
}
.text-scale-toggle:hover {
  color: #e6d5ab;
}
body[data-text-scale="lg"] .text-scale-toggle {
  background: rgba(252,196,25,0.18);
  color: #fcc419;
  border-color: rgba(252,196,25,0.55);
}
.myinfo-top-btn {
  border: 1px solid rgba(252,196,25,0.34);
  background: rgba(252,196,25,0.10);
  color: #ffe680;
}
.myinfo-mini-avatar {
  background: linear-gradient(135deg, #696047, #271f11);
  color: #fdf8e7;
}
#title {
  color: #ffe680;
}
#balance {
  color: #c9ae76;
}
#balance b {
  color: #fcc419;
}
.ptr-indicator {
  color: #c9ae76;
}
.ptr-indicator.is-armed {
  color: #fcc419;
}
.ptr-indicator.is-refreshing {
  color: #fcc419;
}
/* Tabs */
.tabs {
  background: #221b0a;
  border-bottom: 1px solid #3b321e;
}
.tab {
  color: #8c7340;
}
.tab.active {
  color: #fcc419;
  border-bottom-color: #fcc419;
}
.tab:not(.active):hover {
  color: #e6d5ab;
}
/* Structure-type filter chip row */
.struct-chips {
  background: #221b0a;
}
.struct-chip {
  color: #c9ae76;
  border: 1px solid #3b321e;
}
.struct-chip:hover {
  color: #e6d5ab;
}
.struct-chip.active {
  background: rgba(252,196,25,0.18);
  color: #fcc419;
  border-color: rgba(252,196,25,0.55);
}
/* Lobby toolbar (검색 + 정렬) */
.lobby-toolbar {
  background: #221b0a;
  border-bottom: 1px solid #3b321e;
}
.lobby-toolbar input {
  color: #f3e8c8;
  border: 1px solid #3b321e;
}
.lobby-toolbar input::placeholder {
  color: #8c7340;
}
.lobby-toolbar input:focus {
  border-color: rgba(252,196,25,0.55);
}
.lobby-toolbar select {
  color: #e6d5ab;
  border: 1px solid #3b321e;
}
.tcard {
  background:
    linear-gradient(180deg, var(--tournament-soft-bg, rgba(255,255,255,0.02)), rgba(36,27,13,0) 45%),
    linear-gradient(180deg, #302513 0%, #241b0d 100%);
  border: 1px solid var(--tournament-border-color, #3b321e);
}
.tcard:hover {
  border-color: var(--tournament-accent-color, #554c33);
  background:
    linear-gradient(180deg, var(--tournament-soft-bg, rgba(255,255,255,0.04)), rgba(48,34,15,0) 48%),
    linear-gradient(180deg, #402f18 0%, #30220f 100%);
}
.tcard.is-mine {
  border-color: rgba(252,196,25,0.55);
  box-shadow: inset 0 0 0 1px rgba(252,196,25,0.18);
}
.tcard-fav::before {
  border: 1px solid rgba(201,174,118,0.18);
}
.tcard-fav:hover::before {
  border-color: rgba(201,174,118,0.40);
}
.tcard-fav:hover {
  border-color: rgba(201,174,118,0.40);
}
.tcard-fav .tfav-shape {
  stroke: #8c7340;
}
.tcard-fav.is-on::before {
  background: rgba(252,196,25,0.18);
  border-color: rgba(252,196,25,0.55);
}
.tcard-fav.is-on .tfav-shape {
  fill: #fcc419;
}
.tcard.is-fav {
  background: linear-gradient(180deg, #48341a 0%, #241b0d 100%);
}
/* Left accent bar — color encodes status at a glance */
.tcard::before {
  background: var(--tournament-accent-color, #696047);
}
.tcard.s-sched-bar::before {
  background: linear-gradient(180deg, #c9ae76, #696047);
}
.tcard.s-reg-bar::before,
.tcard.s-late-bar::before,
.tcard.s-play-bar::before,
.tcard.s-sched-bar::before {
  background: linear-gradient(180deg, var(--tournament-accent-color, #ffd43b), rgba(42,32,15, 0.45));
}
.tcard-head h3 {
  color: var(--tournament-title-color, #ffe680);
}
.struct-badge {
  background: rgba(201,174,118,0.12);
  color: #e6d5ab;
  border: 1px solid rgba(201,174,118,0.25);
}
.private-badge {
  background: rgba(252,196,25,0.15);
  color: #ffe680;
  border: 1px solid rgba(252,196,25,0.42);
}
.trophy-badge {
  border: 1px solid rgba(252,196,25,0.42);
  background: radial-gradient(circle at 50% 35%, rgba(252,196,25,0.24), rgba(42,32,15,0.78));
  box-shadow: 0 0 10px rgba(252,196,25,0.16);
}
.status-pill.s-sched {
  background: rgba(175,169,156,0.18);
  color: #e6d5ab;
  border: 1px solid rgba(175,169,156,0.35);
}
.status-pill.s-mine {
  background: linear-gradient(180deg, rgba(252,196,25,0.34), rgba(146,96,12,0.28));
  color: #ffe680;
  border: 1px solid rgba(252,196,25,0.62);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.12), 0 0 10px rgba(252,196,25,0.12);
}
/* Row 2 — dense stat row (buy-in · prize · players · level) */
.tcard-stats {
  color: #c9ae76;
}
.tcard-stats .stat .lbl {
  color: #8c7340;
}
.tcard-stats .stat .val {
  color: #f3e8c8;
}
.tcard-stats .stat.prize .val {
  color: #ffe680;
}
.tcard-stats .stat.players .val {
  color: #e6d5ab;
}
/* Footer — countdown + secondary info */
.tcard-foot {
  color: #8c7340;
}
.tcard-foot .countdown {
  color: #fcc419;
}
.tcard-foot .countdown.is-closed {
  color: #c9ae76;
  background: rgba(201,174,118,0.10);
  border: 1px solid rgba(201,174,118,0.20);
}
.btn-primary {
  background: linear-gradient(180deg, #ffd43b, #ca8a04);
  color: #37311f;
}
.btn-secondary {
  background: #554c33;
  color: #f3e8c8;
}
.btn-primary:disabled {
  background: #554c33;
  color: #8c7340;
}
.empty {
  color: #696047;
}
/* ─── F-3: Standard error card (reusable for any load-failure host) ─── */
.error-card {
  color: #e6d5ab;
}
.error-card .err-sub {
  color: #c9ae76;
}
/* ─── Lobby empty state — SVG illustration + headline + sub ─── */
.empty-illust {
  color: #8c7340;
}
.empty-illust .ei-art {
  background: radial-gradient(circle at 30% 30%, rgba(252,196,25,0.10), rgba(0,0,0,0) 70%);
}
.empty-illust .ei-headline {
  color: #e6d5ab;
}
.empty-illust .ei-sub {
  color: #8c7340;
}
/* Lobby-only fixed chrome: keep the title/tabs/filters stationary and let
   only the tournament list consume vertical scroll, including iOS WebView
   rubber-band edge cases. */
body.holdem-lobby-active {
  background: #100b05;
}
body.holdem-lobby-active #lobby {
  background: #100b05;
}
.tournament-list-scroll-area {
  background: #100b05;
}
body.holdem-cash-lobby-active {
  background: #100b05;
}
/* 상세 화면 고정 크롬 — 로비 fix의 미러. #detailBody(스트럭처/상금/참가자/
   테이블/핸드 공통 컨테이너)를 스크롤 영역으로 만들어 표가 #topbar·#detailHeader
   아래로 클리핑되게 한다. 5탭 모두 #detailBody 안이라 한 번에 적용됨. */
body.holdem-detail-active {
  background: #100b05;
}
body.holdem-detail-active #detailView {
  background: #100b05;
}
body.holdem-detail-active #detailBody {
  background: #100b05;
}
/* ─── Lobby loading skeletons (shimmer placeholder cards) ─── */
.tcard-skel {
  background: linear-gradient(180deg, #302513 0%, #241b0d 100%);
  border: 1px solid #3b321e;
}
.tcard-skel::before {
  background: #554c33;
}
/* ─── WS disconnect banner (C-8) ─── */
.ws-banner {
  background: linear-gradient(180deg, rgba(245,166,35,0.95), rgba(217,119,6,0.95));
}
.ws-banner .ws-retry {
  color: #ffe680;
}
/* ─── Level-up interstitial — full-screen LEVEL N + new blinds ─── */
.level-up-interstitial {
  background: radial-gradient(ellipse at center, rgba(42,32,15,0.85), rgba(0,0,0,0.95));
}
.lu-card {
  background: linear-gradient(160deg, #422f14 0%, #221b0a 60%, #100b05 100%);
}
.lu-num {
  color: #ffe680;
  text-shadow: 0 0 20px rgba(252,196,25,0.6);
}
.lu-blinds {
  color: #fdf8e7;
}
.lu-ante {
  color: #e6d5ab;
  background: rgba(201,174,118,0.14);
  border: 1px solid rgba(201,174,118,0.28);
}
/* ─── Bubble alert — one-shot full-screen "한 명 남으면 상금권" warning ─── */
.bubble-alert {
  background: radial-gradient(ellipse at center, rgba(42,32,15,0.88), rgba(0,0,0,0.96));
}
.bubble-card {
  background: linear-gradient(160deg, #381c1f 0%, #422f14 50%, #100b05 100%);
}
.bubble-sub {
  color: #e6d5ab;
}
.bubble-stats {
  color: #ffe680;
}
/* ─── Table rebalance interstitial — covers the seat-vanish moment ─── */
.rebalance-interstitial {
  background: rgba(16,11,5,0.92);
}
.rb-card {
  background: linear-gradient(160deg, #422f14 0%, #221b0a 100%);
}
.rb-title {
  color: #ffe680;
}
.rb-sub {
  color: #c9ae76;
}
.toast {
  background: linear-gradient(180deg, #3b321e, #2a200f);
  border: 1px solid #554c33;
  border-left: 3px solid #8c7340;
  color: #f3e8c8;
}
.toast.toast-warn {
  border-left-color: #f5a623;
}
.toast.toast-warn .toast-icon {
  color: #ffdd57;
}
.toast-title {
  color: #ffe680;
}
.toast-body {
  color: #f3e8c8;
}
.toast.toast-chat {
  background: linear-gradient(180deg, rgba(56,28,31,0.92), rgba(31,15,15,0.92));
}
/* Table view */
/* ─── GG-style Table View ──────────────────────────────────────────────── */

/* Top tournament info bar */
.gg-topbar {
  background: linear-gradient(180deg, #2a200f 0%, #221b0a 100%);
  border-bottom: 1px solid #3b321e;
}
.gg-topbar .back-btn {
  background: #554c33;
  color: #e6d5ab;
}
.gg-topbar .gg-lvl {
  color: #fcc419;
}
.gg-topbar .gg-blinds {
  color: #f3e8c8;
}
.gg-topbar .gg-stat {
  color: #c9ae76;
}
.gg-topbar .gg-stat strong {
  color: #e6d5ab;
}
.gg-topbar .gg-sep {
  color: #696047;
}
.gg-topbar .gg-ante {
  color: #c9ae76;
}
.gg-topbar .gg-ante::before {
  color: #c9ae76;
}
.gg-topbar .lvl-countdown {
  color: #c9ae76;
}
.gg-topbar .lvl-countdown.is-warn {
  color: #f5a623;
}
.gg-topbar .gg-hand-pill {
  color: #e6d5ab;
}
.gg-topbar .chip-mode-toggle {
  background: #554c33;
  color: #fcc419;
  border: 1px solid #696047;
}
/* legacy element kept for JS compat, hidden */

.table-snapshot-bar {
  background: rgba(16,11,5,0.86);
  border-bottom: 1px solid rgba(201,174,118,0.12);
}
.tsb-item {
  border: 1px solid rgba(201,174,118,0.16);
  background: rgba(42,32,15,0.78);
}
.tsb-item span {
  color: #c9ae76;
}
.tsb-item.is-warn strong {
  color: #ffdd57;
}
.hand-result-card {
  background: linear-gradient(180deg, rgba(42,32,15,0.98), rgba(16,11,5,0.98));
  border: 1px solid rgba(252,196,25,0.55);
  box-shadow: 0 14px 34px rgba(0,0,0,0.55), 0 0 22px rgba(252,196,25,0.12);
}
.hand-result-title {
  background: rgba(252,196,25,0.13);
  border-bottom: 1px solid rgba(252,196,25,0.25);
  color: #fcc419;
}
.hand-result-hand {
  color: #e6d5ab;
}
.hand-result-prize {
  color: #fcc419;
}
.rabbit-toggle {
  border: 1px solid rgba(252,196,25,0.55);
  background: rgba(252,196,25,0.14);
  color: #fcc419;
}
/* Felt — dark navy radial gradient with gold rim */
#felt {
  background:
    radial-gradient(ellipse 88% 50% at 50% 45%, #68591c 0%, #42360f 35%, #28220a 65%, #1a1405 100%);
}
#felt::after {
  border: 2px solid rgba(252,196,25, 0.18);
}
#community.rabbit-board::before {
  background: rgba(24,18,8,0.78);
}
/* Pot display centered below community */
#potDisplay {
  background: rgba(16,11,5,0.52);
}
#potDisplay .pot-tag {
  color: #c9ae76;
}
#potDisplay .pot-amount {
  color: #fcc419;
}
#potDisplay .pot-breakdown {
  color: #e6d5ab;
}
#potDisplay .pot-breakdown .side {
  color: #f5a623;
}
/* CSS-only playing cards (4-color deck) */
.card {
  background: linear-gradient(180deg, #ffffff 0%, #faf3dc 100%);
}
.card.back, .card.hidden-card {
  border: 1.5px solid #fff3bf;
}
.card.back::before, .card.hidden-card::before {
  background-image:
    repeating-linear-gradient(45deg, rgba(255,243,191,0.25) 0 2px, transparent 2px 4px);
}
.holes.is-folded-reveal .card::after {
  background:
    repeating-linear-gradient(45deg, rgba(255,243,191,0.25) 0 2px, transparent 2px 4px),
    linear-gradient(135deg, #7f1d1d 0%, #b91c1c 50%, #7f1d1d 100%);
  border: 1.5px solid #fff3bf;
}
.seat .avatar {
  background: linear-gradient(135deg, #696047 0%, #3b321e 100%);
  border: 2px solid #696047;
  color: #e6d5ab;
}
.seat .name {
  color: #f3e8c8;
}
.seat .chips {
  color: #fcc419;
}
.player-note-btn {
  border: 1px solid rgba(201,174,118,0.32);
  background: rgba(42,32,15,0.9);
  color: #c9ae76;
}
.player-note-btn.has-note {
  border-color: rgba(252,196,25,0.55);
  color: #fcc419;
  background: rgba(252,196,25,0.12);
}
.seat .commit {
  color: #fcc419;
  border: 1px solid rgba(252,196,25,0.45);
}
#seatGhosts .seat-ghost::after {
  background: rgba(42,32,15,0.85);
}
.seat .toact-badge {
  background: linear-gradient(180deg, #06b6d4, #909f0e);
}
.seat .toact-badge.is-warn {
  background: linear-gradient(180deg, #ffd43b, #b45309);
}
.hero-hand-strength {
  border: 1px solid rgba(252,196,25,0.45);
  background: rgba(16,11,5,0.82);
  color: #ffe680;
}
#hero .hero-info {
  background: linear-gradient(135deg, rgba(252,196,25,0.18) 0%, rgba(0,0,0,0.7) 100%);
  border: 1.5px solid #fcc419;
  box-shadow: 0 0 24px rgba(252,196,25,0.3);
}
#hero .hero-info .avatar {
  background: linear-gradient(135deg, #f5a623 0%, #b45309 100%);
}
#hero .hero-info .name {
  color: #fff3bf;
}
#hero .hero-info .chips {
  color: #fcc419;
}
#hero .commit {
  color: #fcc419;
  border: 1px solid rgba(252,196,25,0.5);
}
/* Action panel — GG color-coded */
#actionPanel {
  background: linear-gradient(180deg, #2a200f 0%, #100b05 100%);
  border-top: 1px solid #3b321e;
}
#myStatus {
  color: #e6d5ab;
}
.action-hint {
  background: linear-gradient(180deg, rgba(14,165,233,0.18), rgba(42,32,15,0.78));
}
.action-hint span {
  color: #fff3bf;
}
#btnFold.confirming {
  box-shadow: 0 0 0 3px rgba(245,166,35,0.22), 0 0 18px rgba(245,166,35,0.36);
}
#btnFold.confirming .ab-label,
#btnFold.confirming .ab-amount {
  color: #fff3bf;
}
#btnCheckCall.ab-check {
  background: linear-gradient(180deg, #06b6d4 0%, #909f0e 100%);
}
#btnRaise.ab-raise {
  background: linear-gradient(180deg, #ffd43b 0%, #ca8a04 100%);
  color: #37311f;
}
#btnRaise.ab-raise .ab-label,
#btnRaise.ab-raise .ab-amount {
  color: #37311f;
}
#quickBets button {
  border: 1px solid #554c33;
  color: #e6d5ab;
}
#quickBets button:hover, #quickBets button:active {
  background: rgba(252,196,25,0.12);
  color: #fcc419;
  border-color: #fcc419;
}
/* Slider row with +/- and value display */
.bet-amount-preview {
  border: 1px solid rgba(252,196,25,0.38);
  background: linear-gradient(180deg, rgba(252,196,25,0.16), rgba(42,32,15,0.76));
}
.bet-preview-label {
  color: #fff3bf;
}
.bet-amount-preview strong {
  color: #fcc419;
  text-shadow: 0 2px 10px rgba(252,196,25,0.28);
}
.slider-row .step-btn {
  background: #554c33;
  color: #fcc419;
}
.manual-bet-btn {
  background: #3b321e;
  border: 1px solid #696047;
  color: #fcc419;
}
#raiseSlider input[type="range"] {
  background: #3b321e;
}
#raiseSlider input[type="range"]::-webkit-slider-thumb {
  background: #fcc419;
}
#raiseSlider input[type="range"]::-moz-range-thumb {
  background: #fcc419;
}
.bet-value {
  color: #fcc419;
}
#raiseSlider .raise-confirm {
  background: linear-gradient(180deg, #ffd43b, #ca8a04);
  color: #37311f;
}
#raiseSlider .raise-cancel {
  background: #696047;
}
.end-backdrop {
  background:
    radial-gradient(ellipse at top, rgba(56,189,248,0.18) 0%, rgba(16,11,5,0.0) 50%),
    radial-gradient(ellipse at center, rgba(42,32,15,0.85) 0%, rgba(0,0,0,0.96) 100%);
}
.end-content {
  background: linear-gradient(160deg, #422f14 0%, #221b0a 60%, #100b05 100%);
  border: 1px solid rgba(252,196,25,0.55);
  box-shadow:
    0 20px 60px rgba(252,196,25,0.18),
    0 0 100px rgba(252,196,25,0.10),
    inset 0 0 0 1px rgba(255,255,255,0.04);
}
.end-content.is-winner {
  border-color: rgba(252,196,25,0.85);
  box-shadow:
    0 20px 60px rgba(252,196,25,0.35),
    0 0 100px rgba(252,196,25,0.22),
    inset 0 0 0 1px rgba(255,200,80,0.20);
}
#endTitle {
  color: #ffe680;
  text-shadow: 0 2px 12px rgba(252,196,25,0.55);
}
#endSubtitle {
  color: #e6d5ab;
}
#endSubtitle .prize {
  color: #ffe680;
  text-shadow: 0 0 14px rgba(252,196,25,0.45);
}
#endSubtitle .prize-detail {
  color: #fcc419;
}
.podium-step.rank-1 {
  border-color: rgba(252,196,25,0.55);
  background: linear-gradient(180deg, rgba(252,196,25,0.18), rgba(252,196,25,0.04));
  box-shadow: 0 0 22px rgba(252,196,25,0.30);
}
.podium-step.rank-2 {
  border-color: rgba(230,213,171,0.45);
  background: linear-gradient(180deg, rgba(230,213,171,0.12), rgba(230,213,171,0.02));
}
.podium-step.is-me {
  outline: 2px solid #fcc419;
}
.podium-rank {
  color: #c9ae76;
}
.podium-step.rank-1 .podium-rank {
  color: #fcc419;
}
.podium-step.rank-2 .podium-rank {
  color: #e6d5ab;
}
.podium-name {
  color: #fdf8e7;
}
.podium-prize {
  color: #ffe680;
}
.podium-prize small,
#endStandings .row .prize small {
  color: #fcc419;
}
.podium-step.rank-2 .podium-prize {
  color: #f3e8c8;
}
/* Standings (rank 4+) — compact list below podium */
#endStandings {
  border: 1px solid #3b321e;
}
#endStandings .row {
  color: #c9ae76;
}
#endStandings .row.me {
  color: #fcc419;
}
#endShare {
  color: #322e06;
}
#endClose {
  background: linear-gradient(180deg, #fcc419, #ca8a04);
  color: #37311f;
}
/* ─── 토너먼트 상세 화면 ─── */
.back-btn {
  color: #e6d5ab;
}
#detailHeader {
  background: linear-gradient(180deg, #2a200f 0%, #221b0a 100%);
  border-bottom: 1px solid #3b321e;
}
#detailTitle {
  color: #ffe680;
}
#detailBody .card-block {
  border: 1px solid #3b321e;
}
#detailBody details.card-block summary {
  color: #e6d5ab;
}
#detailSummary .row .lbl {
  color: #c9ae76;
}
#detailSummary .row .val {
  color: #fdf8e7;
}
/* B-6: fallback CTA stays above the safe-area bottom while detail content scrolls.
   When #detailActions is hidden (display:none from JS), no shadow/padding artifact remains. */
#detailActions {
  background: linear-gradient(180deg, #221b0a, #100b05);
  border: 1px solid #3b321e;
}
.btn-primary {
  background: linear-gradient(180deg, #ffd43b, #ca8a04);
  color: #37311f;
}
.btn-secondary {
  background: #554c33;
  color: #f3e8c8;
}
#detailTables .trow {
  border: 1px solid #3b321e;
}
#detailTables .trow.is-mine {
  border-color: rgba(252,196,25,0.50);
  background: linear-gradient(180deg, rgba(252,196,25,0.10), rgba(252,196,25,0.02));
}
#detailTables .trow .num {
  color: #ffe680;
}
#detailTables .trow .meta {
  color: #c9ae76;
}
#detailTables .trow .meta-seats {
  color: #e6d5ab;
}
#detailTables .trow .meta-avg {
  color: #c9ae76;
}
#detailTables .trow .meta-dot {
  color: #696047;
}
#detailTables .trow .seat-btn {
  color: #322e06;
}
#detailTables .trow.is-mine .seat-btn {
  background: linear-gradient(180deg, #ffd43b, #ca8a04);
  color: #37311f;
}
#detailTables .trow .seat-btn:disabled {
  background: #554c33;
  color: #8c7340;
}
.mini-table.is-mine .mt-felt {
  fill: rgba(252,196,25,0.16);
  stroke: rgba(252,196,25,0.65);
}
.mini-table.is-mine .mt-seat.mt-occupied {
  fill: #ffe680;
}
.mini-table .mt-seat.mt-vacant {
  fill: rgba(201,174,118,0.10);
  stroke: rgba(201,174,118,0.40);
}
#actionCountdownFill {
  background: linear-gradient(90deg, #22c55e, #ffd43b 60%, #ef4444);
}
#actionCountdownLabel {
  color: #ffe680;
}
.bust-sub {
  color: #c9ae76;
}
/* ─── Replay embed overlay — 텔레그램 웹뷰 안 리플레이 (세션 쿠키 유지 iframe) ─── */
#replayEmbedOverlay {
  /* bust 모달(1100)·종료 오버레이(1000) 위 */
  background: #100b05;
}
#replayEmbedClose {
  background: rgba(42,32,15,0.85);
  color: #f3e8c8;
  border: 1px solid rgba(201,174,118,0.4);
}
/* ─── Tournament starting countdown ─── */
.starting-overlay {
  background: radial-gradient(ellipse at center, rgba(42,32,15,0.88), rgba(0,0,0,0.96));
}
.starting-card {
  background: linear-gradient(160deg, #422f14 0%, #221b0a 60%, #100b05 100%);
  border: 1px solid rgba(252,196,25,0.55);
}
.starting-title {
  color: #fcc419;
}
.starting-secs {
  color: #fff3bf;
  text-shadow: 0 4px 16px rgba(252,196,25,0.5);
}
.starting-sub {
  color: #c9ae76;
}
.history-card {
  background: linear-gradient(160deg, #422f14 0%, #221b0a 60%, #100b05 100%);
  border: 1px solid rgba(252,196,25,0.55);
}
.history-header {
  border-bottom: 1px solid rgba(252,196,25,0.3);
  color: #fcc419;
}
.history-header button {
  color: #fcc419;
}
.tournament-password-name {
  color: #fdf8e7;
}
.tournament-password-desc {
  color: #c9ae76;
}
.tournament-password-input {
  border: 1px solid rgba(201,174,118,0.28);
  background: rgba(23,13,2,0.62);
  color: #fdf8e7;
}
.tournament-password-input:focus {
  border-color: rgba(252,196,25,0.62);
  box-shadow: 0 0 0 3px rgba(252,196,25,0.14);
}
.tournament-password-actions button {
  border: 1px solid rgba(201,174,118,0.26);
}
.tournament-password-actions #tournamentPasswordConfirm {
  color: #221b0a;
  background: linear-gradient(180deg,#fcc419,#f5a623);
}
.ticket-register-option {
  border: 1px solid rgba(201,174,118,0.20);
  background: rgba(42,32,15,0.72);
}
.ticket-register-option strong {
  color: #fdf8e7;
}
.ticket-register-option small {
  color: #c9ae76;
}
.ticket-register-option b {
  background: rgba(252,196,25,0.14);
  color: #ffe680;
}
/* ── feat-4 PokerCraft-lite (pokercraft-lite.js) — additive, reuses .history-modal ── */
.hpc-launch-btn {
  background: rgba(252,196,25,0.12);
  border: 1px solid rgba(252,196,25,0.45);
  color: #fcc419;
}
.hpc-stat-val {
  color: #fcc419;
}
.hpc-stat-label {
  color: #e6d5ab;
}
.hpc-stat-sub {
  color: #8c7340;
}
.hpc-stats-note {
  color: #8c7340;
}
.hpc-section-title {
  color: #c9ae76;
}
.hpc-empty {
  color: #c9ae76;
}
.hpc-hand-no {
  color: #f3e8c8;
}
.hpc-hand-blinds {
  color: #c9ae76;
}
.hpc-hand-board {
  color: #e6d5ab;
}
.hpc-hole-card {
  border: 1px solid rgba(42,32,15,0.26);
}
.hpc-suit-dark {
  color: #271f11;
}
.hpc-net-even {
  color: #c9ae76;
}
.hpc-badge-fold {
  background: rgba(201,174,118,0.15);
  color: #c9ae76;
}
.hpc-replay-btn {
  background: rgba(252,196,25,0.1);
  border: 1px solid rgba(252,196,25,0.4);
  color: #fcc419;
}
.bp-empty {
  color: #c9ae76;
}
.bp-row-label {
  color: #fcc419;
}
.bp-row-desc {
  color: #e6d5ab;
}
.bp-add-row select, .bp-add-row input {
  background: rgba(42,32,15,0.92);
  border: 1px solid rgba(201,174,118,0.3);
  color: #f3e8c8;
}
.bp-add-btn {
  background: rgba(252,196,25,0.14);
  border: 1px solid rgba(252,196,25,0.45);
  color: #fcc419;
}
.bp-note {
  color: #8c7340;
}
/* 종료 토너 결과 모달 — 헤더 박스 + 순위 행 */
.results-header-box {
  color: #e6d5ab;
}
.results-header-box b {
  color: #fcc419;
}
.res-row.is-winner {
  background: linear-gradient(180deg, rgba(252,196,25,0.10), rgba(180,83,9,0.05));
  border-color: rgba(252,196,25,0.30);
}
.res-pos {
  color: #e6d5ab;
}
.res-row.is-winner .res-pos {
  color: #fcc419;
}
.res-name {
  color: #f3e8c8;
}
.res-prize {
  color: #c9ae76;
}
.res-prize.is-paid {
  color: #fcc419;
}
.res-prize-breakdown {
  color: #f5a623;
}
.res-empty {
  color: #8c7340;
}
.hand-guide-card {
  background: linear-gradient(160deg, #422f14 0%, #221b0a 62%, #100b05 100%);
  border: 1px solid rgba(252,196,25,0.55);
}
.hand-guide-head {
  border-bottom: 1px solid rgba(252,196,25,0.28);
  color: #fcc419;
}
.hand-guide-head button {
  color: #fcc419;
}
.hand-guide-row span {
  color: #c9ae76;
}
.bet-input-card {
  background: linear-gradient(180deg, #2a200f, #100b05);
  border: 1px solid rgba(252,196,25,0.45);
}
.bet-input-head {
  color: #fcc419;
}
.bet-input-head button {
  color: #fcc419;
}
#betInputField {
  border: 1px solid rgba(252,196,25,0.45);
  color: #fcc419;
}
.bet-input-range {
  color: #c9ae76;
}
.bet-keypad button,
.bet-input-actions button {
  border: 1px solid #554c33;
}
.bet-input-actions #betInputApply {
  background: linear-gradient(180deg, #ffd43b, #ca8a04);
  border-color: rgba(252,196,25,0.7);
  color: #37311f;
}
.hist-name {
  color: #fff3bf;
}
.hist-meta {
  color: #c9ae76;
}
.hist-pl {
  color: #e6d5ab;
}
.hist-bounty {
  color: #fcc419;
}
.hist-badge.win {
  background: rgba(252,196,25,0.25);
  color: #ffe680;
  border: 1px solid rgba(252,196,25,0.5);
}
.hist-badge.refund {
  background: rgba(201,174,118,0.18);
  color: #e6d5ab;
  border: 1px solid rgba(201,174,118,0.3);
}
.hist-empty {
  color: #8c7340;
}
/* ─── 블라인드 카운트다운 ─── */
.lvl-countdown {
  color: #afa99c;
}
.lvl-countdown.is-warn {
  color: #fcc419;
}
/* ─── 토너먼트 시계 — GG-style hero clock ─── */
.tourn-clock {
  background: linear-gradient(180deg, #362a0f 0%, #221b0a 100%);
}
.tc-level {
  background: linear-gradient(180deg, rgba(252,196,25,0.16), rgba(252,196,25,0.04));
  border: 1px solid rgba(252,196,25,0.40);
}
.tc-lvl-tag {
  color: #fcc419;
}
.tc-lvl-num {
  color: #ffe680;
}
.tc-blinds-tag {
  color: #c9ae76;
}
.tc-blinds-val {
  color: #fdf8e7;
}
.tc-ante {
  color: #e6d5ab;
  background: rgba(201,174,118,0.14);
  border: 1px solid rgba(201,174,118,0.28);
}
.tc-next-tag {
  color: #c9ae76;
}
.tc-progress {
  background: rgba(201,174,118,0.14);
}
.tc-stats-row {
  color: #c9ae76;
}
.tc-stat-lbl {
  color: #8c7340;
}
.tc-stat-val {
  color: #f3e8c8;
}
.tc-stat.tc-in-money .tc-stat-val {
  color: #ffe680;
}
.tc-stat-sep {
  color: #554c33;
}
/* ─── 칩 리더 ─── */
.muted-count {
  color: #afa99c;
}
.leaders-list .lrow {
  border: 1px solid #3b321e;
}
.leaders-list .lrow.is-me {
  background: linear-gradient(180deg, rgba(252,196,25,0.16), rgba(252,196,25,0.05));
  border-color: rgba(252,196,25,0.50);
  box-shadow: 0 0 0 1px rgba(252,196,25,0.10) inset;
}
.leaders-list .lrow.is-busted .lchips {
  color: #c9ae76;
}
.leaders-list .lrow.is-busted .lrank {
  color: #8c7340;
}
.leaders-list .lrow.is-pending .lrank {
  color: #696047;
}
.leaders-list .lrank {
  color: #c9ae76;
}
.leaders-list .lrank.gold {
  color: #fcc419;
}
.leaders-list .lrank.silver {
  color: #e6d5ab;
}
.leaders-list .lchips {
  color: #ffe680;
}
.leaders-list .ltable {
  color: #8c7340;
  background: rgba(201,174,118,0.10);
  border: 1px solid rgba(201,174,118,0.18);
}
.leaders-list .empty {
  color: #8c7340;
}
/* Pinned hero row (B-3) — surface label + divider above the natural rank list. */
.leaders-list .lrow-pinned-label {
  color: #fcc419;
}
.leaders-list .lrow-divider {
  background: linear-gradient(90deg, transparent, rgba(201,174,118,0.18), transparent);
}
.table-tool-rail.is-open {
  border: 1px solid rgba(201,174,118,0.18);
  background: rgba(16,11,5,0.58);
}
.tool-menu-toggle {
  border: 1px solid rgba(252,196,25,0.45);
  background: rgba(42,32,15,0.88);
  color: #fcc419;
}
.tool-rail-btn,
.chat-toggle-btn,
.hand-history-fab {
  border: 1px solid rgba(201,174,118,0.28);
  background: rgba(42,32,15,0.86);
}
.tool-rail-icon {
  background: rgba(252,196,25,0.18);
  color: #fcc419;
}
.tool-rail-label {
  color: #f3e8c8;
}
.chat-toggle-btn {
  border-color: rgba(252,196,25,0.38);
}
/* ─── 멀티테이블 탭 스트립 (테이블 뷰 최상단) ─── */
.multi-table-strip {
  background: linear-gradient(180deg, #2a200f 0%, #241c0b 100%);
  border-bottom: 1px solid #3b321e;
}
.multi-table-strip::-webkit-scrollbar-thumb {
  background: #3b321e;
}
.mt-tab {
  border: 1px solid #3b321e;
  background: #241c0b;
  color: #e6d5ab;
}
.mt-tab.is-active {
  background: linear-gradient(180deg, #af701e, #8a5e1e);
}
.mt-tab.is-turn {
  border-color: #fcc419;
  color: #ffe680;
}
/* ─── 핸드히스토리 패널 ─── */

.hand-history-panel {
  background: linear-gradient(180deg, #2a200f 0%, #221b0a 100%);
  border-top: 1px solid #3b321e;
}
.hh-header {
  border-bottom: 1px solid #3b321e;
  background: rgba(42,32,15,0.96);
}
.hh-title {
  color: #f3e8c8;
}
.hh-filters {
  border-bottom: 1px solid rgba(59,50,30,0.9);
}
.hh-filters button {
  border: 1px solid rgba(201,174,118,0.26);
  color: #e6d5ab;
}
.hh-filters button.is-active {
  border-color: rgba(252,196,25,0.62);
  background: rgba(252,196,25,0.14);
  color: #fcc419;
}
.hh-close {
  color: #c9ae76;
}
.hh-empty {
  color: #8c7340;
}

/* pw74 — 핸드 기록 B안(미니 쇼다운) + C안(액션 타임라인) */
body.holdem-table-active .hand-history-panel {
  height: min(76dvh, 720px) !important;
  max-width: var(--poker-frame-width, 590px);
  margin-inline: auto;
  border-top: 2px solid #b7832d !important;
  border-radius: 20px 20px 0 0;
  background: linear-gradient(180deg, #2a200f 0%, #160f05 100%) !important;
  box-shadow: 0 -14px 42px rgba(0,0,0,0.64) !important;
  overflow: hidden;
}
body.holdem-table-active .hand-history-panel .hh-header {
  min-height: 52px;
  padding: 12px 18px !important;
  border-bottom-color: rgba(219, 180, 97, 0.22) !important;
  background: linear-gradient(180deg, rgba(51,38,17,0.99), rgba(37,26,10,0.99)) !important;
}
body.holdem-table-active .hand-history-panel .hh-title {
  color: #fff1c8 !important;
  font-size: 16px;
  font-weight: 900;
}
body.holdem-table-active .hand-history-panel .hh-close {
  color: #e0bf76 !important;
  font-size: 28px;
}
body.holdem-table-active .hand-history-panel .hh-filters {
  padding: 10px 14px !important;
  border-bottom-color: rgba(219,180,97,0.18) !important;
  background: rgba(28,19,7,0.72);
}
body.holdem-table-active .hand-history-panel .hh-body {
  padding: 12px 12px calc(24px + env(safe-area-inset-bottom, 0px)) !important;
  background:
    radial-gradient(circle at 50% 0, rgba(151,100,24,0.09), transparent 42%),
    #160f05;
}
.hh-result-card {
  margin-bottom: 12px;
  overflow: hidden;
  border: 1px solid rgba(213,171,78,0.56);
  border-radius: 15px;
  background: linear-gradient(155deg, rgba(54,40,18,0.98), rgba(28,19,7,0.99));
  color: #f7e9c3;
  box-shadow: inset 0 1px rgba(255,255,255,0.05), 0 8px 20px rgba(0,0,0,0.28);
}
.hh-result-card.is-other-table {
  opacity: 0.62;
}
.hh-result-head {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 5px 10px;
  padding: 10px 12px;
  border-bottom: 1px solid rgba(219,180,97,0.18);
  color: #d9c49a;
  font-size: 11px;
  font-weight: 800;
}
.hh-result-head time {
  color: #a99061;
  font-variant-numeric: tabular-nums;
}
.hh-result-head > b {
  grid-column: 1 / -1;
  justify-self: start;
  padding: 5px 11px;
  border-radius: 999px;
  color: #fff8e9;
  font-size: 12px;
  font-weight: 950;
}
.hh-result-head > b.is-win {
  border: 1px solid #4e9a61;
  background: #23613a;
}
.hh-result-head > b.is-loss {
  border: 1px solid #b94a3d;
  background: #872c22;
}
.hh-result-head > b.is-even {
  border: 1px solid #8f7748;
  background: #554425;
}
.hh-result-board {
  padding: 10px 12px 8px;
  text-align: center;
}
.hh-section-label {
  display: block;
  margin-bottom: 7px;
  color: #d6b66d;
  font-size: 10px;
  font-weight: 900;
}
.hh-board-cards,
.hh-player-cards {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}
.hh-result-card .tiny-card {
  width: 38px;
  height: 51px;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(180,139,59,0.5);
  border-radius: 7px;
  background: linear-gradient(180deg, #fffdf7, #efe3c9);
  color: #19130b;
  font-size: 17px;
  font-weight: 950;
  line-height: 0.92;
  box-shadow: 0 3px 7px rgba(0,0,0,0.26);
}
.hh-result-card .tiny-card .tiny-suit {
  margin-top: 2px;
  font-size: 19px;
}
.hh-result-card .tiny-card.ts-hearts,
.hh-result-card .tiny-card.ts-diamonds {
  color: #b32622;
}
.hh-result-card .tiny-card.ts-clubs {
  color: #187348;
}
.hh-result-card .tiny-card.ts-spades {
  color: #171717;
}
.hh-showdown-list {
  margin: 2px 10px 8px;
  overflow: hidden;
  border: 1px solid rgba(194,155,74,0.25);
  border-radius: 11px;
  background: rgba(11,8,3,0.28);
}
.hh-showdown-player {
  min-height: 64px;
  display: grid;
  grid-template-columns: 34px minmax(50px, .7fr) auto minmax(66px, 1fr) auto;
  align-items: center;
  gap: 6px;
  padding: 7px 9px;
  border-bottom: 1px solid rgba(219,180,97,0.13);
}
.hh-showdown-player:last-of-type {
  border-bottom: 0;
}
.hh-showdown-player.is-winner {
  background: linear-gradient(90deg, rgba(185,128,24,0.18), rgba(89,62,12,0.08));
  box-shadow: inset 3px 0 #e2ac3f;
}
.hh-player-avatar {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(225,185,93,0.46);
  border-radius: 50%;
  background: #2e4f7d;
  color: #dbeafe;
  font-size: 15px;
  font-weight: 950;
}
.hh-showdown-player.is-hero .hh-player-avatar {
  background: #f7e5b5;
  color: #62410b;
}
.hh-player-name {
  min-width: 0;
  overflow: hidden;
  color: #f3dfae;
  font-size: 11px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hh-player-cards .tiny-card {
  width: 30px;
  height: 41px;
  border-radius: 5px;
  font-size: 13px;
}
.hh-player-cards .tiny-card .tiny-suit {
  font-size: 14px;
}
.hh-player-cards em,
.hh-board-cards em {
  color: #9e8960;
  font-size: 10px;
  font-style: normal;
}
.hh-player-hand {
  min-width: 0;
  color: #e7d7af;
  font-size: 10px;
  font-weight: 850;
  text-align: right;
}
.hh-winner-badge {
  padding: 4px 6px;
  border: 1px solid #c59028;
  border-radius: 7px;
  color: #ffd866;
  font-size: 9px;
  font-weight: 950;
  white-space: nowrap;
}
.hh-no-showdown,
.hh-more-players {
  padding: 9px;
  color: #9f8c66;
  font-size: 10px;
  text-align: center;
}
.hh-pot-summary {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 8px 12px;
  color: #cdb98e;
  font-size: 11px;
}
.hh-pot-summary strong {
  color: #ffd467;
  font-size: 15px;
}
.hh-detail-toggle {
  width: calc(100% - 20px);
  min-height: 42px;
  margin: 0 10px 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 0;
  border-radius: 10px;
  background: linear-gradient(180deg, #f2bd48, #c9851d);
  color: #362208;
  font-size: 12px;
  font-weight: 950;
}
.hh-detail-toggle i {
  font-size: 17px;
  font-style: normal;
  transition: transform 160ms ease;
}
.hh-detail-toggle.is-open i {
  transform: rotate(180deg);
}
.hh-detail-timeline {
  padding: 0 10px 11px;
  border-top: 1px solid rgba(219,180,97,0.18);
  background: rgba(7,5,2,0.24);
}
.hh-detail-timeline.hidden {
  display: none;
}
.hh-detail-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding: 10px 2px 8px;
}
.hh-detail-title strong {
  color: #f2d995;
  font-size: 12px;
}
.hh-detail-title span {
  color: #8f7b54;
  font-size: 9px;
}
.hh-timeline {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 3px;
  padding-top: 8px;
}
.hh-timeline::before {
  content: "";
  position: absolute;
  left: 10%;
  right: 10%;
  top: 14px;
  height: 2px;
  background: linear-gradient(90deg, #c58b23, #efc85f);
}
.hh-timeline-stage {
  position: relative;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  text-align: center;
}
.hh-timeline-dot {
  position: relative;
  z-index: 1;
  width: 14px;
  height: 14px;
  margin-bottom: 4px;
  border: 3px solid #f7d66f;
  border-radius: 50%;
  background: #9a6418;
  box-shadow: 0 0 0 2px #2a1c08;
}
.hh-timeline-stage strong {
  color: #efd48b;
  font-size: 9px;
}
.hh-timeline-stage > span:not(.hh-timeline-dot) {
  min-height: 26px;
  color: #f2e5c5;
  font-size: 8px;
  line-height: 1.3;
}
.hh-timeline-stage small {
  color: #c9aa66;
  font-size: 8.5px;
  font-weight: 900;
}
.hh-timeline-stage.is-empty {
  opacity: 0.48;
}
.hh-timeline-stage.is-fold .hh-timeline-dot {
  border-color: #ffb0a4;
  background: #a83b30;
}
.hh-timeline-stage.is-fold strong,
.hh-timeline-stage.is-fold small {
  color: #ff9e91;
}
.hh-open-full-record {
  width: 100%;
  min-height: 38px;
  margin-top: 12px;
  border: 1px solid rgba(226,172,63,0.62);
  border-radius: 9px;
  background: rgba(117,76,13,0.32);
  color: #ffe09a;
  font-size: 11px;
  font-weight: 900;
}

/* pw75 — 기본 목록은 핸드 번호·내 카드·손익만, 상세는 요청 시 표시 */
.hh-result-head {
  grid-template-columns: 1fr auto;
  padding: 9px 12px;
  font-size: 12px;
}
.hh-result-head > b {
  grid-column: auto;
  justify-self: end;
  padding: 5px 10px;
  font-variant-numeric: tabular-nums;
}
.hh-compact-hand {
  min-height: 66px;
  display: grid;
  grid-template-columns: 34px minmax(52px, 1fr) auto;
  align-items: center;
  gap: 8px;
  padding: 8px 12px 9px;
}
.hh-compact-hand .hh-player-avatar {
  background: #f7e5b5;
  color: #62410b;
}
.hh-compact-label {
  color: #f3dfae;
  font-size: 12px;
  font-weight: 900;
}
.hh-detail-loading,
.hh-detail-error {
  padding: 18px 8px 10px;
  color: #bda77a;
  font-size: 11px;
  text-align: center;
}
.hh-detail-error {
  color: #ef9b8f;
}
.hh-street-timeline {
  position: relative;
  display: grid;
  gap: 8px;
}
.hh-street-section {
  overflow: hidden;
  border: 1px solid rgba(204,160,68,0.24);
  border-radius: 10px;
  background: rgba(17,11,4,0.5);
}
.hh-street-section > header {
  min-height: 36px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 8px;
  padding: 6px 9px;
  border-bottom: 1px solid rgba(219,180,97,0.13);
  background: rgba(124,83,17,0.15);
}
.hh-street-section > header > strong {
  color: #f0cd75;
  font-size: 11px;
}
.hh-street-section > header > small {
  color: #bca46e;
  font-size: 9px;
  font-weight: 850;
  white-space: nowrap;
}
.hh-street-board {
  display: flex;
  justify-content: center;
  gap: 2px;
}
.hh-street-board .tiny-card,
.hh-result-board-cards .tiny-card {
  width: 22px !important;
  height: 30px !important;
  border-radius: 4px !important;
  font-size: 10px !important;
  box-shadow: 0 2px 4px rgba(0,0,0,0.22) !important;
}
.hh-street-board .tiny-card .tiny-suit,
.hh-result-board-cards .tiny-card .tiny-suit {
  font-size: 10px !important;
}
.hh-action-list {
  padding: 3px 8px 5px;
}
.hh-action-row {
  min-height: 29px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border-bottom: 1px solid rgba(219,180,97,0.09);
  color: #d9c69d;
  font-size: 10px;
}
.hh-action-row:last-child {
  border-bottom: 0;
}
.hh-action-row > strong {
  color: #f2dfae;
  font-size: 10px;
  text-align: right;
}
.hh-action-row.is-fold,
.hh-action-row.is-fold > strong {
  color: #9c8b69;
}
.hh-action-empty {
  padding: 8px 0;
  color: #8f7b54;
  font-size: 9px;
  text-align: center;
}
.hh-hand-result {
  margin-top: 9px;
  overflow: hidden;
  border: 1px solid rgba(214,170,74,0.34);
  border-radius: 11px;
  background: rgba(104,69,13,0.12);
}
.hh-hand-result > header {
  min-height: 39px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 6px 9px;
  color: #f0d58f;
  font-size: 11px;
}
.hh-result-board-cards {
  display: flex;
  gap: 2px;
}
.hh-hand-result .hh-showdown-list {
  margin: 0 8px 6px;
}
.hh-hand-result.is-fold-result {
  padding: 13px 12px 9px;
  text-align: center;
}
.hh-hand-result.is-fold-result > strong {
  display: block;
  color: #efce7d;
  font-size: 13px;
}
.hh-hand-result.is-fold-result > span {
  display: block;
  margin-top: 4px;
  color: #a99569;
  font-size: 9px;
}
.hh-detail-pot {
  padding: 7px 10px 9px;
  color: #baa476;
  font-size: 10px;
  text-align: right;
}
.hh-detail-pot b {
  color: #ffd467;
}
@media (max-width: 370px) {
  .hh-result-card .tiny-card {
    width: 34px;
    height: 47px;
  }
  .hh-showdown-player {
    grid-template-columns: 30px minmax(44px, .65fr) auto minmax(58px, 1fr);
  }
  .hh-winner-badge {
    display: none;
  }
}
.chat-unread-badge {
  border: 2px solid #100b05;
}
.player-note-card,
.table-settings-card {
  background: linear-gradient(180deg, #322711, #140f07);
  border: 1px solid rgba(252,196,25,0.48);
}
.player-note-head,
.table-settings-head {
  color: #fcc419;
  border-bottom: 1px solid rgba(252,196,25,0.22);
}
.player-note-head button,
.table-settings-head button {
  color: #fcc419;
}
.player-note-field span,
.setting-row span {
  color: #c9ae76;
}
.player-note-field select,
.player-note-field textarea {
  border: 1px solid rgba(201,174,118,0.28);
}
.player-note-actions button {
  border: 1px solid rgba(201,174,118,0.26);
  color: #e6d5ab;
}
#playerNoteSave {
  border-color: rgba(252,196,25,0.66);
  background: linear-gradient(180deg, #ffd43b, #ca8a04);
  color: #37311f;
}
.myinfo-card,
.ticket-detail-card {
  border: 1px solid rgba(252,196,25,0.42);
  background: linear-gradient(180deg, #322711 0%, #1e1707 50%, #120c03 100%);
}
.myinfo-head,
.ticket-detail-head {
  border-bottom: 1px solid rgba(252,196,25,0.20);
  color: #fcc419;
}
.myinfo-head button,
.ticket-detail-head button {
  color: #fcc419;
}
.myinfo-loading,
.myinfo-empty {
  color: #c9ae76;
}
.myinfo-avatar .avatar,
.myinfo-avatar-fallback {
  border: 2px solid rgba(252,196,25,0.58);
  background: linear-gradient(135deg, #696047 0%, #271f11 100%);
  color: #fdf8e7;
}
.myinfo-name {
  color: #fdf8e7;
}
.myinfo-id-row {
  color: #c9ae76;
}
.myinfo-copy-btn {
  border: 1px solid rgba(201,174,118,0.26);
  color: #e6d5ab;
}
.myinfo-primary {
  border: 1px solid rgba(252,196,25,0.62);
  background: linear-gradient(180deg, #ffd43b, #ca8a04);
  color: #332917;
}
.myinfo-secondary,
.myinfo-convert-btn {
  border: 1px solid rgba(201,174,118,0.28);
  background: rgba(42,32,15,0.78);
}
.myinfo-stat {
  border: 1px solid rgba(201,174,118,0.16);
  background: rgba(42,32,15,0.68);
}
.myinfo-stat span {
  color: #c9ae76;
}
.myinfo-stat strong {
  color: #fdf8e7;
}
.myinfo-section {
  border: 1px solid rgba(201,174,118,0.14);
  background: rgba(23,13,2,0.48);
}
.myinfo-section h3 {
  color: #ffe680;
}
.myinfo-section-note,
.myinfo-nick-message {
  color: #c9ae76;
}
.myinfo-nick-grid input,
.myinfo-convert-grid select,
.myinfo-convert-grid input {
  border: 1px solid rgba(201,174,118,0.25);
  color: #fdf8e7;
}
.myinfo-nick-grid input:focus {
  border-color: rgba(252,196,25,0.58);
}
.myinfo-ticket-box {
  background: linear-gradient(180deg, rgba(42,32,15,0.90), rgba(23,13,2,0.70));
}
.myinfo-ticket-box-head span {
  color: #ffe680;
}
.myinfo-ticket-box-head strong {
  color: #fdf8e7;
}
.myinfo-ticket-chip {
  border: 1px solid rgba(201,174,118,0.16);
  color: #e6d5ab;
}
.myinfo-ticket-chip.is-active {
  border-color: rgba(252,196,25,0.62);
  background: linear-gradient(180deg, rgba(252,196,25,0.22), rgba(180,83,9,0.14));
  color: #ffe680;
  box-shadow: inset 0 0 0 1px rgba(252,196,25,0.10);
}
.myinfo-ticket-empty {
  border: 1px dashed rgba(201,174,118,0.20);
  background: rgba(42,32,15,0.42);
  color: #f3e8c8;
}
.myinfo-ticket-empty small {
  color: #c9ae76;
}
.myinfo-ledger-row,
.myinfo-ticket-row {
  border: 1px solid rgba(201,174,118,0.13);
  background: rgba(42,32,15,0.60);
}
.myinfo-ledger-row small,
.myinfo-ticket-row small,
.ticket-detail-row span {
  color: #c9ae76;
}
.myinfo-ticket-row strong {
  color: #fdf8e7;
}
.myinfo-ticket-row em {
  background: rgba(252,196,25,0.12);
  color: #ffe680;
}
.myinfo-ticket-row.is-soon {
  border-color: rgba(252,196,25,0.32);
}
.myinfo-ticket-conditions b {
  border: 1px solid rgba(201,174,118,0.15);
  color: #e6d5ab;
}
.trophy-item {
  border: 1px solid rgba(252,196,25,0.18);
  background: radial-gradient(circle at 50% 20%, rgba(252,196,25,0.14), rgba(42,32,15,0.72) 62%);
}
.trophy-item img {
  filter: drop-shadow(0 0 12px rgba(252,196,25,0.18));
}
.trophy-item strong {
  color: #ffe680;
}
.trophy-item span {
  color: #e6d5ab;
}
.trophy-empty {
  border: 1px dashed rgba(201,174,118,0.20);
  background: rgba(42,32,15,0.42);
  color: #c9ae76;
}
.myinfo-ticket-meta {
  color: #8c7340 !important;
}
.myinfo-exchange-row input {
  border: 1px solid rgba(201,174,118,0.25);
  color: #fdf8e7;
}
.myinfo-exchange-row input:focus {
  border-color: rgba(255,212,59,0.55);
}
.myinfo-exchange-quick button {
  border: 1px solid rgba(201,174,118,0.25);
  color: #e6d5ab;
}
.myinfo-exchange-quick button:active {
  background: rgba(255,212,59,0.16);
}
.myinfo-exchange-preview {
  border: 1px solid rgba(255,212,59,0.25);
  background: rgba(255,212,59,0.07);
  color: #ffe680;
}
.ticket-detail-row {
  border-bottom: 1px solid rgba(201,174,118,0.12);
}
.ticket-detail-row strong {
  color: #fdf8e7;
}
.player-profile-card {
  background:
    linear-gradient(145deg, rgba(42,32,15,0.98), rgba(23,13,2,0.98) 58%, rgba(24,19,3,0.98)),
    #120c03;
}
.player-profile-head {
  border-bottom: 1px solid rgba(201,174,118,0.18);
}
.player-profile-avatar .avatar {
  background: linear-gradient(135deg, #696047 0%, #3b321e 100%);
}
.player-profile-summary strong {
  color: #fdf8e7;
}
.player-profile-summary span {
  color: #c9ae76;
}
.player-profile-photo-btn {
  background: linear-gradient(180deg, rgba(178,201,8,0.95), rgba(144,159,14,0.95));
}
.player-profile-upload-btn {
  border-color: rgba(201,174,118,0.28);
  background: rgba(42,32,15,0.92);
}
/* feat-4 4-3: opponent memo trigger in the profile sheet (full-width row). */
.player-profile-note-btn {
  border: 1px solid rgba(252,196,25,0.5);
  background: rgba(252,196,25,0.12);
  color: #fcc419;
}
.player-profile-tabs button {
  border: 1px solid rgba(201,174,118,0.2);
  color: #e6d5ab;
}
.player-profile-row {
  border: 1px solid rgba(201,174,118,0.14);
  background: rgba(42,32,15,0.68);
}
.player-profile-row span {
  color: #c9ae76;
}
.player-profile-row strong {
  color: #fdf8e7;
}
.pp-section {
  border: 1px solid rgba(201,174,118,0.16);
  background: linear-gradient(180deg, rgba(42,32,15,0.72), rgba(23,13,2,0.58));
}
.pp-section-head strong {
  color: #fdf8e7;
}
.pp-section-head span {
  color: #c9ae76;
}
.pp-refresh {
  border: 1px solid rgba(201,174,118,0.2);
  background: rgba(42,32,15,0.78);
}
.pp-hud-gauge.pp-tone-orange {
  --pp-tone: #f5a623;
}
.pp-gauge-ring {
  background:
    radial-gradient(circle at center, #2a200f 0 52%, transparent 53%),
    conic-gradient(var(--pp-tone) calc(var(--profile-pct) * 1%), rgba(85,76,51,0.72) 0);
  box-shadow: inset 0 0 0 1px rgba(201,174,118,0.08);
}
.pp-hud-gauge.is-empty .pp-gauge-ring {
  background:
    radial-gradient(circle at center, #2a200f 0 52%, transparent 53%),
    conic-gradient(rgba(105,96,71,0.45) 100%, rgba(85,76,51,0.72) 0);
}
.pp-gauge-ring span {
  color: #fdf8e7;
}
.pp-hud-gauge strong {
  color: #e6d5ab;
}
.pp-hud-gauge em {
  color: #c9ae76;
}
.pp-street-card {
  background: rgba(42,32,15,0.72);
}
.pp-street-card > strong {
  color: #fdf8e7;
}
.pp-bar-row.pp-tone-orange {
  --pp-bar: #f5a623;
}
.pp-bar-row span,
.pp-bar-row strong {
  color: #e6d5ab;
}
.pp-bar-row strong {
  color: #fdf8e7;
}
.pp-bar-track {
  background: rgba(85,76,51,0.72);
}
.pp-performance-grid div {
  background: rgba(42,32,15,0.72);
}
.pp-performance-grid span {
  color: #c9ae76;
}
.pp-performance-grid strong {
  color: #fcc419;
}
.pp-mode-filter {
  border: 1px solid rgba(201,174,118,0.12);
  background: rgba(42,32,15,0.72);
}
.pp-mode-filter span {
  color: #c9ae76;
}
.pp-graph {
  background: rgba(42,32,15,0.72);
}
.pp-graph line {
  stroke: rgba(201,174,118,0.24);
}
.pp-graph circle {
  stroke: #af701e;
}
.pp-graph-labels span {
  color: #c9ae76;
}
.pp-win-total,
.pp-win-row {
  background: rgba(42,32,15,0.72);
}
.pp-win-total,
.pp-win-row span {
  color: #e6d5ab;
}
.pp-win-row strong {
  color: #fcc419;
}
.pp-empty,
.pp-loading,
.pp-error {
  border: 1px dashed rgba(201,174,118,0.22);
  color: #c9ae76;
}
.avatar-picker-sheet {
  color: #fdf8e7;
}
.avatar-picker-head strong {
  color: #fdf8e7;
}
.avatar-option {
  color: #afa99c;
}
.avatar-option-name {
  color: #afa99c;
}
.setting-row span {
  color: #f3e8c8;
}
.setting-row input {
  accent-color: #fcc419;
}
/* Feature 1: volume slider — opt out of the 42px checkbox sizing above. */
.setting-row-range input[type="range"] {
  accent-color: #fcc419;
}
.setting-row-select select {
  border: 1px solid rgba(252,196,25,0.42);
  background: linear-gradient(180deg, rgba(42,32,15,0.98), rgba(23,13,2,0.98));
  color: #fdf8e7;
  accent-color: #fcc419;
}
.chat-panel {
  background: linear-gradient(180deg, #2a200f 0%, #221b0a 100%);
  border-top: 1px solid #3b321e;
}
.chat-panel-title {
  color: #ffe680;
}
.chat-panel-close {
  color: #e6d5ab;
}
.chat-panel-msgs .msg .nick {
  color: #ffe680;
}
.chat-panel-msgs .msg.is-system {
  color: #afa99c;
}
.chat-panel-msgs .empty {
  color: #8c7340;
}
.chat-panel-form input {
  color: #f3e8c8;
  border: 1px solid #3b321e;
}
.chat-panel-form input:focus {
  border-color: rgba(252,196,25,0.5);
}
.chat-panel-form button {
  background: linear-gradient(180deg, #ffd43b, #ca8a04);
  color: #37311f;
}
.raise-presets .preset {
  background: rgba(252,196,25, 0.14);
  color: #ffe680;
  border: 1px solid rgba(252,196,25, 0.32);
}
.raise-presets .preset.is-selected {
  background: rgba(252,196,25, 0.32);
  border-color: #fcc419;
}
.chip-mode-toggle {
  background: rgba(252,196,25,0.18);
  color: #ffe680;
  border: 1px solid rgba(252,196,25,0.4);
}
#preActions label {
  border: 1px solid #554c33;
  color: #e6d5ab;
}
#preActions label:has(input:checked),
#preActions label.pa-on {
  background: rgba(252,196,25,0.18);
  border-color: #fcc419;
  color: #fcc419;
  box-shadow: 0 0 12px rgba(252,196,25,0.3) inset;
}
/* Hand rank badge — shown above hero with current best hand */
.hand-rank-badge {
  background: linear-gradient(135deg, rgba(252,196,25,0.95) 0%, rgba(245,166,35,0.95) 100%);
  color: #37311f;
  box-shadow: 0 2px 10px rgba(252,196,25,0.5);
}
/* Showdown 결과 — 슬림 한 줄 배너. felt 안쪽 최상단(seats 시작 위치 위)
   에 띄워서 community cards / seats 어디도 가리지 않음. 쇼다운 참가자
   홀카드는 felt 자체에 그대로 표시되므로 팝업에 카드 row 없음. */
.hand-rank-popup {
  background: linear-gradient(135deg, rgba(252,196,25,0.94) 0%, rgba(245,166,35,0.94) 100%);
  color: #37311f;
  box-shadow: 0 4px 14px rgba(252,196,25,0.55);
}
/* Winning seat glow — applied for ~3.5s after hand_over so observers see
   which seats scooped (works for fold-walk wins too, where no hand rank
   is shown). Pulses gold around the avatar ring. */
.seat.is-winner .avatar-wrap,
#hero.is-winner .avatar-wrap {
  box-shadow: 0 0 0 3px #fcc419, 0 0 24px rgba(252,196,25,0.7);
}
@media (prefers-reduced-motion: reduce) {
  .seat.is-winner .avatar-wrap,
  #hero.is-winner .avatar-wrap {
    box-shadow: 0 0 0 4px #fcc419, 0 0 24px rgba(252,196,25,0.8);
  }
}
/* Made-hand highlight — the 5 cards forming the winning hand (board +
   winner hole cards) get a gold lift while the result is held. Non-made
   cards are dimmed so the made hand reads at a glance, like the big sites. */
#felt .card.hl-made {
  box-shadow: 0 0 0 2px #fcc419, 0 0 14px rgba(252,196,25,0.85);
}
/* All-in equity badge — small win% chip during the board run-out sweat.
   Anchored to table-surface bet-chip coordinates, never profile/card space. */
.equity-badge {
  background: linear-gradient(180deg, #1d4ed8, #8a5e1e);
}
/* Flying chip — animated bet→pot transfer. Spawned via JS as a fixed-position
   div, transitions transform+opacity to fly from seat origin to pot center. */
.flying-chip {
  background: linear-gradient(135deg, #fcc419 0%, #f5a623 100%);
  color: #37311f;
}
/* ─── Phase 2: detail-view tabs (Structure / Payouts / Players / Tables) ─── */
.detail-tabs {
  background: rgba(42,32,15,0.6);
}
.detail-tab {
  color: #c9ae76;
}
.detail-tab:hover {
  color: #e6d5ab;
}
.detail-tab.active {
  background: linear-gradient(180deg, rgba(252,196,25,0.22) 0%, rgba(245,166,35,0.12) 100%);
  color: #fcc419;
  box-shadow: 0 0 0 1px rgba(252,196,25,0.45), inset 0 1px 0 rgba(255,255,255,0.08);
}
.structure-help {
  background: linear-gradient(180deg, rgba(42,32,15,0.88), rgba(24,18,8,0.88));
  border: 1px solid rgba(201,174,118,0.18);
  color: #e6d5ab;
}
.structure-help-title {
  color: #fcc419;
}
.structure-help-grid span {
  color: #c9ae76;
}
/* ─── Tournament detail redesign v1 ─────────────────────────────────────── */
body.holdem-detail-active {
  background:
    radial-gradient(ellipse 110% 42% at 50% -8%, rgba(128,103,40, 0.22), transparent 58%),
    linear-gradient(180deg, #140e05 0%, #1f1907 48%, #110b03 100%) !important;
}
body.holdem-detail-active #detailHeader {
  background:
    linear-gradient(180deg, rgba(18,12,3, 0.96), rgba(18,12,3, 0.72) 76%, rgba(18,12,3, 0));
}
body.holdem-detail-active #detailTitle {
  color: #fdf8e7;
}
.detail-tags span {
  background: linear-gradient(180deg, rgba(153,116,28, 0.44), rgba(96,71,13, 0.54));
}
#detailBody #detailSummary.td-summary-banner {
  background:
    radial-gradient(circle at 50% 48%, rgba(255,212,59, 0.16), transparent 32%),
    linear-gradient(135deg, rgba(46,36,16, 0.98), rgba(34,26,8, 0.98) 52%, rgba(19,14,4, 0.98));
}
.td-brand-123game {
  background:
    radial-gradient(circle at 50% 35%, rgba(255, 244, 183, 0.18), transparent 46%),
    linear-gradient(180deg, rgba(95, 65, 13, 0.24), rgba(26,19,6, 0.18));
}
.td-brand-123game::before,
.td-brand-123game::after {
  background: linear-gradient(90deg, transparent, rgba(255,212,59, 0.78), transparent);
  box-shadow: 0 0 16px rgba(255,212,59, 0.2);
}
.td-brand-123game strong,
.td-brand-123game span {
  background: linear-gradient(180deg, #fff7c2 0%, #ffd43b 30%, #b9770e 68%, #fff0a3 100%);
  text-shadow:
    0 1px 0 rgba(255, 249, 196, 0.5),
    0 8px 18px rgba(0, 0, 0, 0.46),
    0 0 20px rgba(255,212,59, 0.2);
}
.td-brand-123game i {
  border: 1px solid rgba(255,212,59, 0.7);
  box-shadow:
    9px -3px 0 -1px rgba(210, 139, 18, 0.92),
    15px 1px 0 -2px rgba(255,212,59, 0.75);
}
.td-brand-123game em {
  box-shadow:
    12px 18px 0 -1px rgba(255,212,59, 0.9),
    -92px 8px 0 -1px rgba(255,212,59, 0.68);
}
body.holdem-detail-active .detail-tabs {
  border: 1px solid rgba(140,115,64, 0.22);
  background: rgba(34,26,8, 0.86);
}
body.holdem-detail-active .detail-tab {
  border-right: 1px solid rgba(201,174,118, 0.09);
  color: #c9ae76;
}
.td-core-card,
.td-info-card,
.td-accordion {
  border: 1px solid rgba(201,174,118, 0.22);
  background:
    radial-gradient(ellipse at 50% 0%, rgba(119,98,42, 0.28), transparent 58%),
    linear-gradient(180deg, rgba(43,34,12, 0.96), rgba(26,20,5, 0.98));
}
.td-core-top {
  border-bottom: 1px solid rgba(201,174,118, 0.18);
}
.td-core-bottom {
  border-top: 1px solid rgba(201,174,118, 0.18);
}
.td-metric {
  border-right: 1px solid rgba(201,174,118, 0.18);
}
.td-metric strong,
.td-info-row strong {
  color: #fdf8e7;
}
.td-core-top .td-metric strong {
  color: #fdf8e7;
}
.td-stack-display.is-empty {
  color: #fdf8e7;
}
.td-stack-display__main {
  color: #fdf8e7;
}
.td-stack-display__sub {
  color: #e6d5ab;
}
.td-timer-ring {
  background: conic-gradient(#f8c63f var(--td-progress), rgba(201,174,118, 0.2) 0);
}
.td-timer-ring::before {
  background: linear-gradient(180deg, #251d0a, #1f1806);
}
.td-timer-ring strong {
  color: #fdf8e7;
}
.td-section-title small {
  border: 1px solid rgba(230,213,171, 0.45);
  color: #e6d5ab;
}
.td-accordion-list {
  border: 1px solid rgba(201,174,118, 0.22);
}
.td-accordion {
  background: rgba(34,26,8, 0.88);
}
.td-accordion summary em {
  border-right: 2px solid #c9ae76;
  border-bottom: 2px solid #c9ae76;
}
.td-prize-row,
.td-blind-row {
  border: 1px solid rgba(201,174,118, 0.16);
  background: rgba(42,32,15, 0.56);
}
.td-prize-row strong,
.td-blind-row strong {
  color: #fdf8e7;
}
.td-prize-row em,
.td-blind-row em {
  color: #bbb193;
}
.prize-pool-split div {
  border: 1px solid rgba(252,196,25, 0.22);
  background: linear-gradient(180deg, rgba(252,196,25, 0.12), rgba(42,32,15, 0.42));
}
.prize-pool-split strong {
  color: #fdf8e7;
}
.prl-row {
  border: 1px solid #3b321e;
}
.prl-row.rank-1 {
  background: linear-gradient(180deg, rgba(252,196,25,0.16), rgba(252,196,25,0.04));
  border-color: rgba(252,196,25,0.55);
}
.prl-row.rank-2 {
  background: linear-gradient(180deg, rgba(230,213,171,0.10), rgba(230,213,171,0.02));
  border-color: rgba(230,213,171,0.40);
}
.prl-rank-num {
  background: #554c33;
  color: #e6d5ab;
}
.prl-rank-label {
  color: #c9ae76;
}
.prl-row.rank-1 .prl-rank-label {
  color: #fcc419;
}
.prl-row.rank-2 .prl-rank-label {
  color: #e6d5ab;
}
.prl-bar-fill {
  background: linear-gradient(90deg, #696047, #554c33);
}
.prl-row.rank-1 .prl-bar-fill {
  background: linear-gradient(90deg, #ffd43b, #ca8a04);
}
.prl-row.rank-2 .prl-bar-fill {
  background: linear-gradient(90deg, #f3e8c8, #c9ae76);
}
.prl-amount {
  color: #fdf8e7;
}
.prl-row.rank-1 .prl-amount {
  color: #ffe680;
}
.prl-pct {
  color: #8c7340;
}
.prl-row.rank-1 .prl-pct {
  color: #fcc419;
}
/* Phase A-7: floating dealer (D) button. Single element absolutely positioned
   inside #felt — JS sets `style.left` / `style.top` (in %) to the current
   dealer seat's coordinates each render. CSS transition handles the smooth
   slide between seats when dealer rotates between hands. */
#dealerBtn {
  background: radial-gradient(circle at 30% 30%, #fff3bf 0%, #f5a623 50%, #b45309 100%);
}
/* Sound toggle reuses chip-mode-toggle styling but with a different active
   state (muted = dimmed). */
#soundToggle.is-muted {
  color: #c9ae76;
}
/* Hand list (B-5) — shown in the "핸드" detail tab. Each row links to
   the replayer page. Card-style layout: top meta row, community preview, bottom action row. */
.hands-list .hand-row {
  background: linear-gradient(180deg, #302513 0%, #241b0d 100%);
  border: 1px solid #3b321e;
}
.hands-list .h-num {
  color: #ffe680;
}
.hands-list .h-blinds {
  color: #e6d5ab;
}
.hands-list .h-time {
  color: #8c7340;
}
.hands-list .h-cards > span:first-child { color: #9d7b3f; }
.hands-list .h-cards em { color: #806736; }
.hands-list .h-result-line {
  background: rgba(10,7,3,.34);
  border: 1px solid rgba(201,174,118,.12);
}
.hands-list .h-result-line .is-win { color: #ffd43b; }
.hands-list .h-result-line .is-loss { color: #ff8f83; }
.hands-list .h-result-line .is-even { color: #e6d5ab; }
.hands-list .tiny-card {
  background: #fdf8e7;
  color: #3b321e;
}
.hands-list .tiny-card.ts-spades {
  color: #3b321e;
}
.hands-list .h-pot-label {
  color: #8c7340;
}
.hands-list .h-pot {
  color: #fcc419;
}
.hands-list .h-replay,
.hands-list .h-image {
  background: linear-gradient(180deg, #ffd43b, #ca8a04);
  color: #37311f;
}
.hands-list .h-image {
  background: linear-gradient(180deg, #ffd43b, #ca8a04);
  color: #37311f;
  border: 0;
}
.hands-list .h-replay {
  background: rgba(42,32,15,0.94);
  color: #e6d5ab;
  border: 1px solid rgba(201,174,118,0.30);
}
.hands-list .empty {
  color: #8c7340;
}
.hands-list .hand-list-more {
  color: #e6d5ab;
}
.hands-list .hand-list-more:hover {
  background: rgba(252,196,25,0.1);
  color: #fcc419;
  border-color: rgba(252,196,25,0.4);
}
body.holdem-table-active.holdem-final-table-bg {
  background:
    radial-gradient(ellipse 76% 34% at 50% 2%, rgba(238,178,70,0.14), transparent 44%),
    radial-gradient(ellipse 115% 70% at 50% 46%, rgba(92,34,73,0.28), transparent 64%),
    linear-gradient(180deg, #0b0712 0%, #170c18 45%, #080608 100%);
}
body.holdem-table-active.holdem-final-table-bg #felt {
  background:
    radial-gradient(ellipse 72% 32% at 50% 9%, rgba(255,207,102,0.13), transparent 42%),
    radial-gradient(ellipse 86% 58% at 50% 43%, rgba(145,56,117,0.32), transparent 58%),
    radial-gradient(ellipse 105% 66% at 50% 78%, rgba(116,23,36,0.16), transparent 64%),
    linear-gradient(180deg, #160b1e 0%, #24102b 46%, #09070b 100%);
}
body.holdem-table-active.holdem-final-table-bg #felt::before {
  background:
    radial-gradient(ellipse at 50% 38%, rgba(168,84,191,0.19), transparent 36%),
    radial-gradient(ellipse at 50% 72%, rgba(178,51,54,0.11), transparent 50%),
    linear-gradient(180deg, rgba(74,46,59,0.95), rgba(48,32,37,0.98));
}
body.holdem-table-active .seat .avatar {
  background:
    radial-gradient(circle at 34% 28%, rgba(255,255,255,0.24), transparent 22%),
    linear-gradient(145deg, #b94d47, #806c25);
  color: #fdf8e7;
}
body.holdem-table-active #potDisplay .pot-amount::before {
  background: radial-gradient(circle at 35% 25%, #8ec7ff 0 18%, #1f89f7 35%, #986f06 100%);
}
body.holdem-table-active .break-overlay {
  border: 1px solid rgba(252,196,25,0.55);
  background:
    linear-gradient(180deg, rgba(42,36,20, 0.94), rgba(24,19,7, 0.92));
  color: #fdf8e7;
}
body.holdem-table-active .break-overlay-label {
  color: #fcc419;
}
body.holdem-table-active .break-overlay.is-pending .break-overlay-label {
  color: #f3e8c8;
}
body.holdem-table-active .seat .avatar,
body.holdem-table-active .seat .lavatar {
  background:
    radial-gradient(circle at 34% 26%, rgba(255,255,255,0.22), transparent 24%),
    linear-gradient(145deg, #604832 0%, #756d2e 100%) !important;
}
body.holdem-table-active .player-note-btn {
  background: rgba(59,43,18, 0.9);
}
body.holdem-table-active .wait-badge {
  background: linear-gradient(180deg, #b8b087, #736b4c);
}
body.holdem-table-active #quickBets .preset {
  border: 1px solid rgba(181,154,94, 0.54);
  background: linear-gradient(180deg, #574e38, #221e17);
}
body.holdem-table-active .seat .avatar,
body.holdem-table-active .seat .lavatar,
body.holdem-table-active #hero .hero-info .avatar,
body.holdem-table-active #hero .hero-info .lavatar {
  background:
    radial-gradient(circle at 35% 25%, rgba(255,255,255,0.26), transparent 22%),
    radial-gradient(circle at 52% 50%, hsla(var(--avatar-hue, 205), 48%, 48%, 0.9), hsla(var(--avatar-hue, 205), 52%, 22%, 0.98) 72%),
    linear-gradient(145deg, #5a5135, #171717) !important;
}
body.holdem-table-active .blind-role {
  color: #1c1706;
}
body.holdem-table-active #hero .hero-nameplate {
  background:
    linear-gradient(180deg, rgba(67,61,42, 0.96), rgba(27,23,16, 0.97)) !important;
}
/* 2026-05-28 targeted v14: tournament info trigger + bottom sheet. */
body.holdem-table-active .tournament-info-trigger {
  border: 1px solid rgba(245,166,35, 0.58);
}
.tournament-info-trigger strong {
  color: #ffd43b;
}
.tis-panel {
  color: #fdf8e7;
  border: 1px solid rgba(201,174,118, 0.18);
}
.tis-header {
  border-bottom: 1px solid rgba(201,174,118, 0.16);
}
.tis-meta {
  color: #c9ae76;
}
.tis-close {
  color: #fdf8e7;
}
.tis-tabs {
  border-bottom: 1px solid rgba(201,174,118, 0.18);
}
.tis-state {
  color: #c9ae76;
}
.tis-info-strip {
  border-bottom: 1px solid rgba(201,174,118, 0.16);
}
.tis-info-strip > div {
  color: #e6d5ab;
}
.tis-level-hero {
  background:
    linear-gradient(90deg, transparent, rgba(201,174,118, 0.08), transparent),
    #090909;
  border-bottom: 1px solid rgba(201,174,118, 0.16);
}
.tis-level-sub {
  color: #c9ae76;
}
.tis-my-grid {
  border-bottom: 1px solid rgba(201,174,118, 0.16);
}
.tis-my-grid span,
.tis-kv span {
  color: #c9ae76;
}
.tis-my-grid strong {
  color: #fdf8e7;
}
.tis-my-grid strong.is-gold,
.tis-kv strong.is-gold {
  color: #ffd43b;
}
.tis-section {
  border-bottom: 1px solid rgba(201,174,118, 0.16);
}
.tis-kv strong {
  color: #fdf8e7;
}
.tis-prize-card {
  border-bottom: 1px solid rgba(201,174,118, 0.16);
}
.tis-prize-card span {
  color: #e6d5ab;
}
.tis-prize-card strong {
  color: #fdf8e7;
}
.tis-prize-split div {
  border: 1px solid rgba(252,196,25, 0.2);
  background: rgba(42,32,15, 0.72);
}
.tis-prize-split span {
  color: #c9ae76;
}
.tis-prize-split strong {
  color: #fdf8e7;
}
.tis-reward-block {
  border: 1px solid rgba(201,174,118, 0.12);
}
.tis-reward-block span {
  color: #c9ae76;
}
.tis-reward-block strong {
  color: #fdf8e7;
}
.tis-table th,
.tis-table td {
  border-bottom: 1px solid rgba(201,174,118, 0.17);
}
.tis-table th {
  color: #e6d5ab;
}
.tis-table .rank {
  color: #fdf8e7;
}
.tis-table tr.is-hero td,
.tis-table tr.is-current td {
  color: #ffd43b;
  background: rgba(255,212,59, 0.08);
}
.tis-table tr.is-note td {
  color: #e6d5ab;
}
.tis-table-caption {
  color: #ffd43b;
}
.tis-medal {
  color: #271f11;
}
.tis-medal.rank-1 {
  background: #ffd43b;
}
.tis-medal.rank-2 {
  background: #e6d5ab;
}
@media (min-width: 720px) {
  .tis-panel {
    border-bottom: 1px solid rgba(201,174,118, 0.18);
  }
}
body.holdem-table-active #potDisplay .pot-amount::before {
  background: radial-gradient(circle at 35% 25%, #8ec7ff 0 18%, #1f89f7 35%, #986f06 100%);
}
body.holdem-table-active .seat .avatar,
body.holdem-table-active .seat .lavatar,
body.holdem-table-active #hero .hero-info .avatar,
body.holdem-table-active #hero .hero-info .lavatar {
  background: radial-gradient(circle at 35% 25%, rgba(255,255,255,0.26), transparent 22%), radial-gradient(circle at 52% 50%, hsla(var(--avatar-hue, 205), 48%, 48%, 0.9), hsla(var(--avatar-hue, 205), 52%, 22%, 0.98) 72%), linear-gradient(145deg, #5a5135, #171717) !important;
}
body.holdem-table-active .wait-badge {
  background: linear-gradient(180deg, #b8b087, #736b4c) !important;
}
body.holdem-table-active .blind-role {
  color: #1c1706 !important;
}
body.holdem-table-active #hero .hero-nameplate {
  background: linear-gradient(180deg, rgba(67,61,42,0.96), rgba(27,23,16,0.97)) !important;
}
body.holdem-table-active #hero .hero-info > .name {
  background: linear-gradient(180deg, rgba(67,61,42,0.96), rgba(27,23,16,0.97)) !important;
}
body.holdem-table-active #hero .hero-info > .chips {
  background: linear-gradient(180deg, rgba(27,23,16,0.97), rgba(27,23,16,0.98)) !important;
}
body.holdem-table-active #quickBets .preset,
body.holdem-table-active #quickBets button {
  border: 1px solid rgba(181,154,94,0.54) !important;
  background: linear-gradient(180deg, #574e38, #221e17) !important;
}
body.debug-layout #layoutDebugOverlay {
  background-image:
    repeating-linear-gradient(to right, rgba(56,189,248,0.24) 0 1px, transparent 1px 5%),
    repeating-linear-gradient(to bottom, rgba(56,189,248,0.24) 0 1px, transparent 1px 5%),
    repeating-linear-gradient(to right, rgba(252,196,25,0.55) 0 2px, transparent 2px 10%),
    repeating-linear-gradient(to bottom, rgba(252,196,25,0.55) 0 2px, transparent 2px 10%);
}
body.debug-layout .layout-debug-label-y {
  color: #ffe680;
  border-color: rgba(255,230,128,0.55);
}
body.debug-layout .seat .commit,
body.debug-layout #hero .commit,
body.debug-layout #hero .hero-pending-amount {
  outline: 1px solid rgba(255,212,59,0.95);
}
body.holdem-table-active .mobile-player-panel,
body.holdem-table-active .seat .name-pill {
  border: 1px solid rgba(243,232,200, 0.22) !important;
  background: linear-gradient(180deg, rgba(35,32,24, 0.98), rgba(3, 5, 8, 0.98)) !important;
}
body.holdem-table-active #hero .hero-nameplate {
  background: linear-gradient(180deg, rgba(68,62,43, 0.98), rgba(9, 12, 16, 0.99)) !important;
}
body.holdem-table-active .mts-card {
  border: 1px solid rgba(42,32,15, 0.22);
  color: #271f11;
}
body.holdem-table-active .mts-number,
body.holdem-table-active .mts-state {
  color: #fff3bf;
}
body.holdem-table-active .mts-fallback {
  color: #e6d5ab;
}
body.holdem-table-active .seat .name-pill,
body.holdem-table-active .mobile-player-panel,
body.holdem-table-active #hero .hero-nameplate {
  background: linear-gradient(180deg, rgba(14,15,4, 0.97), rgba(1, 5, 8, 0.99)) !important;
}
body.holdem-table-active .seat .chips,
body.holdem-table-active #hero .hero-info .chips,
body.holdem-table-active #hero .hero-nameplate .chips {
  border-top: 1px solid rgba(116,127,67, 0.46) !important;
}
body.holdem-table-active #betChipLayer .bet-chip-unit {
  --chip-face: #fdf8e7;
  --chip-rim: #e6d5ab;
}
body.holdem-table-active #betChipLayer .central-bet-pool strong {
  border-color: rgba(252,196,25, 0.24) !important;
}
body.holdem-table-active #betChipLayer .chip-tier-white {
  --chip-face: #fdf8e7;
  --chip-rim: #e6d5ab;
  --bet-chip-label: #fdf8e7;
}
body.holdem-table-active #betChipLayer .chip-tier-blue {
  --chip-rim: #8a5e1e;
}
body.holdem-table-active #betChipLayer .chip-tier-purple {
  --chip-rim: #95354c;
}
body.holdem-table-active #betChipLayer .chip-tier-yellow {
  --chip-face: #ffd43b;
}
body.holdem-table-active #betChipLayer .chip-tier-black {
  --chip-rim: #120c03;
  --chip-stripe: #f5a623;
  --chip-core: #fff3bf;
  --bet-chip-label: #fcc419;
}
/* FINAL OVERRIDE — mobile multi-table layout + table theme colors. */
body.holdem-table-active {
  --holdem-theme-accent: #ffd43b;
  --holdem-theme-accent-soft: rgba(255,212,59, 0.28);
}
body[data-holdem-table-theme="standard"].holdem-table-active {
  --holdem-theme-accent: #ffd43b;
  --holdem-theme-accent-soft: rgba(255,212,59, 0.30);
}
body[data-holdem-table-theme="big"].holdem-table-active {
  --holdem-theme-bg-top: #261e06;
  --holdem-theme-bg-mid: #463b0b;
  --holdem-theme-bg-bottom: #140d02;
  --holdem-theme-felt-hi: #9d891d;
  --holdem-theme-felt-mid: #5f5210;
  --holdem-theme-felt-low: #261e06;
  --holdem-theme-rail: #2a2207;
}
body[data-holdem-table-theme="bounty"].holdem-table-active {
  --holdem-theme-bg-top: #270f16;
  --holdem-theme-bg-mid: #50202b;
  --holdem-theme-felt-hi: #a83b6d;
  --holdem-theme-felt-mid: #64283b;
  --holdem-theme-felt-low: #2a1117;
  --holdem-theme-rail: #32121c;
}
body[data-holdem-table-theme="satellite"].holdem-table-active {
  --holdem-theme-accent: #f5a623;
  --holdem-theme-accent-soft: rgba(245,166,35, 0.34);
}
body[data-holdem-table-theme="fallback"].holdem-table-active {
  --holdem-theme-accent: #ffd43b;
  --holdem-theme-accent-soft: rgba(255,212,59, 0.28);
  --holdem-theme-bg-mid: #2a2720;
  --holdem-theme-felt-hi: #68645b;
  --holdem-theme-felt-mid: #413d34;
}
/* Final table atmosphere override.
   Keep it in the late theme section so it wins over themed !important felt
   backgrounds without moving any foreground UI. */
body.holdem-table-active.holdem-final-table-bg {
  background:
    radial-gradient(ellipse 76% 34% at 50% 2%, rgba(238,178,70,0.14), transparent 44%),
    radial-gradient(ellipse 115% 70% at 50% 46%, rgba(92,34,73,0.28), transparent 64%),
    linear-gradient(180deg, #0b0712 0%, #170c18 45%, #080608 100%) !important;
}
body.holdem-table-active.holdem-final-table-bg #felt {
  background:
    radial-gradient(ellipse at 50% 27%, rgba(255,207,102,0.16), transparent 48%),
    radial-gradient(ellipse at 50% 54%, rgba(145,56,117,0.30), transparent 62%),
    linear-gradient(180deg, #160b1e 0%, #24102b 46%, #09070b 100%) !important;
}
body.holdem-table-active.holdem-final-table-bg #felt::before {
  background:
    linear-gradient(90deg, rgba(255,255,255,0.08), transparent 9%, transparent 91%, rgba(0,0,0,0.30)),
    radial-gradient(ellipse at 50% 38%, rgba(168,84,191,0.22), rgba(74,46,59,0.95) 54%, rgba(48,32,37,0.98) 100%) !important;
}
body.holdem-table-active.holdem-final-table-bg #felt::after {
  background:
    radial-gradient(ellipse at 50% 34%, rgba(255,238,187,0.13), transparent 62%),
    radial-gradient(ellipse at 50% 70%, rgba(0,0,0,0.42), transparent 72%),
    linear-gradient(180deg, rgba(74,46,59,0.95) 0%, rgba(48,32,37,0.98) 48%, rgba(19,15,25,1) 100%) !important;
}
body.holdem-table-active .mts-slot.theme-standard {
  --mts-accent: #ffd43b;
  --mts-border: rgba(255,212,59, 0.48);
  --mts-glow: rgba(255,212,59, 0.28);
}
body.holdem-table-active .mts-slot.theme-big {
  --mts-bg-a: rgba(138,123,20, 0.94);
  --mts-bg-b: rgba(50,42,6, 0.96);
}
body.holdem-table-active .mts-slot.theme-bounty {
  --mts-bg-a: rgba(158,68,95, 0.94);
  --mts-bg-b: rgba(62,23,35, 0.96);
}
body.holdem-table-active .mts-slot.theme-satellite {
  --mts-accent: #f5a623;
  --mts-border: rgba(245,166,35, 0.52);
  --mts-glow: rgba(245,166,35, 0.32);
}
body.holdem-table-active .mts-slot.theme-fallback {
  --mts-accent: #ffd43b;
  --mts-border: rgba(255,212,59, 0.44);
  --mts-bg-a: rgba(73,69,61, 0.94);
  --mts-glow: rgba(255,212,59, 0.26);
}
body.holdem-table-active .gg-topbar-actions .table-lobby-menu {
  color: #fff3bf !important;
  border-color: rgba(255,212,59, 0.54) !important;
}
body.holdem-table-active .mts-timer-badge {
  color: #161604 !important;
}
body.holdem-table-active .mts-timer-badge.timer-warn {
  background: linear-gradient(180deg, #ffe680, #f5a623) !important;
}
body.holdem-table-active .mts-slot.needs-action.timer-warn:not(.is-active) {
  border-color: rgba(255,212,59, 0.82) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.10), 0 0 0 2px rgba(255,212,59, 0.20), 0 0 14px rgba(255,212,59, 0.32), 0 4px 10px rgba(0,0,0,0.28) !important;
}
body.holdem-break-active .break-overlay {
  border-color: rgba(252,196,25,0.68) !important;
  background:
    linear-gradient(180deg, rgba(29,24,14, 0.98), rgba(17,13,4, 0.96)) !important;
  box-shadow:
    0 18px 38px rgba(0,0,0,0.58),
    0 0 0 1px rgba(255,255,255,0.08) inset,
    0 0 30px rgba(252,196,25,0.12) !important;
}
body.holdem-break-active .break-overlay-title {
  color: #ffd43b !important;
}
body.holdem-break-active .break-overlay-sub {
  color: rgba(230,213,171, 0.78) !important;
}
body.holdem-table-active #actionButtons button.is-submitting {
  box-shadow:
    inset 0 0 0 2px rgba(255,255,255,0.26),
    0 0 18px rgba(252,196,25,0.42) !important;
}
/* ═══ 2026-06-11 v87: 채팅 FAB — 우하단 고정 오버레이 ═══
   채팅 클라이언트(app.js 아레나 룸 연동)는 이전부터 있었지만 진입 버튼이
   죽은 .table-tool-rail(위 11335/11948 display:none) 안에 있어 입구가 없었다.
   현재순위 트리거(좌하단, v14 블록)의 미러로 우하단에 원형 FAB 를 세운다.
   위치는 액션 패널의 표시/숨김 상태와 무관하게 항상 패널 예약 높이를 기준으로
   고정한다.
   #actionPanel 슬롯(v76)·히어로 anchor(v80) 계약은 건드리지 않는다. */
body.holdem-table-active .chat-fab {
  border: 1px solid rgba(245,166,35, 0.58);
  background: linear-gradient(180deg, rgba(42,32,15, 0.94), rgba(42,32,15, 0.82));
  color: #fcc419;
}
body.holdem-table-active #hero .hero-turn-badge.is-warn {
  background: linear-gradient(180deg, rgba(255,212,59, 0.98), rgba(180, 83, 9, 0.98)) !important;
  box-shadow:
    0 0 0 1px rgba(24, 13, 0, 0.82),
    0 0 14px rgba(255,212,59, 0.86),
    0 0 26px rgba(245,166,35, 0.38) !important;
}
body.holdem-table-active .seat .toact-badge.is-warn,
body.holdem-table-active #hero .hero-turn-badge.is-warn {
  background: linear-gradient(180deg, rgba(255,212,59, 0.98), rgba(180, 83, 9, 0.98)) !important;
  box-shadow:
    0 0 0 1px rgba(24, 13, 0, 0.82),
    0 0 13px rgba(255,212,59, 0.76),
    0 4px 10px rgba(0, 0, 0, 0.64) !important;
}
body.holdem-table-active .seat .action-result-badge {
  color: #fdf8e7 !important;
}
body.holdem-table-active .action-result-raise {
  background: linear-gradient(180deg, rgba(255,212,59, 0.98), rgba(180, 83, 9, 0.98)) !important;
}
body.holdem-table-active .action-result-fold {
  background: linear-gradient(180deg, rgba(201,174,118, 0.96), rgba(105,96,71, 0.98)) !important;
}
body.holdem-table-active .chip-rank-belt {
  border: 2px solid var(--rank-main, rgba(255,212,59, 0.9)) !important;
  background:
    radial-gradient(circle at 50% 50%, transparent 56%, var(--rank-glow, rgba(255,212,59, 0.16)) 58%, transparent 74%),
    repeating-conic-gradient(from 8deg, transparent 0 18deg, var(--rank-soft, rgba(255,212,59, 0.34)) 18deg 26deg, transparent 26deg 44deg) !important;
  box-shadow:
    0 0 0 1px rgba(18,12,3, 0.86),
    0 0 13px var(--rank-glow, rgba(255,212,59, 0.46)),
    inset 0 0 0 1px rgba(255, 255, 255, 0.16) !important;
}
body.holdem-table-active .chip-rank-mark {
  background: linear-gradient(180deg, var(--rank-light, #fde047), var(--rank-main, #ffd43b) 56%, var(--rank-dark, #a16207)) !important;
}
body.holdem-table-active .chip-rank-mark::before {
  background: linear-gradient(180deg, var(--rank-light, #fde047), var(--rank-main, #ffd43b)) !important;
}
body.holdem-table-active .chip-rank-text {
  background: linear-gradient(180deg, var(--rank-light, #fde047), var(--rank-main, #ffd43b) 54%, var(--rank-dark, #a16207)) !important;
}
body.holdem-table-active .chip-rank-1 {
  --rank-main: #ffd43b;
  --rank-soft: rgba(255,212,59, 0.34);
  --rank-glow: rgba(255,212,59, 0.52);
}
body.holdem-table-active .chip-rank-2 {
  --rank-light: #fdf8e7;
  --rank-main: #e6d5ab;
  --rank-dark: #8c7340;
  --rank-soft: rgba(243,232,200, 0.32);
  --rank-glow: rgba(243,232,200, 0.44);
  --rank-ink: #271f10;
}
body.holdem-table-active #hero .hero-emote-button,
body.holdem-table-active.holdem-action-open #hero .hero-emote-button,
body.holdem-table-active.holdem-action-panel-visible #hero .hero-emote-button {
  background:
    radial-gradient(circle at 35% 25%, rgba(255, 255, 255, 0.24), transparent 32%),
    linear-gradient(180deg, rgba(59,50,30, 0.96), rgba(24,19,6, 0.96)) !important;
  color: #fff3bf !important;
  box-shadow:
    0 0 0 1px rgba(18,12,3, 0.86),
    0 6px 14px rgba(0, 0, 0, 0.62),
    inset 0 1px 0 rgba(255, 255, 255, 0.12) !important;
}
.table-emote-panel {
  max-height: min(310px, calc(100dvh - 220px)) !important;
  border: 1px solid rgba(228, 181, 70, 0.56) !important;
  background: linear-gradient(180deg, rgba(48, 35, 13, 0.99), rgba(20, 13, 4, 0.99)) !important;
  box-shadow: 0 0 0 1px rgba(255, 240, 192, 0.06), 0 18px 48px rgba(0, 0, 0, 0.76) !important;
}
.table-emote-grid {
  max-height: 250px !important;
}
.table-emote-panel-head {
  color: #ffe7a0 !important;
  font-size: 14px !important;
  letter-spacing: -0.2px !important;
}
.table-emote-close {
  background: rgba(42,32,15, 0.82) !important;
}
.table-emote-option {
  height: 78px !important;
  border-color: rgba(224, 190, 111, 0.24) !important;
  border-radius: 10px !important;
  background: linear-gradient(180deg, rgba(72, 54, 24, 0.9), rgba(43, 30, 12, 0.9)) !important;
  color: #fdf8e7 !important;
}
.table-emote-option-label {
  color: #fff1c8 !important;
  font-size: 10.5px !important;
  font-weight: 900 !important;
}
body.holdem-table-active .table-emote-bubble {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(243,232,200, 0.98)) !important;
  color: #2a200f !important;
}
body.holdem-table-active .table-emote-bubble::after {
  background: rgba(243,232,200, 0.98) !important;
}
body.holdem-table-active .pko-ko-streak {
  filter: drop-shadow(0 0 8px rgba(255,212,59, 0.9));
}
body.holdem-table-active .pko-ko-bolt {
  background: radial-gradient(circle, #fff7ad 0 22%, #ffd43b 23% 48%, #ef4444 49% 70%, rgba(239,68,68,0) 71%);
  box-shadow: 0 0 16px rgba(255,212,59, 0.95), 0 0 26px rgba(239, 68, 68, 0.7);
}
body.holdem-table-active .pko-ko-token {
  background: radial-gradient(circle at 35% 25%, rgba(255,255,255,0.42), rgba(127,29,29,0.92) 60%, rgba(39,31,17,0.95));
}
body.holdem-table-active .pko-ko-gain {
  border: 1px solid rgba(252,196,25, 0.82);
  background: rgba(18,13,7, 0.9);
  box-shadow: 0 0 16px rgba(252,196,25, 0.45);
}
body.holdem-table-active .mystery-bounty-activation-dim {
  background: rgba(23,13,2,0.62);
}
body.holdem-table-active .mystery-bounty-activation-card {
  border: 1px solid rgba(252,196,25,0.62);
  background:
    radial-gradient(circle at 50% 0%, rgba(255,212,59,0.16), transparent 42%),
    linear-gradient(180deg, rgba(42,32,15,0.98), rgba(23,15,2,0.97));
  color: #fdf8e7;
}
body.holdem-table-active .mystery-bounty-activation-kicker {
  color: #fcc419;
}
body.holdem-table-active .mystery-bounty-activation-card h3 {
  color: #fdf8e7;
}
body.holdem-table-active .mystery-bounty-activation-card p {
  color: #e6d5ab;
}
body.holdem-table-active .mystery-bounty-activation-summary div {
  border: 1px solid rgba(201,174,118,0.2);
  background: rgba(42,32,15,0.72);
}
body.holdem-table-active .mystery-bounty-activation-summary span {
  color: #c9ae76;
}
body.holdem-table-active .mystery-bounty-activation-summary strong {
  color: #ffe680;
}
body.holdem-table-active .mystery-bounty-activation-row {
  border: 1px solid rgba(252,196,25,0.22);
  background: linear-gradient(90deg, rgba(252,196,25,0.12), rgba(59,50,30,0.54));
}
body.holdem-table-active .mystery-bounty-activation-row strong {
  color: #fff3bf;
}
body.holdem-table-active .mystery-bounty-activation-empty {
  border: 1px solid rgba(201,174,118,0.22);
  background: rgba(42,32,15,0.62);
}
body.holdem-table-active .mystery-bounty-activation-ok {
  background: linear-gradient(180deg, #ffd43b, #d97706);
  color: #271f11;
}
body.holdem-table-active .mystery-bounty-activation-overlay.is-disabled .mystery-bounty-activation-card {
  border-color: rgba(201,174,118,0.38);
}
body.holdem-table-active .mystery-bounty-card {
  border: 1px solid rgba(252,196,25,0.62);
  background:
    radial-gradient(circle at 50% 36%, rgba(252,196,25,0.18), transparent 44%),
    linear-gradient(180deg, rgba(33,25,10,0.96), rgba(18,12,3,0.94));
  color: #fdf8e7;
}
body.holdem-table-active .mystery-bounty-skip {
  border: 1px solid rgba(201,174,118,0.38);
  background: rgba(42,32,15,0.74);
  color: #e6d5ab;
}
body.holdem-table-active .mystery-bounty-title {
  color: #fcc419;
  text-shadow: 0 0 18px rgba(252,196,25,0.42);
}
body.holdem-table-active .mystery-bounty-ko {
  color: #e6d5ab;
}
body.holdem-table-active .mystery-bounty-rays {
  background: radial-gradient(circle, rgba(255,212,59,0.54), rgba(37,99,235,0.18) 34%, transparent 67%);
}
body.holdem-table-active .mystery-bounty-lock {
  background: linear-gradient(180deg, #fff3bf, #d49a1d 58%, #7c4a03);
  box-shadow: 0 0 15px rgba(252,196,25,0.35);
}
body.holdem-table-active .mystery-bounty-lock::before {
  border: 4px solid rgba(255,243,191,0.94);
}
body.holdem-table-active .mystery-bounty-key::before {
  border: 5px solid #ffd43b;
  box-shadow: 0 0 13px rgba(255,212,59,0.72);
}
body.holdem-table-active .mystery-bounty-key span {
  box-shadow: 0 0 12px rgba(255,212,59,0.72);
}
body.holdem-table-active .mystery-bounty-result strong {
  color: #ffe680;
  text-shadow: 0 2px 0 rgba(87,48,7,0.75), 0 0 22px rgba(252,196,25,0.82);
}
body.holdem-table-active .mystery-bounty-result span,
body.holdem-table-active .mystery-bounty-result em {
  color: #f3e8c8;
}
body.holdem-table-active .mystery-bounty-confirm {
  background: linear-gradient(180deg, #ffd43b, #d97706);
  color: #271f11;
}
body.holdem-table-active .mystery-tier-epic .mystery-bounty-card,
body.holdem-table-active .mystery-tier-legendary .mystery-bounty-card {
  box-shadow: 0 24px 80px rgba(0,0,0,0.72), 0 0 42px rgba(252,196,25,0.24), inset 0 1px 0 rgba(255,255,255,0.1);
}
body.holdem-table-active .mystery-tier-legendary .mystery-bounty-sparkles i {
  background: #fff3bf;
}
/* Card deck settings */
body.holdem-table-active .gg-topbar-actions .card-deck-menu-btn {
  color: #ffe680 !important;
  border-color: rgba(255,212,59, 0.54) !important;
}
.card-deck-settings-card {
  border: 1px solid rgba(255,212,59, 0.34);
  background:
    radial-gradient(ellipse at 50% 0%, rgba(255,212,59, 0.12), transparent 38%),
    linear-gradient(180deg, rgba(32, 32, 31, 0.98), rgba(8, 10, 12, 0.98));
}
.card-deck-settings-head {
  border-bottom: 1px solid rgba(255,212,59, 0.18);
}
.card-deck-settings-head strong {
  color: #ffe680;
}
.card-deck-settings-head button {
  background: rgba(42,32,15, 0.7);
}
.card-deck-preview-panel,
.card-deck-option-block {
  border: 1px solid rgba(255,212,59, 0.25);
}
.card-deck-preview-panel {
  background:
    radial-gradient(ellipse at 50% 70%, rgba(172,78,98, 0.34), transparent 63%),
    linear-gradient(180deg, rgba(24, 24, 24, 0.95), rgba(8, 9, 10, 0.96));
}
.card-skin-option.is-selected {
  border-color: rgba(255,212,59, 0.92);
  box-shadow:
    0 0 0 1px rgba(255,212,59, 0.46),
    0 0 18px rgba(255,212,59, 0.2);
}
.card-skin-check {
  background: linear-gradient(180deg, #ffe680, #f5a623);
  color: #271f11;
}
.card-deck-settings-actions button {
  border: 1px solid rgba(255,212,59, 0.42);
}
#cardDeckSettingsApply {
  border-color: rgba(255,212,59, 0.78);
}
body[data-card-front-skin="dark"],
.deck-preview-card[data-preview-front="dark"] {
  --deck-front-bg: linear-gradient(180deg, #211d17 0%, #050608 100%);
  --deck-spade-color: #fdf8e7;
  --deck-heart-color: #fdf8e7;
  --deck-diamond-color: #fdf8e7;
  --deck-club-color: #fdf8e7;
  --deck-spade-rank-color: #fdf8e7;
  --deck-spade-suit-color: #fdf8e7;
  --deck-heart-rank-color: #fdf8e7;
  --deck-heart-suit-color: #fdf8e7;
  --deck-diamond-rank-color: #fdf8e7;
  --deck-diamond-suit-color: #fdf8e7;
  --deck-club-rank-color: #fdf8e7;
  --deck-club-suit-color: #fdf8e7;
}
body[data-card-front-skin="simple_color"],
.deck-preview-card[data-preview-front="simple_color"] {
  --deck-front-border: 1px solid rgba(39,31,17, 0.1);
  --deck-spade-color: #271f11;
  --deck-spade-rank-color: #271f11;
  --deck-spade-suit-color: #271f11;
}
body[data-card-back-skin="blue_classic"],
.deck-preview-card[data-preview-back="blue_classic"] {
  --deck-back-bg: linear-gradient(135deg, #7d5c15 0%, #2563eb 52%, #684f08 100%);
  --deck-back-fold-bg: repeating-linear-gradient(45deg, rgba(219, 234, 254, 0.28) 0 3px, transparent 3px 8px), linear-gradient(135deg, #7d5c15 0%, #2563eb 52%, #684f08 100%);
}
body[data-card-back-skin="black_gray"],
.deck-preview-card[data-preview-back="black_gray"] {
  --deck-back-bg: linear-gradient(135deg, #635d4b 0%, #271f11 54%, #120c03 100%);
  --deck-back-fold-bg: repeating-linear-gradient(45deg, rgba(229, 231, 235, 0.22) 0 3px, transparent 3px 8px), linear-gradient(135deg, #635d4b 0%, #271f11 54%, #120c03 100%);
}
body[data-card-back-skin="purple"],
.deck-preview-card[data-preview-back="purple"] {
  --deck-back-bg: linear-gradient(135deg, #95354c 0%, #7c3aed 52%, #65222e 100%);
  --deck-back-fold-bg: repeating-linear-gradient(45deg, rgba(221, 214, 254, 0.25) 0 3px, transparent 3px 8px), linear-gradient(135deg, #95354c 0%, #7c3aed 52%, #65222e 100%);
}
body[data-card-back-skin="back_123game_black_gold"],
.deck-preview-card[data-preview-back="back_123game_black_gold"] {
  --deck-back-bg:
    radial-gradient(circle at 50% 22%, rgba(255,212,59, 0.2), transparent 30%),
    linear-gradient(135deg, #2b2110 0%, #050505 54%, #15110a 100%);
  --deck-back-pattern:
    repeating-linear-gradient(45deg, rgba(255,212,59, 0.14) 0 2px, transparent 2px 7px),
    radial-gradient(circle at 50% 50%, transparent 0 34%, rgba(255,212,59, 0.22) 35% 37%, transparent 38%);
  --deck-back-fold-bg:
    repeating-linear-gradient(45deg, rgba(255,212,59, 0.14) 0 2px, transparent 2px 7px),
    radial-gradient(circle at 50% 50%, transparent 0 34%, rgba(255,212,59, 0.22) 35% 37%, transparent 38%),
    radial-gradient(circle at 50% 22%, rgba(255,212,59, 0.2), transparent 30%),
    linear-gradient(135deg, #2b2110 0%, #050505 54%, #15110a 100%);
}
/* ── 유저 테이블 스킨 6종 — 단일 소스 (2026-07-28 부활) ──────────────
   테이블 설정 모달에서 고른 스킨의 모든 색을 여기서 정의한다.
   - --holdem-theme-* : 페이지/캔버스 배경·파이널 테이블·미리보기 스와치 소비.
   - --tbl-*          : 치즈보드 오벌(#felt/::before/::after, 아래 "시안2 보정") 소비.
                        미정의(classic_gold)면 소비부 fallback = 기존 치즈 색 그대로.
   - --blind-info-*   : 중앙 블라인드 문구(값/라벨/구분자) 색. 적용부는 8880~ 근처.
   같은 특이성(0,2,1)의 토너먼트 유형 테마(위 2814~)보다 시트 내 뒤라서
   유저가 고른 스킨이 항상 이긴다. classic_gold(기본값)는 블록이 없으므로
   유형 테마 틴트·치즈 오벌 등 기존 동작이 그대로 유지된다. */
.table-theme-preview[data-preview-table-theme="classic_gold"],
.table-theme-swatch[data-preview-table-theme="classic_gold"] {
  --holdem-theme-accent: #f0c95c;
  --holdem-theme-accent-soft: rgba(240,201,92, 0.32);
  --holdem-theme-felt-hi: #fcd35f;
  --holdem-theme-felt-mid: #edb844;
  --holdem-theme-rail: #8a5210;
}
body.holdem-table-active[data-user-table-theme="purple_neon"],
.table-theme-preview[data-preview-table-theme="purple_neon"],
.table-theme-swatch[data-preview-table-theme="purple_neon"] {
  --holdem-theme-accent: #c084fc;
  --holdem-theme-accent-soft: rgba(168, 85, 247, 0.34);
  --holdem-theme-bg-top: #130720;
  --holdem-theme-bg-mid: #2a1048;
  --holdem-theme-bg-bottom: #06020c;
  --holdem-theme-felt-hi: #7c3bb4;
  --holdem-theme-felt-mid: #3d176d;
  --holdem-theme-felt-low: #160724;
  --holdem-theme-rail: #1d0a31;
  --tbl-base-tint: rgba(104,58,158,0.45);
  --tbl-base-hi: #1c0e2e;
  --tbl-base-mid: #120826;
  --tbl-base-low: #0a0416;
  --tbl-crust-border: rgba(58,26,92,0.9);
  --tbl-crust-glint: rgba(232,208,255,0.25);
  --tbl-crust-shade: rgba(38,12,64,0.4);
  --tbl-crust-hi: #8b4bc4;
  --tbl-crust-mid: #6d30a4;
  --tbl-crust-low: #471b7a;
  --tbl-crust-ring: rgba(226,196,255,0.32);
  --tbl-crust-inner-shadow: rgba(38,12,64,0.55);
  --tbl-felt-border: rgba(192,132,252,0.5);
  --tbl-hole-rgb: 238,220,255;
  --tbl-felt-sheen: #b47ae0;
  --tbl-felt-hi: #9d5fd0;
  --tbl-felt-mid: #7c3bb4;
  --tbl-felt-low: #5a2894;
  --tbl-felt-inner-shadow: rgba(48,14,84,0.45);
  --blind-info-text-color: #f5e9ff;
  --blind-info-label-color: rgba(233,213,255,0.88);
  --blind-info-sep-color: rgba(233,213,255,0.6);
}
body.holdem-table-active[data-user-table-theme="deep_green"],
.table-theme-preview[data-preview-table-theme="deep_green"],
.table-theme-swatch[data-preview-table-theme="deep_green"] {
  --holdem-theme-accent: #4ade80;
  --holdem-theme-accent-soft: rgba(74, 222, 128, 0.27);
  --holdem-theme-bg-top: #03120b;
  --holdem-theme-bg-mid: #0b2d1b;
  --holdem-theme-bg-bottom: #010704;
  --holdem-theme-felt-hi: #1f7a42;
  --holdem-theme-felt-mid: #0d4d2d;
  --holdem-theme-felt-low: #062113;
  --holdem-theme-rail: #06180f;
  --tbl-base-tint: rgba(26,110,62,0.45);
  --tbl-base-hi: #0e2417;
  --tbl-base-mid: #091a10;
  --tbl-base-low: #050f09;
  --tbl-crust-border: rgba(10,56,32,0.9);
  --tbl-crust-glint: rgba(212,255,230,0.22);
  --tbl-crust-shade: rgba(6,40,22,0.4);
  --tbl-crust-hi: #2e8a52;
  --tbl-crust-mid: #1e6b3d;
  --tbl-crust-low: #0d3d24;
  --tbl-crust-ring: rgba(190,255,215,0.3);
  --tbl-crust-inner-shadow: rgba(6,40,22,0.55);
  --tbl-felt-border: rgba(74,222,128,0.45);
  --tbl-hole-rgb: 222,255,236;
  --tbl-felt-sheen: #58c084;
  --tbl-felt-hi: #35a06a;
  --tbl-felt-mid: #1f7a42;
  --tbl-felt-low: #12572f;
  --tbl-felt-inner-shadow: rgba(6,44,24,0.45);
  --blind-info-text-color: #e6fff0;
  --blind-info-label-color: rgba(214,247,228,0.88);
  --blind-info-sep-color: rgba(214,247,228,0.6);
}
body.holdem-table-active[data-user-table-theme="red_highroller"],
.table-theme-preview[data-preview-table-theme="red_highroller"],
.table-theme-swatch[data-preview-table-theme="red_highroller"] {
  --holdem-theme-accent: #fb7185;
  --holdem-theme-accent-soft: rgba(248, 113, 113, 0.30);
  --holdem-theme-bg-top: #1c0608;
  --holdem-theme-bg-mid: #3a0c12;
  --holdem-theme-bg-bottom: #080203;
  --holdem-theme-felt-hi: #9d2634;
  --holdem-theme-felt-mid: #5d111e;
  --holdem-theme-felt-low: #24070b;
  --holdem-theme-rail: #26080d;
  --tbl-base-tint: rgba(140,44,56,0.45);
  --tbl-base-hi: #2a0a0e;
  --tbl-base-mid: #1d0609;
  --tbl-base-low: #120305;
  --tbl-crust-border: rgba(70,12,20,0.9);
  --tbl-crust-glint: rgba(255,218,218,0.22);
  --tbl-crust-shade: rgba(52,8,14,0.4);
  --tbl-crust-hi: #b04250;
  --tbl-crust-mid: #8c2836;
  --tbl-crust-low: #57101c;
  --tbl-crust-ring: rgba(255,198,198,0.3);
  --tbl-crust-inner-shadow: rgba(52,8,14,0.55);
  --tbl-felt-border: rgba(251,113,133,0.45);
  --tbl-hole-rgb: 255,228,224;
  --tbl-felt-sheen: #d96a76;
  --tbl-felt-hi: #c25563;
  --tbl-felt-mid: #9d2634;
  --tbl-felt-low: #6b1524;
  --tbl-felt-inner-shadow: rgba(58,8,16,0.45);
  --blind-info-text-color: #fff0e1;
  --blind-info-label-color: rgba(255,235,222,0.88);
  --blind-info-sep-color: rgba(255,235,222,0.6);
}
body.holdem-table-active[data-user-table-theme="blue_casino"],
.table-theme-preview[data-preview-table-theme="blue_casino"],
.table-theme-swatch[data-preview-table-theme="blue_casino"] {
  --holdem-theme-accent: #38bdf8;
  --holdem-theme-accent-soft: rgba(56, 189, 248, 0.30);
  --holdem-theme-bg-top: #061426;
  --holdem-theme-bg-mid: #0b2b4d;
  --holdem-theme-bg-bottom: #020715;
  --holdem-theme-felt-hi: #1f6eab;
  --holdem-theme-felt-mid: #123c66;
  --holdem-theme-felt-low: #061426;
  --holdem-theme-rail: #07182c;
  --tbl-base-tint: rgba(32,96,160,0.45);
  --tbl-base-hi: #0b2440;
  --tbl-base-mid: #071a30;
  --tbl-base-low: #040e1c;
  --tbl-crust-border: rgba(10,42,74,0.9);
  --tbl-crust-glint: rgba(210,238,255,0.22);
  --tbl-crust-shade: rgba(6,30,54,0.4);
  --tbl-crust-hi: #2f7cbf;
  --tbl-crust-mid: #1d5c96;
  --tbl-crust-low: #0d3355;
  --tbl-crust-ring: rgba(180,225,255,0.3);
  --tbl-crust-inner-shadow: rgba(6,30,54,0.55);
  --tbl-felt-border: rgba(56,189,248,0.45);
  --tbl-hole-rgb: 222,242,255;
  --tbl-felt-sheen: #5ba3d9;
  --tbl-felt-hi: #3f92d6;
  --tbl-felt-mid: #1f6eab;
  --tbl-felt-low: #154a7d;
  --tbl-felt-inner-shadow: rgba(8,32,56,0.45);
  --blind-info-text-color: #e7f6ff;
  --blind-info-label-color: rgba(222,242,255,0.88);
  --blind-info-sep-color: rgba(222,242,255,0.6);
}
body.holdem-table-active[data-user-table-theme="dark_matte"],
.table-theme-preview[data-preview-table-theme="dark_matte"],
.table-theme-swatch[data-preview-table-theme="dark_matte"] {
  --holdem-theme-accent: #a3a3a3;
  --holdem-theme-accent-soft: rgba(163, 163, 163, 0.20);
  --holdem-theme-bg-top: #111113;
  --holdem-theme-bg-mid: #202124;
  --holdem-theme-bg-bottom: #050506;
  --holdem-theme-felt-hi: #4b4b4f;
  --holdem-theme-felt-mid: #2d2e31;
  --holdem-theme-felt-low: #141416;
  --holdem-theme-rail: #111113;
  --tbl-base-tint: rgba(96,97,104,0.35);
  --tbl-base-hi: #1b1b1e;
  --tbl-base-mid: #131316;
  --tbl-base-low: #0a0a0c;
  --tbl-crust-border: rgba(18,18,22,0.9);
  --tbl-crust-glint: rgba(236,236,232,0.18);
  --tbl-crust-shade: rgba(10,10,14,0.45);
  --tbl-crust-hi: #5a5b60;
  --tbl-crust-mid: #3f4045;
  --tbl-crust-low: #232428;
  --tbl-crust-ring: rgba(222,222,216,0.22);
  --tbl-crust-inner-shadow: rgba(10,10,14,0.55);
  --tbl-felt-border: rgba(163,163,163,0.4);
  --tbl-hole-rgb: 244,244,238;
  --tbl-felt-sheen: #7d7e84;
  --tbl-felt-hi: #66676d;
  --tbl-felt-mid: #4b4b4f;
  --tbl-felt-low: #333438;
  --tbl-felt-inner-shadow: rgba(12,12,16,0.5);
  --blind-info-text-color: #f2f2ed;
  --blind-info-label-color: rgba(240,240,234,0.88);
  --blind-info-sep-color: rgba(240,240,234,0.6);
}
body.holdem-table-active .gg-topbar-actions .table-settings-menu-btn {
  color: #ffe680 !important;
  border-color: rgba(255,212,59, 0.54) !important;
}
.table-settings-card {
  background:
    radial-gradient(ellipse at 50% 0%, rgba(255,212,59, 0.12), transparent 38%),
    linear-gradient(180deg, rgba(32, 32, 31, 0.98), rgba(8, 10, 12, 0.98));
  border-color: rgba(255,212,59, 0.34);
}
.table-settings-head strong {
  color: #ffe680;
}
.table-settings-head button {
  background: rgba(42,32,15, 0.7);
}
.table-theme-preview-panel,
.table-theme-option-block,
.table-theme-toggle-row {
  border: 1px solid rgba(255,212,59, 0.25);
}
.table-theme-skin-option.is-selected,
.table-logo-mode-option.is-selected {
  border-color: rgba(255,212,59, 0.92);
  box-shadow:
    0 0 0 1px rgba(255,212,59, 0.46),
    0 0 18px rgba(255,212,59, 0.2);
}
.table-theme-check {
  background: linear-gradient(180deg, #ffe680, #f5a623);
  color: #271f11;
}
.table-theme-toggle-row input {
  accent-color: #fcc419;
}
.table-settings-actions button {
  border: 1px solid rgba(255,212,59, 0.42);
}
#tableSettingsApply {
  border-color: rgba(255,212,59, 0.78);
}
/* Cash ring-game lobby/table */
.mode-switch {
  border: 1px solid rgba(201,174,118, 0.28);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0)),
    linear-gradient(180deg, #2b2211 0%, #151005 100%);
}
.mode-switch-btn {
  border: 1px solid rgba(201,174,118, 0.18);
  background:
    linear-gradient(180deg, rgba(58,50,31, 0.96), rgba(28,22,9, 0.96));
}
.mode-switch-btn.is-active {
  color: #271f10;
}
#cashLobby {
  background: linear-gradient(180deg, rgba(18,16,6, 0.98), rgba(24,21,9, 0.98));
}
.cash-lobby-head h2 {
  color: #fdf8e7;
}
.cash-refresh-btn {
  background: rgba(42,32,15, 0.86);
}
.cash-stake-chip {
  border: 1px solid rgba(201,174,118, 0.22);
  background: rgba(42,32,15, 0.78);
  color: #e6d5ab;
}
.cash-table-card {
  border: 1px solid rgba(201,174,118, 0.20);
  background:
    linear-gradient(135deg, rgba(42,32,15, 0.98), rgba(37,38,12, 0.98));
  color: #f3e8c8;
}
.cash-table-main strong {
  color: #fdf8e7;
}
.cash-table-main small {
  color: #c9ae76;
}
.cash-table-grid span {
  background: rgba(23,13,2, 0.34);
}
.cash-table-grid em {
  color: #8c7340;
}
.cash-table-grid b {
  color: #fdf8e7;
}
.cash-seat-meter {
  background: rgba(140,115,64, 0.26);
}
.cash-seat-meter i {
  background: linear-gradient(90deg, #14b8a6, #f5a623);
}
.cash-skel-line,
.cash-skel-row span {
  background: linear-gradient(90deg, rgba(85,76,51, 0.7), rgba(140,115,64, 0.55), rgba(85,76,51, 0.7));
}
.cash-empty {
  border: 1px dashed rgba(201,174,118, 0.28);
  color: #c9ae76;
}
#cashTableView {
  background:
    linear-gradient(180deg, #05080d, #1c1a0c 54%, #100e07);
}
.cash-table-topbar {
  border-bottom: 1px solid rgba(201,174,118, 0.16);
}
.cash-table-back {
  border: 1px solid rgba(201,174,118, 0.22);
  background: rgba(42,32,15, 0.82);
  color: #f3e8c8;
}
.cash-table-meta strong {
  color: #fdf8e7;
}
.cash-table-meta span {
  color: #c9ae76;
}
.cash-felt::before {
  border: 15px solid #201c12;
  background:
    linear-gradient(180deg, rgba(8, 111, 98, 0.95), rgba(76,92,10, 0.95));
}
.cash-pot {
  border: 1px solid rgba(255,230,128, 0.32);
  background: rgba(42,32,15, 0.72);
}
.cash-pot span {
  color: #ffdd57;
}
.cash-pot strong {
  color: #fdf8e7;
}
.cash-card.is-empty {
  border: 1px solid rgba(243,232,200, 0.14);
  background: rgba(42,32,15, 0.30);
}
.cash-card.is-back {
  background:
    repeating-linear-gradient(45deg, rgba(20, 184, 166, 0.22) 0 5px, rgba(42,32,15, 0.8) 5px 10px),
    #2a200f;
}
.cash-seat {
  border: 1px solid rgba(201,174,118, 0.22);
  background: rgba(28,25,13, 0.92);
  color: #f3e8c8;
}
.cash-seat.is-empty {
  background: rgba(42,32,15, 0.56);
  color: #c9ae76;
}
.cash-seat-join {
  color: #e6d5ab;
}
.cash-avatar {
  background: linear-gradient(180deg, #554c33, #2a200f);
  color: #fdf8e7;
}
.cash-seat-info strong {
  color: #fdf8e7;
}
.cash-seat-info em {
  color: #e6d5ab;
}
.cash-seat-state {
  color: #8c7340;
}
.cash-seat-bet {
  background: #f5a623;
  color: #271f11;
}
.cash-seat.is-to-act {
  border-color: rgba(255,212,59, 0.9);
  box-shadow: 0 0 0 2px rgba(255,212,59, 0.16), 0 0 18px rgba(255,212,59, 0.18);
}
.cash-dealer-btn {
  border: 2px solid #271f11;
  background: #fdf8e7;
  color: #2a200f;
}
.cash-bet-slider output {
  color: #fdf8e7;
}
.cash-action-buttons button {
  color: #fdf8e7;
}
.cash-buyin-card {
  background: #18150b;
  color: #f3e8c8;
}
.cash-buyin-head,
.cash-buyin-actions {
  border-bottom: 1px solid rgba(201,174,118, 0.14);
}
.cash-buyin-head strong {
  color: #fdf8e7;
}
#cashBuyInClose {
  background: rgba(201,174,118, 0.12);
  color: #e6d5ab;
}
.cash-buyin-table {
  color: #e6d5ab;
}
.cash-buyin-range {
  color: #8c7340;
}
#cashBuyInAmountOut {
  color: #fdf8e7;
}
.cash-buyin-check {
  color: #e6d5ab;
}
.cash-buyin-actions {
  border-top: 1px solid rgba(201,174,118, 0.14);
}
.cash-buyin-actions button {
  border: 1px solid rgba(201,174,118, 0.22);
  background: rgba(42,32,15, 0.88);
  color: #f3e8c8;
}
.cash-create-field > span {
  color: #c9ae76;
}
.cash-create-field input[type="text"],
.cash-create-field input[type="password"] {
  background: rgba(42,32,15, 0.88);
  color: #f3e8c8;
}
.cash-create-stake,
.cash-create-size {
  border: 1px solid rgba(201,174,118, 0.22);
  background: rgba(42,32,15, 0.88);
  color: #e6d5ab;
}
.cash-create-info {
  color: #c9ae76;
}
/* Cash table visual pass: reuse the tournament table language while preserving
   the fixed horizontal ring-game seat map. */
body.holdem-cash-table-active {
  background:
    radial-gradient(ellipse at 50% 28%, rgba(29, 78, 216, 0.16), transparent 52%),
    linear-gradient(180deg, #1d1509 0%, #130f07 52%, #02040a 100%);
}
body.holdem-cash-table-active .cash-table-topbar {
  background: linear-gradient(180deg, rgba(42,32,15, 0.96), rgba(24,18,8, 0.94));
}
body.holdem-cash-table-active .cash-felt {
  background:
    radial-gradient(ellipse at 50% 42%, rgba(20, 184, 166, 0.20), transparent 56%),
    linear-gradient(180deg, rgba(18,13,5, 0.86), rgba(2, 5, 10, 0.98));
}
body.holdem-cash-table-active .cash-felt::before {
  border: clamp(12px, 2.4vw, 18px) solid rgba(42,32,15, 0.92);
  background:
    radial-gradient(ellipse at 50% 31%, rgba(69, 211, 184, 0.34), transparent 46%),
    linear-gradient(180deg, rgba(12, 148, 126, 0.94), rgba(92,115,5, 0.96) 56%, rgba(62,71,4, 0.98));
}
body.holdem-cash-table-active .cash-felt::after {
  border: 2px solid rgba(201,174,118, 0.18);
}
body.holdem-cash-table-active .cash-card.card.placeholder {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.16) 0 9%, transparent 9%),
    linear-gradient(180deg, rgba(87,86,54, 0.64), rgba(48,44,21, 0.78));
}
body.holdem-cash-table-active .cash-card.card.hidden-card {
  background:
    repeating-linear-gradient(45deg, rgba(20, 184, 166, 0.28) 0 4px, rgba(42,32,15, 0.72) 4px 8px),
    linear-gradient(135deg, #342b0f, #394006);
}
body.holdem-cash-table-active .cash-pot {
  border-color: rgba(252,196,25, 0.24);
  background: linear-gradient(180deg, rgba(42,32,15, 0.94), rgba(18,12,3, 0.96));
}
body.holdem-cash-table-active .cash-pot strong::before {
  background: radial-gradient(circle at 35% 25%, #8edbff 0 18%, #1689ff 35%, #966f07 100%);
}
body.holdem-cash-table-active .cash-seat:not(.is-empty) {
  color: #fdf8e7;
}
body.holdem-cash-table-active .cash-seat .avatar,
body.holdem-cash-table-active .cash-seat .lavatar {
  border: 2px solid rgba(18,15,9, 0.96);
  background:
    radial-gradient(circle at 34% 26%, rgba(255, 255, 255, 0.22), transparent 24%),
    linear-gradient(145deg, #696047 0%, #543917 100%) !important;
  color: #fdf8e7 !important;
}
body.holdem-cash-table-active .cash-seat.is-to-act .avatar,
body.holdem-cash-table-active .cash-seat.is-to-act .lavatar {
  box-shadow:
    0 0 0 4px rgba(255,212,59, 0.24),
    0 0 24px rgba(255,212,59, 0.74),
    0 8px 18px rgba(0, 0, 0, 0.68);
}
body.holdem-cash-table-active .cash-seat .name-pill {
  background: linear-gradient(180deg, rgba(27,22,11, 0.96), rgba(14,10,2, 0.94));
}
body.holdem-cash-table-active .cash-seat .name {
  color: #fdf8e7;
}
body.holdem-cash-table-active .cash-seat .chips {
  color: #fff3bf;
}
body.holdem-cash-table-active .cash-seat .toact-badge.is-warn {
  background: linear-gradient(180deg, #ffd43b, #b45309);
}
body.holdem-cash-table-active .cash-seat .action-result-raise {
  background: linear-gradient(180deg, #ffd43b, #b45309);
}
body.holdem-cash-table-active .cash-seat .action-result-fold {
  background: linear-gradient(180deg, #f3f4f6, #afa99c);
}
body.holdem-cash-table-active .cash-seat .wait-badge {
  background: linear-gradient(180deg, #c9ae76, #696047);
}
body.holdem-cash-table-active .cash-seat .role-badge {
  background: radial-gradient(circle at 35% 28%, #fef08a, #f5a623 72%, #92400e);
}
body.holdem-cash-table-active .cash-seat.is-empty {
  border: 1px dashed rgba(201,174,118, 0.28);
  background: rgba(31,24,10, 0.72);
}
body.holdem-cash-table-active .cash-dealer-btn {
  border-color: #170d02;
  background: #fdf8e7;
}
body.holdem-cash-table-active #cashBetChipLayer .table-bet-chip {
  color: #fdf8e7;
}
body.holdem-cash-table-active #cashBetChipLayer .bet-chip-unit {
  --chip-face: #fdf8e7;
  --chip-rim: #e6d5ab;
}
body.holdem-cash-table-active #cashBetChipLayer .central-bet-pool strong {
  border-color: rgba(252,196,25, 0.24);
}
body.holdem-cash-table-active #cashBetChipLayer .chip-tier-white {
  --chip-face: #fdf8e7;
  --chip-rim: #e6d5ab;
  --bet-chip-label: #fdf8e7;
}
body.holdem-cash-table-active #cashBetChipLayer .chip-tier-blue {
  --chip-rim: #8a5e1e;
}
body.holdem-cash-table-active #cashBetChipLayer .chip-tier-purple {
  --chip-rim: #95354c;
}
body.holdem-cash-table-active #cashBetChipLayer .chip-tier-yellow {
  --chip-face: #ffd43b;
}
body.holdem-cash-table-active #cashBetChipLayer .chip-tier-black {
  --chip-rim: #120c03;
  --chip-stripe: #f5a623;
  --chip-core: #fff3bf;
  --bet-chip-label: #fcc419;
}
body.holdem-cash-table-active .cash-action-panel {
  background:
    linear-gradient(180deg, rgba(22,17,4, 0.84), rgba(10,7,1, 0.98));
}
body.holdem-cash-table-active .cash-bet-slider output {
  color: #fff3bf;
}
.cash-flying-chip {
  background:
    radial-gradient(circle at 32% 24%, rgba(255, 255, 255, 0.42), transparent 20%),
    linear-gradient(135deg, #fef08a 0%, #f5a623 100%);
  color: #37311f;
}
/* ── 캐시 테이블 유저 스킨 (2026-07-28 부활) ─────────────────────────
   안쪽 오벌(.cash-felt::after)·펠트면은 style.css 22703~의 --holdem-theme-*
   6종 정의가 이미 정상 동작하므로 여기서 다시 덮지 않는다(예전의 잘못된
   2종 골드 오버라이드 제거). 여기서는 스킨 하드코딩이던 페이지 배경과
   바깥 크러스트 링만 --cash-* 변수로 채운다. classic_gold는 블록이 없어
   소비부 fallback(기존 골드)이 그대로 적용된다. */
body.holdem-cash-table-active[data-user-table-theme="purple_neon"] {
  --cash-bg-glow: rgba(109,48,164,0.5);
  --cash-bg-top: #130720;
  --cash-bg-mid: #2a1048;
  --cash-bg-bottom: #06020c;
  --cash-crust-hi: #6d30a4;
  --cash-crust-mid: #4a1d7d;
  --cash-crust-low: #2a0e4d;
}
body.holdem-cash-table-active[data-user-table-theme="deep_green"] {
  --cash-bg-glow: rgba(30,107,61,0.5);
  --cash-bg-top: #03120b;
  --cash-bg-mid: #0b2d1b;
  --cash-bg-bottom: #010704;
  --cash-crust-hi: #1e6b3d;
  --cash-crust-mid: #12522c;
  --cash-crust-low: #083019;
}
body.holdem-cash-table-active[data-user-table-theme="red_highroller"] {
  --cash-bg-glow: rgba(140,40,54,0.5);
  --cash-bg-top: #1c0608;
  --cash-bg-mid: #3a0c12;
  --cash-bg-bottom: #080203;
  --cash-crust-hi: #8c2836;
  --cash-crust-mid: #611723;
  --cash-crust-low: #360a12;
}
body.holdem-cash-table-active[data-user-table-theme="blue_casino"] {
  --cash-bg-glow: rgba(29,92,150,0.5);
  --cash-bg-top: #061426;
  --cash-bg-mid: #0b2b4d;
  --cash-bg-bottom: #020715;
  --cash-crust-hi: #1d5c96;
  --cash-crust-mid: #123f6b;
  --cash-crust-low: #082441;
}
body.holdem-cash-table-active[data-user-table-theme="dark_matte"] {
  --cash-bg-glow: rgba(80,80,88,0.4);
  --cash-bg-top: #111113;
  --cash-bg-mid: #202124;
  --cash-bg-bottom: #050506;
  --cash-crust-hi: #3f4045;
  --cash-crust-mid: #2b2c30;
  --cash-crust-low: #18181b;
}
body.holdem-cash-table-active .cash-table-actions-top .cash-settings-btn {
  border-color: rgba(255,212,59, 0.48);
  color: #ffe680;
}
body.holdem-cash-table-active .cash-pot {
  border-color: rgba(255,212,59, 0.26);
}
body.holdem-cash-table-active .cash-seat .avatar,
body.holdem-cash-table-active .cash-seat .lavatar {
  background:
    radial-gradient(circle at 35% 25%, rgba(255, 255, 255, 0.26), transparent 22%),
    radial-gradient(circle at 52% 50%, hsla(var(--avatar-hue, 205), 48%, 48%, 0.9), hsla(var(--avatar-hue, 205), 52%, 22%, 0.98) 72%),
    linear-gradient(145deg, #5a5135, #171717) !important;
}
body.holdem-cash-table-active .cash-action-panel,
body.holdem-cash-table-active .cash-action-panel.hidden {
  background: linear-gradient(180deg, rgba(20,15,4, 0.48), rgba(10,7,1, 0.93) 22%, rgba(0, 0, 0, 0.98) 100%) !important;
}
body.holdem-cash-table-active .cash-action-hint {
  background: linear-gradient(180deg, rgba(26,23,9, 0.72), rgba(14,11,4, 0.86));
}
/* Cash 6-max mobile layout v147: hero cluster anchored just above primary actions. */
body.holdem-cash-table-active {
  background:
    radial-gradient(circle at 50% 36%, var(--cash-bg-glow, rgba(117,104,19, 0.72)), transparent 60%),
    linear-gradient(180deg, var(--cash-bg-top, #0b0902) 0%, var(--cash-bg-mid, #1d1706) 46%, var(--cash-bg-bottom, #02050a) 100%) !important;
}
body.holdem-cash-table-active #topbar {
  background: linear-gradient(180deg, rgba(7, 10, 15, 0.96), rgba(24,19,9, 0.86)) !important;
}
body.holdem-cash-table-active #cashTableView {
  background:
    radial-gradient(circle at 50% 36%, rgba(117,104,19, 0.54), transparent 62%),
    linear-gradient(180deg, rgba(13,10,3, 0.98), #1d1706 58%, #02050a 100%) !important;
}
body.holdem-cash-table-active .cash-table-topbar {
  border-bottom: 1px solid rgba(201,174,118, 0.14) !important;
  background: linear-gradient(180deg, rgba(24,19,9, 0.92), rgba(18,14,6, 0.76)) !important;
}
body.holdem-cash-table-active .cash-table-menu-toggle {
  background: rgba(18,14,5, 0.80) !important;
}
body.holdem-cash-table-active .cash-table-menu-popover {
  background: rgba(16,12,4, 0.95) !important;
}
body.holdem-cash-table-active .cash-table-menu-meta {
  border: 1px solid rgba(252,196,25, 0.22) !important;
  background: linear-gradient(180deg, rgba(38,31,16, 0.88), rgba(16,12,4, 0.92)) !important;
}
body.holdem-cash-table-active .cash-felt::before {
  background:
    radial-gradient(ellipse at 50% 24%, rgba(255, 255, 255, 0.15), transparent 45%),
    radial-gradient(ellipse at 50% 72%, rgba(0, 0, 0, 0.42), transparent 68%),
    linear-gradient(180deg, var(--cash-crust-hi, #8f8311) 0%, var(--cash-crust-mid, #6f5e0a) 48%, var(--cash-crust-low, #3d3104) 100%) !important;
}
body.holdem-cash-table-active .cash-hand-result-panel {
  border: 1px solid rgba(252,196,25, 0.38);
  background:
    radial-gradient(circle at 50% 0%, rgba(252,196,25, 0.18), transparent 62%),
    rgba(13,10,3, 0.90);
  color: #fdf8e7;
}
body.holdem-cash-table-active .cash-hand-result-sub {
  color: rgba(243,232,200, 0.94);
}
body.holdem-cash-table-active .cash-hand-result-row {
  color: rgba(243,232,200, 0.86);
}
body.holdem-cash-table-active .cash-seat.is-winner .avatar,
body.holdem-cash-table-active .cash-seat.is-winner .lavatar {
  box-shadow:
    0 0 0 2px rgba(255,212,59, 0.35),
    0 0 18px rgba(34, 211, 238, 0.66),
    0 0 28px rgba(255,212,59, 0.42),
    0 8px 18px rgba(0, 0, 0, 0.72) !important;
}
body.holdem-cash-table-active #cashFelt .card.hl-made {
  outline: 2px solid rgba(252,196,25, 0.95);
  box-shadow: 0 0 14px rgba(252,196,25, 0.62), 0 6px 12px rgba(0, 0, 0, 0.46);
}
body.holdem-cash-table-active .cash-blind-text {
  color: rgba(243,232,200, 0.72);
}
body.holdem-cash-table-active .cash-seat:not([data-display-slot="hero"]).is-to-act .avatar,
body.holdem-cash-table-active .cash-seat:not([data-display-slot="hero"]).is-to-act .lavatar {
  box-shadow:
    0 0 0 2px rgba(255,212,59, 0.22),
    0 0 16px rgba(34, 211, 238, 0.55),
    0 7px 16px rgba(0, 0, 0, 0.64) !important;
}
body.holdem-cash-table-active .cash-seat.is-empty {
  background: rgba(24,19,3, 0.62) !important;
}
body.holdem-cash-table-active .cash-action-panel,
body.holdem-cash-table-active .cash-action-panel.hidden {
  border: 1px solid rgba(170,161,75, 0.42) !important;
  background: rgba(18,14,6, 0.95) !important;
}
body.holdem-cash-table-active .cash-join-actions button {
  background: linear-gradient(180deg, #3d3b34, #0d0f13);
  color: #fdf8e7;
}
body.holdem-cash-table-active .cash-bet-slider button,
body.holdem-cash-table-active .cash-bet-slider output {
  border: 1px solid rgba(201,174,118, 0.34) !important;
  background: linear-gradient(180deg, rgba(55,49,31, 0.95), rgba(31,24,11, 0.98)) !important;
  color: #fdf8e7 !important;
}
body.holdem-cash-table-active .cash-bet-slider input[type="range"] {
  accent-color: #ffd43b !important;
}
body.holdem-cash-table-active .cash-quick-bet-row button {
  border: 1px solid rgba(201,174,118, 0.35) !important;
  background: linear-gradient(180deg, rgba(63,55,38, 0.96), rgba(32,26,13, 0.98)) !important;
}
body.holdem-cash-table-active .cash-quick-bet-row button.is-selected {
  border-color: rgba(255,212,59, 0.7) !important;
  background: linear-gradient(180deg, rgba(81,73,55, 0.98), rgba(45,38,24, 0.98)) !important;
  box-shadow: inset 0 0 0 1px rgba(255,212,59, 0.18), 0 0 10px rgba(255,212,59, 0.16) !important;
}
body.holdem-cash-table-active .cash-quick-bet-row button .preset-name {
  color: #fdf8e7 !important;
}
body.holdem-cash-table-active .cash-quick-bet-row button .preset-amount {
  color: #ffd43b !important;
}
body.holdem-cash-table-active .cash-quick-bet-row .cash-allin {
  color: #fdf8e7 !important;
}

/* ── CUSTOM ── */
body { background: #1a1205; }
.td-brand-123game i, .td-brand-123game strong, .td-brand-123game span, .td-brand-123game em { display: none !important; }
.td-brand-123game::after { content: "🧀 CHEESE"; font-weight: 900; font-size: 19px; letter-spacing: 2px; color: #ffd43b; text-shadow: 0 2px 10px rgba(252,196,25,0.45); }
#textScaleToggle { display: none !important; }
.pw-logout-btn { border: 1px solid rgba(252,196,25,0.4); background: rgba(56,39,11,0.7); color: #e6d5ab; border-radius: 10px; padding: 6px 10px; font-size: 12px; font-weight: 700; cursor: pointer; }
.pw-logout-btn:active { transform: scale(0.96); }

/* 캐시 모드 미오픈 — 스위처에서 캐시 버튼 숨김 (토너 버튼만 표시) */
#modeCash { display: none !important; }
#modeSwitch { grid-template-columns: 1fr !important; }

/* ══════════ 컨셉1: 통통 치즈 카툰 (로비) 🧀 ══════════ */
@keyframes pw-bob { 0%,100%{transform:translateY(0) rotate(-5deg)} 50%{transform:translateY(-5px) rotate(5deg)} }
@keyframes pw-pop { 0%,100%{transform:scale(1)} 50%{transform:scale(1.05)} }
@keyframes pw-race { 0%,100%{transform:translateX(0)} 50%{transform:translateX(4px)} }

.pw-bob { display:inline-block; animation: pw-bob 2.4s ease-in-out infinite; }
#topbar #title { font-family:'Jua',sans-serif; font-weight:400; letter-spacing:0.5px; font-size:17px; }
#balance { font-family:'Jua',sans-serif; }
#balanceVal { animation: pw-pop 3.2s ease-in-out infinite; display:inline-block; }

/* 모바일 웹/PWA 상단바는 기기 폭과 관계없이 한 줄을 유지한다.
   치즈 스킨의 17px 타이틀이 기본 모바일 축소 규칙을 덮어쓰므로,
   좁은 폭에서는 타이틀·배지·잔고·액션을 함께 단계적으로 압축한다. */
body:not(.holdem-table-active):not(.holdem-cash-table-active) #topbar {
  flex-wrap: nowrap;
}
body:not(.holdem-table-active):not(.holdem-cash-table-active) #topbar #title {
  display: inline-flex;
  flex: 0 1 auto;
  align-items: center;
  min-width: 0;
  white-space: nowrap;
}
body:not(.holdem-table-active):not(.holdem-cash-table-active) #balance,
body:not(.holdem-table-active):not(.holdem-cash-table-active) .topbar-actions,
body:not(.holdem-table-active):not(.holdem-cash-table-active) .myinfo-top-btn,
body:not(.holdem-table-active):not(.holdem-cash-table-active) .pw-logout-btn {
  flex-wrap: nowrap;
  white-space: nowrap;
}

@media (max-width: 390px) {
  body:not(.holdem-table-active):not(.holdem-cash-table-active) #topbar {
    gap: 4px;
    padding-left: 8px;
    padding-right: 8px;
  }
  body:not(.holdem-table-active):not(.holdem-cash-table-active) #topbar #title {
    font-size: 15px;
    letter-spacing: 0.2px;
  }
  body:not(.holdem-table-active):not(.holdem-cash-table-active) .pw-bob {
    font-size: 14px;
  }
  body:not(.holdem-table-active):not(.holdem-cash-table-active) #balance {
    font-size: 10.5px;
  }
  body:not(.holdem-table-active):not(.holdem-cash-table-active) #balance b {
    margin-left: 2px;
  }
  body:not(.holdem-table-active):not(.holdem-cash-table-active) .topbar-actions {
    gap: 3px;
  }
  body:not(.holdem-table-active):not(.holdem-cash-table-active) .myinfo-top-btn {
    gap: 3px;
    min-height: 30px;
    padding: 3px 6px 3px 4px;
    font-size: 9.5px;
  }
  body:not(.holdem-table-active):not(.holdem-cash-table-active) .myinfo-mini-avatar {
    width: 18px;
    height: 18px;
    font-size: 9px;
  }
  body:not(.holdem-table-active):not(.holdem-cash-table-active) .pw-logout-btn {
    min-height: 30px;
    padding: 4px 7px;
    font-size: 10px;
  }
}

@media (max-width: 350px) {
  body:not(.holdem-table-active):not(.holdem-cash-table-active) #topbar {
    gap: 3px;
    padding-left: 6px;
    padding-right: 6px;
  }
  body:not(.holdem-table-active):not(.holdem-cash-table-active) #topbar #title {
    font-size: 13.5px;
  }
  body:not(.holdem-table-active):not(.holdem-cash-table-active) .pw-bob {
    font-size: 13px;
  }
  body:not(.holdem-table-active):not(.holdem-cash-table-active) #balance {
    font-size: 9.5px;
  }
  body:not(.holdem-table-active):not(.holdem-cash-table-active) .myinfo-top-btn {
    padding-right: 5px;
    font-size: 9px;
  }
  body:not(.holdem-table-active):not(.holdem-cash-table-active) .pw-logout-btn {
    padding-inline: 6px;
    font-size: 9.5px;
  }
}

/* 모드 버튼·탭·필터: 주아체 */
.mode-switch-btn, .lobby-tabs button, #lobbyTabs button, .tab, .struct-filter button,
.tcard h3, .tcard .stat .val, .status-pill, .myinfo-top-btn span, .pw-logout-btn {
  font-family:'Jua',sans-serif !important; font-weight:400 !important; letter-spacing:0.4px;
}

/* ── 카드: 크림치즈 판 + 치즈 구멍 ── */
.tcard {
  background:
    radial-gradient(circle at 88% 18%, #f4e2b8 0 7px, transparent 8px),
    radial-gradient(circle at 94% 62%, #f4e2b8 0 5px, transparent 6px),
    radial-gradient(circle at 78% 88%, #f4e2b8 0 4px, transparent 5px),
    linear-gradient(180deg, #fff8e6 0%, #ffefc9 100%) !important;
  border: 3px solid #f2b53a !important;
  border-radius: 18px !important;
  box-shadow: 0 5px 0 rgba(168,106,18,0.35), 0 8px 18px rgba(0,0,0,0.35) !important;
  transition: transform .15s ease;
}
.tcard:active { transform: scale(0.985); }
.tcard h3, .tcard .tcard-title-marquee { color:#7a4c10 !important; }
.tcard .stat .lbl { color:#a0783c !important; }
.tcard .stat .val { color:#6b4212 !important; }
.tcard .tcard-foot-text, .tcard .tcard-foot-left { color:#a0783c !important; }
.tcard .countdown { color:#b3620e !important; }
.tcard .countdown.is-closed { color:#c0392b !important; }

/* 카드 안 뱃지들: 크림 위 갈색 톤 */
.tcard .status-pill, .tcard .struct-badge, .tcard .ticket-badge, .tcard .private-badge, .tcard .trophy-badge {
  background: rgba(226,166,38,0.18) !important;
  border-color: rgba(170,112,20,0.5) !important;
  color: #8a5a00 !important;
}
.tcard .status-pill.s-reg { background:#ffe08a !important; color:#7a4c10 !important; border-color:#e2a626 !important; }
.tcard .status-pill.s-play, .tcard .status-pill.s-late { background:#ffd0a0 !important; color:#8a4a00 !important; }
.tcard .status-pill.s-mine { background:#d7ecc0 !important; color:#3e6b1e !important; }
.tcard .tcard-deposit-note { background:#eaf6df !important; border-color:#9cc27a !important; color:#3e6b1e !important; }

/* ── 참가바 = 치즈 레이스 (쥐 🐭 → 치즈 🧀) ── */
.tcard .tcard-progress {
  height: 18px !important; background:#f6e7c3 !important; border-radius:999px !important;
  position: relative; overflow: visible !important; border:1px solid #e8cf9a;
}
.tcard .tcard-progress .fill {
  background: linear-gradient(90deg,#ffd43b,#f5a623) !important;
  border-radius:999px !important; position:relative; overflow: visible !important;
}
.tcard .tcard-progress .fill::after {
  content:"🐭"; position:absolute; right:-7px; top:50%; transform:translateY(-52%);
  font-size:15px; animation: pw-race 0.9s ease-in-out infinite;
}
.tcard .tcard-progress::after {
  content:"🧀"; position:absolute; right:4px; top:50%; transform:translateY(-52%); font-size:13px;
}
.tcard .tcard-progress.is-full::after { content:"😋"; }

/* 상세 화면 등록 버튼: 3D 눌림 */
.detail-register-btn, #detailRegisterBtn, button[class*="register"] {
  font-family:'Jua',sans-serif !important; font-weight:400 !important;
}
/* 레이스바: 0%여도 쥐가 출발선 안에 있게 */
.tcard .tcard-progress .fill { min-width: 22px !important; }

/* ══════════ 시안2: 치즈보드 테이블 🧀 (레이아웃 불변, 스킨만) ══════════ */
/* (2026-07-28 정리: 이 자리에 있던 #felt 초기 치즈 규칙 3개는 아래 "시안2
   보정" 블록(body.holdem-table-active #felt…)이 전부 덮어써 죽은 코드였음.
   오벌 색은 보정 블록이 --tbl-* 변수로 소비한다.) */

/* 팟 = 크림 명판 + 통통 치즈 */
#potDisplay {
  background: #fff8e6 !important;
  border: 2px solid #e2a626 !important;
  box-shadow: 0 3px 0 rgba(168,106,18,0.5), 0 5px 12px rgba(0,0,0,0.3) !important;
  animation: pw-pop 3s ease-in-out infinite;
}
#potDisplay .pot-tag { color: #a0783c !important; font-family:'Jua',sans-serif; font-size:10px !important; }
#potDisplay .pot-amount { color: #7a4c10 !important; font-family:'Jua',sans-serif; }
#potDisplay .pot-breakdown { color: #a0783c !important; }
#potDisplay .pot-breakdown .side { color: #b3620e !important; }

/* 좌석 명판 = 크림 + 체다 보더 + 3D */
.seat .name-pill {
  background: #fff8e6 !important;
  border: 2px solid #e2a626 !important;
  box-shadow: 0 3px 0 rgba(168,106,18,0.4) !important;
  border-radius: 11px !important;
}
.seat .name { color: #7a4c10 !important; font-family:'Jua',sans-serif; font-weight:400 !important; }
.seat .chips { color: #b3620e !important; font-family:'Jua',sans-serif; font-weight:400 !important; }

/* 중앙 블라인드 정보: 밝은 치즈판 위 가독 */
body.holdem-table-active .blind-info-panel, .blind-info-panel {
  background: rgba(255,248,230,0.72) !important;
  border-radius: 12px; padding: 4px 10px;
  color: #7a4c10 !important;
}
.blind-info-panel * { color: #7a4c10 !important; }

/* 액션 버튼: 카툰 3D 골드 */
#actionButtons button {
  font-family:'Jua',sans-serif !important; font-weight:400 !important;
  background: linear-gradient(180deg,#ffd43b,#e8962b) !important;
  color: #3a2410 !important;
  border: none !important; border-radius: 13px !important;
  box-shadow: 0 4px 0 #a86a12, 0 6px 10px rgba(0,0,0,0.35) !important;
}
#actionButtons button:active { transform: translateY(2px) scale(0.98) !important; box-shadow: 0 2px 0 #a86a12 !important; }
#actionButtons button .ab-label, #actionButtons button .ab-amount { color: #3a2410 !important; }
#actionButtons button.is-allin {
  background: linear-gradient(180deg,#ff8a5b,#d9542b) !important;
  box-shadow: 0 4px 0 #8a2f10, 0 6px 10px rgba(0,0,0,0.35) !important;
}
#actionButtons button.is-allin .ab-label, #actionButtons button.is-allin .ab-amount { color: #fff3e8 !important; }

/* 내 차례 뱃지 = 스티커 */
.toact-badge {
  background: #d96666 !important; color: #fff !important;
  border-radius: 8px !important; transform: rotate(-2deg);
  font-family: 'Jua',sans-serif !important; font-weight: 400 !important;
}

/* ── 시안2 보정: 모바일 테이블 타원(::before=크러스트, ::after=치즈판) ──
   2026-07-28: 하드코딩 색 → --tbl-* 변수 소비로 전환. 변수 미정의(기본
   classic_gold)면 fallback이 기존 치즈 색과 동일. 다른 유저 스킨은 3265~
   블록이 변수를 채워 오벌만 재채색된다(구멍·크러스트 구조는 전 스킨 공통). */
body.holdem-table-active #felt {
  background:
    radial-gradient(ellipse at 50% 30%, var(--tbl-base-tint, rgba(120,78,22,0.45)), transparent 55%),
    linear-gradient(180deg, var(--tbl-base-hi, #2a1c0e) 0%, var(--tbl-base-mid, #1c1109) 60%, var(--tbl-base-low, #140c06) 100%) !important;
}
body.holdem-table-active #felt::before {
  border: 1px solid var(--tbl-crust-border, rgba(90,55,10,0.9)) !important;
  background:
    linear-gradient(90deg, var(--tbl-crust-glint, rgba(255,235,180,0.25)), transparent 8%, transparent 92%, var(--tbl-crust-shade, rgba(90,50,5,0.35))),
    radial-gradient(ellipse at 50% 42%, var(--tbl-crust-hi, #d99b2e), var(--tbl-crust-mid, #b97724) 55%, var(--tbl-crust-low, #8a5210) 100%) !important;
  box-shadow:
    inset 0 0 0 2px var(--tbl-crust-ring, rgba(255,225,150,0.35)),
    inset 0 0 26px var(--tbl-crust-inner-shadow, rgba(90,50,5,0.5)),
    0 24px 48px rgba(0,0,0,0.8) !important;
}
body.holdem-table-active #felt::after {
  border: 2px solid var(--tbl-felt-border, rgba(255,230,150,0.4)) !important;
  background:
    radial-gradient(circle at 27% 30%, rgba(var(--tbl-hole-rgb, 255,238,175), 0.75) 0 11px, transparent 12px),
    radial-gradient(circle at 71% 22%, rgba(var(--tbl-hole-rgb, 255,238,175), 0.7) 0 8px, transparent 9px),
    radial-gradient(circle at 78% 64%, rgba(var(--tbl-hole-rgb, 255,238,175), 0.75) 0 10px, transparent 11px),
    radial-gradient(circle at 30% 72%, rgba(var(--tbl-hole-rgb, 255,238,175), 0.65) 0 7px, transparent 8px),
    radial-gradient(circle at 56% 85%, rgba(var(--tbl-hole-rgb, 255,238,175), 0.6) 0 6px, transparent 7px),
    radial-gradient(ellipse at 50% 34%, var(--tbl-felt-sheen, #ffe291), transparent 62%),
    linear-gradient(180deg, var(--tbl-felt-hi, #fcd35f) 0%, var(--tbl-felt-mid, #edb844) 48%, var(--tbl-felt-low, #d99a2c) 100%) !important;
  box-shadow: inset 0 4px 16px var(--tbl-felt-inner-shadow, rgba(140,85,12,0.4)) !important;
}
/* 모바일 룰 대응: 좌석 명판·팟 명판 크림 강제 */
body.holdem-table-active .seat .name-pill,
body.holdem-table-active #felt .seat .name-pill {
  background: #fff8e6 !important;
  border: 2px solid #e2a626 !important;
  box-shadow: 0 3px 0 rgba(168,106,18,0.4) !important;
}
body.holdem-table-active .seat .name { color: #7a4c10 !important; }
body.holdem-table-active .seat .chips { color: #b3620e !important; }
body.holdem-table-active #potDisplay {
  background: #fff8e6 !important;
  border: 2px solid #e2a626 !important;
  box-shadow: 0 3px 0 rgba(168,106,18,0.5) !important;
}
body.holdem-table-active #potDisplay .pot-tag { color: #a0783c !important; }
body.holdem-table-active #potDisplay .pot-amount { color: #7a4c10 !important; }
/* 커뮤니티 placeholder: 크림톤 */
body.holdem-table-active #community .card.placeholder {
  background: rgba(255,248,230,0.45) !important;
  border: 1px dashed rgba(170,112,20,0.45) !important;
}
/* 모바일 패널 텍스트: 크림 위 갈색 */
body.holdem-table-active .name-pill.mobile-player-panel .name,
.name-pill.mobile-player-panel .name { color: #7a4c10 !important; text-shadow: none !important; }
body.holdem-table-active .name-pill.mobile-player-panel .chips,
.name-pill.mobile-player-panel .chips,
.name-pill.mobile-player-panel button.chips.stack-toggle {
  color: #b3620e !important; text-shadow: none !important;
  background: transparent !important; font-family:'Jua',sans-serif !important; font-weight:400 !important;
}
/* 스택 색: 원본 최고 특이도 셀렉터 그대로 재정의 (하늘색 → 카라멜 브라운) */
body.holdem-table-active #seats .seat .mobile-player-panel .chips.stack-toggle,
body.holdem-table-active #hero .hero-nameplate .chips.stack-toggle,
body.holdem-table-active #hero .hero-info > .chips.stack-toggle {
  color: #b3620e !important;
}
body.holdem-table-active .mobile-player-panel .name,
body.holdem-table-active #hero .hero-nameplate .name {
  color: #7a4c10 !important;
}

/* ══════════ 내정보: 멤버십 카드 + 영수증 + 트로피 진열대 🧀 ══════════ */
.myinfo-sheet .myinfo-card { background: #241812 !important; border: 1px solid #6b4a28 !important; }
.myinfo-card > header strong, #myInfoTitle { font-family:'Jua',sans-serif; color:#f6c66d !important; font-weight:400 !important; }

/* 프로필 히어로 = 치즈 멤버십 카드 */
.myinfo-hero {
  background:
    radial-gradient(circle at 90% 20%, rgba(255,240,190,0.9) 0 7px, transparent 8px),
    radial-gradient(circle at 82% 75%, rgba(255,240,190,0.8) 0 5px, transparent 6px),
    linear-gradient(135deg,#ffe08a,#f2b53a) !important;
  border: 3px solid #b97724 !important;
  border-radius: 14px !important;
  box-shadow: 0 5px 0 rgba(90,52,10,0.5) !important;
  padding: 12px 14px !important;
}
.myinfo-hero .myinfo-avatar { border: 3px solid #b97724 !important; border-radius: 50% !important; background:#fff8e6 !important; box-shadow: 0 2px 0 rgba(90,52,10,0.35); }
.myinfo-hero .myinfo-name { color:#5b3a08 !important; font-family:'Jua',sans-serif; font-weight:400 !important; }
.myinfo-hero .myinfo-badge { background:#b97724 !important; color:#ffe9b3 !important; border:none !important; font-weight:800; }
.myinfo-hero .myinfo-id-row, .myinfo-hero .myinfo-id-row * { color:#8a5a14 !important; }
.myinfo-hero .myinfo-copy-btn { background:#fff8e6 !important; border:1px solid #b97724 !important; color:#8a5a14 !important; border-radius:7px !important; }

/* 보유 스탯 */
.myinfo-stats .myinfo-stat { background:#fff8e6 !important; border:2px solid #e2a626 !important; border-radius:11px !important; box-shadow: 0 3px 0 rgba(168,106,18,0.35); }
.myinfo-stats .myinfo-stat span { color:#a0783c !important; }
.myinfo-stats .myinfo-stat strong { color:#7a4c10 !important; font-family:'Jua',sans-serif; font-weight:400 !important; }
.myinfo-stats .myinfo-stat:first-child span::before { content:"🧀 "; }

/* 섹션 제목/버튼 */
.myinfo-section h3 { font-family:'Jua',sans-serif; color:#f6c66d !important; font-weight:400 !important; }
.myinfo-primary { background:linear-gradient(180deg,#ffd43b,#e8962b) !important; color:#3a2410 !important; border:none !important; box-shadow:0 3px 0 #a86a12 !important; font-family:'Jua',sans-serif !important; font-weight:400 !important; border-radius:10px !important; }
.myinfo-secondary { background:#46301e !important; color:#f3d9ae !important; border:1px solid #6b4a28 !important; font-family:'Jua',sans-serif !important; font-weight:400 !important; border-radius:10px !important; }

/* 포인트 내역 = 영수증 */
.myinfo-ledger {
  background:#fffdf4 !important; border-radius:3px 3px 12px 12px !important;
  padding:10px 12px !important; position:relative;
  box-shadow: 0 4px 10px rgba(0,0,0,0.35) !important;
  --receipt-notch: 8px;
  -webkit-mask: linear-gradient(#000 0 0) padding-box,
    conic-gradient(from 135deg at 50% 0, #0000 90deg, #000 0) top/14px var(--receipt-notch) repeat-x;
}
.myinfo-ledger::before {
  content:"— C H E E Z E E  영 수 증 —"; display:block; text-align:center;
  font-family:'Jua',sans-serif; font-size:10.5px; color:#8a5a14; letter-spacing:1px;
  padding:6px 0 4px; border-bottom:1px dashed #d9c0a0; margin-bottom:2px;
}
.myinfo-ledger-row { border-bottom:1px dashed #d9c0a0 !important; }
.myinfo-ledger-row, .myinfo-ledger-row * { color:#6b4212 !important; }
.myinfo-ledger-row strong.plus, .myinfo-ledger-row .pos, .myinfo-ledger-row strong[class*="plus"] { color:#1a7f43 !important; }
.myinfo-ledger-row strong.minus, .myinfo-ledger-row .neg, .myinfo-ledger-row strong[class*="minus"] { color:#c0392b !important; }
.myinfo-ledger .myinfo-empty { color:#a0783c !important; }

/* 트로피 진열대 (시안2) */
.trophy-strip {
  background: linear-gradient(180deg,#8a5a2b,#6b4210) !important;
  border-radius: 10px !important; padding: 10px 12px 2px !important;
  position: relative;
}
.trophy-strip::after {
  content:""; display:block; height:9px; margin-top:6px;
  background:#4a2f0c; border-radius:3px; box-shadow:0 3px 0 #33200a;
}
.trophy-strip .trophy-item { animation: pw-bob 2.8s ease-in-out infinite; }
.trophy-strip .trophy-item:nth-child(2n) { animation-duration: 3.4s; }
.trophy-empty { color:#b3906b !important; }

/* 티켓함 태그 느낌 */
.myinfo-ticket-section .ticket-card, .ticket-box .ticket-card {
  background:#fff3d0 !important; border:2px dashed #b97724 !important; color:#7a4c10 !important; border-radius:9px !important;
}

/* ── CUSTOM: 아바타 피커 치즈 스킨 (원본 레드/블랙 → 치즈 골드) ── */
.avatar-picker-card { background: #1a1205; }
.avatar-picker-head strong { color: #ffe680; font-family: 'Jua', sans-serif; font-weight: 400; }
.avatar-picker-head button { color: #c9ae76; }
.avatar-picker-tabs button {
  border: 1px solid rgba(201,174,118,0.35);
  background: rgba(39,27,8,0.94);
  box-shadow: inset 0 0 0 1px rgba(252,196,25,0.08);
  color: #c9ae76;
}
.avatar-picker-tabs button.is-active {
  border-color: rgba(252,196,25,0.9);
  background: linear-gradient(180deg, #ffd43b, #f5a623);
  color: #38270b;
}
.avatar-picker-rule { background: rgba(252,196,25,0.25); }
.avatar-option-image { background: #fff8e6; box-shadow: 0 0 0 2px rgba(201,174,118,0.35); }
.avatar-option.is-selected .avatar-option-image { box-shadow: 0 0 0 4px #fcc419; }
.avatar-option-check { background: #fcc419; color: #38270b; }
.avatar-option-name { color: #c9ae76; }
.avatar-option.is-selected .avatar-option-name { color: #ffe680; }
.avatar-picker-save {
  background: linear-gradient(180deg, #ffd43b, #f5a623);
  color: #38270b;
  box-shadow: 0 4px 0 #8a5a14, 0 8px 18px rgba(0,0,0,0.4);
}

/* ── CUSTOM: 토너 상세 시안C — 꼬마 로봇 관제실 카툰 ──
   구조·배치 무변경. 크림 카드 + 3D 그림자 + 상태 램프 + 플립 시계 + 눈 달린 게이지 */

/* 배너: 크림 계기판 + 상단 상태 램프 3개 */
#detailBody #detailSummary.td-summary-banner {
  border: 3px solid #d99a1e;
  border-radius: 20px;
  background: linear-gradient(180deg, #ffedc4, #ffe0a1);
  box-shadow: 0 6px 0 rgba(138, 90, 20, 0.85), 0 14px 26px rgba(0, 0, 0, 0.35);
}
#detailSummary.td-summary-banner::before {
  content: "";
  inset: auto;
  top: 9px; left: 14px;
  width: 52px; height: 12px;
  background:
    radial-gradient(circle 5px at 6px 6px, #7ecb5f 55%, #4f8f2f 60%, transparent 65%),
    radial-gradient(circle 5px at 25px 6px, #ffd43b 55%, #d99a1e 60%, transparent 65%),
    radial-gradient(circle 5px at 44px 6px, #f0d9ad 55%, #d9b97a 60%, transparent 65%);
}
.td-banner-prize > span, .td-banner-time > span { color: #a5793a; }
.td-banner-prize strong, .td-banner-time strong { color: #6a3d0e; font-family: 'Jua', sans-serif; font-weight: 400; }
.td-banner-prize em, .td-banner-time em { color: #96602a; font-weight: 800; }
/* 카운트다운: 플립 시계 알약 */
.td-banner-time-value {
  display: inline-block !important;
  margin-top: 6px;
  padding: 4px 12px;
  border: 3px solid #f5a623;
  border-radius: 14px;
  background: #fffdf6;
  color: #e2761a !important;
  box-shadow: 0 3px 0 #c9821a;
}
/* 중앙 로고: 크림 배경용 재조색 */
.td-brand-123game { background: transparent; }
.td-brand-123game::before { background: transparent; box-shadow: none; }
.td-brand-123game::after {
  color: #b9770e;
  text-shadow: 0 1px 0 #fff7dd, 0 3px 8px rgba(138, 90, 20, 0.3);
}

/* 해시태그 배지 */
.detail-tags span {
  background: #fff3d6;
  border: 2px solid #e2a626;
  border-radius: 999px;
  color: #8a5a14;
  font-weight: 900;
}

/* 탭: 사탕 버튼 */
.detail-tab, body.holdem-detail-active .detail-tab {
  background: #fff8e6;
  border: 2px solid #e8c27a;
  border-radius: 12px;
  color: #a5793a;
  font-family: 'Jua', sans-serif;
  font-weight: 400;
  box-shadow: 0 2px 0 #d9b97a;
}
.detail-tab.active, body.holdem-detail-active .detail-tab.active {
  background: linear-gradient(180deg, #ffd43b, #f5a623);
  border-color: #d99a1e;
  color: #38270b;
  box-shadow: 0 3px 0 #c9821a;
}
body.holdem-detail-active .detail-tabs { border: none; background: transparent; box-shadow: none; }

/* 코어 카드 (시작칩·게이지·참가자) */
.td-core-card {
  background: linear-gradient(180deg, #fff6df, #ffefc9);
  border: 3px solid #e2a626;
  border-radius: 18px;
  box-shadow: 0 5px 0 rgba(138, 90, 20, 0.7), 0 12px 22px rgba(0, 0, 0, 0.28);
}
.td-core-card .td-metric span, .td-core-card .td-info-row span { color: #a5793a; }
.td-core-card .td-metric strong, .td-core-card .td-info-row strong { color: #6a3d0e; }
.td-core-card .td-core-top, .td-core-card .td-core-bottom { border-color: rgba(217, 154, 30, 0.35); }

/* 레벨 게이지: 눈 달린 압력게이지 */
.td-timer-ring {
  background: conic-gradient(#f5a623 var(--td-progress), #f0e2c0 0);
  box-shadow: 0 0 0 3px #d99a1e, 0 4px 0 3px rgba(138, 90, 20, 0.65);
}
.td-timer-ring::before {
  background: #fffdf6;
  box-shadow: inset 0 0 12px rgba(217, 154, 30, 0.35);
}
.td-timer-ring::after {
  content: "";
  position: absolute;
  top: 24px; left: 50%;
  width: 30px; height: 8px;
  margin-left: -15px;
  background:
    radial-gradient(circle 3.5px at 5px 4px, #6a3d0e 60%, transparent 66%),
    radial-gradient(circle 3.5px at 25px 4px, #6a3d0e 60%, transparent 66%);
  z-index: 2;
  pointer-events: none;
}
.td-timer-ring span, .td-timer-ring em { color: #a5793a; }
.td-timer-ring strong { color: #e2761a; font-family: 'Jua', sans-serif; font-weight: 400; }

/* 정보/구조 카드 */
.td-info-card {
  background: #fff8e6;
  border: 2px solid #e8c27a;
  border-radius: 16px;
  box-shadow: 0 3px 0 rgba(217, 185, 122, 0.9);
}
.td-info-card p { color: #96602a; }
.td-section-title strong { color: #8a5a14; font-family: 'Jua', sans-serif; font-weight: 400; }
.td-section-title span { color: #e2a626; }
.td-info-card .td-info-row span { color: #a5793a; }
.td-info-card .td-info-row strong { color: #6a3d0e; }
.td-empty { color: #a5793a; }

/* 아코디언 (상금·블라인드·참가 정보) */
.td-accordion {
  background: #fff8e6;
  border: 2px solid #e8c27a;
  border-radius: 14px;
  box-shadow: 0 3px 0 rgba(217, 185, 122, 0.9);
}
.td-accordion summary strong { color: #8a5a14; font-family: 'Jua', sans-serif; font-weight: 400; }
.td-accordion summary .td-accordion-icon { color: #e2a626; }
.td-accordion summary em { color: #c9932e; }
.td-accordion-body { color: #96602a; }
.td-accordion-body .td-info-row span { color: #a5793a; }
.td-accordion-body .td-info-row strong { color: #6a3d0e; }

/* 진행 중 토너 시계 (PLAYING) */
.tourn-clock.card-block {
  background: linear-gradient(180deg, #fff6df, #ffefc9);
  border: 3px solid #e2a626;
  border-radius: 18px;
  box-shadow: 0 5px 0 rgba(138, 90, 20, 0.7);
}
.tc-lvl-tag, .tc-blinds-tag, .tc-next-tag, .tc-stat-lbl { color: #a5793a; }
.tc-lvl-num, .tc-blinds-val, .tc-next-val, .tc-stat-val { color: #6a3d0e; }
.tc-ante { color: #96602a; }
.tc-progress {
  background: #fffdf6;
  border: 2px solid #d99a1e;
  border-radius: 999px;
  overflow: hidden;
}
.tc-progress-fill { background: linear-gradient(90deg, #ffd43b, #f5a623); border-radius: 999px; }

/* 내 등록 상태: 초록 사탕 바 */
#detailMyStatus {
  background: #eef7e3;
  border: 2px solid #7ecb5f;
  border-radius: 12px;
  color: #3b6d11;
  box-shadow: 0 3px 0 #4f8f2f;
}
#detailMyStatus b { color: #2c5410; }
#detailMyStatus.is-busted {
  background: #fbeae4;
  border-color: #f0997b;
  color: #993c1d;
  box-shadow: 0 3px 0 #b3552a;
}
/* 원본 그라디언트 텍스트(text-fill transparent) 해제 — 플립 시계/상금 값 */
.td-banner-time-value, .td-banner-prize-value {
  -webkit-text-fill-color: currentColor !important;
  background-image: none !important;
}
.td-banner-prize-value { color: #6a3d0e !important; }
.td-banner-value-empty { color: #b98a1e !important; -webkit-text-fill-color: #b98a1e !important; }
/* 중앙 CHEESE 로고: 아트 영역 정중앙 고정 (배너 밖 삐짐 방지) */
.td-banner-art { position: relative; }
.td-brand-123game { position: static; }
.td-brand-123game::after {
  position: absolute;
  left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
  margin: 0;
}
body.holdem-detail-active #detailMyStatus {
  background: #eef7e3;
  border: 2px solid #7ecb5f;
  border-radius: 12px;
  color: #3b6d11;
  box-shadow: 0 3px 0 #4f8f2f;
}
body.holdem-detail-active #detailMyStatus b { color: #2c5410; }
body.holdem-detail-active #detailMyStatus.is-busted {
  background: #fbeae4;
  border-color: #f0997b;
  color: #993c1d;
  box-shadow: 0 3px 0 #b3552a;
}

/* 상세 진입 상태/액션: 콘텐츠를 덮는 fixed CTA 대신 배너 아래 실제 행으로 배치. */
body.holdem-detail-active #detailBody {
  padding-bottom: calc(96px + var(--holdem-safe-area-bottom));
  scroll-padding-bottom: calc(96px + var(--holdem-safe-area-bottom));
  overscroll-behavior-y: none;
}
.detail-entry-dock {
  display: flex;
  align-items: stretch;
  gap: 8px;
  margin: 0 0 12px;
}
body.holdem-detail-active .detail-entry-dock #detailMyStatus {
  flex: 1 1 auto;
  min-width: 0;
  height: 56px;
  min-height: 56px;
  max-height: 56px;
  margin: 0;
  padding: 11px 13px;
  display: flex;
  align-items: center;
  gap: 7px;
  box-sizing: border-box;
  box-shadow: none;
}
.detail-entry-dock #detailMyStatus b {
  flex: 0 0 auto;
  white-space: nowrap;
}
.detail-status-code {
  min-width: 0;
  overflow: hidden;
  color: #55812f;
  font-size: 11px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.detail-entry-dock #detailActions {
  position: static;
  left: auto;
  bottom: auto;
  z-index: auto;
  flex: 1 1 auto;
  width: auto;
  margin: 0;
  padding: 0;
  transform: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  height: 56px;
  min-height: 56px;
  max-height: 56px;
}
.detail-entry-dock.has-status #detailActions {
  flex: 0 0 auto;
}
.detail-entry-dock #detailActions button {
  height: 100%;
  min-height: 56px;
  max-height: 56px;
  padding: 9px 16px;
  box-sizing: border-box;
  white-space: nowrap;
}
.detail-entry-dock.has-status #detailActions .btn-danger {
  border: 1px solid #d6634e;
  background: #fff4ef;
  color: #b43d29;
  box-shadow: none;
}
.detail-entry-dock:not(.has-status) #detailActions,
.detail-entry-dock:not(.has-status) #detailActions button {
  width: 100%;
}

/* 보장상금: 치즈 배너와 섞이지 않는 상금용 에메랄드 강조색. */
.td-banner-prize-value,
.td-banner-prize-value .td-banner-value-main,
.td-banner-prize-value .td-banner-value-unit,
.td-banner-prize-value .td-banner-value-empty {
  color: #2f7d32 !important;
  -webkit-text-fill-color: #2f7d32 !important;
  background-image: none !important;
  text-shadow: 0 1px 0 rgba(255,255,255,0.55);
}

/* 크림 카드 위 노란 설명문은 저대비라 고대비 안내 박스로 전환. */
.td-info-card p.td-trophy-note {
  padding: 9px 11px;
  border: 1px solid #a9c88f;
  border-radius: 10px;
  background: #eef7e3;
  color: #5d4a20;
  font-weight: 750;
}
.td-info-card p.td-trophy-note strong {
  color: #2f6b24;
}

/* 좁은 갤럭시 웹 폭에서도 참가자 수가 탭 밖으로 밀리지 않게 균등 정렬. */
body.holdem-detail-active .detail-tabs {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  overflow-x: hidden;
}
.detail-tab,
body.holdem-detail-active .detail-tab {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  min-width: 0;
  padding-right: 3px;
  padding-left: 3px;
  font-size: clamp(11px, 3.2vw, 14px);
  white-space: nowrap;
}
.detail-tab .muted-count,
body.holdem-detail-active .detail-tab .muted-count {
  flex: 0 0 auto;
  margin-left: 0;
  font-size: 0.72em;
  white-space: nowrap;
}
@media (max-width: 360px) {
  .detail-entry-dock {
    gap: 5px;
  }
  .detail-entry-dock #detailMyStatus {
    padding-inline: 9px;
    font-size: 12px;
  }
  .detail-entry-dock #detailActions button {
    padding-inline: 10px;
    font-size: 12px;
  }
}

/* 2026-07-24: 테이블 햄버거 메뉴 정보 구조 개편. */
body.holdem-table-active .gg-topbar-actions.table-action-menu {
  box-sizing: border-box !important;
  display: none !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: min(300px, calc(100vw - 24px)) !important;
  max-height: calc(100dvh - 86px) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  top: max(62px, calc(env(safe-area-inset-top, 0px) + 48px)) !important;
  left: max(12px, calc((100vw - var(--mp-screen-w, 390px)) / 2 + 12px)) !important;
  padding: 10px !important;
  gap: 8px !important;
  border: 1px solid rgba(242, 190, 71, 0.38) !important;
  border-radius: 16px !important;
  background: linear-gradient(180deg, rgba(29, 20, 8, 0.985), rgba(11, 8, 4, 0.99)) !important;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.62), inset 0 1px 0 rgba(255, 235, 184, 0.08) !important;
  scrollbar-width: thin;
}

body.holdem-table-active.table-actions-open .gg-topbar-actions.table-action-menu {
  display: flex !important;
}

body.holdem-table-active .table-menu-title {
  padding: 4px 7px 7px;
  color: #fff0c2;
  font-size: 15px;
  font-weight: 900;
  letter-spacing: -0.02em;
}

body.holdem-table-active .table-menu-section {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(255, 224, 148, 0.12);
  border-radius: 11px;
  background: rgba(255, 247, 224, 0.035);
}

body.holdem-table-active .gg-topbar-actions .chip-mode-toggle.table-menu-row,
body.holdem-table-active .gg-topbar-actions .table-display-submenu .chip-mode-toggle {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 43px !important;
  margin: 0 !important;
  padding: 0 13px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255, 224, 148, 0.1) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #f8ecd0 !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  text-align: left !important;
  white-space: nowrap !important;
}

body.holdem-table-active .gg-topbar-actions .table-menu-section > :last-child {
  border-bottom: 0 !important;
}

body.holdem-table-active .table-menu-row b {
  color: #e8bd58;
  font-size: 18px;
  font-weight: 900;
}

body.holdem-table-active .table-menu-row .table-menu-value {
  min-width: 42px;
  padding: 3px 8px;
  border: 1px solid rgba(239, 190, 72, 0.3);
  border-radius: 999px;
  background: rgba(239, 190, 72, 0.09);
  color: #ffd978;
  font-size: 12px;
  line-height: 1.25;
  text-align: center;
}

body.holdem-table-active .table-display-submenu {
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: rgba(255, 217, 120, 0.055);
}

body.holdem-table-active .table-display-submenu.hidden {
  display: none !important;
}

body.holdem-table-active .gg-topbar-actions .table-display-submenu .chip-mode-toggle {
  justify-content: center !important;
  color: #dccba4 !important;
  font-size: 12px !important;
}

body.holdem-table-active .gg-topbar-actions .table-display-submenu .chip-mode-toggle + .chip-mode-toggle {
  border-left: 1px solid rgba(255, 224, 148, 0.1) !important;
}

body.holdem-table-active .table-menu-navigation .table-lobby-menu {
  color: #ffe5a0 !important;
}

body.holdem-table-active .table-menu-danger {
  border-color: rgba(239, 93, 93, 0.2);
  background: rgba(127, 29, 29, 0.1);
}

body.holdem-table-active .gg-topbar-actions .table-menu-danger .table-menu-row {
  justify-content: center !important;
  color: #ffb8b8 !important;
}

body.holdem-table-active .gg-topbar-actions .table-menu-danger #forfeitToggle {
  background: rgba(127, 29, 29, 0.28) !important;
  color: #ff8e8e !important;
}

/* 카드백 선택 색상 복구.
   과거 치즈 엠블럼 공통 규칙이 모든 스킨의 배경을 갈색으로 덮고 있었으므로,
   배경·테두리·패턴은 선택된 스킨 변수를 사용하고 엠블럼만 위에 유지한다. */
body[data-card-back-skin] .card.back,
body[data-card-back-skin] .card.hidden-card,
.deck-preview-card[data-preview-back] {
  border-color: var(--deck-back-border) !important;
  background: var(--deck-back-bg) !important;
}

body[data-card-back-skin] .card.back::before,
body[data-card-back-skin] .card.hidden-card::before,
.deck-preview-card[data-preview-back]::before {
  content: "" !important;
  inset: 5px !important;
  padding: 0 !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  background-image: var(--deck-back-pattern) !important;
  color: transparent !important;
}

body[data-card-back-skin]:not([data-card-back-skin="back_123game_black_gold"]) .card.back::after,
body[data-card-back-skin]:not([data-card-back-skin="back_123game_black_gold"]) .card.hidden-card::after,
.deck-preview-card[data-preview-back]:not([data-preview-back="back_123game_black_gold"])::after {
  content: "🧀" !important;
  background: none !important;
}

body[data-card-back-skin="back_123game_black_gold"] .card.back::after,
body[data-card-back-skin="back_123game_black_gold"] .card.hidden-card::after,
.deck-preview-card[data-preview-back="back_123game_black_gold"]::after {
  content: "" !important;
  width: 62% !important;
  height: 42% !important;
  background: var(--deck-123game-mark) center / contain no-repeat !important;
}

/* 2026-07-24: 결과 화면 B안 — 아이보리 토너먼트 티켓. */
.bust-modal {
  padding: max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom)) !important;
  background: rgba(7, 5, 2, 0.82) !important;
  backdrop-filter: blur(8px) saturate(0.7) !important;
}

.bust-card {
  box-sizing: border-box !important;
  width: min(92vw, 390px) !important;
  max-width: 390px !important;
  padding: 22px 22px 18px !important;
  color: #38240f !important;
  border: 2px solid #c99732 !important;
  border-radius: 20px !important;
  background:
    radial-gradient(circle at 88% 18%, rgba(210, 164, 74, 0.1) 0 3px, transparent 4px),
    linear-gradient(155deg, #fffaf0 0%, #f7ead0 100%) !important;
  box-shadow: 0 0 0 7px rgba(51, 31, 12, 0.88), 0 22px 64px rgba(0, 0, 0, 0.66) !important;
}

.bust-ticket-head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(116, 72, 22, 0.18);
  font-size: 17px;
  font-weight: 900;
}

.bust-medal {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 2px solid #bd8424;
  border-radius: 50%;
  background: #4a2d0e;
  box-shadow: 0 3px 0 #7b4d16, inset 0 0 0 3px #f5d57b;
  font-size: 20px;
}

.bust-rank {
  margin: 18px 0 0 !important;
  color: #2f1c0b !important;
  font-size: clamp(52px, 16vw, 72px) !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  letter-spacing: -0.06em;
}

.bust-sub {
  margin: 6px 0 16px !important;
  color: #74512b !important;
  font-size: 15px !important;
  font-weight: 750;
}

.bust-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-bottom: 14px;
  overflow: hidden;
  border: 1px solid rgba(137, 91, 31, 0.18);
  border-radius: 12px;
  background: rgba(126, 83, 27, 0.045);
}

.bust-stats > div {
  display: grid;
  gap: 5px;
  padding: 12px 8px;
}

.bust-stats > div + div { border-left: 1px solid rgba(137, 91, 31, 0.16); }
.bust-stats span { color: #8a6740; font-size: 11px; font-weight: 750; }
.bust-stats b { color: #3a230e; font-size: 19px; font-weight: 950; }

.bust-message {
  margin-bottom: 14px;
  color: #7e5a2d;
  font-size: 13px;
  font-weight: 750;
}

.bust-actions {
  display: grid !important;
  grid-template-columns: minmax(0, 0.76fr) minmax(0, 1.24fr);
  gap: 9px !important;
}

.bust-actions #bustOther {
  grid-column: 1 / -1;
  background: #473016 !important;
  color: #fff0c7 !important;
}

#bustResults,
#bustClose {
  min-height: 48px;
  padding: 0 10px !important;
  border-radius: 10px !important;
  font-size: 14px !important;
  font-weight: 900 !important;
}

#bustResults {
  border: 1px solid #6d481b;
  background: #3a260f;
  color: #fff0c7;
}

#bustClose {
  border: 1px solid #b77915 !important;
  background: linear-gradient(180deg, #ffd768, #eaaa23) !important;
  color: #382109 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.6), 0 3px 0 #a76912;
}

/* B안 확장형 최종 순위 티켓. */
#resultsModal .history-backdrop {
  background: rgba(6, 4, 2, 0.84) !important;
  backdrop-filter: blur(8px) saturate(0.72) !important;
}

#resultsModal .results-ticket-card {
  width: min(92vw, 430px) !important;
  max-height: min(90dvh, 820px) !important;
  color: #39230d !important;
  border: 2px solid #c99732 !important;
  border-radius: 20px !important;
  background: linear-gradient(155deg, #fffaf0, #f5e6c8) !important;
  box-shadow: 0 0 0 7px rgba(48, 29, 10, 0.9), 0 24px 70px rgba(0,0,0,0.68) !important;
}

#resultsModal .history-header {
  position: relative;
  min-height: 58px;
  padding: 13px 16px 13px 66px !important;
  border-bottom: 1px solid rgba(117, 74, 22, 0.17) !important;
  background: transparent !important;
  color: #3a220d !important;
  font-size: 17px !important;
  font-weight: 950 !important;
}

#resultsModal .history-header::before {
  content: "🧀";
  position: absolute;
  left: 16px;
  top: 11px;
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 2px solid #bd8424;
  border-radius: 50%;
  background: #4a2d0e;
  box-shadow: inset 0 0 0 3px #f5d57b;
  font-size: 19px;
}

#resultsModal .history-header button {
  color: #6e451b !important;
  font-size: 26px !important;
}

#resultsModal .results-header-box {
  padding: 11px 18px 12px !important;
  border-bottom: 1px solid rgba(117, 74, 22, 0.14) !important;
  background: rgba(126, 83, 27, 0.035) !important;
  color: #795631 !important;
  line-height: 1.5 !important;
}

#resultsModal .results-ticket-summary { color: #4d3013; font-size: 13px; font-weight: 850; }
#resultsModal .results-ticket-summary b { color: #bc7914 !important; }
#resultsModal .results-ticket-meta,
#resultsModal .results-ticket-time { color: #886945; font-size: 11px; }

#resultsModal .history-body {
  padding: 10px 14px !important;
  scrollbar-color: #c3923a transparent;
}

#resultsModal .res-row {
  min-height: 48px;
  grid-template-columns: 42px minmax(0, 1fr) auto !important;
  margin-bottom: 7px !important;
  padding: 7px 11px !important;
  border: 1px solid rgba(117, 74, 22, 0.13) !important;
  border-radius: 11px !important;
  background: rgba(255,255,255,0.46) !important;
  box-shadow: 0 2px 7px rgba(81, 48, 12, 0.06);
}

#resultsModal .res-row.is-winner { background: rgba(255, 228, 147, 0.3) !important; }
#resultsModal .res-row.is-me {
  border-color: #e2a72a !important;
  background: linear-gradient(90deg, rgba(255, 224, 126, 0.38), rgba(255,255,255,0.55)) !important;
  box-shadow: 0 0 0 1px rgba(226,167,42,0.2), 0 3px 10px rgba(113,70,17,0.12) !important;
}

#resultsModal .res-pos { color: #4c3013 !important; text-align: center !important; }
#resultsModal .res-name { color: #3b250f !important; font-weight: 850 !important; }
#resultsModal .res-prize { color: #876844 !important; }
#resultsModal .res-prize.is-paid { color: #b8740e !important; }
#resultsModal .res-prize-breakdown { color: #98713b !important; }

.results-rank-medal {
  display: inline-grid;
  width: 27px;
  height: 27px;
  place-items: center;
  border-radius: 50%;
  color: #5a3b18;
  font-size: 13px;
  font-weight: 950;
}
.results-rank-medal.gold { border: 2px solid #b77c14; background: linear-gradient(145deg,#ffe795,#dca62f); }
.results-rank-medal.silver { border: 2px solid #909090; background: linear-gradient(145deg,#f5f5f5,#bdbdbd); }
.results-rank-medal.bronze { border: 2px solid #a75e29; background: linear-gradient(145deg,#f0b67e,#b96b36); }

.results-ticket-actions {
  padding: 9px 14px 14px;
}

#resultsLobbyBtn {
  width: 100%;
  min-height: 48px;
  border: 1px solid #b77915;
  border-radius: 10px;
  background: linear-gradient(180deg, #ffd768, #eaaa23);
  color: #382109;
  font-size: 15px;
  font-weight: 950;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.6), 0 3px 0 #a76912;
}

/* 다크 정보형 족보 + 이번 판 결과와 동일한 4색 카드. */
.hand-guide-backdrop {
  background: rgba(6,4,2,0.82) !important;
  backdrop-filter: blur(7px) saturate(0.72) !important;
}

.hand-guide-card {
  width: min(94vw, 460px) !important;
  max-height: min(90dvh, 850px) !important;
  border: 1px solid rgba(213, 164, 70, 0.76) !important;
  border-radius: 18px !important;
  background: linear-gradient(155deg, rgba(37,25,12,0.99), rgba(12,9,5,0.995)) !important;
  box-shadow: 0 0 0 4px rgba(67,43,17,0.42), 0 24px 70px rgba(0,0,0,0.7) !important;
}

.hand-guide-head {
  padding: 14px 16px !important;
  color: #ffe3a0 !important;
  border-bottom: 1px solid rgba(213, 164, 70, 0.25) !important;
  font-size: 17px !important;
}

.hand-guide-head > span { display: flex; align-items: center; gap: 10px; }
.hand-guide-cheese {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid #d29c38;
  border-radius: 50%;
  background: #4b300f;
  font-style: normal;
  font-size: 18px;
}

.hand-guide-body { padding: 10px !important; scrollbar-color: #9f732c transparent; }
.hand-guide-row {
  grid-template-columns: minmax(118px, 0.9fr) minmax(145px, 1.1fr) !important;
  gap: 8px !important;
  min-height: 57px;
  padding: 7px 8px !important;
  border-color: rgba(235, 198, 123, 0.1) !important;
  background: rgba(255, 247, 224, 0.035) !important;
}
.hand-guide-row.hand-guide-top:first-child { border-color: rgba(237,186,70,0.42) !important; }
.hand-guide-row.hand-guide-top:nth-child(2) { border-color: rgba(205,205,205,0.28) !important; }
.hand-guide-row.hand-guide-top:nth-child(3) { border-color: rgba(193,113,62,0.32) !important; }

.hand-guide-copy { display: grid; gap: 3px; min-width: 0; }
.hand-guide-copy b { color: #fff1ce !important; font-size: 11.5px !important; white-space: nowrap; }
.hand-guide-copy span { color: #bca984 !important; font-size: 9.5px !important; line-height: 1.2 !important; }

.hand-guide-cards {
  display: flex;
  justify-content: flex-end;
  gap: 3px;
  min-width: 0;
}

.guide-mini-card {
  display: grid;
  grid-template-rows: auto auto;
  box-sizing: border-box;
  width: clamp(23px, 6.3vw, 30px);
  height: clamp(34px, 9vw, 43px);
  padding: 3px 2px 2px;
  border: 1px solid rgba(255,255,255,0.32);
  border-radius: 4px;
  color: #fff;
  box-shadow: 0 3px 6px rgba(0,0,0,0.42);
  text-align: center;
}
.guide-mini-card b { color: inherit !important; font-size: clamp(9px, 2.7vw, 12px) !important; line-height: 1; }
.guide-mini-card i { color: inherit; font-size: clamp(9px, 2.7vw, 12px); font-style: normal; line-height: 1; }
.guide-mini-card.spade { background: linear-gradient(160deg, #20252d, #07090c); }
.guide-mini-card.heart { background: linear-gradient(160deg, #ef4a56, #a91625); }
.guide-mini-card.diamond { background: linear-gradient(160deg, #4d8dff, #1450bd); }
.guide-mini-card.club { background: linear-gradient(160deg, #35c77a, #087f45); }

.hand-guide-note {
  padding: 9px 4px 3px;
  color: #d8ae57;
  font-size: 11px;
  font-weight: 750;
  text-align: center;
}

@media (max-width: 360px) {
  .hand-guide-modal { padding: 10px !important; }
  .hand-guide-card { width: 100% !important; max-height: 92dvh !important; }
  .hand-guide-row { grid-template-columns: 112px minmax(138px, 1fr) !important; }
  .hand-guide-copy b { font-size: 10.5px !important; }
  .hand-guide-copy span { font-size: 8.8px !important; }
  .guide-mini-card { width: 23px; height: 34px; }
}

/* 2026-07-24: 카드덱 설정 미리보기를 실제 테이블 카드 규칙에서 격리.
   각 옵션의 data-preview-* 값이 현재 선택된 body 스킨보다 항상 우선한다. */
#cardDeckSettingsModal .card-skin-option-pair {
  position: relative;
  display: block;
  width: 58px;
  height: 58px;
  margin-inline: auto;
}

#cardDeckSettingsModal .card-skin-option-pair .card-skin-option-card {
  position: absolute !important;
  top: 5px;
  width: 38px !important;
  height: 50px !important;
}

#cardDeckSettingsModal .card-skin-option-card-first {
  left: 1px;
  z-index: 1;
  transform: rotate(-5deg);
}

#cardDeckSettingsModal .card-skin-option-card-second {
  right: 1px;
  z-index: 2;
  transform: rotate(5deg);
}

body.holdem-table-active #cardDeckSettingsModal .deck-preview-card[data-preview-front],
#cardDeckSettingsModal .deck-preview-card[data-preview-front] {
  border: var(--deck-front-border) !important;
  background: var(--deck-front-bg) !important;
  box-shadow: var(--deck-front-shadow) !important;
}

body.holdem-table-active #cardDeckSettingsModal .deck-preview-card[data-preview-front].spade,
#cardDeckSettingsModal .deck-preview-card[data-preview-front].spade {
  color: var(--deck-spade-color) !important;
}
body.holdem-table-active #cardDeckSettingsModal .deck-preview-card[data-preview-front].spade .rank,
body.holdem-table-active #cardDeckSettingsModal .deck-preview-card[data-preview-front].spade .suit,
#cardDeckSettingsModal .deck-preview-card[data-preview-front].spade .rank,
#cardDeckSettingsModal .deck-preview-card[data-preview-front].spade .suit {
  color: var(--deck-spade-color) !important;
}

body.holdem-table-active #cardDeckSettingsModal .deck-preview-card[data-preview-front].diamond,
#cardDeckSettingsModal .deck-preview-card[data-preview-front].diamond {
  color: var(--deck-diamond-color) !important;
}
body.holdem-table-active #cardDeckSettingsModal .deck-preview-card[data-preview-front].diamond .rank,
body.holdem-table-active #cardDeckSettingsModal .deck-preview-card[data-preview-front].diamond .suit,
#cardDeckSettingsModal .deck-preview-card[data-preview-front].diamond .rank,
#cardDeckSettingsModal .deck-preview-card[data-preview-front].diamond .suit {
  color: var(--deck-diamond-color) !important;
}

body.holdem-table-active #cardDeckSettingsModal .deck-preview-card[data-preview-front="dark"].spade,
#cardDeckSettingsModal .deck-preview-card[data-preview-front="dark"].spade {
  background: linear-gradient(180deg, #17191f, #020203) !important;
}
body.holdem-table-active #cardDeckSettingsModal .deck-preview-card[data-preview-front="dark"].diamond,
#cardDeckSettingsModal .deck-preview-card[data-preview-front="dark"].diamond {
  background: linear-gradient(180deg, #3b82f6, #1d4ed8) !important;
}

/* 뒷면은 치즈 엠블럼 구조를 공통으로 쓰고 배경·패턴·테두리만 스킨별로 변경. */
body.holdem-table-active #cardDeckSettingsModal .deck-preview-card[data-preview-back],
#cardDeckSettingsModal .deck-preview-card[data-preview-back],
body.holdem-table-active[data-card-back-skin] .card.hidden-card:not(.deck-preview-card),
body.holdem-table-active[data-card-back-skin] .card.back:not(.deck-preview-card) {
  border: 2px solid var(--deck-back-border) !important;
  background: var(--deck-back-bg) !important;
}

body.holdem-table-active #cardDeckSettingsModal .deck-preview-card[data-preview-back]::before,
#cardDeckSettingsModal .deck-preview-card[data-preview-back]::before,
body.holdem-table-active[data-card-back-skin] .card.hidden-card:not(.deck-preview-card)::before,
body.holdem-table-active[data-card-back-skin] .card.back:not(.deck-preview-card)::before {
  content: "CHEEZEE" !important;
  position: absolute !important;
  inset: 4px !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  padding-bottom: 2px !important;
  border: 1px solid var(--deck-back-border) !important;
  border-radius: 4px !important;
  background-color: transparent !important;
  background-image: var(--deck-back-pattern) !important;
  color: var(--deck-back-border) !important;
  font-size: 6px !important;
  font-weight: 950 !important;
  letter-spacing: 0.65px !important;
}

body.holdem-table-active #cardDeckSettingsModal .deck-preview-card[data-preview-back]::after,
#cardDeckSettingsModal .deck-preview-card[data-preview-back]::after,
body.holdem-table-active[data-card-back-skin] .card.hidden-card:not(.deck-preview-card)::after,
body.holdem-table-active[data-card-back-skin] .card.back:not(.deck-preview-card)::after {
  content: "🧀" !important;
  position: absolute !important;
  left: 50% !important;
  top: 46% !important;
  width: auto !important;
  height: auto !important;
  transform: translate(-50%, -50%) !important;
  background: none !important;
  font-size: 17px !important;
  line-height: 1 !important;
  pointer-events: none !important;
}

body.holdem-table-active[data-card-back-skin] .card.large.hidden-card:not(.deck-preview-card)::after,
body.holdem-table-active[data-card-back-skin] .card.large.back:not(.deck-preview-card)::after {
  font-size: 24px !important;
}

/* ── CUSTOM: 테이블 치즈 스킨 — 덱B(다크초코 골드) + CHEESE POT + 금액별 베팅 치즈 ── */

/* 카드 뒷면: 다크초코 + 골드 프레임 + 🧀 엠블럼 + CHEEZEE (모든 카드백 스킨 공통) */
.card.back, .card.hidden-card,
body[data-card-back-skin] .card.back, body[data-card-back-skin] .card.hidden-card,
body.holdem-table-active .card.back, body.holdem-table-active .card.hidden-card {
  border: 2px solid #f5a623 !important;
  background: linear-gradient(160deg, #4a2f0c, #38240a 60%, #2c1b06) !important;
}
.card.back::before, .card.hidden-card::before,
body[data-card-back-skin] .card.back::before, body[data-card-back-skin] .card.hidden-card::before,
body.holdem-table-active .card.back::before, body.holdem-table-active .card.hidden-card::before {
  content: "CHEEZEE" !important;
  inset: 4px !important;
  border: 1.5px solid rgba(201, 147, 46, 0.55) !important;
  border-radius: 4px !important;
  background: none !important;
  background-image: none !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  padding-bottom: 2px !important;
  font-size: 6.5px !important;
  font-weight: 900 !important;
  letter-spacing: 1px !important;
  color: #c9932e !important;
}
.card.back::after, .card.hidden-card::after,
body[data-card-back-skin] .card.hidden-card:not(.deck-preview-card)::after,
body[data-card-back-skin] .card.back:not(.deck-preview-card)::after {
  content: "🧀" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -54%) !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
  font-size: 17px !important;
  line-height: 1 !important;
  z-index: 3 !important;
  pointer-events: none !important;
}
.card.large.back::after, .card.large.hidden-card::after,
body[data-card-back-skin] .card.large.hidden-card:not(.deck-preview-card)::after,
body[data-card-back-skin] .card.large.back:not(.deck-preview-card)::after {
  font-size: 24px !important;
}
/* 폴드 후 히어로 카드 덮개도 동일 덱 */
.holes.is-folded-reveal .card::after,
body[data-card-back-skin] .holes.is-folded-reveal .card::after {
  content: "🧀" !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 17px !important;
  border: 2px solid #f5a623 !important;
  background: linear-gradient(160deg, #4a2f0c, #38240a 60%, #2c1b06) !important;
}

/* CHEESE POT: 크림 명찰 + 다크 금액 알약 + 치즈조각 아이콘 */
#potDisplay {
  padding: 4px 12px 7px !important;
  border-radius: 16px !important;
}
#potDisplay .pot-tag {
  font-size: 11.5px !important;
  letter-spacing: 1px !important;
  color: #8a5a14 !important;
}
#potDisplay .pot-amount {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  margin-top: 2px !important;
  padding: 2px 12px !important;
  border-radius: 999px !important;
  background: #4a2f0c !important;
  border: 2px solid #f5a623 !important;
  color: #ffe680 !important;
  box-shadow: 0 2px 0 #2c1b06 !important;
}
body.holdem-table-active #potDisplay .pot-amount::before {
  content: "" !important;
  width: 13px !important;
  height: 11px !important;
  border-radius: 0 !important;
  background: linear-gradient(180deg, #ffe066, #f5a623) !important;
  clip-path: polygon(50% 0, 100% 100%, 0 100%) !important;
  box-shadow: none !important;
}

/* 베팅 치즈 5단계 — 원형 칩 → 치즈 (금액 클수록 크고 진하게) */
body.holdem-table-active #betChipLayer .bet-chip-unit {
  background: #fff3b8 !important;
  border: 2px solid #e8c27a !important;
  border-radius: 3px !important;
  width: 13px !important;
  height: 11px !important;
  clip-path: none !important;
  box-shadow: 0 2px 3px rgba(0,0,0,0.35) !important;
}
body.holdem-table-active #betChipLayer .bet-chip-unit::before {
  content: "" !important;
  inset: auto !important;
  left: 30% !important;
  bottom: 25% !important;
  width: 3px !important;
  height: 3px !important;
  border: none !important;
  border-radius: 50% !important;
  background: rgba(201, 147, 46, 0.55) !important;
  box-shadow: none !important;
}
/* ~2BB: 연노랑 큐브 (기본값 그대로) */
/* 2~10BB: 체다 조각 (삼각형) */
body.holdem-table-active #betChipLayer .bet-chip-unit.chip-tier-green,
body.holdem-table-active #betChipLayer .bet-chip-unit.chip-tier-red {
  width: 19px !important;
  height: 16px !important;
  border: none !important;
  border-radius: 0 !important;
  background: linear-gradient(180deg, #ffe066, #f2b53a) !important;
  clip-path: polygon(50% 0, 100% 100%, 0 100%) !important;
  box-shadow: none !important;
  filter: drop-shadow(0 2px 2px rgba(0,0,0,0.4)) !important;
}
body.holdem-table-active #betChipLayer .bet-chip-unit.chip-tier-green::before,
body.holdem-table-active #betChipLayer .bet-chip-unit.chip-tier-red::before {
  left: 40% !important;
  bottom: 18% !important;
  width: 4px !important;
  height: 4px !important;
  background: #d9a018 !important;
}
/* 10~50BB: 구멍 슬라이스 */
body.holdem-table-active #betChipLayer .bet-chip-unit.chip-tier-purple,
body.holdem-table-active #betChipLayer .bet-chip-unit.chip-tier-yellow {
  width: 22px !important;
  height: 15px !important;
  border: 2px solid #c9821a !important;
  border-radius: 4px !important;
  background:
    radial-gradient(circle 2.5px at 26% 38%, #e0a91e 92%, transparent),
    radial-gradient(circle 2px at 68% 62%, #e0a91e 92%, transparent),
    #ffd43b !important;
  clip-path: none !important;
  box-shadow: 0 2px 3px rgba(0,0,0,0.4) !important;
}
body.holdem-table-active #betChipLayer .bet-chip-unit.chip-tier-purple::before,
body.holdem-table-active #betChipLayer .bet-chip-unit.chip-tier-yellow::before {
  content: none !important;
}
/* 50~100BB: 목장 고다휠 (둥근 숙성 휠) */
body.holdem-table-active #betChipLayer .bet-chip-unit.chip-tier-orange {
  width: 26px !important;
  height: 18px !important;
  border: 2px solid #b3702a !important;
  border-radius: 50% !important;
  background: linear-gradient(180deg, #fff3d0 0%, #fff3d0 52%, #e8b45b 58%, #dda23e 100%) !important;
  clip-path: none !important;
  box-shadow: 0 3px 4px rgba(0,0,0,0.45) !important;
}
body.holdem-table-active #betChipLayer .bet-chip-unit.chip-tier-orange::before {
  content: "" !important;
  left: 28% !important;
  bottom: auto !important;
  top: 24% !important;
  width: 5px !important;
  height: 3.5px !important;
  border-radius: 50% !important;
  background: #ecd9ab !important;
}
/* 100BB~: 골드 특대조각 */
body.holdem-table-active #betChipLayer .bet-chip-unit.chip-tier-black {
  width: 27px !important;
  height: 22px !important;
  border: none !important;
  border-radius: 0 !important;
  background:
    radial-gradient(circle 3.5px at 34% 62%, #d9820e 92%, transparent),
    radial-gradient(circle 2.5px at 64% 74%, #d9820e 92%, transparent),
    linear-gradient(180deg, #ffca55, #f5a623) !important;
  clip-path: polygon(50% 0, 100% 100%, 0 100%) !important;
  box-shadow: none !important;
  filter: drop-shadow(0 3px 3px rgba(0,0,0,0.5)) drop-shadow(0 0 5px rgba(255,212,59,0.55)) !important;
}
body.holdem-table-active #betChipLayer .bet-chip-unit.chip-tier-black::before {
  content: none !important;
}
/* 금액 라벨: 크림 알약 */
body.holdem-table-active #betChipLayer .table-bet-chip strong {
  background: #fff8e6 !important;
  border: 1.5px solid #d99a1e !important;
  border-radius: 999px !important;
  color: #6a3d0e !important;
}
body.holdem-table-active #betChipLayer .central-bet-pool strong {
  color: #6a3d0e !important;
  border-color: #d99a1e !important;
}

/* 팟으로 날아가는 치즈 */
.flying-chip {
  background: linear-gradient(180deg, #ffd43b, #f5a623) !important;
  color: #4a2f0c !important;
  border: 2px solid #c9821a !important;
  box-shadow: 0 3px 0 #8a5a14, 0 6px 12px rgba(0,0,0,0.45) !important;
}
.flying-chip::before { content: "🧀 "; }
#potDisplay { white-space: nowrap !important; min-width: 0 !important; }
#potDisplay .pot-tag { white-space: nowrap !important; letter-spacing: 0.5px !important; }
body.holdem-table-active #potDisplay { max-width: none !important; white-space: nowrap !important; }
body.holdem-table-active #potDisplay .pot-tag {
  letter-spacing: 1px !important;
  font-size: 11.5px !important;
  white-space: nowrap !important;
  color: #8a5a14 !important;
}

/* CHEESE 로고: 배너 전체 기준 정중앙 + 확대 */
.td-banner-art { position: static !important; }
.td-brand-123game { position: static !important; }
.td-brand-123game::after {
  left: 50% !important;
  top: 50% !important;
  right: auto !important;
  bottom: auto !important;
  width: auto !important;
  height: auto !important;
  z-index: 1 !important;
  background: none !important;
  box-shadow: none !important;
  filter: none !important;
  transform: translate(-50%, -50%) !important;
  font-size: clamp(17px, 5.6vw, 26px) !important;
  letter-spacing: 2px !important;
  color: #b9770e !important;
  text-shadow: 0 1px 0 #fff7dd, 0 3px 8px rgba(138, 90, 20, 0.3) !important;
  white-space: nowrap !important;
}
/* 로고 뒤 장식 잔광 제거 */
.td-brand-123game, .td-brand-123game::before {
  background: none !important;
  box-shadow: none !important;
  filter: none !important;
}
.td-brand-123game i, .td-brand-123game em { display: none !important; }

/* ── CUSTOM: 모바일 브라우저 대응 (P1) ── */
/* iOS 사파리 주소창 수축/확장 시 하단 잘림 방지 — 동적 뷰포트(dvh) */
/* (죽은 규칙 정리 2026-07-23: #felt 의 100dvh 높이 보정들은 v15 고정 캔버스
   `body.holdem-table-active #felt { height:702px !important }` 에 완전히
   덮여 있어 제거. felt 는 항상 테이블 뷰(=holdem-table-active)에서만 보인다.) */
@supports (height: 100dvh) {
  #app { min-height: 100dvh; }
  .avatar-picker-card { min-height: 100dvh; }
  :root { --app-height: 100dvh; }
}
/* iOS 입력 포커스 시 강제 확대 방지 — 모바일에서 폼 요소 16px 보장 */
@media (max-width: 768px) {
  #app input[type="text"], #app input[type="password"], #app input[type="number"],
  #app input[type="search"], #app select, #app textarea {
    font-size: 16px !important;
  }
}

/* ── CUSTOM: 토너 종료 팝업 — 크림 축하 카드 + CHEEZEE CHAMPION 리본 ── */
.end-content {
  background: linear-gradient(180deg, #fff6df, #ffedc4) !important;
  border: 3px solid #e2a626 !important;
  border-radius: 20px !important;
  box-shadow: 0 6px 0 rgba(138, 90, 20, 0.8), 0 16px 32px rgba(0, 0, 0, 0.45) !important;
}
.end-content.is-winner { border-color: #e2a626 !important; }
#endTitle { color: #6a3d0e !important; }
.pw-champ-ribbon {
  display: inline-block;
  background: linear-gradient(180deg, #e0463a, #c9382e);
  border-radius: 10px;
  padding: 8px 24px;
  color: #fff3c9;
  font-size: 19px;
  font-weight: 900;
  letter-spacing: 2.5px;
  transform: rotate(-2deg);
  box-shadow: 0 4px 0 #8a1f16, 0 6px 14px rgba(0, 0, 0, 0.25);
}
#endSubtitle { color: #96602a !important; }
#endSubtitle .prize {
  display: inline-block;
  margin-top: 8px;
  background: #4a2f0c !important;
  border: 2px solid #f5a623 !important;
  border-radius: 999px !important;
  padding: 5px 18px !important;
  color: #ffe680 !important;
  font-weight: 900 !important;
  box-shadow: 0 3px 0 #2c1b06 !important;
}
#endSubtitle .prize-detail { color: #a5793a !important; }
.podium-step {
  background: #fffdf6 !important;
  border: 2px solid #d9b97a !important;
  border-radius: 12px !important;
  color: #6a3d0e !important;
}
.podium-step .podium-name { color: #6a3d0e !important; }
.podium-step .podium-prize { color: #b3620e !important; }
.podium-step.rank-1 {
  background: #fff3c9 !important;
  border: 3px solid #e2a626 !important;
  transform: translateY(-7px);
  box-shadow: 0 4px 0 #c9821a !important;
}
.podium-step.rank-1 .podium-rank { color: #b3620e !important; }
.podium-step.rank-2 .podium-rank { color: #8a8a90 !important; }
.podium-step.rank-3 .podium-rank { color: #b3702a !important; }
.podium-step.is-me { outline: 2px solid #7ecb5f !important; outline-offset: 2px; }
#endStandings {
  background: #fff8df !important;
  border: 1px solid #d8b66d !important;
  color: #5b3514 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82) !important;
}
#endStandings .row {
  min-height: 30px;
  align-items: center;
  padding: 5px 7px !important;
  border-bottom: 1px solid rgba(128, 83, 28, 0.2) !important;
  color: #5b3514 !important;
}
#endStandings .row:last-child {
  border-bottom: 0 !important;
}
#endStandings .row .rank {
  color: #9a5a13 !important;
}
#endStandings .row .name,
#endStandings .row .prize,
#endStandings b,
#endStandings strong {
  color: #4b2b10 !important;
}
#endStandings .row.me {
  border-radius: 6px;
  background: #fff0b5 !important;
  color: #3f260f !important;
}
#endClose {
  background: linear-gradient(180deg, #ffd43b, #f5a623) !important;
  border: none !important;
  border-radius: 12px !important;
  color: #38270b !important;
  font-weight: 900 !important;
  box-shadow: 0 3px 0 #8a5a14 !important;
}
/* 컨페티: 치즈 팔레트 */
.confetti-piece { filter: hue-rotate(0deg); }
.podium-step.podium-empty {
  background: transparent !important;
  border: 2px dashed rgba(217, 185, 122, 0.5) !important;
  box-shadow: none !important;
}
#endStandings:empty { display: none !important; }

/* ── CUSTOM: 테이블 디테일 4종 (블라인드 배경·CHEESE POT 가독·치즈 세모·바운티) ── */
/* 블라인드 안내: 배경 박스 제거, 글자만 (가독용 옅은 밝은 그림자) */
body.holdem-table-active .blind-info-panel, .blind-info-panel {
  background: none !important;
  border: none !important;
  box-shadow: none !important;
}
.blind-info-panel, .blind-info-panel * {
  color: #6a3d0e !important;
  font-weight: 800 !important;
  text-shadow: 0 1px 0 rgba(255, 248, 230, 0.6) !important;
}
/* CHEESE POT: 넓은 자간·어두운 음영 제거 → 또렷한 브라운 */
body.holdem-table-active #potDisplay .pot-tag {
  color: #6a3d0e !important;
  letter-spacing: 1.5px !important;
  font-weight: 900 !important;
  text-shadow: none !important;
}
/* 팟 알약 세모 → 구멍 뚫린 치즈 조각 (data-URI SVG) */
body.holdem-table-active #potDisplay .pot-amount::before {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 16'%3E%3Cpath d='M2 14 L10 2 L18 14 Z' fill='%23ffd43b' stroke='%23c9821a' stroke-width='1.5' stroke-linejoin='round'/%3E%3Ccircle cx='8' cy='10.5' r='1.6' fill='%23e8a922'/%3E%3Ccircle cx='12.5' cy='12' r='1.1' fill='%23e8a922'/%3E%3C/svg%3E") center / contain no-repeat !important;
  width: 16px !important;
  height: 13px !important;
  clip-path: none !important;
  box-shadow: none !important;
}
/* 바운티 뱃지 톤 (치즈 아이콘과 어울리게) */
.pko-bounty-badge {
  background: #2c1b06 !important;
  border: 1.5px solid #c9821a !important;
}
.pko-bounty-badge .pko-bounty-amount { color: #ffe680 !important; }

/* ── CUSTOM: 배팅창 치즈 버튼 (시안 C) ── */
/* 메인 액션 3버튼: 치즈 면 색 + 아래 두꺼운 눌림 엣지. FOLD 는 크러스트 브라운으로
   조용하게, CALL 은 치즈 옐로우 + 구멍 2개, RAISE 는 오렌지 + 구멍 1개. */
#actionButtons #btnFold {
  background: #8a6a4a !important;
  box-shadow: 0 4px 0 #5f4630, 0 6px 10px rgba(0,0,0,0.35) !important;
}
#actionButtons #btnFold .ab-label, #actionButtons #btnFold .ab-amount { color: #f5ead6 !important; }
#actionButtons #btnFold:active { box-shadow: 0 2px 0 #5f4630 !important; }
#actionButtons #btnCheckCall {
  background:
    radial-gradient(circle 5px at 16% 28%, #e8a922 97%, transparent),
    radial-gradient(circle 3.5px at 82% 66%, #e8a922 97%, transparent),
    #ffd43b !important;
  box-shadow: 0 4px 0 #c9821a, 0 6px 10px rgba(0,0,0,0.35) !important;
}
#actionButtons #btnCheckCall .ab-label, #actionButtons #btnCheckCall .ab-amount { color: #6a3d0e !important; }
#actionButtons #btnCheckCall:active { box-shadow: 0 2px 0 #c9821a !important; }
#actionButtons #btnRaise, #actionButtons #btnRaise.ab-raise {
  background:
    radial-gradient(circle 4.5px at 18% 68%, #e8590c 97%, transparent),
    #ff922b !important;
  box-shadow: 0 4px 0 #d9480f, 0 6px 10px rgba(0,0,0,0.35) !important;
}
#actionButtons #btnRaise .ab-label, #actionButtons #btnRaise .ab-amount { color: #4a1b0c !important; }
#actionButtons #btnRaise:active { box-shadow: 0 2px 0 #d9480f !important; }
/* is-allin 은 CALL/RAISE 버튼에 토글되는 클래스 — 위 ID 규칙보다 우선하도록 ID 포함 */
#actionButtons #btnCheckCall.is-allin, #actionButtons #btnRaise.is-allin, #actionButtons button.is-allin {
  background: #e8590c !important;
  box-shadow: 0 4px 0 #a8300a, 0 6px 10px rgba(0,0,0,0.35) !important;
}
#actionButtons #btnCheckCall.is-allin .ab-label, #actionButtons #btnCheckCall.is-allin .ab-amount,
#actionButtons #btnRaise.is-allin .ab-label, #actionButtons #btnRaise.is-allin .ab-amount,
#actionButtons button.is-allin .ab-label, #actionButtons button.is-allin .ab-amount { color: #fff3e0 !important; }
#actionButtons #btnCheckCall.is-allin:active, #actionButtons #btnRaise.is-allin:active,
#actionButtons button.is-allin:active { box-shadow: 0 2px 0 #a8300a !important; }

/* 프리액션 체크박스: 다크초코 알약, 선택 시 치즈 옐로우 점등 */
body.holdem-table-active #preActions label, #preActions label {
  background: #3a2708 !important;
  border: 1px solid #5a3d12 !important;
  color: #e8d5b0 !important;
  box-shadow: inset 0 -3px 0 #1a0f02 !important;
}
body.holdem-table-active #preActions label:has(input:checked),
#preActions label:has(input:checked),
#preActions label.pa-on {
  background: #ffd43b !important;
  border-color: #c9821a !important;
  color: #6a3d0e !important;
  box-shadow: inset 0 -3px 0 #c9821a !important;
}
/* 켜짐 상태를 액션별 메인 버튼 색과 일치 — CHECK/FOLD 크러스트, CALL 치즈(구멍),
   CALL ANY 오렌지(구멍). :has 인자에 ID 가 들어가 위 일반 규칙보다 우선한다. */
#preActions label:has(#paCheckFold:checked), #preActions label.pa-on:has(#paCheckFold) {
  background: #8a6a4a !important;
  border-color: #5f4630 !important;
  color: #f5ead6 !important;
  box-shadow: inset 0 -3px 0 #5f4630 !important;
}
#preActions label:has(#paCallAny:checked), #preActions label.pa-on:has(#paCallAny) {
  background:
    radial-gradient(circle 4px at 16% 30%, #e8a922 97%, transparent),
    radial-gradient(circle 3px at 84% 68%, #e8a922 97%, transparent),
    #ffd43b !important;
  border-color: #c9821a !important;
  color: #6a3d0e !important;
  box-shadow: inset 0 -3px 0 #c9821a !important;
}
#preActions label:has(#paRaiseAny:checked), #preActions label.pa-on:has(#paRaiseAny) {
  background:
    radial-gradient(circle 3.5px at 18% 66%, #e8590c 97%, transparent),
    #ff922b !important;
  border-color: #d9480f !important;
  color: #4a1b0c !important;
  box-shadow: inset 0 -3px 0 #d9480f !important;
}

/* 벳 프리셋(Min·½·⅔·Pot·올인): 다크초코 버튼, 올인만 치즈 옐로우 글자 */
body.holdem-table-active #quickBets .preset,
body.holdem-table-active #quickBets button,
#quickBets .preset {
  background: #3a2708 !important;
  border: 1px solid #4a3312 !important;
  color: #d9c39a !important;
  box-shadow: inset 0 -2px 0 #1a0f02 !important;
}
#quickBets .preset[data-preset="allin"] { color: #ffd43b !important; }

/* 슬라이더 줄: 트랙·스텝버튼 다크초코, 노브·수치 치즈 옐로우 */
body.holdem-table-active #raiseSlider .step-btn,
body.holdem-table-active #raiseSlider .manual-bet-btn,
#raiseSlider .step-btn, #raiseSlider .manual-bet-btn {
  background: #3a2708 !important;
  color: #ffd43b !important;
}
#raiseSlider input[type="range"] { background: #3a2708 !important; }
#raiseSlider input[type="range"]::-webkit-slider-thumb { background: #ffd43b !important; box-shadow: 0 2px 0 #c9821a, 0 2px 6px rgba(0,0,0,0.5) !important; }
#raiseSlider input[type="range"]::-moz-range-thumb { background: #ffd43b !important; box-shadow: 0 2px 0 #c9821a, 0 2px 6px rgba(0,0,0,0.5) !important; }
#raiseSlider .bet-value { color: #ffd43b !important; }

/* ── CUSTOM: 액션 패널 컴팩트 (A안) — 히어로 명판·칩·현재 핸드 가림 해소 ──
   패널 전체를 ~40px 슬림하게: 버튼 78→56(작은 화면 74→52), 프리셋 30→24,
   슬라이더 스텝 24→22, 간격·하단 패딩 소폭 축소. 기능·마크업 무변경. */
body.holdem-table-active #actionButtons button {
  min-height: 56px !important;
}
body.holdem-table-active #actionButtons button .ab-label {
  font-size: 20px !important;
}
body.holdem-table-active #actionButtons button .ab-amount {
  font-size: 13px !important;
}
@media (max-width: 480px) and (max-height: 760px) {
  body.holdem-table-active #actionButtons button { min-height: 52px !important; }
  body.holdem-table-active #actionButtons button .ab-label { font-size: 19px !important; }
}
body.holdem-table-active #actionPanel {
  gap: 3px !important;
  padding-bottom: calc(4px + env(safe-area-inset-bottom, 0px)) !important;
}
body.holdem-table-active #quickBets .preset {
  min-height: 24px !important;
  font-size: 12px !important;
}
body.holdem-table-active #raiseSlider .step-btn {
  width: 22px !important;
  height: 22px !important;
}

/* 액션 슬롯 높이: 컴팩트 버튼에 맞춰 축소 (기존 clamp(176px,24dvh,202px)).
   패널은 고정 슬롯(height=min=max !important, flex-end 정렬)이라 버튼만
   줄이면 상단 빈 배경이 히어로를 계속 덮는다 — 슬롯 자체를 줄여야 한다. */
body.holdem-table-active {
  --holdem-action-slot-h: calc(clamp(128px, 18dvh, 158px) + max(env(safe-area-inset-bottom, 0px), var(--tg-safe-area-inset-bottom, 0px)));
}
/* (2026-07-23 제거: 짧은 화면 히어로 앵커 티어 34/56/182px — v2 스케일
   모델(app.js getPokerStageLayout)이 felt 높이를 가변화해 캔버스가 항상
   패널 위에서 끝나므로 불필요해짐. 히어로 bottom 단일 소스는 style.css
   --hero-seat-anchor-y: 24px.) */

/* ── CUSTOM: 화면 확장 A안 — 액션 슬롯 축소 + 중앙 블라인드 패널 헤더 이전 (2026-07-23) ── */
/* 슬롯 128~158 → 100~122: 버튼 46px + 프리셋 22px + 슬라이더 압축으로 한 줄
   낮춤. 절약분(~36px)은 v2 스케일 모델이 felt 높이로 자동 흡수. app.js
   getPokerStageLayout 의 panelReserve 식과 반드시 동기 유지할 것. */
body.holdem-table-active {
  --holdem-action-slot-h: calc(clamp(100px, 14dvh, 122px) + max(env(safe-area-inset-bottom, 0px), var(--tg-safe-area-inset-bottom, 0px)));
}
body.holdem-table-active #actionButtons button {
  min-height: 46px !important;
  height: 46px !important;
  padding-top: 4px !important;
  padding-bottom: 4px !important;
}
body.holdem-table-active #quickBets .preset,
body.holdem-table-active #quickBets button {
  height: 22px !important;
  min-height: 22px !important;
}
body.holdem-table-active #raiseSlider {
  margin-top: 2px !important;
}
body.holdem-table-active #raiseSlider input[type="range"] {
  height: 18px !important;
}
/* ── CUSTOM: 블라인드 정보 B안 (2026-07-23) — 중앙 복원 + 핸드 중 자동숨김 ──
   이전처럼 felt 중앙에 표시하되, 검정 글씨·배경 없음·간결. 핸드가 진행
   중(body.holdem-hand-live)엔 페이드아웃 → 가려질 타이밍엔 아예 없다. */
body.holdem-table-active #blindInfoPanel {
  display: block !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  text-align: center;
  transition: opacity 0.35s ease;
}
body.holdem-table-active #blindInfoPanel,
body.holdem-table-active #blindInfoPanel * {
  color: #241703 !important;
  text-shadow: none !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
  font-weight: 700 !important;
}
/* (2026-07-23: 핸드 중 자동숨김 제거 — 항상 표시. 칩·카드가 위에 그려지는
   건 허용, z 를 낮춰 블라인드 텍스트가 항상 뒤로 가게 한다.) */
body.holdem-table-active #blindInfoPanel {
  z-index: 3 !important;
  pointer-events: none;
}
/* 히어로 카드 아래 "현재 핸드: …" 안내 라벨 제거 (유저 요청 — 간결하게). */
body.holdem-table-active .hero-hand-strength {
  display: none !important;
}
/* (2026-07-23 B안: 상단 한 줄 표기는 중앙 패널 복원으로 대체 — 제거됨.) */
/* ── CUSTOM: 화면 확장 B안 — 오벌 테이블 확대 (2026-07-23) ── */
/* 좌우 여백 53/67px → 16/28px, 상단은 헤더 라인(54~98px) 아래까지,
   하단은 히어로 존까지 확장. width/height auto 로 인셋 스트레치 강제. */
body.holdem-table-active #felt::before {
  top: 92px !important;
  left: -30px !important;
  right: -30px !important;
  bottom: 22px !important;
  width: auto !important;
  height: auto !important;
}
body.holdem-table-active #felt::after {
  top: 102px !important;
  left: -16px !important;
  right: -16px !important;
  bottom: 34px !important;
  width: auto !important;
  height: auto !important;
}
/* ── CUSTOM: 화면 확장 B-2 — 좌석 확대 (2026-07-23) ── */
/* 오벌 확대에 맞춰 상대 좌석도 한 단계 키움: 아바타 36→44, 링 44→52,
   명판 52→62. "테이블에 붙어서 작아 보이는" 체감 해소. */
body.holdem-table-active #seats .seat {
  width: 78px !important;
  min-height: 86px !important;
}
body.holdem-table-active #seats .seat .avatar-wrap,
body.holdem-table-active #seats .seat .seat-avatar-shell {
  width: 44px !important;
  height: 44px !important;
}
body.holdem-table-active #seats .seat .avatar {
  width: 44px !important;
  height: 44px !important;
}
body.holdem-table-active #seats .seat .timer-ring {
  width: 52px !important;
  height: 52px !important;
}
body.holdem-table-active #seats .seat .name-pill,
body.holdem-table-active #seats .seat .mobile-player-panel {
  width: 62px !important;
}
body.holdem-table-active #seats .seat .name-pill .name {
  font-size: 10px !important;
}
body.holdem-table-active #seats .seat .name-pill .chips {
  font-size: 13px !important;
}
/* 풀블리드 테이블의 측면 좌석: 아바타는 레일에 두고 명판만 화면 안쪽으로
   접어 넣는다. 좌석 중심을 안으로 되돌리지 않아 중앙 여백은 그대로다. */
body.holdem-table-active #seats .seat-clock-9 .name-pill,
body.holdem-table-active #seats .seat-clock-9 .mobile-player-panel {
  transform: translateX(18px) !important;
}
body.holdem-table-active #seats .seat-clock-3 .name-pill,
body.holdem-table-active #seats .seat-clock-3 .mobile-player-panel {
  transform: translateX(-18px) !important;
}
body.holdem-table-active #seats .seat-clock-730 .name-pill,
body.holdem-table-active #seats .seat-clock-730 .mobile-player-panel {
  transform: translateX(6px) !important;
}
body.holdem-table-active #seats .seat-clock-430 .name-pill,
body.holdem-table-active #seats .seat-clock-430 .mobile-player-panel {
  transform: translateX(-6px) !important;
}

/* ── CUSTOM: A안 — 미니 액션바 + 탭 시 사이징 시트 (2026-07-23) ── */
/* 평소 패널 = FOLD/CALL/RAISE 한 줄(슬롯 62~74px). RAISE 첫 탭에
   holdem-sizing-open 클래스가 붙으면 프리셋+슬라이더가 바 위로 시트처럼
   떠오른다. app.js panelReserve(62~74, 0.09vh)와 동기 유지할 것. */
body.holdem-table-active {
  --holdem-action-slot-h: calc(clamp(62px, 9dvh, 74px) + max(env(safe-area-inset-bottom, 0px), var(--tg-safe-area-inset-bottom, 0px)));
}
body.holdem-table-active #quickBets,
body.holdem-table-active #raiseSlider {
  display: none !important;
}
body.holdem-table-active.holdem-sizing-open #quickBets {
  display: flex !important;
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: calc(var(--holdem-action-slot-h) + 42px) !important;
  z-index: 61 !important;
  margin: 0 !important;
  padding: 10px 10px 6px !important;
  background: rgba(18, 13, 5, 0.97) !important;
  border-top: 2px solid rgba(240, 201, 92, 0.65) !important;
  border-radius: 14px 14px 0 0 !important;
}
body.holdem-table-active.holdem-sizing-open #raiseSlider {
  display: flex !important;
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: var(--holdem-action-slot-h) !important;
  z-index: 61 !important;
  margin: 0 !important;
  padding: 6px 10px 10px !important;
  background: rgba(18, 13, 5, 0.97) !important;
}
/* 시트가 열리면 RAISE 버튼이 "확정" 역할임을 강조 */
body.holdem-table-active.holdem-sizing-open #btnRaise {
  box-shadow: 0 0 0 2px rgba(240, 201, 92, 0.85), 0 4px 14px rgba(232, 135, 58, 0.5) !important;
}

/* ── CUSTOM: 칩 가시성 1안 + 팟 일원화 1안 (2026-07-23) ── */
/* CHEESE POT 배지 제거 — 치즈 더미(중앙 풀 칩)가 팟 표시를 겸한다.
   display:none 이 아닌 visibility:hidden — 승자 칩 플라이 애니메이션이
   #potDisplay rect 를 출발점으로 쓰므로 지오메트리는 유지해야 한다. */
body.holdem-table-active #potDisplay {
  visibility: hidden !important;
}
/* 칩 아이콘: 치즈색(노랑)이 노란 펠트에 묻힘 → 진한 버건디/브라운 +
   흰 테두리로 반전. 금액 필은 다크 배경 + 금색 글씨. */
body.holdem-table-active .table-bet-chip .bet-chip-unit {
  background: radial-gradient(circle at 35% 30%, #a8434f, #7c2d3b 60%, #571f2b) !important;
  border: 1.5px solid rgba(255, 255, 255, 0.92) !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5) !important;
}
body.holdem-table-active .table-bet-chip strong {
  background: rgba(22, 15, 6, 0.92) !important;
  color: #ffd76a !important;
  border: 1px solid rgba(240, 201, 92, 0.55) !important;
  border-radius: 999px !important;
  padding: 2px 8px !important;
  text-shadow: none !important;
}
/* 중앙 치즈 더미 확대 — 유일한 팟 표시로 승격. */
body.holdem-table-active .central-bet-pool {
  transform: translate(-50%, -50%) scale(1.8) !important;
  z-index: 31 !important;
}
body.holdem-table-active .central-bet-pool strong {
  font-size: 14px !important;
  font-weight: 900 !important;
}
/* felt 워터마크(123GAME) 제거 + 액션 버튼 글씨 음영 제거 (2026-07-23). */
body.holdem-table-active .table-theme-watermark {
  display: none !important;
}
body.holdem-table-active #actionButtons button,
body.holdem-table-active #actionButtons button * {
  text-shadow: none !important;
}

/* ── CUSTOM: 타임뱅크 구간 표시 (2026-07-23) ── */
/* 기본 결정시간(13s)이 끝나고 타임뱅크(12s)로 넘어가면 차례 배지를 보라
   계열로 전환 — "시간이 더 이어지는 중"을 시각화. 마지막 5초 경고(빨강,
   .is-danger)는 그대로 우선한다. */
body.holdem-table-active .toact-badge.is-bank:not(.is-danger) {
  background: linear-gradient(180deg, #8b5cf6, #5b21b6) !important;
  border-color: rgba(196, 181, 253, 0.8) !important;
  color: #fff !important;
}

/* ── CUSTOM: 로비 기능 바 (2026-07-23 로비 개편) ── */
.lobby-feature-bar {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  padding: 8px 12px 10px;
}
.lobby-feature-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1px;
  min-width: 0;
  padding: 9px 4px 8px;
  border-radius: 12px;
  border: 1px solid rgba(181, 154, 94, 0.5);
  background: linear-gradient(180deg, #3a2f1a, #221b0e);
  color: #f3e6c2;
  line-height: 1;
  -webkit-tap-highlight-color: transparent;
}
/* 아이콘은 친목게임·쪽지(#communityMenuBar .community-menu-icon)와 같은
   선 아이콘 규격 — 금색 stroke, 활성 시 진갈색. (2026-09-27 마스코트 PNG 대체) */
.lobby-feature-icon {
  display: block;
  width: 26px;
  height: 26px;
  flex: 0 0 26px;
  margin-bottom: 3px;
  fill: none;
  stroke: #f2c14e;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.45));
  pointer-events: none;
}
.lobby-feature-btn span {
  font-size: 11px;
  font-weight: 800;
  color: #d8c69a;
  white-space: nowrap;
}
.lobby-feature-btn:active {
  background: linear-gradient(180deg, #574e38, #2c2314);
}
.lobby-feature-btn.is-active {
  border-color: #f0c95c;
  background: linear-gradient(180deg, #f5bb45, #d99427);
  color: #241703;
  box-shadow: 0 0 0 1px rgba(255, 224, 133, 0.25) inset;
}
.lobby-feature-btn.is-active span {
  color: #241703;
}
.lobby-feature-btn.is-active .lobby-feature-icon {
  stroke: #241703;
  filter: none;
}
@media (max-width: 360px) {
  .lobby-feature-bar {
    gap: 6px;
    padding-inline: 10px;
  }
  .lobby-feature-icon {
    width: 24px;
    height: 24px;
    flex-basis: 24px;
  }
  .lobby-feature-btn span {
    font-size: 10px;
  }
}
.lobby-feature-view {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #100b05;
  border-top: 1px solid rgba(181, 154, 94, 0.2);
}
.lobby-feature-view-header {
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 42px;
  align-items: center;
  min-height: 52px;
  padding: 5px 10px;
  border-bottom: 1px solid rgba(181, 154, 94, 0.28);
  background: #221b0a;
}
.lobby-feature-view-header h2 {
  margin: 0;
  color: #ffe680;
  font-size: 16px;
  font-weight: 900;
  text-align: center;
}
.lobby-feature-back {
  width: 42px;
  height: 42px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #f5c96b;
  font-size: 34px;
  line-height: 1;
}
.lobby-feature-header-spacer {
  width: 42px;
}
.lobby-feature-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 12px 14px calc(24px + var(--holdem-safe-area-bottom));
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}
.lobby-feature-view[data-feature="chat"] .lobby-feature-body {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.lobby-feature-view[data-feature="chat"] .lobby-chat-list {
  flex: 1 1 auto;
  min-height: 0;
  height: auto;
}
.lobby-feature-coming {
  text-align: center;
  padding: 34px 16px;
  color: #d8c69a;
}
.lobby-feature-coming-icon {
  font-size: 46px;
  margin-bottom: 10px;
}
.lobby-feature-coming h3 {
  color: #ffd76a;
  font-size: 17px;
  margin-bottom: 8px;
}
.lobby-feature-coming p {
  font-size: 13px;
  line-height: 1.7;
}
/* 공지 목록 */
.lobby-notice-loading {
  min-height: 220px;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 9px;
  color: #bca979;
  font-size: 12px;
}
.lobby-notice-loading span {
  font-size: 38px;
}
.lobby-notice-list {
  width: min(100%, 620px);
  display: grid;
  gap: 10px;
  margin: 0 auto;
}
.lobby-notice-card {
  padding: 14px 15px 16px;
  border: 1px solid rgba(225, 184, 83, 0.38);
  border-radius: 14px;
  background:
    radial-gradient(circle at 100% 0, rgba(255, 213, 91, 0.09), transparent 34%),
    linear-gradient(155deg, #2a200f, #151006 72%);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.22), inset 0 1px rgba(255, 255, 255, 0.035);
}
.lobby-notice-card > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.lobby-notice-badge {
  padding: 3px 7px;
  border: 1px solid rgba(255, 215, 106, 0.55);
  border-radius: 999px;
  background: rgba(229, 169, 39, 0.12);
  color: #ffd76a;
  font-size: 8px;
  font-weight: 950;
  letter-spacing: 1.2px;
}

/* ── 티켓 뿌리기 수령 카드 (공지·클럽 공용, 2026-08-12) ── */
.lobby-notice-badge.is-ticket {
  border-color: #d49513;
  background: linear-gradient(180deg, #f2bd48, #c9851d);
  color: #362208;
  letter-spacing: 0;
}
.ticket-claim-card {
  margin: 12px 0 4px;
  padding: 12px;
  border: 1.5px solid #c59028;
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(185, 128, 24, 0.25), rgba(89, 62, 12, 0.12));
}
.ticket-claim-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}
.ticket-claim-top b { color: #ffd866; font-size: 13.5px; }
.ticket-claim-top span { color: #c9a05a; font-size: 11px; font-weight: 800; white-space: nowrap; }
.ticket-claim-sub { margin-bottom: 10px; color: #c9a05a; font-size: 11px; line-height: 1.5; }
.ticket-claim-btn {
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 12px 0;
  border: 1px solid #b77915;
  border-radius: 11px;
  background: linear-gradient(180deg, #ffd768, #eaaa23);
  color: #382109;
  font-family: 'Jua', sans-serif;
  font-weight: 400;
  font-size: 15px;
  text-align: center;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6), 0 3px 0 #a76912;
  cursor: pointer;
}
.ticket-claim-btn:disabled { opacity: 0.6; }
.ticket-claim-btn.is-done {
  border: 1px solid #4e9a61;
  background: rgba(78, 154, 97, 0.22);
  color: #9fe0ad;
  font-family: inherit;
  font-weight: 900;
  font-size: 12.5px;
  box-shadow: none;
  cursor: default;
}
.lobby-notice-card time {
  color: #897c5e;
  font-size: 10px;
  font-variant-numeric: tabular-nums;
}
.lobby-notice-card h3 {
  margin: 10px 0 7px;
  color: #f7df9e;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.lobby-notice-body {
  color: #c8b991;
  font-size: 12px;
  line-height: 1.65;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.lobby-notice-carousel {
  position: relative;
  width: min(100%, 620px);
  min-width: 0;
  margin: 0 auto 14px;
}
.lobby-notice-carousel-track {
  position: relative;
  width: 100%;
  min-width: 0;
  aspect-ratio: 3 / 1;
  overflow: hidden;
  border: 1px solid rgba(238, 190, 64, 0.52);
  border-radius: 14px;
  background: #171005;
  box-shadow: 0 9px 22px rgba(0, 0, 0, 0.3);
  touch-action: pan-y;
}
.lobby-notice-banner {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: none;
  min-width: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: inherit;
  background: #171005;
  color: inherit;
  font: inherit;
  text-align: left;
}
.lobby-notice-banner.is-active {
  display: block;
}
.lobby-notice-banner > .lobby-notice-image {
  height: 100%;
  aspect-ratio: auto;
}
.lobby-notice-image {
  position: relative;
  width: 100%;
  max-width: 100%;
  display: block;
  aspect-ratio: 3 / 1;
  overflow: hidden;
  background:
    radial-gradient(circle at 30% 20%, rgba(255, 220, 112, 0.18), transparent 38%),
    linear-gradient(145deg, #3a2b10, #120c03);
}
.lobby-notice-image img {
  width: 100%;
  max-width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.lobby-notice-image-fallback {
  position: absolute;
  inset: 0;
  display: none;
  place-content: center;
  justify-items: center;
  gap: 4px;
  color: #c8b783;
  text-align: center;
}
.lobby-notice-image-fallback span {
  font-size: 28px;
}
.lobby-notice-image-fallback small {
  font-size: 9px;
  font-weight: 800;
}
.lobby-notice-image.is-failed img {
  display: none;
}
.lobby-notice-image.is-failed .lobby-notice-image-fallback {
  display: grid;
}
.lobby-notice-carousel-stage {
  position: relative;
}
/* 배너 캡션: 이미지 아래 한 줄 (제목 · 날짜) */
.lobby-notice-carousel-caption {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
  padding: 9px 4px 0;
}
.lobby-notice-carousel-caption strong {
  min-width: 0;
  overflow: hidden;
  color: #ffe680;
  font-size: 14px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.lobby-notice-carousel-caption time {
  flex: 0 0 auto;
  color: #c6b697;
  font-size: 11.5px;
}
.lobby-notice-carousel-arrow {
  position: absolute;
  top: 50%;
  z-index: 2;
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  padding: 0 0 3px;
  border: 1px solid rgba(255, 226, 145, 0.48);
  border-radius: 50%;
  background: rgba(12, 8, 2, 0.72);
  color: #ffe19a;
  font-size: 25px;
  line-height: 1;
  transform: translateY(-50%);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}
.lobby-notice-carousel-arrow.is-prev {
  left: 7px;
}
.lobby-notice-carousel-arrow.is-next {
  right: 7px;
}
.lobby-notice-carousel-footer {
  min-height: 31px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 4px;
}
.lobby-notice-carousel-dots {
  max-width: calc(100% - 54px);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1px;
  overflow-x: auto;
  scrollbar-width: none;
}
.lobby-notice-carousel-dots::-webkit-scrollbar {
  display: none;
}
.lobby-notice-carousel-dots button {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
}
.lobby-notice-carousel-dots button::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #655a3e;
}
.lobby-notice-carousel-dots button[aria-current="true"]::before {
  width: 17px;
  height: 7px;
  border-radius: 999px;
  background: #f0c54e;
}
.lobby-notice-carousel-count {
  position: absolute;
  right: 2px;
  bottom: 0;
  color: #857959;
  font-size: 9px;
  font-variant-numeric: tabular-nums;
}
.lobby-notice-carousel-count b {
  color: #e7cd84;
}
.lobby-notice-list-item {
  width: 100%;
  min-width: 0;
  display: grid;
  gap: 5px;
  padding: 12px 13px;
  overflow: hidden;
  border: 1px solid rgba(225, 184, 83, 0.3);
  border-radius: 12px;
  background:
    radial-gradient(circle at 100% 0, rgba(255, 213, 91, 0.06), transparent 34%),
    linear-gradient(155deg, #251c0c, #130e05 72%);
  color: inherit;
  font: inherit;
  text-align: left;
}
.lobby-notice-list-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.lobby-notice-list-meta time {
  color: #897c5e;
  font-size: 9px;
  font-variant-numeric: tabular-nums;
}
.lobby-notice-list-item > strong {
  min-width: 0;
  overflow: hidden;
  color: #f2dc9d;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.lobby-notice-summary {
  min-width: 0;
  overflow: hidden;
  color: #a99b75;
  font-size: 10px;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.lobby-notice-detail {
  width: min(100%, 620px);
  min-width: 0;
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid rgba(225, 184, 83, 0.38);
  border-radius: 14px;
  background: linear-gradient(155deg, #2a200f, #151006 72%);
  box-shadow: 0 9px 22px rgba(0, 0, 0, 0.25);
}
.lobby-notice-detail > .lobby-notice-image {
  border-bottom: 1px solid rgba(225, 184, 83, 0.24);
  border-radius: 0;
}
.lobby-notice-detail > header {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 7px 10px;
  padding: 15px 15px 12px;
}
.lobby-notice-detail > header time {
  color: #897c5e;
  font-size: 10px;
  font-variant-numeric: tabular-nums;
}
.lobby-notice-detail > header h3 {
  grid-column: 1 / -1;
  margin: 2px 0 0;
  color: #f7df9e;
  font-size: 18px;
  font-weight: 950;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.lobby-notice-detail-body {
  padding: 0 15px 20px;
  color: #d2c39c;
  font-size: 13px;
  line-height: 1.75;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.lobby-notice-list-item:focus-visible,
.lobby-notice-carousel-arrow:focus-visible,
.lobby-notice-carousel-dots button:focus-visible {
  outline: 2px solid #ffe16f;
  outline-offset: 2px;
}
.lobby-notice-banner:focus-visible {
  outline: 0;
  box-shadow: inset 0 0 0 3px #ffe16f;
}
/* 랭킹 모달 (로비 개편 2단계) */
.ranking-subtabs {
  display: flex;
  gap: 6px;
  margin-bottom: 8px;
}
.ranking-subtab {
  flex: 1;
  padding: 8px 4px;
  border-radius: 9px;
  border: 1px solid rgba(181, 154, 94, 0.4);
  background: #241b0d;
  color: #d8c69a;
  font-size: 12px;
  font-weight: 700;
}
.ranking-subtab.active {
  background: linear-gradient(180deg, #f5bb45, #d99427);
  color: #241703;
  border-color: #f0c95c;
}
.ranking-list {
  margin-top: 4px;
}
.ranking-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 10px;
  border-bottom: 1px solid rgba(181, 154, 94, 0.18);
  font-size: 13px;
  color: #f3e6c2;
}
.ranking-row.is-me {
  background: rgba(245, 187, 69, 0.14);
  border-radius: 8px;
  border: 1px solid rgba(240, 201, 92, 0.5);
}
.ranking-rank {
  width: 34px;
  text-align: center;
  font-weight: 900;
  color: #d8c69a;
}
.ranking-name {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 700;
}
.ranking-value {
  font-weight: 800;
  color: #ffd76a;
}
.ranking-me-divider {
  margin: 10px 0 4px;
  text-align: center;
  font-size: 11px;
  color: #b8a87f;
}
/* 로비 채팅 (로비 개편 3단계) */
.lobby-chat-list {
  height: min(46vh, 380px);
  overflow-y: auto;
  padding: 4px 2px 8px;
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.lobby-chat-msg {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  font-size: 13px;
  line-height: 1.5;
}
.lobby-chat-msg.is-me .lobby-chat-nick {
  color: #ffd76a;
}
.lobby-chat-nick {
  flex: 0 1 auto;
  min-width: 0;
  font-weight: 800;
  color: #b8d4a0;
  max-width: min(46%, 260px);
  white-space: normal;
  overflow-wrap: anywhere;
}
.lobby-chat-body {
  flex: 1 1 0;
  min-width: 0;
  color: #f3e6c2;
  overflow-wrap: anywhere;
}
.lobby-chat-time {
  flex: none;
  font-size: 10px;
  color: #8a7c5e;
}
.lobby-chat-input-row {
  display: flex;
  gap: 6px;
  padding-top: 8px;
  border-top: 1px solid rgba(181, 154, 94, 0.25);
}
.lobby-chat-input-row input {
  flex: 1;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid rgba(181, 154, 94, 0.45);
  background: #1c150a;
  color: #f3e6c2;
  font-size: 14px;
}
.lobby-chat-input-row button {
  padding: 10px 16px;
  border-radius: 10px;
  border: 0;
  background: linear-gradient(180deg, #f5bb45, #d99427);
  color: #241703;
  font-weight: 800;
}
/* 클럽 (로비 개편 4단계) */
.club-tag {
  display: inline-block;
  padding: 1px 5px;
  margin-right: 4px;
  border-radius: 5px;
  font-size: 9px;
  font-weight: 900;
  color: #1a1205;
  vertical-align: 1px;
  letter-spacing: 0.4px;
}
.club-my-card {
  border: 1px solid rgba(240, 201, 92, 0.5);
  border-radius: 12px;
  padding: 12px;
  margin-bottom: 12px;
  background: rgba(245, 187, 69, 0.08);
}
.club-my-card.is-active-membership {
  border-color: rgba(255, 212, 59, 0.88);
  background:
    radial-gradient(circle at 88% 12%, rgba(255, 212, 59, 0.13), transparent 34%),
    linear-gradient(145deg, rgba(82, 61, 14, 0.72), rgba(34, 25, 8, 0.96));
  box-shadow: 0 0 0 1px rgba(255, 224, 133, 0.1) inset, 0 8px 22px rgba(0, 0, 0, 0.28);
}
.club-own-title {
  margin-top: 0;
  color: #ffe680;
  font-size: 14px;
}
.club-my-head {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #f3e6c2;
  font-size: 15px;
}
.club-my-status {
  margin-left: auto;
  padding: 3px 7px;
  border: 1px solid rgba(111, 190, 73, 0.58);
  border-radius: 999px;
  background: rgba(54, 115, 34, 0.28);
  color: #bcec94;
  font-size: 10px;
  font-weight: 800;
  white-space: nowrap;
}
.club-my-desc {
  margin-top: 6px;
  font-size: 12px;
  color: #d8c69a;
}
.club-leave-btn {
  margin-top: 10px;
  padding: 7px 12px;
  border-radius: 8px;
  border: 1px solid rgba(181, 154, 94, 0.4);
  background: #241b0d;
  color: #d8c69a;
  font-size: 12px;
}
.club-section-title {
  margin: 12px 0 6px;
  font-size: 12px;
  font-weight: 800;
  color: #b8a87f;
}
.club-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 4px;
  border-bottom: 1px solid rgba(181, 154, 94, 0.18);
  color: #f3e6c2;
  font-size: 13px;
}
.club-row-main {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}
.club-row-members {
  font-size: 11px;
  color: #b8a87f;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.club-row button,
.club-pending-row button {
  padding: 6px 10px;
  border-radius: 8px;
  border: 0;
  background: linear-gradient(180deg, #f5bb45, #d99427);
  color: #241703;
  font-weight: 800;
  font-size: 12px;
}
.club-row-desc {
  padding: 0 4px 8px;
  font-size: 11px;
  color: #a89a78;
  border-bottom: 1px solid rgba(181, 154, 94, 0.18);
}
.club-pending-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 4px;
  color: #f3e6c2;
  font-size: 13px;
}
.club-pending-row span { flex: 1; }
.club-pending-row [data-club-reject] {
  background: #3a2f1a;
  color: #d8c69a;
}
.club-create-form {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 12px;
}
.club-create-form input[type="text"] {
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid rgba(181, 154, 94, 0.45);
  background: #1c150a;
  color: #f3e6c2;
  font-size: 14px;
}
.club-create-form input[type="color"] {
  width: 100%;
  height: 38px;
  border: 1px solid rgba(181, 154, 94, 0.45);
  border-radius: 10px;
  background: #1c150a;
}
/* 클럽 5단계 — 공지·액션·설정 */
.club-notice {
  margin-top: 8px;
  padding: 7px 10px;
  border-radius: 8px;
  background: rgba(245, 187, 69, 0.14);
  border: 1px solid rgba(240, 201, 92, 0.4);
  color: #ffd76a;
  font-size: 12px;
  font-weight: 700;
}
.club-actions-row {
  display: flex;
  flex-wrap: nowrap;
  gap: 6px;
  margin-top: 10px;
}
.club-actions-row button {
  flex: 1;
  min-width: 0;
  padding: 8px 4px;
  border-radius: 9px;
  border: 1px solid rgba(181, 154, 94, 0.4);
  background: #241b0d;
  color: #d8c69a;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}
.club-actions-row .club-chat-primary {
  border-color: #f0c95c;
  background: linear-gradient(180deg, #ffd45a, #e5a61f);
  color: #241703;
}
.club-actions-row .club-leave-danger {
  border-color: rgba(220, 86, 64, 0.72);
  background: rgba(91, 29, 20, 0.24);
  color: #f1937e;
}
.club-browse-title {
  margin-top: 18px;
  color: #d8c69a;
  font-size: 14px;
}
.club-browse-card {
  margin-bottom: 8px;
  padding: 2px 10px;
  border: 1px solid rgba(181, 154, 94, 0.32);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(48, 37, 19, 0.76), rgba(28, 21, 10, 0.9));
}
.club-browse-card .club-row,
.club-browse-card .club-row-desc {
  border-bottom: 0;
}
.club-browse-empty {
  padding: 18px 12px;
  border: 1px dashed rgba(181, 154, 94, 0.28);
  border-radius: 12px;
  color: #a89a78;
  font-size: 12px;
  text-align: center;
}
.club-membership-note {
  margin-top: 10px;
  padding: 0 4px;
  color: #8f8264;
  font-size: 11px;
  line-height: 1.5;
}
@media (max-width: 390px) {
  .club-actions-row {
    gap: 4px;
  }
  .club-actions-row button {
    padding-inline: 2px;
    font-size: 10.5px;
  }
  .club-my-status {
    padding-inline: 5px;
    font-size: 9px;
  }
}
.club-joinmode-row {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #d8c69a;
  font-size: 13px;
}
.club-joinmode-row select {
  flex: 1;
  padding: 9px 10px;
  border-radius: 10px;
  border: 1px solid rgba(181, 154, 94, 0.45);
  background: #1c150a;
  color: #f3e6c2;
}

/* 클럽 이벤트 — 대회 신청 / 리더 티켓 풀 */
.club-event-title {
  margin-top: 16px;
  color: #ffe680;
  font-size: 14px;
}
.club-event-list,
.club-request-list,
.club-ticket-pool-list {
  display: grid;
  gap: 8px;
}
.club-event-card,
.club-request-row,
.club-ticket-pool {
  border: 1px solid rgba(231, 184, 68, 0.36);
  border-radius: 11px;
  background: linear-gradient(145deg, rgba(63, 45, 15, 0.78), rgba(25, 18, 7, 0.92));
}
.club-event-card {
  padding: 11px;
}
.club-event-head,
.club-ticket-pool {
  display: flex;
  align-items: center;
  gap: 8px;
}
.club-event-head strong,
.club-request-row strong,
.club-ticket-pool strong {
  color: #f6e6b9;
  font-size: 13px;
}
.club-event-head span,
.club-request-status {
  margin-left: auto;
  padding: 3px 7px;
  border: 1px solid rgba(255, 211, 86, 0.46);
  border-radius: 999px;
  background: rgba(245, 187, 69, 0.12);
  color: #ffd86b;
  font-size: 10px;
  font-weight: 850;
  white-space: nowrap;
}
.club-event-meta,
.club-event-payment {
  margin-top: 6px;
  color: #bcae8a;
  font-size: 11px;
}
.club-event-payment {
  color: #e2ca8d;
}
.club-event-open {
  width: 100%;
  margin-top: 10px;
  padding: 8px 10px;
  border: 1px solid rgba(240, 201, 92, 0.55);
  border-radius: 8px;
  background: rgba(245, 187, 69, 0.1);
  color: #f6d872;
  font-size: 12px;
  font-weight: 800;
}
.club-request-row {
  padding: 10px 11px;
}
.club-request-row > div {
  display: flex;
  align-items: center;
  gap: 8px;
}
.club-request-row p {
  margin: 6px 0 3px;
  color: #c9ba95;
  font-size: 11px;
  line-height: 1.45;
}
.club-request-row small,
.club-ticket-pool small {
  color: #928364;
  font-size: 10px;
}
.club-event-form {
  padding: 11px;
  border: 1px solid rgba(240, 201, 92, 0.3);
  border-radius: 12px;
  background: rgba(35, 25, 8, 0.64);
}
.club-event-field {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  color: #d8c69a;
  font-size: 12px;
}
.club-event-field > span {
  font-weight: 800;
}
.club-event-form .club-event-field select,
.club-event-form .club-event-field input {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  padding: 9px 10px;
  border: 1px solid rgba(181, 154, 94, 0.45);
  border-radius: 9px;
  outline: 0;
  background: #1c150a;
  color: #f3e6c2;
  font-size: 12px;
}
.club-event-form .club-event-field input:focus,
.club-event-form .club-event-field select:focus {
  border-color: #f5bb45;
  box-shadow: 0 0 0 2px rgba(245, 187, 69, 0.1);
}
.club-event-field em {
  color: #8f8264;
  font-size: 9.5px;
  font-style: normal;
  white-space: nowrap;
}
.club-event-preset-help {
  margin-top: -1px;
  color: #a99a75;
  font-size: 10px;
}
.club-event-payment-note,
.club-event-load-note {
  padding: 9px 10px;
  border-radius: 9px;
  background: rgba(245, 187, 69, 0.07);
  border: 1px solid rgba(240, 201, 92, 0.22);
  color: #bfb089;
  font-size: 10.5px;
  line-height: 1.5;
}
.club-event-payment-note b {
  color: #f6d872;
}
.club-event-load-note {
  margin-top: 8px;
  color: #a99a75;
}
.club-ticket-pool {
  padding: 10px 11px;
  justify-content: space-between;
}
.club-ticket-pool > div {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.club-ticket-pool strong,
.club-ticket-pool small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.club-ticket-pool b {
  flex: 0 0 auto;
  color: #f5cf65;
  font-size: 11px;
}
.club-ticket-allocation-form {
  margin-top: 8px;
}
@media (max-width: 390px) {
  .club-event-field {
    grid-template-columns: 67px minmax(0, 1fr);
  }
  .club-event-field em {
    grid-column: 2;
    margin-top: -4px;
  }
}

/* 클럽 공개 YouTube 링크 */
.club-youtube-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 30px;
  padding: 5px 9px;
  border: 1px solid rgba(255, 91, 91, 0.62);
  border-radius: 8px;
  background: rgba(111, 20, 20, 0.2);
  color: #ffb1a6;
  font-size: 11px;
  font-weight: 850;
  text-decoration: none;
}
.club-youtube-my {
  margin-top: 10px;
}
.club-youtube-browse {
  margin: 0 4px 8px;
}
.club-youtube-play {
  display: inline-grid;
  place-items: center;
  width: 18px;
  height: 13px;
  padding-left: 1px;
  border-radius: 4px;
  background: #ed3434;
  color: #fff9ef;
  font-size: 8px;
  line-height: 1;
}
.club-youtube-settings {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 7px 8px;
  margin: 4px 0;
  padding: 12px;
  border: 1px solid rgba(234, 80, 70, 0.38);
  border-radius: 12px;
  background:
    radial-gradient(circle at 100% 0, rgba(237, 52, 52, 0.09), transparent 35%),
    rgba(26, 18, 7, 0.7);
}
.club-youtube-settings-title {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 3px;
  color: #ffb1a6;
  font-size: 14px;
}
.club-youtube-settings > label[for="clubEditYouTubeURL"] {
  grid-column: 1 / -1;
  color: #d8c69a;
  font-size: 11px;
  font-weight: 800;
}
.club-create-form .club-youtube-settings input[type="url"] {
  grid-column: 1 / -1;
  min-width: 0;
  padding: 10px 11px;
  border: 1px solid rgba(234, 96, 82, 0.52);
  border-radius: 9px;
  outline: 0;
  background: #151006;
  color: #f4e6c1;
  font-size: 12px;
}
.club-create-form .club-youtube-settings input[type="url"]:focus {
  border-color: #f25a4f;
  box-shadow: 0 0 0 2px rgba(237, 52, 52, 0.12);
}
.club-youtube-help {
  grid-column: 1 / -1;
  color: #938565;
  font-size: 9.5px;
}
.club-youtube-check {
  min-height: 34px;
  padding: 6px 10px;
  border: 1px solid rgba(234, 96, 82, 0.58);
  border-radius: 8px;
  background: #29120f;
  color: #ffb1a6;
  font-size: 10.5px;
  font-weight: 850;
}

/* 클럽 카카오톡 오픈채팅 — 리더 설정 / 활성 멤버 입장 */
.club-kakao-open-btn {
  width: 100%;
  min-height: 48px;
  margin-top: 11px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 1px solid #f7cf00;
  border-radius: 11px;
  background: linear-gradient(180deg, #fee500, #f4d900);
  color: #17130a;
  font-size: 13px;
  font-weight: 950;
  text-decoration: none;
  box-shadow: 0 5px 14px rgba(254, 229, 0, 0.13);
}
.club-kakao-icon {
  position: relative;
  width: 25px;
  height: 20px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 50%;
  background: #241f13;
  color: #fee500;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: -1px;
}
.club-kakao-icon::after {
  content: "";
  position: absolute;
  left: 3px;
  bottom: -3px;
  border-width: 4px 4px 0 0;
  border-style: solid;
  border-color: #241f13 transparent transparent transparent;
  transform: rotate(16deg);
}
.club-kakao-caption {
  margin: 5px 2px 0;
  color: #938565;
  font-size: 9.5px;
  text-align: center;
}
.club-kakao-settings {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 7px 8px;
  margin: 4px 0;
  padding: 12px;
  border: 1px solid rgba(240, 201, 92, 0.42);
  border-radius: 12px;
  background:
    radial-gradient(circle at 100% 0, rgba(254, 229, 0, 0.08), transparent 35%),
    rgba(26, 18, 7, 0.7);
}
.club-kakao-settings-title {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 3px;
  color: #f5cf65;
  font-size: 14px;
}
.club-kakao-settings-title .club-kakao-icon {
  background: #fee500;
  color: #241f13;
}
.club-kakao-settings-title .club-kakao-icon::after {
  border-color: #fee500 transparent transparent transparent;
}
.club-kakao-settings > label[for="clubEditOpenChatURL"] {
  grid-column: 1 / -1;
  color: #d8c69a;
  font-size: 11px;
  font-weight: 800;
}
.club-create-form .club-kakao-settings input[type="url"] {
  min-width: 0;
  padding: 10px 11px;
  border: 1px solid rgba(218, 176, 76, 0.5);
  border-radius: 9px;
  outline: 0;
  background: #151006;
  color: #f4e6c1;
  font-size: 12px;
}
.club-create-form .club-kakao-settings input[type="url"]:focus {
  border-color: #fee500;
  box-shadow: 0 0 0 2px rgba(254, 229, 0, 0.1);
}
.club-kakao-help {
  grid-column: 1 / -1;
  color: #938565;
  font-size: 9.5px;
}
.club-kakao-check,
.club-kakao-delete {
  min-height: 34px;
  padding: 6px 10px;
  border-radius: 8px;
  background: #211809;
  font-size: 10.5px;
  font-weight: 850;
}
.club-kakao-check {
  justify-self: start;
  border: 1px solid rgba(240, 201, 92, 0.55);
  color: #f5cf65;
}
.club-kakao-delete {
  justify-self: end;
  border: 1px solid rgba(220, 86, 64, 0.65);
  color: #ee907e;
}
.club-kakao-toggle {
  grid-column: 1 / -1;
  min-height: 42px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 10px;
  padding-top: 7px;
  border-top: 1px solid rgba(181, 154, 94, 0.18);
  color: #d8c69a;
  font-size: 11px;
  font-weight: 800;
}
.club-kakao-toggle input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.club-kakao-toggle i {
  position: relative;
  width: 42px;
  height: 24px;
  border-radius: 999px;
  background: #54472e;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.08);
  transition: background 160ms ease;
}
.club-kakao-toggle i::after {
  content: "";
  position: absolute;
  width: 18px;
  height: 18px;
  left: 3px;
  top: 3px;
  border-radius: 50%;
  background: #f8edcf;
  transition: transform 160ms ease;
}
.club-kakao-toggle input:checked + i {
  background: #fee500;
}
.club-kakao-toggle input:checked + i::after {
  transform: translateX(18px);
  background: #fff;
}

/* ══════════ 브레이크 미니게임 모달 + 치즈 레이스 ══════════ */
.break-minigame-modal {
  position: fixed;
  inset: 0;
  z-index: 180;
  display: grid;
  place-items: center;
  padding:
    calc(10px + max(env(safe-area-inset-top, 0px), var(--tg-safe-area-inset-top, 0px)))
    10px
    calc(10px + max(env(safe-area-inset-bottom, 0px), var(--tg-safe-area-inset-bottom, 0px)));
}
.break-minigame-modal.hidden {
  display: none !important;
}
.break-minigame-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(5, 3, 1, 0.82);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}
.break-minigame-card {
  position: relative;
  z-index: 1;
  width: min(100%, 560px);
  max-height: calc(100dvh - 20px - max(env(safe-area-inset-top, 0px), var(--tg-safe-area-inset-top, 0px)) - max(env(safe-area-inset-bottom, 0px), var(--tg-safe-area-inset-bottom, 0px)));
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(240, 193, 70, 0.68);
  border-radius: 18px;
  background: #100a03;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.7), inset 0 1px rgba(255, 255, 255, 0.06);
}
.break-minigame-head {
  flex: 0 0 auto;
  min-height: 60px;
  display: grid;
  grid-template-columns: minmax(94px, 1fr) auto 36px;
  align-items: center;
  gap: 8px;
  padding: 8px 9px 8px 13px;
  border-bottom: 1px solid rgba(228, 178, 54, 0.34);
  background:
    radial-gradient(circle at 16% 0, rgba(255, 215, 91, 0.13), transparent 45%),
    #211706;
}
.break-minigame-title {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.break-minigame-title span {
  color: #9c854d;
  font-size: 7px;
  font-weight: 950;
  letter-spacing: 1.7px;
}
.break-minigame-title strong {
  overflow: hidden;
  color: #ffe16f;
  font-size: 15px;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.break-minigame-clocks {
  display: grid;
  grid-template-columns: auto auto;
  gap: 5px;
}
.break-minigame-clocks span {
  min-width: 68px;
  display: grid;
  justify-items: center;
  gap: 1px;
  padding: 5px 7px;
  border: 1px solid rgba(211, 168, 67, 0.31);
  border-radius: 8px;
  background: rgba(7, 5, 2, 0.48);
  color: #96845b;
  font-size: 8px;
  font-weight: 800;
}
.break-minigame-clocks b {
  color: #f9e1a0;
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}
#breakMinigameClose {
  width: 34px;
  height: 34px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.055);
  color: #d9c89c;
  font-size: 24px;
  line-height: 1;
}
.break-minigame-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 10px;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.break-minigame-body > .minigame-hero,
.break-minigame-body > .cheese-race-waiting,
.break-minigame-body > .cheese-race-finished,
.break-minigame-body > .cheese-race-canceled {
  margin-top: 0;
  margin-bottom: 0;
}
.break-minigame-modal .cheese-race-course {
  height: min(56dvh, 570px);
  min-height: 360px;
}
.break-overlay-reopen {
  width: 100%;
  min-height: 34px;
  margin-top: 7px;
  border: 1px solid rgba(255, 214, 91, 0.68);
  border-radius: 9px;
  background: linear-gradient(180deg, #f5c84c, #d89421);
  color: #281a04;
  font-size: 11px;
  font-weight: 950;
  pointer-events: auto;
}
.break-overlay-reopen.hidden {
  display: none !important;
}
body.holdem-break-minigame-dismissed .break-overlay {
  width: min(280px, 74vw) !important;
  pointer-events: auto !important;
}
body.holdem-break-minigame-open {
  overflow: hidden;
}
@media (max-width: 370px) {
  .break-minigame-head {
    grid-template-columns: minmax(80px, 1fr) auto 32px;
    gap: 5px;
    padding-left: 10px;
  }
  .break-minigame-clocks span {
    min-width: 60px;
    padding-inline: 5px;
  }
  .break-minigame-title strong {
    font-size: 13px;
  }
}
.cheese-race-loading {
  min-height: 260px;
  display: grid;
  place-content: center;
  gap: 8px;
  color: #bda878;
  font-size: 12px;
  text-align: center;
}
.cheese-race-loading span {
  font-size: 42px;
  animation: cheeseRaceBounce 850ms ease-in-out infinite alternate;
}
.minigame-hero,
.cheese-race-waiting,
.cheese-race-finished,
.cheese-race-canceled {
  width: min(100%, 520px);
  margin: 4px auto 18px;
  padding: 18px 16px;
  border: 1px solid rgba(233, 184, 63, 0.52);
  border-radius: 18px;
  background:
    radial-gradient(circle at 50% 0, rgba(255, 212, 59, 0.15), transparent 34%),
    linear-gradient(160deg, #2e210c, #110b03 72%);
  color: #f4e7c2;
  text-align: center;
  box-shadow: 0 12px 30px rgba(0,0,0,0.35), inset 0 1px rgba(255,255,255,0.05);
}
.minigame-hero-art {
  position: relative;
  width: 124px;
  height: 94px;
  display: grid;
  place-items: center;
  margin: 2px auto 8px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,216,89,0.26), transparent 67%);
  font-size: 62px;
  filter: drop-shadow(0 7px 8px rgba(0,0,0,0.35));
}
.minigame-hero-art span {
  position: absolute;
  right: 4px;
  top: 4px;
  font-size: 27px;
}
.minigame-hero > em {
  color: #a98d50;
  font-size: 9px;
  font-style: normal;
  font-weight: 900;
  letter-spacing: 1.6px;
}
.minigame-hero h3,
.cheese-race-waiting h3,
.cheese-race-canceled h3 {
  margin: 5px 0;
  color: #ffd760;
  font-size: 24px;
}
.minigame-hero p,
.cheese-race-waiting p,
.cheese-race-canceled p {
  margin: 5px 0 12px;
  color: #c2af83;
  font-size: 11px;
  line-height: 1.6;
}
.cheese-race-canceled-icon {
  margin-bottom: 5px;
  font-size: 48px;
  filter: grayscale(0.3) drop-shadow(0 6px 7px rgba(0, 0, 0, 0.3));
}
.minigame-beta-note {
  margin: 11px 0;
  padding: 7px 10px;
  border: 1px dashed rgba(210,168,73,0.35);
  border-radius: 8px;
  color: #a89569;
  font-size: 10px;
}
.minigame-primary,
.minigame-secondary {
  width: 100%;
  min-height: 47px;
  margin-top: 7px;
  border-radius: 11px;
  font-size: 13px;
  font-weight: 950;
}
.minigame-primary {
  border: 1px solid #ffd43b;
  background: linear-gradient(180deg, #ffd95d, #e7a91f);
  color: #291a04;
  box-shadow: 0 5px 13px rgba(217,153,17,0.18);
}
.minigame-primary.is-joined {
  border-color: #65ba64;
  background: linear-gradient(180deg, #3e863f, #245c2b);
  color: #efffdd;
}
.minigame-secondary {
  border: 1px solid rgba(203,170,97,0.45);
  background: #211709;
  color: #d9c28f;
}
.minigame-text-btn {
  margin-top: 10px;
  border: 0;
  background: transparent;
  color: #a99568;
  font-size: 10px;
  text-decoration: underline;
}
.cheese-race-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: -4px 0 12px;
  padding: 8px 10px;
  border: 1px solid rgba(232,181,53,0.32);
  border-radius: 10px;
  background: rgba(15,10,3,0.46);
}
.cheese-race-status span {
  color: #edc45b;
  font-size: 11px;
  font-weight: 850;
}
.cheese-race-status b {
  min-width: 54px;
  color: #fff1b5;
  font-size: 18px;
  font-variant-numeric: tabular-nums;
}
.cheese-race-count {
  color: #bda978;
  font-size: 11px;
}
.cheese-race-count strong {
  color: #ffd75a;
  font-size: 22px;
}
.cheese-race-entrants {
  max-height: 184px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
  margin: 10px 0;
  padding: 7px;
  overflow-y: auto;
  border: 1px solid rgba(181,154,94,0.22);
  border-radius: 11px;
  background: rgba(8,5,2,0.32);
}
.cheese-race-entrant {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 5px 6px;
  border-radius: 7px;
  background: rgba(255,255,255,0.035);
  color: #e8d8ad;
  font-size: 10px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cheese-race-entrant i {
  font-size: 17px;
  font-style: normal;
}
.cheese-race-entrant small {
  margin-left: auto;
  color: #8d7b55;
  font-size: 7px;
}
.cheese-race-test-tools {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
  margin-top: 7px;
}
.cheese-race-test-tools button {
  min-height: 38px;
  border: 1px solid rgba(198,160,78,0.42);
  border-radius: 9px;
  background: #261b0b;
  color: #d9c38f;
  font-size: 10px;
  font-weight: 850;
}
.cheese-race-test-tools button:last-child {
  border-color: #e7ac27;
  color: #ffd767;
}
.cheese-race-test-tools button:disabled {
  opacity: 0.38;
}
.cheese-race-live {
  width: min(100%, 540px);
  margin: 0 auto;
}
.cheese-race-live > header {
  min-height: 42px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 8px;
  padding: 7px 10px;
  border: 1px solid rgba(231,177,48,0.4);
  border-bottom: 0;
  border-radius: 15px 15px 0 0;
  background: #1b1105;
  color: #f2d686;
}
.cheese-race-live > header strong {
  font-size: 14px;
}
.cheese-race-live > header > b {
  font-size: 11px;
  font-variant-numeric: tabular-nums;
}
.cheese-race-live-badge {
  padding: 3px 6px;
  border-radius: 5px;
  background: #c53c27;
  color: #fff3de;
  font-size: 8px;
  font-weight: 950;
}
.cheese-race-course {
  position: relative;
  height: min(68dvh, 670px);
  min-height: 520px;
  overflow: hidden;
  container-type: size;
  border: 2px solid #9b6519;
  background:
    radial-gradient(circle at 15% 22%, rgba(255,255,255,0.11) 0 5px, transparent 6px),
    radial-gradient(circle at 80% 72%, rgba(255,255,255,0.1) 0 7px, transparent 8px),
    linear-gradient(90deg, #7d4d16 0 5%, #e0a937 5% 95%, #7d4d16 95%);
  box-shadow: inset 0 0 34px rgba(80,44,4,0.55);
}
.race-world {
  position: absolute;
  inset: 0 0 auto;
  height: 2700px;
  transform: translateY(0);
  will-change: transform;
  background:
    radial-gradient(circle at 12% 11%, rgba(255,248,201,0.15) 0 5px, transparent 6px),
    radial-gradient(circle at 84% 28%, rgba(255,248,201,0.13) 0 7px, transparent 8px),
    radial-gradient(circle at 18% 55%, rgba(86,45,6,0.24) 0 22px, transparent 23px),
    radial-gradient(circle at 82% 68%, rgba(86,45,6,0.24) 0 28px, transparent 29px),
    linear-gradient(90deg, #764515 0 4%, #dca637 4% 96%, #764515 96%);
}
.race-road-lines {
  position: absolute;
  inset: 0;
  opacity: 0.3;
  background:
    repeating-linear-gradient(180deg, transparent 0 38px, rgba(91,51,9,0.2) 39px 41px),
    linear-gradient(105deg, transparent 0 22%, rgba(255,232,151,0.24) 23% 26%, transparent 27% 100%);
}
.race-world .race-road-lines {
  height: 2700px;
  background:
    linear-gradient(135deg, transparent 0 25%, rgba(83,45,7,0.22) 26% 28%, transparent 29% 100%) 0 780px / 100% 320px no-repeat,
    repeating-linear-gradient(180deg, transparent 0 46px, rgba(91,51,9,0.18) 47px 49px),
    linear-gradient(90deg, transparent 0 31%, rgba(255,237,164,0.17) 32% 34%, transparent 35% 66%, rgba(255,237,164,0.15) 67% 69%, transparent 70%);
}
.race-zone-label {
  position: absolute;
  left: 50%;
  z-index: 1;
  transform: translateX(-50%);
  padding: 4px 11px;
  border: 1px solid rgba(88,49,7,0.3);
  border-radius: 999px;
  background: rgba(91,52,8,0.22);
  color: rgba(74,39,4,0.72);
  font-size: 9px;
  font-weight: 950;
}
.zone-windmill { top: 180px; }
.zone-pinball { top: 490px; }
.zone-tunnel { top: 1250px; }
.zone-chaos { top: 2020px; }
.race-start-line,
.race-finish-line {
  position: absolute;
  left: 4%;
  right: 4%;
  z-index: 2;
  padding: 3px;
  color: rgba(42,24,4,0.72);
  font-size: 9px;
  font-weight: 950;
  letter-spacing: 2px;
  text-align: center;
}
.race-start-line {
  top: 54px;
  border-top: 4px double rgba(80,44,3,0.6);
}
.race-finish-line {
  top: 2600px;
  border-top: 2px solid rgba(255,255,255,0.76);
  background: repeating-linear-gradient(90deg, #fff 0 8px, #261906 8px 16px);
  color: #fff4c6;
  text-shadow: 0 1px 2px #000;
}
.race-obstacle {
  position: absolute;
  z-index: 3;
  font-size: 25px;
  filter: drop-shadow(0 4px 3px rgba(69,36,3,0.35));
}
.race-world .race-obstacle {
  display: grid;
  place-items: center;
}
.race-windmill {
  width: 82px;
  height: 82px;
  border: 7px solid rgba(98,55,8,0.76);
  border-radius: 50%;
  background: radial-gradient(circle, #4c2905 0 7px, transparent 8px);
  color: #6c3a06;
  font-size: 86px;
  line-height: 1;
  animation: cheeseWindmillSpin 920ms linear infinite;
  filter: drop-shadow(0 7px 4px rgba(69,36,3,0.35));
}
.windmill-1 { left: 8%; top: 240px; }
.windmill-2 { right: 7%; top: 355px; animation-direction: reverse; animation-duration: 760ms; }
.race-bumper {
  width: 48px;
  height: 48px;
  border: 6px solid #f4c149;
  border-radius: 50%;
  background: radial-gradient(circle, #fff1a5 0 22%, #df7d1d 24% 55%, #773e08 57%);
  color: transparent;
  box-shadow: 0 0 0 5px rgba(126,68,7,0.2), 0 0 14px rgba(255,225,99,0.48);
  animation: cheeseBumperPulse 620ms ease-in-out infinite alternate;
}
.bumper-1 { left: 13%; top: 560px; }
.bumper-2 { right: 15%; top: 635px; animation-delay: -180ms; }
.bumper-3 { left: 40%; top: 700px; animation-delay: -360ms; }
.bumper-4 { right: 28%; top: 790px; animation-delay: -90ms; }
.race-spring {
  width: 40px;
  height: 54px;
  border-bottom: 8px double #743b05;
  color: #743b05;
  font-size: 48px;
  font-weight: 950;
  animation: cheeseSpring 520ms ease-in-out infinite;
}
.spring-1 { left: 22%; top: 820px; }
.race-cannon {
  width: 58px;
  height: 36px;
  border: 5px solid #5c3006;
  border-radius: 20px 5px 5px 20px;
  background: #9b5d14;
  font-size: 24px;
}
.cannon-1 { right: 9%; top: 880px; transform: rotate(160deg); }
.cannon-2 { left: 8%; top: 1280px; transform: rotate(18deg); }
.race-hole {
  width: 64px;
  height: 26px;
  border-radius: 50%;
  background: radial-gradient(ellipse, #0c0702 0 38%, #5c3109 65%, transparent 68%);
  color: transparent;
}
.hole-1 { left: 10%; top: 1010px; }
.hole-2 { right: 10%; top: 1190px; }
.mouse-1 { right: 32%; top: 1110px; font-size: 33px; animation: cheeseMouseDash 1.4s ease-in-out infinite alternate; }
.butter-1 { left: 43%; top: 1240px; font-size: 34px; transform: rotate(18deg); }
.race-spinner {
  width: 76px;
  height: 76px;
  border: 8px dashed #744006;
  border-radius: 50%;
  color: #8d5008;
  font-size: 61px;
  animation: cheeseWindmillSpin 680ms linear infinite;
}
.spinner-1 { right: 6%; top: 1410px; }
.spinner-2 { left: 6%; top: 1540px; animation-direction: reverse; }
.race-wall {
  width: 94px;
  height: 24px;
  border: 4px solid #663406;
  background: repeating-linear-gradient(90deg, #9b601b 0 17px, #c98225 18px 32px);
  color: transparent;
  animation: cheeseWallSlide 1.3s ease-in-out infinite alternate;
}
.wall-1 { left: 20%; top: 1470px; }
.wall-2 { right: 17%; top: 1600px; animation-direction: alternate-reverse; }
.race-fan {
  right: 10%;
  top: 1325px;
  color: #704006;
  font-size: 48px;
  animation: cheeseWindmillSpin 430ms linear infinite;
}
.bumper-5 { left: 24%; top: 1320px; width: 39px; height: 39px; }
.bumper-6 { right: 29%; top: 1265px; width: 42px; height: 42px; animation-delay: -240ms; }
.race-swing {
  left: 48%;
  top: 1165px;
  width: 9px;
  height: 118px;
  transform-origin: 50% 0;
  border-radius: 999px;
  background: #6b3907;
  color: #f5bd3d;
  font-size: 38px;
  animation: cheesePendulum 1.05s ease-in-out infinite alternate;
}
.race-swing::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -14px;
  width: 48px;
  height: 48px;
  transform: translateX(-50%);
  border: 6px solid #6b3907;
  border-radius: 50%;
  background: radial-gradient(circle, #ffe786, #d77b16 55%, #6b3907 58%);
}
.race-gate {
  right: 9%;
  top: 1045px;
  width: 112px;
  height: 22px;
  overflow: hidden;
  border: 4px solid #643507;
  border-radius: 5px;
  background: repeating-linear-gradient(90deg, #f0b43b 0 12px, #774008 13px 24px);
  color: transparent;
  animation: cheeseGate 920ms ease-in-out infinite alternate;
}
.spinner-3 {
  left: 12%;
  top: 1700px;
  width: 68px;
  height: 68px;
  animation-duration: 560ms;
}
.spring-2 {
  right: 15%;
  top: 1815px;
  animation-delay: -220ms;
}
.gate-2 {
  left: 10%;
  right: auto;
  top: 1910px;
  animation-direction: alternate-reverse;
  animation-duration: 760ms;
}
.mouse-2 {
  left: 54%;
  top: 1990px;
  font-size: 35px;
  animation: cheeseMouseDash 1.05s ease-in-out infinite alternate-reverse;
}
.butter-2 {
  right: 18%;
  top: 2070px;
  font-size: 37px;
  transform: rotate(-22deg);
}
.bumper-7 {
  left: 30%;
  top: 2135px;
  width: 44px;
  height: 44px;
  animation-delay: -410ms;
}
.race-funnel {
  position: absolute;
  left: 4%;
  right: 4%;
  top: 2110px;
  height: 482px;
  z-index: 2;
  overflow: hidden;
  border-top: 3px solid rgba(100,55,7,0.42);
  background:
    radial-gradient(circle at 50% 45%, rgba(255,225,103,0.13), transparent 34%),
    linear-gradient(180deg, rgba(133,76,12,0.12), rgba(91,47,5,0.24));
}
.race-funnel::before {
  content: "치즈 깔때기";
  position: absolute;
  left: 50%;
  top: 7px;
  transform: translateX(-50%);
  color: rgba(79,41,4,0.72);
  font-size: 9px;
  font-weight: 950;
}
.race-funnel-wall {
  position: absolute;
  top: 18px;
  bottom: -20px;
  width: 47%;
  z-index: 1;
  border: 5px solid #774009;
  background:
    repeating-linear-gradient(135deg, rgba(255,215,92,0.18) 0 9px, rgba(99,52,5,0.15) 10px 18px),
    rgba(116,64,8,0.21);
  box-shadow: inset 0 0 17px rgba(66,33,2,0.3);
}
.race-funnel-wall.left {
  left: -12%;
  clip-path: polygon(0 0, 100% 0, 77% 100%, 54% 100%);
  transform: rotate(1deg);
}
.race-funnel-wall.right {
  right: -12%;
  clip-path: polygon(0 0, 100% 0, 46% 100%, 23% 100%);
  transform: rotate(-1deg);
}
.windmill-3 {
  left: 50%;
  top: 90px;
  z-index: 4;
  width: 92px;
  height: 92px;
  margin-left: -50px;
  animation-duration: 520ms;
  border-color: #8a4b08;
  color: #814606;
}
.race-flipper {
  z-index: 4;
  width: 92px;
  height: 24px;
  border: 5px solid #6d3905;
  border-radius: 999px;
  background: linear-gradient(180deg, #f2b93d, #a96310);
  color: transparent;
  transform-origin: 90% 50%;
  box-shadow: 0 5px 6px rgba(66,31,1,0.3);
}
.flipper-left {
  left: 20%;
  top: 286px;
  animation: cheeseFlipperLeft 540ms ease-in-out infinite alternate;
}
.flipper-right {
  right: 20%;
  top: 286px;
  transform-origin: 10% 50%;
  animation: cheeseFlipperRight 540ms ease-in-out infinite alternate;
}
.funnel-bumper-1 {
  left: 27%;
  top: 205px;
  z-index: 4;
  width: 36px;
  height: 36px;
}
.funnel-bumper-2 {
  right: 27%;
  top: 205px;
  z-index: 4;
  width: 36px;
  height: 36px;
  animation-delay: -300ms;
}
.race-launch-pad {
  left: 50%;
  bottom: 17px;
  z-index: 4;
  width: 44px;
  height: 30px;
  margin-left: -22px;
  border: 4px solid #6b3604;
  border-radius: 50% 50% 4px 4px;
  background: #efa926;
  color: #6b3604;
  font-size: 19px;
  animation: cheeseLaunchPad 480ms ease-in-out infinite;
}
.obstacle-1 { left: 20%; top: 23%; transform: rotate(-16deg); }
.obstacle-2 { right: 17%; top: 34%; }
.obstacle-3 { left: 43%; top: 50%; }
.obstacle-4 { right: 25%; top: 63%; transform: scaleX(-1); }
.obstacle-5 { left: 18%; top: 76%; }
.cheese-race-runner {
  position: absolute;
  left: 50%;
  top: 8%;
  z-index: 6;
  width: 38px;
  display: grid;
  place-items: center;
  transition: filter 160ms ease;
  will-change: left, top, transform;
}
.cheese-race-runner > span {
  font-size: 19px;
  line-height: 1;
  filter: drop-shadow(0 3px 2px rgba(68,35,0,0.45));
}
.cheese-race-runner > b {
  max-width: 58px;
  margin-top: -1px;
  padding: 2px 5px;
  overflow: hidden;
  border: 1px solid rgba(255,222,118,0.68);
  border-radius: 999px;
  background: rgba(42,25,5,0.86);
  color: #fff0bd;
  font-size: 6.5px;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
  opacity: 0;
  transform: translateY(-2px) scale(0.88);
  transition: opacity 120ms ease, transform 120ms ease;
}
.cheese-race-runner.show-name > b,
.cheese-race-runner.is-me > b {
  opacity: 1;
  transform: translateY(0) scale(1);
}
.cheese-race-runner.is-me > span {
  filter: drop-shadow(0 0 5px #62ff7e) !important;
}
.cheese-race-runner.is-me::after {
  content: "나";
  position: absolute;
  left: 50%;
  top: -10px;
  transform: translateX(-50%);
  padding: 1px 4px;
  border-radius: 999px;
  background: #23813c;
  color: #eeffdf;
  font-size: 6px;
  font-weight: 950;
}
.cheese-race-runner.is-finished {
  z-index: 8;
  filter: drop-shadow(0 0 7px #fff1a0);
}
.cheese-race-start-overlay {
  position: absolute;
  inset: 0;
  z-index: 20;
  display: grid;
  place-items: center;
  background: rgba(25,14,2,0.33);
  color: #fff3b4;
  font-size: 72px;
  font-weight: 950;
  text-shadow: 0 5px 0 #7b4a08, 0 8px 18px rgba(0,0,0,0.45);
  transition: opacity 180ms ease;
}
.cheese-race-start-overlay.is-hidden {
  opacity: 0;
  pointer-events: none;
}
.cheese-race-live-rank {
  min-height: 38px;
  display: flex;
  gap: 5px;
  padding: 7px;
  border: 1px solid rgba(231,177,48,0.4);
  border-top: 0;
  border-radius: 0 0 13px 13px;
  background: #1b1105;
}
.cheese-race-live-rank span {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  color: #aa9360;
  font-size: 8px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cheese-race-live-rank b {
  color: #f4d680;
}
.cheese-race-finish-title {
  margin-bottom: 13px;
  color: #ffd65a;
  font-size: 22px;
  font-weight: 950;
}
.cheese-race-podium {
  min-height: 52px;
  display: grid;
  grid-template-columns: 36px 1fr auto;
  align-items: center;
  gap: 8px;
  margin: 6px 0;
  padding: 8px 11px;
  border: 1px solid rgba(203,170,97,0.33);
  border-radius: 11px;
  background: rgba(255,255,255,0.035);
  text-align: left;
}
.cheese-race-podium.is-rank-1 {
  border-color: #f2c646;
  background: linear-gradient(90deg, rgba(218,157,25,0.22), rgba(255,255,255,0.03));
}
.cheese-race-podium > b { font-size: 22px; }
.cheese-race-podium > span { color: #f1dfb1; font-size: 12px; font-weight: 850; }
.cheese-race-podium > strong { color: #ffd65a; font-size: 12px; }
.cheese-race-all-results {
  max-height: 160px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px 8px;
  margin: 10px 0;
  overflow-y: auto;
}
.cheese-race-all-results span {
  display: flex;
  gap: 6px;
  color: #b9a477;
  font-size: 9px;
  text-align: left;
}
.cheese-race-all-results b { color: #e2c474; }
@keyframes cheeseRaceBounce {
  to { transform: translateY(-7px) rotate(5deg); }
}
@keyframes cheeseWindmillSpin {
  to { transform: rotate(360deg); }
}
@keyframes cheeseBumperPulse {
  to { transform: scale(1.12); box-shadow: 0 0 0 7px rgba(126,68,7,0.13), 0 0 22px rgba(255,225,99,0.65); }
}
@keyframes cheeseSpring {
  50% { transform: scaleY(0.62) translateY(12px); }
}
@keyframes cheeseMouseDash {
  to { transform: translateX(-80px) scaleX(-1); }
}
@keyframes cheeseWallSlide {
  to { transform: translateX(85px); }
}
@keyframes cheesePendulum {
  from { transform: rotate(-48deg); }
  to { transform: rotate(48deg); }
}
@keyframes cheeseGate {
  from { transform: translateX(-90px); }
  to { transform: translateX(28px); }
}
@keyframes cheeseFlipperLeft {
  from { transform: rotate(20deg); }
  to { transform: rotate(-34deg); }
}
@keyframes cheeseFlipperRight {
  from { transform: rotate(-20deg); }
  to { transform: rotate(34deg); }
}
@keyframes cheeseLaunchPad {
  50% { transform: translateY(-13px) scaleY(1.16); }
}
@media (max-width: 390px) {
  .cheese-race-course {
    min-height: 500px;
  }
  .cheese-race-runner {
    width: 34px;
  }
  .cheese-race-runner > span {
    font-size: 17px;
  }
  .cheese-race-runner > b {
    max-width: 58px;
    font-size: 6.5px;
  }
}

/* ── CUSTOM: 모바일 테이블 정보 계층 정리 (2026-07-23) ────────────────
   팟/보드/블라인드/핸드등급을 같은 디자인 좌표계의 % 앵커로 배치한다.
   stageScale 이 화면 폭으로만 정해지므로 iPhone/Galaxy 모두 같은 비율이다. */
body.holdem-table-active #blindInfoPanel {
  left: 50% !important;
  top: calc(50.7% + 48px) !important;
  width: min(300px, calc(100% - 72px)) !important;
  display: grid !important;
  gap: 3px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  transform: translate(-50%, 0) !important;
  z-index: 31 !important;
}
body.holdem-table-active #blindInfoPanel .blind-info-line {
  display: flex !important;
  align-items: baseline !important;
  justify-content: center !important;
  gap: 4px !important;
  min-width: 0 !important;
  white-space: nowrap !important;
}
body.holdem-table-active #blindInfoPanel,
body.holdem-table-active #blindInfoPanel * {
  color: #5a3409 !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
  text-shadow:
    0 1px 0 rgba(255, 248, 219, 0.95),
    0 0 3px rgba(255, 239, 178, 0.8) !important;
}
/* 라벨·구분자도 유저 스킨을 따른다 (fallback = 기존 치즈 브라운).
   이 규칙은 (1,2,1)로 아래 8880~ 유니버설 적용부보다 특이성이 높아,
   여기서 변수를 소비하지 않으면 스킨 연동이 라벨에서 끊긴다. */
body.holdem-table-active #blindInfoPanel .blind-info-label {
  color: var(--blind-info-label-color, #6a3d0e) !important;
}
body.holdem-table-active #blindInfoPanel .blind-info-separator {
  margin-inline: 2px !important;
  color: var(--blind-info-sep-color, rgba(106, 61, 14, 0.72)) !important;
}

/* 커진 치즈 팟을 플랍 바로 위에 고정. app.js y=40%와 함께 적용된다. */
body.holdem-table-active .central-bet-pool {
  transform: translate(-50%, -50%) scale(2.15) !important;
  z-index: 31 !important;
}
body.holdem-table-active .central-bet-pool strong {
  min-width: 38px !important;
  min-height: 17px !important;
  padding: 2px 7px !important;
  background: #fff8df !important;
  border: 1px solid #d49513 !important;
  color: #3a2508 !important;
  font-size: 11px !important;
  font-weight: 950 !important;
  text-shadow: none !important;
}

/* 모든 베팅 금액은 음영 없는 고대비 필로 통일한다. */
body.holdem-table-active #betChipLayer .table-bet-chip:not(.central-bet-pool) strong {
  min-width: 38px !important;
  min-height: 18px !important;
  padding: 3px 7px !important;
  background: rgba(45, 29, 7, 0.97) !important;
  border: 1px solid rgba(255, 224, 118, 0.88) !important;
  color: #fff8df !important;
  font-size: 11px !important;
  font-weight: 950 !important;
  text-shadow: none !important;
  box-shadow: 0 3px 7px rgba(0, 0, 0, 0.46) !important;
}

/* 핸드 등급: 히어로 카드 바로 아래 중앙. 현재 핸드 접두어는 JS에서 제거. */
body.holdem-table-active .hero-hand-strength,
body.holdem-table-active.holdem-action-open .hero-hand-strength,
body.holdem-table-active.holdem-action-panel-visible .hero-hand-strength {
  display: inline-flex !important;
  position: absolute !important;
  left: var(--hero-cards-x, 162px) !important;
  top: auto !important;
  bottom: calc(var(--hero-cards-anchor-y) - 27px) !important;
  transform: translateX(-50%) !important;
  width: auto !important;
  max-width: 132px !important;
  min-height: 20px !important;
  margin: 0 !important;
  padding: 3px 10px !important;
  border: 1px solid #d49513 !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, #ffe783, #f1ba35) !important;
  color: #332006 !important;
  font-size: 11px !important;
  font-weight: 950 !important;
  line-height: 1.1 !important;
  text-shadow: none !important;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.42) !important;
  white-space: nowrap !important;
  z-index: 33 !important;
}

/* 360px급 Galaxy에서도 두 줄의 비율과 한 줄 표기를 유지한다. */
@media (max-width: 374px) {
  body.holdem-table-active {
    /* 360px급 Android는 핸드 등급 배지가 액션 바에 닿지 않도록
       히어로(프로필+카드+등급) 묶음을 같은 비율로 한 단계 올린다. */
    --hero-seat-anchor-y: 52px;
  }
  body.holdem-table-active #blindInfoPanel {
    width: min(286px, calc(100% - 64px)) !important;
  }
  body.holdem-table-active #blindInfoPanel,
  body.holdem-table-active #blindInfoPanel * {
    font-size: 10.25px !important;
  }
  body.holdem-table-active #blindInfoPanel .blind-info-line {
    gap: 3px !important;
  }
}

/* ── PRODUCT POLISH: tournament table alignment system (2026-07-23) ──
   Every opponent is one centered component: cards, avatar, name and stack
   share the same axis. Side seats are positioned safely by JS, so no child is
   independently pushed inward. */
body.holdem-table-active #seats .seat .mobile-seat-card {
  width: 78px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
}
body.holdem-table-active #seats .seat .avatar-wrap,
body.holdem-table-active #seats .seat .seat-avatar-shell,
body.holdem-table-active #seats .seat .name-pill,
body.holdem-table-active #seats .seat .mobile-player-panel {
  margin-left: auto !important;
  margin-right: auto !important;
  transform: none !important;
}
body.holdem-table-active #seats .seat-clock-9 .name-pill,
body.holdem-table-active #seats .seat-clock-9 .mobile-player-panel,
body.holdem-table-active #seats .seat-clock-3 .name-pill,
body.holdem-table-active #seats .seat-clock-3 .mobile-player-panel,
body.holdem-table-active #seats .seat-clock-730 .name-pill,
body.holdem-table-active #seats .seat-clock-730 .mobile-player-panel,
body.holdem-table-active #seats .seat-clock-430 .name-pill,
body.holdem-table-active #seats .seat-clock-430 .mobile-player-panel {
  transform: none !important;
}

/* Board owns one clean horizontal band. Blind information sits beneath it,
   never behind it, and remains above the felt without becoming a dark card. */
body.holdem-table-active #blindInfoPanel {
  top: calc(50.7% + 66px) !important;
  z-index: 32 !important;
}

/* Keep the rank control attached to the rendered stage, not the browser edge.
   On desktop this preserves the same visual relationship as mobile. */
body.holdem-table-active .tournament-info-trigger,
body.holdem-table-active.holdem-action-open .tournament-info-trigger,
body.holdem-table-active.holdem-action-panel-visible .tournament-info-trigger {
  right: max(
    8px,
    calc((100vw - var(--poker-frame-width, 390px)) / 2 + 8px)
  ) !important;
}

/* Sit-out recovery belongs to the center information lane. A legacy fixed
   506px design coordinate landed on top of hero cards after desktop scaling. */
body.holdem-table-active #sitInCta {
  top: calc(50.7% + 102px) !important;
  z-index: 36 !important;
}

/* Keep the hamburger control in the clear header lane. The previous +72px
   anchor and its enlarged touch target reached into the 10:30/11 o'clock
   player's cards on narrow Galaxy screens. */
body.holdem-table-active #title {
  top: calc(
    var(--poker-stage-top, 0px)
    + max(env(safe-area-inset-top, 0px), var(--tg-safe-area-inset-top, 0px))
    + 40px
  ) !important;
}

/* pw69: keep the hamburger in the phone header lane. It must not inherit
   the iOS table-stage translation used by seats and table overlays.
   pw92(2026-08-11): 안드로이드도 iOS와 같은 최상단 레인(safe+8)으로 —
   멀티테이블 전환바와 한 줄. 전환바가 이미 쓰던 검증된 레인이다. */
@media (max-width: 600px) {
  body.holdem-table-active #title {
    top: calc(max(env(safe-area-inset-top, 0px), var(--tg-safe-area-inset-top, 0px)) + 8px) !important;
    transform: none !important;
  }

  /* iPhone has a taller browser/status safe area than Galaxy. Keep the menu
     in that header lane so it never reaches the 10/11 o'clock seat. */
  body.holdem-table-active.is-ios #title,
  body.holdem-table-active.ios #title,
  body.holdem-table-active[data-platform="ios"] #title,
  body.holdem-table-active[data-telegram-platform="ios"] #title,
  body.holdem-table-active[data-telegram-platform="iphone"] #title {
    top: calc(max(env(safe-area-inset-top, 0px), var(--tg-safe-area-inset-top, 0px)) + 8px) !important;
    transform: none !important;
  }
}

/* ── CUSTOM: 세로형 레이즈 금액 시트 (2026-07-23) ─────────────────────
   평소에는 3버튼 액션바만 유지한다. RAISE 첫 탭 때 액션 패널 자체를
   밝은 바텀시트로 바꾸어 프리셋 → 슬라이더 → 확정 순서로 읽히게 한다. */
body.holdem-table-active .raise-sheet-header {
  display: none;
}
body.holdem-table-active.holdem-sizing-open #actionPanel {
  display: flex !important;
  position: fixed !important;
  left: 50% !important;
  right: auto !important;
  bottom: 0 !important;
  width: min(390px, 100vw) !important;
  height: calc(270px + max(env(safe-area-inset-bottom, 0px), var(--tg-safe-area-inset-bottom, 0px))) !important;
  min-height: calc(270px + max(env(safe-area-inset-bottom, 0px), var(--tg-safe-area-inset-bottom, 0px))) !important;
  max-height: none !important;
  transform: translateX(-50%) !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 9px !important;
  padding: 15px 16px calc(12px + max(env(safe-area-inset-bottom, 0px), var(--tg-safe-area-inset-bottom, 0px))) !important;
  background: linear-gradient(180deg, #fff8dc 0%, #f8e6ad 100%) !important;
  border: 2px solid #d99a17 !important;
  border-bottom: 0 !important;
  border-radius: 22px 22px 0 0 !important;
  box-shadow: 0 -8px 28px rgba(25, 14, 2, 0.48) !important;
  z-index: 90 !important;
  overflow: visible !important;
}
body.holdem-table-active.holdem-sizing-open #actionPanel::before {
  content: "";
  position: absolute;
  inset: -100vh -100vw 100% -100vw;
  background: rgba(12, 7, 1, 0.28);
  pointer-events: none;
}
body.holdem-table-active.holdem-sizing-open .raise-sheet-header {
  order: 1;
  display: grid !important;
  grid-template-columns: 1fr auto 32px;
  align-items: center;
  min-height: 36px;
  color: #4a2d06;
}
body.holdem-table-active.holdem-sizing-open .raise-sheet-header span {
  font-size: 17px;
  font-weight: 900;
}
body.holdem-table-active.holdem-sizing-open .raise-sheet-header strong {
  color: #9c2f24;
  font-size: 22px;
  font-weight: 950;
}
body.holdem-table-active.holdem-sizing-open #raiseSheetClose {
  width: 32px;
  height: 32px;
  margin-left: 7px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(109, 74, 16, 0.12);
  color: #6c4912;
  font-size: 25px;
  line-height: 29px;
}
body.holdem-table-active.holdem-sizing-open #quickBets {
  order: 2;
  display: grid !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  inset: auto !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  background: none !important;
  border: 0 !important;
}
body.holdem-table-active.holdem-sizing-open #quickBets .preset {
  display: flex !important;
  justify-content: center;
  align-items: center;
  height: 39px !important;
  min-height: 39px !important;
  border: 1px solid rgba(164, 105, 11, 0.45) !important;
  border-radius: 11px !important;
  background: rgba(255, 253, 240, 0.82) !important;
  color: #563708 !important;
  font-size: 14px !important;
  font-weight: 850 !important;
  box-shadow: 0 2px 0 rgba(174, 111, 13, 0.18) !important;
}
body.holdem-table-active.holdem-sizing-open #quickBets .preset[data-preset="min"] {
  display: none !important;
}
body.holdem-table-active.holdem-sizing-open #quickBets [data-bp-custom] {
  display: none !important;
}
body.holdem-table-active.holdem-sizing-open #raiseSlider {
  order: 3;
  display: grid !important;
  position: static !important;
  width: auto !important;
  inset: auto !important;
  grid-template-columns: 38px minmax(0, 1fr) 38px !important;
  align-items: center !important;
  gap: 9px !important;
  margin: 1px 0 0 !important;
  padding: 4px 0 !important;
  transform: none !important;
  background: none !important;
}
body.holdem-table-active.holdem-sizing-open #raiseSlider .step-btn {
  width: 38px !important;
  height: 38px !important;
  border: 1px solid rgba(164, 105, 11, 0.5) !important;
  border-radius: 10px !important;
  background: #fff9e6 !important;
  color: #663d05 !important;
  font-size: 24px !important;
}
body.holdem-table-active.holdem-sizing-open #raiseSlider input[type="range"] {
  width: 100% !important;
  height: 24px !important;
}
body.holdem-table-active.holdem-sizing-open #raiseSlider .manual-bet-btn,
body.holdem-table-active.holdem-sizing-open #raiseSlider .bet-value {
  display: none !important;
}
body.holdem-table-active.holdem-sizing-open #actionButtons {
  order: 4;
  display: block !important;
  width: 100% !important;
}
body.holdem-table-active.holdem-sizing-open #btnFold,
body.holdem-table-active.holdem-sizing-open #btnCheckCall {
  display: none !important;
}
body.holdem-table-active.holdem-sizing-open #btnRaise {
  display: flex !important;
  width: 100% !important;
  height: 48px !important;
  min-height: 48px !important;
  flex-direction: row !important;
  justify-content: center !important;
  gap: 9px !important;
  border: 1px solid #c76c19 !important;
  border-radius: 12px !important;
  background: linear-gradient(180deg, #ff9c35, #eb741c) !important;
  color: #3d1b02 !important;
  box-shadow: 0 3px 0 #a94e10, 0 5px 12px rgba(110, 48, 3, 0.24) !important;
}
body.holdem-table-active.holdem-sizing-open #btnRaise .ab-label,
body.holdem-table-active.holdem-sizing-open #btnRaise .ab-amount {
  color: #3d1b02 !important;
  font-size: 17px !important;
  font-weight: 950 !important;
}
body.holdem-table-active.holdem-sizing-open #preActions,
body.holdem-table-active.holdem-sizing-open #actionCountdown,
body.holdem-table-active.holdem-sizing-open #myStatus {
  display: none !important;
}

/* Collected-pot amount: remove the muddy shadow and use direct contrast. */
body.holdem-table-active #betChipLayer .central-bet-pool strong {
  border-color: #d59a22 !important;
  background: #fff3cf !important;
  color: #563305 !important;
  text-shadow: none !important;
  box-shadow: none !important;
}

/* 중앙 CHEESE POT 4단계 더미.
   x=50%/y=38%의 중앙 안전 영역 안에서만 성장하며 최대 64px 폭을 넘지 않는다. */
body.holdem-table-active #betChipLayer .central-bet-pool {
  width: 68px !important;
  height: auto !important;
  transform: translate(-50%, -50%) !important;
  filter: drop-shadow(0 5px 5px rgba(57, 31, 3, 0.42)) !important;
  z-index: 31 !important;
}

body.holdem-table-active #betChipLayer .central-bet-pool .bet-chip-stack {
  position: relative !important;
  display: block !important;
  width: 64px !important;
  height: 48px !important;
  margin: 0 auto 2px !important;
  overflow: visible !important;
}

body.holdem-table-active #betChipLayer .central-bet-pool .pot-cheese-piece {
  position: absolute !important;
  left: 50% !important;
  bottom: 0 !important;
  width: 18px !important;
  height: 15px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background:
    radial-gradient(circle 2.2px at 35% 65%, #d5830c 90%, transparent 100%),
    radial-gradient(circle 1.6px at 67% 76%, #d5830c 90%, transparent 100%),
    linear-gradient(155deg, #ffe477 0%, #ffc43d 48%, #e99913 100%) !important;
  clip-path: polygon(50% 0, 100% 100%, 0 100%) !important;
  transform: translateX(-50%) !important;
  box-shadow: none !important;
  filter: drop-shadow(0 2px 1px rgba(83, 43, 3, 0.52)) !important;
}

body.holdem-table-active #betChipLayer .central-bet-pool .pot-cheese-piece::before {
  content: none !important;
}

/* 1단계: 10BB 이하 */
body.holdem-table-active #betChipLayer .pot-pile-stage-1 .bet-chip-stack {
  height: 20px !important;
}

/* 2단계: 10~30BB, 2+1 피라미드 */
body.holdem-table-active #betChipLayer .pot-pile-stage-2 .bet-chip-stack {
  height: 31px !important;
}
body.holdem-table-active #betChipLayer .pot-pile-stage-2 .pot-cheese-1 { left: 38% !important; }
body.holdem-table-active #betChipLayer .pot-pile-stage-2 .pot-cheese-2 { left: 62% !important; }
body.holdem-table-active #betChipLayer .pot-pile-stage-2 .pot-cheese-3 { bottom: 13px !important; }

/* 3단계: 30~100BB, 3+2+1 피라미드 */
body.holdem-table-active #betChipLayer .pot-pile-stage-3 .bet-chip-stack {
  height: 43px !important;
}
body.holdem-table-active #betChipLayer .pot-pile-stage-3 .pot-cheese-1 { left: 28% !important; }
body.holdem-table-active #betChipLayer .pot-pile-stage-3 .pot-cheese-2 { left: 50% !important; }
body.holdem-table-active #betChipLayer .pot-pile-stage-3 .pot-cheese-3 { left: 72% !important; }
body.holdem-table-active #betChipLayer .pot-pile-stage-3 .pot-cheese-4 { left: 39% !important; bottom: 13px !important; }
body.holdem-table-active #betChipLayer .pot-pile-stage-3 .pot-cheese-5 { left: 61% !important; bottom: 13px !important; }
body.holdem-table-active #betChipLayer .pot-pile-stage-3 .pot-cheese-6 { bottom: 26px !important; }

/* 4단계: 100BB 초과, 4+3+2+1 피라미드 */
body.holdem-table-active #betChipLayer .pot-pile-stage-4 .pot-cheese-piece {
  width: 16px !important;
  height: 14px !important;
}
body.holdem-table-active #betChipLayer .pot-pile-stage-4 .pot-cheese-1 { left: 18% !important; }
body.holdem-table-active #betChipLayer .pot-pile-stage-4 .pot-cheese-2 { left: 39% !important; }
body.holdem-table-active #betChipLayer .pot-pile-stage-4 .pot-cheese-3 { left: 61% !important; }
body.holdem-table-active #betChipLayer .pot-pile-stage-4 .pot-cheese-4 { left: 82% !important; }
body.holdem-table-active #betChipLayer .pot-pile-stage-4 .pot-cheese-5 { left: 29% !important; bottom: 12px !important; }
body.holdem-table-active #betChipLayer .pot-pile-stage-4 .pot-cheese-6 { left: 50% !important; bottom: 12px !important; }
body.holdem-table-active #betChipLayer .pot-pile-stage-4 .pot-cheese-7 { left: 71% !important; bottom: 12px !important; }
body.holdem-table-active #betChipLayer .pot-pile-stage-4 .pot-cheese-8 { left: 39% !important; bottom: 24px !important; }
body.holdem-table-active #betChipLayer .pot-pile-stage-4 .pot-cheese-9 { left: 61% !important; bottom: 24px !important; }
body.holdem-table-active #betChipLayer .pot-pile-stage-4 .pot-cheese-10 { bottom: 36px !important; }

body.holdem-table-active #betChipLayer .pot-pile-stage-4 .bet-chip-stack::after {
  content: "";
  position: absolute;
  inset: 2px 4px 0;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 226, 105, 0.34), transparent 68%);
  filter: blur(4px);
  z-index: -1;
}

body.holdem-table-active #betChipLayer .central-bet-pool strong {
  display: inline-flex !important;
  min-width: 46px !important;
  min-height: 19px !important;
  padding: 3px 8px !important;
  border: 1px solid #d59a22 !important;
  background: #fff3cf !important;
  color: #563305 !important;
  font-size: 11px !important;
  line-height: 1 !important;
  text-shadow: none !important;
  box-shadow: 0 2px 4px rgba(55, 30, 4, 0.28) !important;
}

/* 2026-07-24 showdown ranking card — compact player/card/payout comparison. */
body.holdem-table-active .hand-result-modal {
  width: min(354px, calc(100% - 24px)) !important;
}
body.holdem-table-active .hand-result-card {
  border: 1px solid #c99728 !important;
  border-radius: 15px !important;
  background: linear-gradient(180deg, rgba(54, 39, 15, 0.98), rgba(24, 18, 9, 0.98)) !important;
  box-shadow: 0 12px 24px rgba(26, 14, 2, 0.42) !important;
  overflow: hidden !important;
}
body.holdem-table-active .hand-result-title {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 39px !important;
  padding: 7px 11px !important;
  border-bottom: 1px solid rgba(221, 171, 62, 0.35) !important;
  background: rgba(82, 58, 15, 0.62) !important;
  color: #f7cc61 !important;
}
body.holdem-table-active .hand-result-title span {
  font-size: 15px !important;
  font-weight: 950 !important;
  letter-spacing: 0.5px !important;
}
body.holdem-table-active .hand-result-title strong {
  color: #e8b94b !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  font-variant-numeric: tabular-nums !important;
}
body.holdem-table-active .hand-result-rows {
  display: flex !important;
  max-height: 174px !important;
  gap: 0 !important;
  padding: 0 8px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}
body.holdem-table-active .hand-result-row {
  display: grid !important;
  grid-template-columns: 30px minmax(68px, 1fr) auto minmax(62px, 0.9fr) auto !important;
  align-items: center !important;
  gap: 5px !important;
  min-height: 55px !important;
  padding: 6px 4px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(218, 175, 82, 0.18) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.holdem-table-active .hand-result-row.is-hero {
  background: rgba(255, 210, 91, 0.055) !important;
}
body.holdem-table-active .hand-result-rank {
  display: grid !important;
  width: 27px !important;
  height: 27px !important;
  place-items: center !important;
  border: 1px solid rgba(208, 187, 138, 0.55) !important;
  border-radius: 50% !important;
  color: #d9d1bd !important;
  font-size: 12px !important;
  font-weight: 950 !important;
}
body.holdem-table-active .hand-result-rank.is-gold {
  border-color: #e9b52f !important;
  background: linear-gradient(180deg, #7c5410, #4a3109) !important;
  color: #ffe28b !important;
}
body.holdem-table-active .hand-result-rank.is-silver {
  border-color: #bfc2c8 !important;
  background: linear-gradient(180deg, #555961, #33363b) !important;
  color: #f4f4f2 !important;
}
body.holdem-table-active .hand-result-player {
  display: flex !important;
  min-width: 0 !important;
  align-items: center !important;
  gap: 5px !important;
}
body.holdem-table-active .hand-result-player .avatar {
  flex: 0 0 auto !important;
  width: 27px !important;
  height: 27px !important;
  border: 1px solid rgba(231, 187, 87, 0.72) !important;
  border-radius: 50% !important;
  overflow: hidden !important;
}
body.holdem-table-active .hand-result-player .avatar img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
body.holdem-table-active .hand-result-player .avatar-letter {
  font-size: 11px !important;
}
body.holdem-table-active .hand-result-name {
  color: #fff4d3 !important;
  font-size: 11px !important;
  font-weight: 900 !important;
}
body.holdem-table-active .hand-result-hole {
  display: flex !important;
  align-items: center !important;
  gap: 2px !important;
}
body.holdem-table-active .hand-result-hole .tiny-card,
body.holdem-table-active .hand-result-board .tiny-card {
  display: inline-flex !important;
  width: 24px !important;
  min-width: 24px !important;
  height: 32px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 1px !important;
  border-radius: 5px !important;
  font-size: 11px !important;
  line-height: 1 !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.28) !important;
}
body.holdem-table-active .hand-result-hand {
  color: #f0dfb2 !important;
  font-size: 10px !important;
  font-weight: 850 !important;
  text-align: center !important;
}
body.holdem-table-active .hand-result-prize {
  color: #ffd55f !important;
  font-size: 11px !important;
  font-weight: 950 !important;
  text-align: right !important;
  white-space: nowrap !important;
}
body.holdem-table-active .hand-result-board {
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  min-height: 45px !important;
  margin: 0 8px !important;
  padding: 6px 8px !important;
  border: 1px solid rgba(218, 175, 82, 0.2) !important;
  border-radius: 8px !important;
  background: rgba(0, 0, 0, 0.12) !important;
}
body.holdem-table-active .hand-result-board.hidden {
  display: none !important;
}
body.holdem-table-active .hand-result-board > strong {
  flex: 0 0 auto !important;
  color: #e6cd8d !important;
  font-size: 11px !important;
}
body.holdem-table-active .hand-result-board-cards {
  display: flex !important;
  min-width: 0 !important;
  gap: 3px !important;
}
body.holdem-table-active .hand-result-countdown {
  min-height: 24px !important;
  padding: 4px 8px 6px !important;
  color: #c8ad72 !important;
  font-size: 10px !important;
  font-weight: 750 !important;
  text-align: center !important;
}

@media (max-width: 374px) {
  body.holdem-table-active .hand-result-row {
    grid-template-columns: 25px minmax(58px, 1fr) auto minmax(54px, 0.8fr) auto !important;
    gap: 3px !important;
  }
  body.holdem-table-active .hand-result-player .avatar {
    width: 23px !important;
    height: 23px !important;
  }
  body.holdem-table-active .hand-result-hole .tiny-card,
  body.holdem-table-active .hand-result-board .tiny-card {
    width: 21px !important;
    min-width: 21px !important;
    height: 29px !important;
    font-size: 10px !important;
  }
  body.holdem-table-active .hand-result-hand,
  body.holdem-table-active .hand-result-prize {
    font-size: 9px !important;
  }
}

/* Premium pooled pot: dense stacks of cheese coins and bundled cheese bars.
   The 90×64 visual safe zone stays between the side betting rails and board. */
body.holdem-table-active #betChipLayer .central-bet-pool.premium-pot-pile {
  width: 92px !important;
  transform: translate(-50%, -50%) !important;
  filter: drop-shadow(0 5px 4px rgba(67, 34, 2, 0.42)) !important;
}
body.holdem-table-active #betChipLayer .premium-pot-pile .bet-chip-stack {
  position: relative !important;
  width: 90px !important;
  height: 62px !important;
  margin: 0 auto 1px !important;
}
body.holdem-table-active #betChipLayer .premium-pot-pile .pot-asset {
  position: absolute !important;
  display: block !important;
  box-sizing: border-box !important;
}
body.holdem-table-active #betChipLayer .premium-pot-pile .pot-asset-coin,
body.holdem-table-active #betChipLayer .premium-pot-pile .pot-asset-coin-stack {
  width: 28px !important;
  height: 10px !important;
  border: 2px solid #b96b0b !important;
  border-radius: 50% !important;
  background: radial-gradient(ellipse at 50% 38%, #ffd967 0 26%, #eea71d 28% 54%, #b96b0b 58% 64%, #f1a91e 68%) !important;
  box-shadow: 0 4px 0 #c7790e, 0 7px 0 #9f5808, 0 9px 4px rgba(73, 36, 2, 0.36) !important;
}
body.holdem-table-active #betChipLayer .premium-pot-pile .pot-asset-coin-stack {
  box-shadow: 0 4px 0 #d88b13, 0 7px 0 #a85c08, 0 10px 0 #df9216, 0 13px 0 #9f5707, 0 16px 4px rgba(73, 36, 2, 0.4) !important;
}
body.holdem-table-active #betChipLayer .premium-pot-pile .pot-asset-tall {
  box-shadow: 0 4px 0 #d88b13, 0 7px 0 #a85c08, 0 10px 0 #df9216, 0 13px 0 #9f5707, 0 16px 0 #df9216, 0 19px 0 #8f4b06, 0 22px 5px rgba(73, 36, 2, 0.42) !important;
}
body.holdem-table-active #betChipLayer .premium-pot-pile .pot-asset-bundle {
  width: 31px !important;
  height: 25px !important;
  border: 2px solid #c2760d !important;
  border-radius: 5px !important;
  background: radial-gradient(circle 3px at 27% 30%, #d78913 95%, transparent), radial-gradient(circle 2px at 68% 67%, #d78913 95%, transparent), linear-gradient(150deg, #ffe171, #f4ae25 68%, #d57d0b) !important;
  box-shadow: 0 4px 0 #a95c07, 0 7px 5px rgba(73, 36, 2, 0.38) !important;
}
body.holdem-table-active #betChipLayer .premium-pot-pile .pot-asset-bundle::after {
  content: "";
  position: absolute;
  left: 12px;
  top: -2px;
  bottom: -6px;
  width: 6px;
  border-inline: 1px solid #5d2e06;
  background: linear-gradient(90deg, #6e3808, #9b5914, #5b2c05);
}
body.holdem-table-active #betChipLayer .premium-pot-pile .pot-asset-wedge {
  width: 21px !important;
  height: 18px !important;
  background: radial-gradient(circle 2.5px at 35% 65%, #ca7509 92%, transparent), radial-gradient(circle 1.8px at 68% 75%, #ca7509 92%, transparent), linear-gradient(155deg, #ffe77e, #f2a91c 75%) !important;
  clip-path: polygon(50% 0, 100% 100%, 0 100%) !important;
  filter: drop-shadow(0 3px 2px rgba(79, 37, 1, 0.46)) !important;
}
body.holdem-table-active #betChipLayer .premium-pot-pile .pot-asset-1 { left: 16px !important; bottom: 20px !important; }
body.holdem-table-active #betChipLayer .premium-pot-pile .pot-asset-2 { left: 39px !important; bottom: 17px !important; }
body.holdem-table-active #betChipLayer .premium-pot-pile .pot-asset-3 { right: 8px !important; bottom: 11px !important; }
body.holdem-table-active #betChipLayer .premium-pot-pile .pot-asset-4 { left: 34px !important; bottom: 2px !important; }
body.holdem-table-active #betChipLayer .premium-pot-pile .pot-asset-5 { left: 23px !important; bottom: 0 !important; }
body.holdem-table-active #betChipLayer .premium-pot-pile .pot-asset-6 { left: 43px !important; bottom: 0 !important; }
body.holdem-table-active #betChipLayer .premium-pot-pile .pot-asset-back { right: 20px !important; bottom: 22px !important; transform: rotate(-5deg) !important; }
body.holdem-table-active #betChipLayer .premium-pot-pile .pot-asset-second { left: 49px !important; }
body.holdem-table-active #betChipLayer .pot-pile-stage-1.premium-pot-pile .bet-chip-stack { height: 29px !important; }
body.holdem-table-active #betChipLayer .pot-pile-stage-1.premium-pot-pile .pot-asset-1 { left: 31px !important; bottom: 8px !important; }
body.holdem-table-active #betChipLayer .pot-pile-stage-2.premium-pot-pile .bet-chip-stack { height: 45px !important; }
body.holdem-table-active #betChipLayer .pot-pile-stage-3.premium-pot-pile .bet-chip-stack { height: 56px !important; }


/* Result cards use the same opaque suit palette as table cards. */
body.holdem-table-active .hand-result-board .tiny-card,
body.holdem-table-active .hand-result-hole .tiny-card {
  border: 1px solid rgba(255,255,255,0.32) !important;
  color: #fff !important;
  opacity: 1 !important;
  filter: none !important;
  text-shadow: 0 1px 1px rgba(0,0,0,0.42) !important;
}
body.holdem-table-active .hand-result-board .tiny-card.ts-spades,
body.holdem-table-active .hand-result-hole .tiny-card.ts-spades { background: linear-gradient(160deg, #20252d, #07090c) !important; }
body.holdem-table-active .hand-result-board .tiny-card.ts-hearts,
body.holdem-table-active .hand-result-hole .tiny-card.ts-hearts { background: linear-gradient(160deg, #ef4a56, #a91625) !important; }
body.holdem-table-active .hand-result-board .tiny-card.ts-diamonds,
body.holdem-table-active .hand-result-hole .tiny-card.ts-diamonds { background: linear-gradient(160deg, #4d8dff, #1450bd) !important; }
body.holdem-table-active .hand-result-board .tiny-card.ts-clubs,
body.holdem-table-active .hand-result-hole .tiny-card.ts-clubs { background: linear-gradient(160deg, #35c77a, #087f45) !important; }
body.holdem-table-active .hand-result-board .tiny-card.is-used,
body.holdem-table-active .hand-result-hole .tiny-card.is-used {
  border: 2px solid #ffd35c !important;
  opacity: 1 !important;
  box-shadow: 0 0 0 2px rgba(255,211,92,0.16), 0 3px 7px rgba(0,0,0,0.4) !important;
}
body.holdem-table-active .hand-result-board .tiny-card.is-unused,
body.holdem-table-active .hand-result-hole .tiny-card.is-unused {
  opacity: 0.58 !important;
  filter: saturate(0.72) brightness(0.78) !important;
}
body.holdem-table-active .hand-result-hand strong {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 22px !important;
  padding: 3px 8px !important;
  border: 1px solid #dba52d !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, #ffe27c, #dca62b) !important;
  color: #402805 !important;
  font-size: 10px !important;
  text-shadow: none !important;
}
body.holdem-table-active .hand-result-hand small {
  margin-top: 3px !important;
  color: #cdbf9d !important;
  font-size: 9px !important;
}

/* Android fullscreen control — B안: icon + clear state text. */
body.holdem-table-active #fsToggle.fs-toggle,
body.holdem-cash-table-active #fsToggle.fs-toggle {
  position: fixed !important;
  top: max(10px, env(safe-area-inset-top, 0px)) !important;
  right: 10px !important;
  z-index: 120 !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  width: auto !important;
  min-width: 92px !important;
  height: 38px !important;
  padding: 0 12px !important;
  border: 1px solid rgba(211, 170, 70, 0.68) !important;
  border-radius: 12px !important;
  background: linear-gradient(180deg, rgba(49, 36, 14, 0.94), rgba(18, 13, 5, 0.94)) !important;
  color: #f7ebc8 !important;
  font-family: inherit !important;
  line-height: 1 !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3), inset 0 1px rgba(255,255,255,0.07) !important;
  -webkit-tap-highlight-color: transparent !important;
}
body.holdem-table-active #fsToggle .fs-toggle-icon,
body.holdem-cash-table-active #fsToggle .fs-toggle-icon {
  display: inline-grid !important;
  width: 18px !important;
  height: 18px !important;
  place-items: center !important;
  color: #e9c764 !important;
  font-family: sans-serif !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}
body.holdem-table-active #fsToggle .fs-toggle-label,
body.holdem-cash-table-active #fsToggle .fs-toggle-label {
  color: #f7ebc8 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
}
body.holdem-table-active #fsToggle.is-fullscreen,
body.holdem-cash-table-active #fsToggle.is-fullscreen {
  border-color: rgba(191, 165, 105, 0.52) !important;
  background: linear-gradient(180deg, rgba(35, 30, 21, 0.94), rgba(14, 12, 8, 0.94)) !important;
}
body.holdem-table-active #fsToggle:active,
body.holdem-cash-table-active #fsToggle:active {
  transform: translateY(1px) !important;
  filter: brightness(1.12) !important;
}

/* pw26(2026-08-11) A안: 토너 테이블에서는 전체화면 토글을 ☰ 옆(좌상단 헤더
   레인)으로 — 우상단은 멀티테이블 전환바 자리라 갤럭시 브라우저에서 버튼이
   가려졌다. 캐시 테이블은 전환바가 없으므로 우상단 유지. */
body.holdem-table-active #fsToggle.fs-toggle {
  /* ☰(#title: topbar top=stage-top 안에서 safe+8)와 정확히 같은 줄·같은
     높이(40px) — 뷰포트 고정이므로 stage-top 을 직접 더해 정렬한다. */
  top: calc(max(env(safe-area-inset-top, 0px), var(--tg-safe-area-inset-top, 0px)) + var(--poker-stage-top, 0px) + 8px) !important;
  right: auto !important;
  left: calc(max(14px, env(safe-area-inset-left, 0px) + 14px) + 48px) !important;
  height: 40px !important;
}

/* Keep the game chrome focused: logout lives in the lobby header and the
   hamburger menu, not as a permanent top-left table control. */
body.holdem-table-active .pw-logout-btn,
body.holdem-cash-table-active .pw-logout-btn {
  display: none !important;
}
body.holdem-table-active .gg-topbar-actions .table-logout-menu {
  margin-top: 3px !important;
  color: #ffd8d8 !important;
  border-color: rgba(239, 104, 104, 0.52) !important;
  background: linear-gradient(180deg, rgba(100, 38, 38, 0.96), rgba(43, 17, 17, 0.98)) !important;
}
body.holdem-table-active .gg-topbar-actions .table-logout-menu::before {
  content: "↪";
  display: inline-grid;
  width: 18px;
  margin-right: 5px;
  place-items: center;
  color: #ffb5b5;
  font-size: 15px;
  font-weight: 900;
}

@media (max-width: 360px) {
  body.holdem-table-active #fsToggle.fs-toggle,
  body.holdem-cash-table-active #fsToggle.fs-toggle {
    right: 7px !important;
    min-width: 86px !important;
    height: 36px !important;
    padding-inline: 10px !important;
    gap: 5px !important;
  }
  body.holdem-table-active #fsToggle .fs-toggle-label,
  body.holdem-cash-table-active #fsToggle .fs-toggle-label {
    font-size: 11px !important;
  }
}

/* ── 치즈(C) 이동신청 (내정보) — 컬러 ── */
.myinfo-transfer-summary { color: #e6d5ab; }
.myinfo-transfer-summary strong { color: #ffd43b; }
.myinfo-transfer-row { background: rgba(255,255,255,0.04); border: 1px solid rgba(201,174,118,0.2); }
.myinfo-transfer-row strong { color: #fdf8e7; }
.myinfo-transfer-status { color: #cbb98a; }
.myinfo-transfer-row.st-APPROVED .myinfo-transfer-status { color: #8fc7ff; }
.myinfo-transfer-row.st-COMPLETED .myinfo-transfer-status { color: #7ddf9a; }
.myinfo-transfer-row.st-REJECTED .myinfo-transfer-status,
.myinfo-transfer-row.st-CANCELLED .myinfo-transfer-status { color: #f08c8c; }
.myinfo-transfer-reason { color: #d8a3a3; }
.myinfo-transfer-cancel { background: transparent; border: 1px solid rgba(240,140,140,0.5); color: #f08c8c; }

/* In-game blind information: theme-aware text contrast only.
   테마별 색 정의는 유저 스킨 단일 소스 블록(3265~ --blind-info-*)으로 통합
   — 여기는 적용부만 남긴다. fallback = classic_gold 기존 값.
   Keep its existing layout, size and weight untouched; remove the glow/shadow
   that makes the two information lines look blurred on dark felt skins. */
body.holdem-table-active #blindInfoPanel,
body.holdem-table-active #blindInfoPanel * {
  color: var(--blind-info-text-color, #fff3cd) !important;
  text-shadow: none !important;
}

/* ── 클럽 채팅 신고: 메시지 메뉴와 간단한 사유 입력 ── */
.lobby-chat-report-btn {
  flex: 0 0 auto;
  display: inline-grid;
  width: 23px;
  height: 23px;
  padding: 0;
  place-items: center;
  border: 1px solid rgba(255, 215, 106, 0.28);
  border-radius: 50%;
  background: rgba(31, 21, 10, 0.74);
  color: #cbb98a;
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
}
.lobby-chat-report-btn:hover,
.lobby-chat-report-btn:focus-visible {
  border-color: rgba(255, 183, 89, 0.85);
  background: rgba(113, 64, 13, 0.76);
  color: #ffe69a;
  outline: none;
}
.lobby-chat-report-modal {
  position: fixed;
  z-index: 12050;
  inset: 0;
  display: grid;
  padding: 20px;
  place-items: center;
  background: rgba(10, 7, 4, 0.72);
  backdrop-filter: blur(6px);
}
.lobby-chat-report-card {
  position: relative;
  width: min(100%, 360px);
  padding: 22px;
  border: 1px solid rgba(245, 187, 69, 0.58);
  border-radius: 18px;
  background: linear-gradient(145deg, #2a1a0c, #171008);
  box-shadow: 0 22px 58px rgba(0, 0, 0, 0.45);
  color: #f7edd2;
}
.lobby-chat-report-mark {
  display: inline-grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 50%;
  background: rgba(245, 187, 69, 0.14);
  font-size: 18px;
}
.lobby-chat-report-card h3 { margin: 10px 0 6px; color: #ffe18a; font-size: 19px; }
.lobby-chat-report-card p { margin: 0 0 16px; color: #cbb98a; font-size: 12px; line-height: 1.6; }
.lobby-chat-report-card p strong { color: #f7edd2; }
.lobby-chat-report-card label { display: block; margin-bottom: 7px; color: #e8d4a1; font-size: 12px; font-weight: 800; }
.lobby-chat-report-card textarea {
  box-sizing: border-box;
  width: 100%;
  min-height: 86px;
  resize: vertical;
  padding: 11px 12px;
  border: 1px solid rgba(245, 187, 69, 0.38);
  border-radius: 10px;
  background: rgba(8, 6, 3, 0.48);
  color: #f7edd2;
  font: inherit;
  font-size: 13px;
}
.lobby-chat-report-card textarea:focus { border-color: #f5bb45; outline: 2px solid rgba(245, 187, 69, 0.17); }
.lobby-chat-report-close { position: absolute; top: 12px; right: 12px; width: 30px; height: 30px; border: 0; border-radius: 50%; background: transparent; color: #d6c69d; font-size: 24px; line-height: 1; cursor: pointer; }
.lobby-chat-report-actions { display: flex; gap: 8px; margin-top: 14px; }
.lobby-chat-report-actions button { flex: 1; min-height: 40px; border: 1px solid rgba(245, 187, 69, 0.42); border-radius: 10px; background: transparent; color: #e8d4a1; font: inherit; font-weight: 800; cursor: pointer; }
.lobby-chat-report-actions button[type="submit"] { border-color: #e7a72a; background: linear-gradient(180deg, #f5c350, #d99011); color: #2a1700; }
.lobby-chat-report-actions button:disabled { cursor: wait; opacity: 0.6; }

/* ── CUSTOM: 올인 스웻 팟 슬림화 — 센터 스테이지 (2026-07-28) ──
   스웻 동안 appendCentralBetPool 이 sweat-pot-slim 클래스 + top 31% 로
   팟을 그린다. 치즈 더미(.bet-chip-stack)는 display:none 으로 접고 금액
   라벨(strong)만 슬림 필로 남긴다 — 컨테이너 rect 가 라벨 크기로 줄어
   칩 플라이 목표는 유지되고, 비워진 센터 레인(y34~44)은 3·9시 아웃츠
   풍선이 쓴다. 노드는 매 렌더 재생성되므로 트랜지션 없이 상태로만 그린다. */
body.holdem-table-active #betChipLayer .central-bet-pool.sweat-pot-slim {
  transform: translate(-50%, -50%) scale(1) !important;
  z-index: 31 !important;
  /* premium-pot-pile 의 고정 width 92px 를 해제 — 라벨이 컨테이너를
     넘치면 중앙 정렬이 깨진다 (2026-07-28 로컬 검증에서 확인). */
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
}
body.holdem-table-active #betChipLayer .central-bet-pool.sweat-pot-slim .bet-chip-stack {
  display: none !important;
}
body.holdem-table-active #betChipLayer .central-bet-pool.sweat-pot-slim strong {
  font-size: 13px !important;
  padding: 3px 10px !important;
  white-space: nowrap;
}
body.holdem-table-active #betChipLayer .central-bet-pool.sweat-pot-slim strong::before {
  /* strong 은 inline-flex 컨테이너라 ::before 가 독립 플렉스 아이템 —
     content 끝 공백은 트리밍되므로 간격은 margin 으로 준다. */
  content: "🧀 팟";
  margin-right: 3px;
}

/* ── CUSTOM: 스웻 승률 % 액션 태그 (2026-07-28) ──
   런아웃 스웻 중 각 좌석의 승률 %가 콜/레이즈/올인 필이 쓰던 좌석 위
   액션 태그 슬롯에 붙는다 (.sweat-pct-tag — action-result-badge 클래스로
   지오메트리·좌우 미러링을 상속, applyEquities 가 매 렌더 재부착).
   잔존 액션 결과 배지는 스웻 동안 숨겨 자리를 양보하고, 리더는 금색. */
body.holdem-table-active .seat .action-result-badge.sweat-pct-tag,
body.holdem-table-active #hero .action-result-badge.sweat-pct-tag {
  background: linear-gradient(180deg, #1d4ed8, #8a5e1e) !important;
  border: 1px solid rgba(255, 255, 255, 0.45) !important;
  color: #fff !important;
  font-size: 11px !important;
  letter-spacing: 0.3px !important;
  animation: none !important;
}
body.holdem-table-active .seat .action-result-badge.sweat-pct-tag.is-leading,
body.holdem-table-active #hero .action-result-badge.sweat-pct-tag.is-leading {
  background: linear-gradient(180deg, #eebd4e, #a3661c) !important;
}
/* 올인 좌석은 "ALL-IN · 47%" 한 줄(2026-10-19, applyEquities .is-allin) — 레거시 프레임(6인 등) 공통.
   8인 프레임은 mascot-table.css 가 같은 클래스를 다시 꾸민다. */
body.holdem-table-active .seat .action-result-badge.sweat-pct-tag.is-allin,
body.holdem-table-active #hero .action-result-badge.sweat-pct-tag.is-allin {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  background: linear-gradient(180deg, #ff625b, #e32f35) !important;
  border-color: #ffb3a8 !important;
  color: #fff5e6 !important;
}
body.holdem-table-active .seat .action-result-badge.sweat-pct-tag.is-allin.is-leading,
body.holdem-table-active #hero .action-result-badge.sweat-pct-tag.is-allin.is-leading {
  background: linear-gradient(180deg, #ff7a5f, #d9342c) !important;
  box-shadow: 0 0 0 2px #ffd76a88 !important;
}
body.holdem-table-active .sweat-pct-tag .sweat-allin-label { font-size: 9px; font-weight: 900; letter-spacing: 0.4px; line-height: 1; }
body.holdem-table-active .sweat-pct-tag .sweat-pct-value { font-size: 12px; font-weight: 900; line-height: 1; }
body.runout-sweat-active .seat .action-result-badge:not(.sweat-pct-tag),
body.runout-sweat-active #hero .action-result-badge:not(.sweat-pct-tag) {
  display: none !important;
}

/* ═══ 결과 팝업 252px 컴팩트 (2026-07-28) — 11시~1시 이름창 안쪽 폭 ══════
   style.css 의 252px 확정과 세트. 한 줄 행 레이아웃은 유지하되 원본
   354px 용 그리드(30px 랭크·넓은 minmax)가 252px 에서 상금을 밀어내지
   않도록 각 칸을 한 단계 줄인다. skin.css 가 마지막 로더 = 최종 승자. */
body.holdem-table-active .hand-result-row {
  /* 금액이 족보 칸(.hand-result-hand) 안으로 들어가 4칸 그리드 (2026-07-28) */
  grid-template-columns: 20px minmax(52px, 1fr) auto auto !important;
  gap: 4px !important;
  min-height: 46px !important;
  padding: 5px 3px !important;
}

/* 캡슐(풀 족보 문장) 아래에 팟 금액 — 오른쪽 정렬 세로 스택 */
body.holdem-table-active .hand-result-hand {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  gap: 3px !important;
  min-width: 0 !important;
}

body.holdem-table-active .hand-result-hand .hand-result-prize {
  font-size: 12.5px !important;
}

body.holdem-table-active .hand-result-rank {
  width: 20px !important;
  height: 20px !important;
  font-size: 10px !important;
}

body.holdem-table-active .hand-result-name {
  font-size: 11px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.holdem-table-active .hand-result-prize {
  font-size: 11px !important;
  white-space: nowrap !important;
}

body.holdem-table-active .hand-result-hand strong {
  font-size: 10.5px !important;
}

body.holdem-table-active .hand-result-hand small {
  font-size: 8.5px !important;
}

body.holdem-table-active .hand-result-hole .tiny-card,
body.holdem-table-active .hand-result-board .tiny-card {
  width: 25px !important;
  min-width: 25px !important;
  height: 35px !important;
  font-size: 12px !important;
}

/* ═══════ 내정보 카툰 리디자인 A안 — 치즈 스티커북 (2026-07-30) ═══════════
   기능·항목·마크업 구조는 그대로. 굵은 갈색 외곽선 + 아래로 떨어지는
   3D 그림자("눌리는 스티커")로 통일하고, 스탯 타일에 색을 나눠 정보를
   구분한다. 4327 의 기존 멤버십/영수증 블록을 계승·강화하는 최종 패스라
   파일 맨 끝에 둔다(skin.css 가 마지막 로더 = 최종 승자).
   --mi-ink: 외곽선/그림자 잉크, --mi-face: 카드 바닥색. */
.myinfo-sheet {
  --mi-ink: #6b4410;
  --mi-ink-soft: #40290b;
  --mi-face: #251a0a;
}

/* 시트 본체 — 두꺼운 테두리 + 바닥 그림자 */
.myinfo-sheet .myinfo-card {
  border: 3px solid var(--mi-ink) !important;
  border-radius: 20px !important;
  background: #1a1206 !important;
  box-shadow: 0 6px 0 var(--mi-ink-soft), 0 18px 44px rgba(0, 0, 0, 0.66) !important;
}

.myinfo-sheet .myinfo-head {
  border-bottom: 3px solid var(--mi-ink) !important;
}

.myinfo-sheet .myinfo-head strong,
.myinfo-sheet #myInfoTitle {
  text-shadow: 2px 2px 0 rgba(107, 68, 16, 0.85);
}

/* 닫기 버튼 = 스티커 */
.myinfo-sheet .myinfo-head button {
  width: 30px !important;
  height: 30px !important;
  border: 2.5px solid var(--mi-ink) !important;
  border-radius: 10px !important;
  background: linear-gradient(180deg, #ffe08a, #f0b52c) !important;
  color: #4a340c !important;
  font-size: 17px !important;
  font-weight: 1000 !important;
  box-shadow: 0 3px 0 var(--mi-ink) !important;
}

/* 히어로 멤버십 카드 — 외곽선/그림자 강화 */
.myinfo-sheet .myinfo-hero {
  border: 3px solid var(--mi-ink) !important;
  border-radius: 18px !important;
  box-shadow: 0 5px 0 var(--mi-ink), 0 10px 20px rgba(0, 0, 0, 0.4) !important;
  padding: 13px 15px !important;
}

.myinfo-sheet .myinfo-hero .myinfo-avatar .avatar,
.myinfo-sheet .myinfo-hero .myinfo-avatar-fallback {
  border: 3px solid var(--mi-ink) !important;
  box-shadow: 0 3px 0 var(--mi-ink) !important;
  background: radial-gradient(circle at 35% 28%, #fffaf0, #f5dcae) !important;
  /* 배경을 크림으로 바꾸면 글자색도 반드시 같이 바꾼다 — 상속된 흰색
     (#fdf8e7)을 두면 아바타 미설정 유저의 이니셜이 안 보인다. */
  color: #6b4410 !important;
}

.myinfo-sheet .myinfo-hero .myinfo-avatar .avatar-letter,
.myinfo-sheet .myinfo-hero .myinfo-avatar-fallback .avatar-letter {
  color: #6b4410 !important;
}

/* 기존 4342 규칙이 바깥 래퍼에도 링을 그려 색이 다른 이중 링이 됐다.
   래퍼는 투명하게 두고 안쪽 .avatar 링 하나만 남긴다. */
.myinfo-sheet .myinfo-hero .myinfo-avatar {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.myinfo-sheet .myinfo-hero .myinfo-badge {
  border-radius: 999px !important;
  padding: 3px 10px !important;
  letter-spacing: 0.4px;
}

.myinfo-sheet .myinfo-hero .myinfo-id-row code {
  border: 2px solid var(--mi-ink) !important;
  border-radius: 7px !important;
  background: rgba(255, 255, 255, 0.55) !important;
  font-weight: 900 !important;
}

.myinfo-sheet .myinfo-hero .myinfo-copy-btn {
  border: 2px solid var(--mi-ink) !important;
  border-radius: 7px !important;
  box-shadow: 0 2px 0 var(--mi-ink) !important;
  font-weight: 900 !important;
}

/* 액션 버튼 — 입체 스티커 */
.myinfo-sheet .myinfo-primary {
  border: 3px solid var(--mi-ink) !important;
  border-radius: 14px !important;
  box-shadow: 0 4px 0 var(--mi-ink) !important;
}

.myinfo-sheet .myinfo-secondary {
  border: 3px solid var(--mi-ink) !important;
  border-radius: 14px !important;
  background: linear-gradient(180deg, #6f533a, #4e3823) !important;
  color: #ffe6b0 !important;
  box-shadow: 0 4px 0 var(--mi-ink) !important;
}

.myinfo-sheet .myinfo-primary:active,
.myinfo-sheet .myinfo-secondary:active,
.myinfo-sheet .myinfo-head button:active {
  transform: translateY(3px);
  box-shadow: 0 1px 0 var(--mi-ink) !important;
}

/* 스탯 타일 — 포인트=노랑 / 티켓=초록 / USDT=하늘 */
.myinfo-sheet .myinfo-stats .myinfo-stat {
  border: 3px solid var(--mi-ink) !important;
  border-radius: 15px !important;
  box-shadow: 0 4px 0 var(--mi-ink) !important;
  overflow: hidden;
}

.myinfo-sheet .myinfo-stats .myinfo-stat.is-point {
  background: linear-gradient(180deg, #fff3cd, #ffe08a) !important;
}

.myinfo-sheet .myinfo-stats .myinfo-stat.is-ticket {
  background: linear-gradient(180deg, #d9f2c8, #a8e07a) !important;
}

.myinfo-sheet .myinfo-stats .myinfo-stat.is-tc {
  background: linear-gradient(180deg, #d9f3f8, #9edce9) !important;
}

.myinfo-sheet .myinfo-stats .myinfo-stat.is-usdt {
  background: linear-gradient(180deg, #cfe9ff, #8fc9f5) !important;
}

.myinfo-sheet .myinfo-stats .myinfo-stat span {
  color: #6b4410 !important;
  font-weight: 900 !important;
}

.myinfo-sheet .myinfo-stats .myinfo-stat strong {
  color: #3d2a06 !important;
}

/* 라벨 이모지 — 기존 :first-child 규칙 대신 클래스 기준(USDT 타일 유무에 무관) */
.myinfo-sheet .myinfo-stats .myinfo-stat:first-child span::before {
  content: none !important;
}

.myinfo-sheet .myinfo-stats .myinfo-stat.is-point span::before { content: "🧀 " !important; }
.myinfo-sheet .myinfo-stats .myinfo-stat.is-tc span::before { content: "↗ " !important; }
.myinfo-sheet .myinfo-stats .myinfo-stat.is-ticket span::before { content: "🎟️ " !important; }
.myinfo-sheet .myinfo-stats .myinfo-stat.is-usdt span::before { content: "💵 " !important; }

/* 섹션 — 카드화 + 아이콘 칩 */
.myinfo-sheet .myinfo-section {
  border: 3px solid var(--mi-ink) !important;
  border-radius: 16px !important;
  background: var(--mi-face) !important;
  box-shadow: 0 4px 0 var(--mi-ink-soft) !important;
  padding: 11px 12px 12px !important;
}

.myinfo-sheet .myinfo-section h3 {
  display: flex !important;
  align-items: center;
  gap: 6px;
}

.myinfo-sheet .mi-ic {
  flex-shrink: 0;
  width: 21px;
  height: 21px;
  border: 2px solid var(--mi-ink);
  border-radius: 7px;
  background: linear-gradient(180deg, #ffe08a, #f0b52c);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-style: normal;
  line-height: 1;
}

/* 입력칸 */
.myinfo-sheet .myinfo-nick-grid input,
.myinfo-sheet .myinfo-exchange-row input,
.myinfo-sheet .myinfo-convert-grid select,
.myinfo-sheet .myinfo-convert-grid input {
  border: 2.5px solid var(--mi-ink) !important;
  border-radius: 11px !important;
  background: #160f04 !important;
  font-weight: 700 !important;
}

/* 빠른 금액 칩 */
.myinfo-sheet .myinfo-exchange-quick button {
  border: 2.5px solid var(--mi-ink) !important;
  border-radius: 10px !important;
  background: #33240c !important;
  color: #c9b98f !important;
  font-weight: 900 !important;
  box-shadow: 0 3px 0 var(--mi-ink-soft) !important;
}

.myinfo-sheet .myinfo-exchange-quick button:active {
  transform: translateY(2px);
  box-shadow: 0 1px 0 var(--mi-ink-soft) !important;
}

/* 영수증 — 카툰 대비를 위해 테두리 강화 */
.myinfo-sheet .myinfo-ledger {
  border: 3px dashed #c9a24a !important;
  border-radius: 12px !important;
  -webkit-mask: none !important;
  mask: none !important;
}

/* 트로피 진열대 */
.myinfo-sheet .trophy-strip {
  border: 3px solid var(--mi-ink) !important;
  border-radius: 14px !important;
  box-shadow: 0 4px 0 var(--mi-ink-soft) !important;
}

.myinfo-sheet .trophy-empty {
  border: 3px dashed var(--mi-ink) !important;
  border-radius: 12px !important;
  padding: 16px 10px !important;
  text-align: center;
  font-weight: 800 !important;
}

/* 티켓함 */
.myinfo-sheet .myinfo-ticket-box {
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
}

.myinfo-sheet .myinfo-ticket-box-head b {
  border: 2px solid #7dd3fc !important;
  border-radius: 999px !important;
  background: #2e6fb0 !important;
  color: #dff2ff !important;
  padding: 2px 9px !important;
  font-size: 10px !important;
  font-weight: 900 !important;
}

.myinfo-sheet .myinfo-ticket-chip {
  border: 2.5px solid var(--mi-ink) !important;
  border-radius: 10px !important;
  background: #33240c !important;
  color: #c9b98f !important;
  font-weight: 900 !important;
  box-shadow: 0 3px 0 var(--mi-ink-soft) !important;
}

.myinfo-sheet .myinfo-ticket-chip.is-active {
  background: linear-gradient(180deg, #ffe08a, #f0b52c) !important;
  color: #4a340c !important;
}

.myinfo-sheet .myinfo-ticket-empty {
  border: 3px dashed var(--mi-ink) !important;
  border-radius: 12px !important;
  font-weight: 800 !important;
}

.myinfo-sheet .myinfo-ticket-row,
.myinfo-sheet .myinfo-transfer-row {
  border: 2.5px solid var(--mi-ink) !important;
  border-radius: 12px !important;
  box-shadow: 0 3px 0 var(--mi-ink-soft) !important;
}

.myinfo-sheet .myinfo-transfer-cancel {
  border: 2.5px solid var(--mi-ink) !important;
  border-radius: 10px !important;
  font-weight: 900 !important;
}

/* 긴 값 잘림 보정 — 카툰 타이포가 커지면서 닉네임·포인트가 잘렸다.
   이름 줄은 뱃지를 아래로 흘려보내 이름에 폭을 주고, 스탯 값은 폭에
   맞춰 한 단계 작게(자릿수 많은 포인트도 한 줄에). */
.myinfo-sheet .myinfo-name-row {
  flex-wrap: wrap !important;
  row-gap: 4px;
}

.myinfo-sheet .myinfo-name {
  max-width: 100%;
}

/* 스탯 그리드는 style.css 에서 3열 고정이라, USDT 타일이 꺼진 상태(현재
   기본값)에선 3번째 칸이 빈 채로 남아 오른쪽에 여백이 생겼다. auto-fit 은
   비어 있는 트랙을 접으므로 타일 2개면 2열로 꽉 차고, USDT 가 켜지면 3열이
   된다. 폭이 넓어지며 좁은 화면(361~374px)의 값 잘림도 함께 해소. */
.myinfo-sheet .myinfo-stats {
  grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)) !important;
}

.myinfo-sheet .myinfo-stats .myinfo-stat {
  padding-left: 11px !important;
  padding-right: 11px !important;
}

.myinfo-sheet .myinfo-stats .myinfo-stat strong {
  font-size: 17px !important;
  letter-spacing: -0.3px !important;
  white-space: nowrap;
}

/* 기존 내정보 카드 안에서 게임용 C와 별도 이관 잔고 T-C를 나란히 구분한다. */
.myinfo-sheet .myinfo-wallet-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 3px 8px;
  margin: 6px 1px 9px;
}
.myinfo-sheet .myinfo-wallet-heading strong {
  color: #ffe27a;
  font-family: 'Jua', sans-serif;
  font-size: 17px;
  font-weight: 400;
}
.myinfo-sheet .myinfo-wallet-heading span {
  color: #cbb789;
  font-size: 10px;
}
.myinfo-sheet .myinfo-stats {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.myinfo-sheet .myinfo-stats .myinfo-stat.is-point {
  border-color: #8b601d !important;
}
.myinfo-sheet .myinfo-stats .myinfo-stat.is-tc {
  border-color: #467884 !important;
}
.myinfo-sheet .myinfo-stats .myinfo-stat small {
  display: block;
  margin-top: 4px;
  color: #72532a;
  font-size: 9.5px;
  font-weight: 700;
}
.myinfo-sheet .myinfo-stats .myinfo-stat.is-tc small {
  color: #335d66;
}
.myinfo-sheet .myinfo-stats .myinfo-stat strong {
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  overflow-wrap: anywhere;
}
.myinfo-sheet .myinfo-stats .myinfo-stat.is-ticket:nth-child(3):last-child {
  grid-column: 1 / -1;
}

.myinfo-sheet .myinfo-store-operator-apply {
  display: block;
  width: 100%;
  margin-top: 9px;
  padding: 9px 12px;
  border: 1px solid #c69235;
  border-radius: 10px;
  background: #35240d;
  color: #ffe08a;
  font: 13px 'Jua', sans-serif;
  cursor: pointer;
}

/* 섹션 대표 버튼(핸드분석 열기 등)은 폭을 꽉 채운다 — 시안 기준.
   '이동 신청' 처럼 행 안에 들어간 버튼(.myinfo-exchange-row 자식)은
   직계 자식이 아니므로 영향 없음. */
.myinfo-sheet .myinfo-section > .myinfo-primary {
  width: 100%;
  padding: 11px 12px !important;
  font-size: 14px !important;
}

/* 티켓함 머리글의 아이콘 칩은 flex 컨텍스트가 아니라 여백을 직접 준다 */
.myinfo-sheet .myinfo-ticket-box-head .mi-ic {
  margin-right: 5px;
  vertical-align: -4px;
}

/* 닉네임은 fitMyInfoName(app.js) 이 폰트를 줄여 전부 보이게 하므로
   말줄임을 끈다. 축소 하한(13px)에서도 넘치는 극단값만 clip 된다. */
.myinfo-sheet .myinfo-hero .myinfo-name {
  text-overflow: clip !important;
}

/* 영수증 행 — 실데이터가 처음 렌더되며 드러난 문제 (2026-07-30).
   원장이 늘 비어 있어 검증된 적이 없던 영역이다. 어두운 카드 배경
   (skin.css:1890)과 카툰 블록의 3D 테두리가 크림 영수증 위에 그대로
   얹혀 대비가 깨졌다. 영수증 안에서는 '종이 위 한 줄'로 되돌린다. */
.myinfo-sheet .myinfo-ledger .myinfo-ledger-row {
  border: 0 !important;
  border-bottom: 1px dashed #d9c0a0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 8px 2px !important;
  gap: 10px !important;
}

.myinfo-sheet .myinfo-ledger .myinfo-ledger-row:last-child {
  border-bottom: 0 !important;
}

/* 라벨과 설명이 붙어 읽히던 문제 — 설명은 아랫줄로 내린다 */
.myinfo-sheet .myinfo-ledger .myinfo-ledger-row > div {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.myinfo-sheet .myinfo-ledger .myinfo-ledger-row strong {
  font-size: 12px !important;
}

.myinfo-sheet .myinfo-ledger .myinfo-ledger-row small {
  font-size: 10px !important;
  opacity: 0.75;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* 아바타 제거 후(2026-07-30) 이름이 자기 칸을 다 쓰지 못해 1~2px 모자라
   말줄임이 나던 문제. 아바타가 있던 시절의 "이름은 남는 만큼만" 배치가
   남아 있어서다. 이제 이름이 칸을 채우게 한다. */
body.holdem-table-active .hand-result-player {
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

body.holdem-table-active .hand-result-player .hand-result-name {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

/* 252px 폭에서 이름이 마지막 2px 때문에 잘리던 것 — 행 간격과 홀카드를
   각각 1~2px 줄여 이름 칸에 넘긴다(카드 가독성엔 영향 없는 수준). */
body.holdem-table-active .hand-result-row {
  gap: 3px !important;
}

body.holdem-table-active .hand-result-hole .tiny-card {
  width: 23px !important;
  min-width: 23px !important;
  height: 32px !important;
}

/* 이름 칸 우선권 — 족보 칸이 auto(내용 크기)라 먼저 자리를 가져가면서
   닉네임이 2~3px 씩 잘렸다. 이름에 최소 폭을 보장하고, 족보 캡슐은
   자리가 모자라면 줄바꿈해서 흡수하게 한다(잘림보다 낫다). */
body.holdem-table-active .hand-result-row {
  grid-template-columns: 20px minmax(74px, 1fr) auto minmax(0, auto) !important;
}

body.holdem-table-active .hand-result-hand strong {
  white-space: normal !important;
  word-break: keep-all;
  line-height: 1.25 !important;
}

/* 클럽 홈 테마 — 같은 클럽 기능 위에 A/B/C의 첫인상만 다르게 쌓는다. */
.club-home-hero {
  --club-home-accent: #f5cf65;
  --club-home-accent-rgb: 245, 207, 101;
  --club-home-soft: #f5e7b6;
  --club-home-ink: #1f1809;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin-bottom: 12px;
  padding: 0;
  border-color: rgba(var(--club-home-accent-rgb), 0.7);
  background: linear-gradient(145deg, #3a2e10, #171208);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.1);
}
.club-home-hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.14), transparent 66%),
    repeating-linear-gradient(128deg, rgba(255, 255, 255, 0.022) 0 1px, transparent 1px 9px);
  pointer-events: none;
}
.club-home-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 132px;
  height: 132px;
  right: -70px;
  bottom: -86px;
  border: 1px solid rgba(var(--club-home-accent-rgb), 0.36);
  border-radius: 50%;
  box-shadow: 0 0 0 18px rgba(var(--club-home-accent-rgb), 0.045), 0 0 0 37px rgba(var(--club-home-accent-rgb), 0.03);
}
.club-home-hero-main {
  position: relative;
  z-index: 1;
  padding: 15px 14px 13px;
}
.club-home-theme-art {
  position: absolute;
  z-index: 0;
  top: -30px;
  right: -2px;
  width: 124px;
  height: 124px;
  display: grid;
  place-items: center;
  color: var(--club-home-accent);
  font-size: 112px;
  font-weight: 900;
  line-height: 1;
  opacity: 0.13;
  transform: rotate(-11deg);
  text-shadow: 0 0 24px rgba(var(--club-home-accent-rgb), 0.46);
  pointer-events: none;
}
.club-home-hero-top {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 18px;
}
.club-home-theme-kicker,
.club-home-theme-settings-kicker {
  color: var(--club-home-accent);
  font-size: 9px;
  font-weight: 950;
  letter-spacing: 1.25px;
}
.club-home-hero .club-my-status {
  margin-left: auto;
  border-color: rgba(var(--club-home-accent-rgb), 0.52);
  background: rgba(var(--club-home-accent-rgb), 0.12);
  color: var(--club-home-soft);
}
.club-home-name {
  width: fit-content;
  max-width: calc(100% - 58px);
  margin-top: 7px;
  color: #fff4cf;
  font-size: 21px;
  line-height: 1.12;
}
.club-home-name strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.club-home-hero .club-tag {
  flex: 0 0 auto;
  padding: 2px 6px;
  border-radius: 6px;
  font-size: 9px;
}
.club-home-headline {
  max-width: 78%;
  margin: 8px 0 0;
  color: var(--club-home-soft);
  font-size: 13px;
  font-weight: 850;
  line-height: 1.42;
  word-break: keep-all;
}
.club-home-hero .club-my-desc {
  max-width: 82%;
  margin-top: 5px;
  color: rgba(248, 239, 205, 0.77);
  line-height: 1.45;
}
.club-home-hero .club-notice {
  max-width: 100%;
  margin-top: 10px;
  border-color: rgba(var(--club-home-accent-rgb), 0.3);
  background: rgba(10, 8, 3, 0.22);
  color: #fff0b3;
}
.club-home-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 11px;
}
.club-home-stats span {
  padding: 4px 7px;
  border: 1px solid rgba(255, 255, 255, 0.11);
  border-radius: 999px;
  background: rgba(9, 7, 2, 0.2);
  color: rgba(255, 245, 211, 0.75);
  font-size: 10px;
  font-weight: 700;
}
.club-home-stats b {
  color: var(--club-home-accent);
  font-size: 11px;
}
.club-home-theme-cta {
  width: 100%;
  min-height: 39px;
  margin-top: 11px;
  padding: 8px 11px;
  border: 1px solid rgba(var(--club-home-accent-rgb), 0.62);
  border-radius: 10px;
  background: linear-gradient(180deg, rgba(var(--club-home-accent-rgb), 0.2), rgba(0, 0, 0, 0.1));
  color: var(--club-home-soft);
  font-size: 12px;
  font-weight: 900;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
}
.club-home-hero .club-youtube-my {
  position: relative;
  z-index: 1;
}
.club-home-hero .club-kakao-open-btn {
  position: relative;
  z-index: 1;
}
.club-home-hero .club-actions-row {
  position: relative;
  z-index: 1;
  margin-top: 11px;
}
.club-home-hero.is-compact .club-home-hero-main {
  padding-block: 11px;
}
.club-home-hero.is-compact .club-home-theme-art {
  top: -43px;
  right: -12px;
  font-size: 88px;
  opacity: 0.1;
}
.club-home-hero.is-compact .club-home-headline {
  margin-top: 5px;
  font-size: 11px;
}
.club-home-hero.is-compact .club-home-theme-cta {
  display: none;
}

/* A — 클럽하우스: 따뜻한 아지트와 멤버의 소속감 */
.club-home-hero.club-theme-clubhouse {
  --club-home-accent: #f8cf63;
  --club-home-accent-rgb: 248, 207, 99;
  --club-home-soft: #fff0bc;
  border-color: rgba(248, 207, 99, 0.72);
  background:
    radial-gradient(circle at 90% 5%, rgba(248, 207, 99, 0.19), transparent 34%),
    radial-gradient(circle at 10% 115%, rgba(52, 150, 110, 0.26), transparent 47%),
    linear-gradient(140deg, #463111, #1d2315 72%, #15160d);
}
.club-home-hero.club-theme-clubhouse .club-home-theme-art {
  color: #ffe18a;
}

/* B — 트로피 룸: 기록, 명예, 성장 */
.club-home-hero.club-theme-trophy {
  --club-home-accent: #dfb3ff;
  --club-home-accent-rgb: 223, 179, 255;
  --club-home-soft: #f6e8ff;
  border-color: rgba(223, 179, 255, 0.68);
  background:
    radial-gradient(circle at 88% 0, rgba(216, 153, 255, 0.27), transparent 38%),
    radial-gradient(circle at 7% 100%, rgba(91, 127, 255, 0.22), transparent 49%),
    linear-gradient(140deg, #2b1947, #171a3d 70%, #111021);
}
.club-home-hero.club-theme-trophy .club-home-theme-art {
  color: #e5c0ff;
  transform: rotate(8deg);
}
.club-home-hero.club-theme-trophy .club-home-stats span {
  border-color: rgba(223, 179, 255, 0.18);
  background: rgba(42, 26, 74, 0.29);
}

/* C — 매치데이: 오늘의 경기와 대회 행동 */
.club-home-hero.club-theme-matchday {
  --club-home-accent: #ffbf6c;
  --club-home-accent-rgb: 255, 191, 108;
  --club-home-soft: #fff0d5;
  border-color: rgba(255, 191, 108, 0.72);
  background:
    linear-gradient(105deg, rgba(220, 74, 59, 0.22), transparent 48%),
    radial-gradient(circle at 89% 7%, rgba(255, 191, 108, 0.22), transparent 34%),
    linear-gradient(140deg, #3c1916, #28172a 62%, #15182f);
}
.club-home-hero.club-theme-matchday .club-home-theme-art {
  color: #ff8e72;
  transform: rotate(-18deg);
}
.club-home-hero.club-theme-matchday .club-home-theme-cta {
  background: linear-gradient(180deg, #ffc75e, #ed8a38);
  border-color: #ffd374;
  color: #301706;
  box-shadow: 0 6px 15px rgba(239, 124, 45, 0.19);
}

/* 리더 전용 테마 선택기 및 즉시 미리보기 */
.club-home-theme-settings {
  --club-home-accent: #f5cf65;
  --club-home-accent-rgb: 245, 207, 101;
  margin-bottom: 11px;
  padding: 13px;
  border: 1px solid rgba(240, 201, 92, 0.38);
  border-radius: 13px;
  background:
    radial-gradient(circle at 100% 0, rgba(255, 212, 98, 0.1), transparent 33%),
    linear-gradient(145deg, rgba(39, 29, 12, 0.92), rgba(22, 17, 9, 0.96));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}
.club-home-theme-settings-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 10px;
}
.club-home-theme-settings h3 {
  margin: 3px 0 0;
  color: #f8e8bb;
  font-size: 15px;
}
.club-home-theme-current {
  flex: 0 0 auto;
  margin-top: 2px;
  padding: 4px 7px;
  border: 1px solid rgba(240, 201, 92, 0.3);
  border-radius: 999px;
  color: #f6d872;
  font-size: 9.5px;
  font-weight: 850;
  white-space: nowrap;
}
.club-home-theme-settings > p {
  margin: 8px 0 11px;
  color: #b9ab88;
  font-size: 11px;
  line-height: 1.45;
}
.club-home-theme-choices {
  display: grid;
  gap: 7px;
}
.club-home-theme-choice {
  --club-home-accent: #f5cf65;
  --club-home-accent-rgb: 245, 207, 101;
  position: relative;
  display: grid;
  grid-template-columns: 37px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 9px;
  width: 100%;
  min-height: 58px;
  padding: 8px 10px 8px 8px;
  overflow: hidden;
  border: 1px solid rgba(181, 154, 94, 0.34);
  border-radius: 11px;
  background: #21190c;
  color: #f4e6c1;
  font: inherit;
  text-align: left;
  transition: border-color 160ms ease, transform 160ms ease, background 160ms ease, box-shadow 160ms ease;
}
.club-home-theme-choice::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, rgba(var(--club-home-accent-rgb), 0.13), transparent 56%);
  opacity: 0.65;
  pointer-events: none;
}
.club-home-theme-choice:active {
  transform: scale(0.985);
}
.club-home-theme-choice:focus-visible,
.club-home-theme-cta:focus-visible {
  outline: 2px solid #fff0a3;
  outline-offset: 2px;
}
.club-home-theme-choice.is-selected {
  border-color: rgba(var(--club-home-accent-rgb), 0.86);
  background: linear-gradient(135deg, rgba(var(--club-home-accent-rgb), 0.16), rgba(31, 23, 10, 0.94));
  box-shadow: 0 0 0 1px rgba(var(--club-home-accent-rgb), 0.12) inset, 0 5px 12px rgba(0, 0, 0, 0.2);
}
.club-home-theme-choice-art,
.club-home-theme-choice-copy,
.club-home-theme-choice-check {
  position: relative;
  z-index: 1;
}
.club-home-theme-choice-art {
  width: 35px;
  height: 35px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(var(--club-home-accent-rgb), 0.42);
  border-radius: 10px;
  background: rgba(var(--club-home-accent-rgb), 0.14);
  color: var(--club-home-accent);
  font-size: 21px;
  font-weight: 900;
  line-height: 1;
}
.club-home-theme-choice-copy {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.club-home-theme-choice-copy b {
  color: #f5e7c3;
  font-size: 12px;
}
.club-home-theme-choice-copy small {
  overflow: hidden;
  color: #aa9b78;
  font-size: 9.5px;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.club-home-theme-choice-check {
  width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(181, 154, 94, 0.34);
  border-radius: 50%;
  color: transparent;
  font-size: 11px;
  font-weight: 950;
}
.club-home-theme-choice.is-selected .club-home-theme-choice-check {
  border-color: var(--club-home-accent);
  background: var(--club-home-accent);
  color: #241703;
}
.club-home-theme-preview {
  --club-home-accent: #f5cf65;
  --club-home-accent-rgb: 245, 207, 101;
  position: relative;
  display: grid;
  grid-template-columns: 45px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  min-height: 65px;
  margin: 10px 0;
  padding: 10px;
  overflow: hidden;
  border: 1px solid rgba(var(--club-home-accent-rgb), 0.46);
  border-radius: 11px;
  background: linear-gradient(135deg, rgba(var(--club-home-accent-rgb), 0.18), rgba(18, 15, 9, 0.92));
}
.club-home-theme-preview::after {
  content: "";
  position: absolute;
  width: 90px;
  height: 90px;
  right: -37px;
  top: -45px;
  border: 1px solid rgba(var(--club-home-accent-rgb), 0.34);
  border-radius: 50%;
  box-shadow: 0 0 0 15px rgba(var(--club-home-accent-rgb), 0.05);
}
.club-home-theme-preview-symbol {
  position: relative;
  z-index: 1;
  width: 43px;
  height: 43px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: rgba(var(--club-home-accent-rgb), 0.16);
  color: var(--club-home-accent);
  font-size: 25px;
  font-weight: 900;
}
.club-home-theme-preview > div {
  position: relative;
  z-index: 1;
  min-width: 0;
  display: grid;
  gap: 2px;
}
.club-home-theme-preview small {
  color: var(--club-home-accent);
  font-size: 8.5px;
  font-weight: 900;
  letter-spacing: 1px;
}
.club-home-theme-preview strong {
  color: #fff0c7;
  font-size: 13px;
}
.club-home-theme-preview span:last-child {
  overflow: hidden;
  color: #c7b792;
  font-size: 9.5px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.club-home-theme-settings #clubHomeThemeSave {
  width: 100%;
  min-height: 41px;
}
/* 테마 팔레트의 단일 소스. 배경·테두리를 건드리지 않고 변수만 얹는 자리라,
   테마 색을 따라가야 하는 새 표면은 여기에 셀렉터를 추가한다
   (.club-list-my = 클럽 목록의 MY CLUB 보드). */
.club-home-theme-choice.club-theme-clubhouse,
.club-home-theme-preview.club-theme-clubhouse,
.club-list-my.club-theme-clubhouse {
  --club-home-accent: #f8cf63;
  --club-home-accent-rgb: 248, 207, 99;
  --club-home-soft: #fff0bc;
}
.club-home-theme-choice.club-theme-trophy,
.club-home-theme-preview.club-theme-trophy,
.club-list-my.club-theme-trophy {
  --club-home-accent: #dfb3ff;
  --club-home-accent-rgb: 223, 179, 255;
  --club-home-soft: #f6e8ff;
}
.club-home-theme-choice.club-theme-matchday,
.club-home-theme-preview.club-theme-matchday,
.club-list-my.club-theme-matchday {
  --club-home-accent: #ffbf6c;
  --club-home-accent-rgb: 255, 191, 108;
  --club-home-soft: #fff0d5;
}

@media (max-width: 390px) {
  .club-home-hero-main {
    padding-inline: 12px;
  }
  .club-home-name {
    max-width: calc(100% - 42px);
    font-size: 19px;
  }
  .club-home-headline {
    max-width: 84%;
    font-size: 12px;
  }
  .club-home-stats {
    gap: 4px;
  }
  .club-home-stats span {
    padding-inline: 6px;
    font-size: 9px;
  }
  .club-home-theme-settings {
    padding: 11px;
  }
  .club-home-theme-current {
    font-size: 8.5px;
  }
}

/* ═══════ 클럽 UI — 치즈 보드 톤 (2026-07-30) ═══════════════════════════
   기존 테마 변수(--club-home-accent / -rgb / --club-home-soft) 위에 얹어
   리더의 home_theme 선택(CLUBHOUSE·TROPHY·MATCHDAY)이 그대로 살아 있게 한다.
   보드는 나무결, 강조 요소는 치즈(구멍 뚫린 골드) — 게임 테이블(치즈보드
   오벌)과 세계관을 잇는다. 마크업 계약은 app.js clubHomeThemeHeroHtml 주석. */
body.holdem-lobby-active .club-home-hero {
  --cb-ink: #4a2f0c;
  --cb-ink2: #2a1a08;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  overflow: visible !important;
}

/* ── 나무 보드 ── */
body.holdem-lobby-active .club-board {
  position: relative;
  overflow: hidden;
  padding: 13px 14px 12px;
  border-radius: 18px;
  border: 3px solid var(--cb-ink);
  background:
    repeating-linear-gradient(94deg, rgba(70, 44, 20, 0.5) 0 3px, transparent 3px 11px),
    linear-gradient(180deg, #8a5a2b, #6b4210);
  box-shadow: 0 6px 0 var(--cb-ink2), 0 12px 22px rgba(0, 0, 0, 0.45);
}

/* 치즈 웨지 — 테마 액센트를 따라간다 */
body.holdem-lobby-active .club-board-wedge {
  position: absolute;
  right: -14px;
  top: -12px;
  width: 96px;
  height: 78px;
  border-radius: 9px;
  background: linear-gradient(180deg, var(--club-home-soft, #ffe08a), var(--club-home-accent, #f0b52c));
  clip-path: polygon(0 100%, 100% 0, 100% 100%);
  pointer-events: none;
}

body.holdem-lobby-active .club-board-wedge::after {
  content: "";
  position: absolute;
  right: 18px;
  bottom: 12px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: rgba(120, 80, 15, 0.5);
  box-shadow: 21px -18px 0 -3px rgba(120, 80, 15, 0.45);
}

/* 테마 심볼은 보드 배경 장식으로 (프리뷰 훅이라 요소는 유지) */
body.holdem-lobby-active .club-board .club-home-theme-art {
  position: absolute;
  right: 6px;
  bottom: -14px;
  font-size: 62px;
  line-height: 1;
  opacity: 0.14;
  pointer-events: none;
}

body.holdem-lobby-active .club-board-top {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

body.holdem-lobby-active .club-board .club-home-theme-kicker {
  font-size: 9.5px;
  font-weight: 900;
  letter-spacing: 1px;
  color: var(--club-home-soft, #ffe08a);
}

body.holdem-lobby-active .club-board .club-my-status {
  background: rgba(26, 14, 4, 0.62);
  border: 1.5px solid rgba(var(--club-home-accent-rgb, 240, 181, 44), 0.45);
  border-radius: 999px;
  padding: 3px 9px;
  font-size: 9.5px;
  font-weight: 900;
  color: var(--club-home-soft, #ffe08a);
}

body.holdem-lobby-active .club-board .club-home-name {
  position: relative;
  margin-top: 8px;
  display: flex;
  align-items: center;
  gap: 9px;
}

body.holdem-lobby-active .club-board .club-home-name strong {
  font-size: 19px;
  font-weight: 1000;
  color: #fff3d6;
  letter-spacing: -0.4px;
  text-shadow: 0 2px 0 rgba(0, 0, 0, 0.35);
}

body.holdem-lobby-active .club-board .club-home-headline {
  position: relative;
  margin-top: 4px;
  font-size: 11.5px;
  font-weight: 800;
  color: var(--club-home-soft, #ffe08a);
}

body.holdem-lobby-active .club-board .club-my-desc {
  position: relative;
  margin-top: 2px;
  font-size: 11px;
  font-weight: 700;
  color: #e2c99a;
}

body.holdem-lobby-active .club-board-pills {
  position: relative;
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
  margin-top: 9px;
}

body.holdem-lobby-active .club-pill {
  background: rgba(26, 14, 4, 0.62);
  border: 1.5px solid rgba(var(--club-home-accent-rgb, 240, 181, 44), 0.45);
  border-radius: 999px;
  padding: 3px 9px;
  font-size: 9.5px;
  font-weight: 900;
  color: var(--club-home-soft, #ffe08a);
}

/* ── 지표 3칸 (구멍 뚫린 치즈 타일) ── */
body.holdem-lobby-active .club-stats-row {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  gap: 8px;
  margin-top: 11px;
}

body.holdem-lobby-active .club-stat {
  display: block;
  text-align: center;
  padding: 9px 5px;
  border-radius: 13px;
  border: 2.5px solid #8a5a14;
  box-shadow: 0 3px 0 #6b4410;
  /* 구멍은 글자를 피해 모서리로 — 숫자 위에 겹치면 읽기 어렵다 */
  background:
    radial-gradient(circle 5px at 91% 15%, rgba(150, 100, 20, 0.34) 97%, transparent),
    radial-gradient(circle 3.5px at 9% 86%, rgba(150, 100, 20, 0.3) 97%, transparent),
    linear-gradient(180deg, var(--club-home-soft, #ffe08a), var(--club-home-accent, #f0b52c));
}

body.holdem-lobby-active .club-stat b {
  display: block;
  font-size: 17px;
  font-weight: 1000;
  color: #3d2a06;
}

body.holdem-lobby-active .club-stat i {
  display: block;
  margin-top: 1px;
  font-style: normal;
  font-size: 9.5px;
  font-weight: 900;
  color: #6b4410;
}

/* ── 공지 ── */
body.holdem-lobby-active .club-home-hero .club-notice {
  display: block;
  margin-top: 11px;
  padding: 11px 12px;
  border-radius: 13px;
  border: 2.5px solid #8a5a14;
  background: #fffbe8;
  box-shadow: 0 3px 0 #6b4410;
  color: #5c430f;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.45;
}

/* ── 기능 타일 4칸 ── */
body.holdem-lobby-active .club-tiles {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
  margin-top: 11px;
}

body.holdem-lobby-active .club-tile {
  display: block;
  text-align: left;
  padding: 13px 12px;
  border-radius: 15px;
  border: 2.5px solid #7a5220;
  background: linear-gradient(180deg, #4a3218, #33220e);
  box-shadow: 0 3px 0 var(--cb-ink2, #2a1a08);
  cursor: pointer;
}

body.holdem-lobby-active .club-tile:active {
  transform: translateY(2px);
  box-shadow: 0 1px 0 var(--cb-ink2, #2a1a08);
}

body.holdem-lobby-active .club-tile-ic { display: block; font-size: 19px; line-height: 1; }
body.holdem-lobby-active .club-tile-t { display: block; margin-top: 6px; font-size: 12.5px; font-weight: 1000; color: #ffeec4; }
body.holdem-lobby-active .club-tile-s { display: block; margin-top: 2px; font-size: 10px; font-weight: 700; color: #c2a678; }

body.holdem-lobby-active .club-tile.is-primary {
  border-color: #8a5a14;
  box-shadow: 0 3px 0 #6b4410;
  background:
    radial-gradient(circle 6px at 92% 16%, rgba(150, 100, 20, 0.32) 97%, transparent),
    linear-gradient(180deg, var(--club-home-soft, #ffe08a), var(--club-home-accent, #f0b52c));
}

body.holdem-lobby-active .club-tile.is-primary .club-tile-t { color: #4a340c; }
body.holdem-lobby-active .club-tile.is-primary .club-tile-s { color: #7a5a14; }

/* ── 링크 줄 (오픈챗 / 유튜브) ── */
body.holdem-lobby-active .club-link-row {
  display: flex;
  gap: 8px;
  margin-top: 11px;
}

body.holdem-lobby-active .club-link-row:empty { display: none; }

body.holdem-lobby-active .club-link-row > * {
  flex: 1;
  margin: 0 !important;
  min-width: 0;
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 10px 6px !important;
  border-radius: 12px !important;
  border: 2.5px solid #7a5220 !important;
  background: #33220e !important;
  box-shadow: 0 3px 0 var(--cb-ink2, #2a1a08) !important;
  color: #e2c99a !important;
  font-size: 11.5px !important;
  font-weight: 900 !important;
  text-align: center;
}

body.holdem-lobby-active .club-link-row .club-kakao-open-btn b,
body.holdem-lobby-active .club-link-row .club-youtube-link b {
  display: block;
  font-size: 9.5px;
  font-weight: 700;
  opacity: 0.75;
}

body.holdem-lobby-active .club-link-row .club-youtube-link {
  background: #e64a3a !important;
  border-color: #8a2b20 !important;
  color: #fff2ec !important;
}

/* ── 리더/탈퇴 행 ── */
body.holdem-lobby-active .club-leader-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 11px;
  padding: 10px 12px;
  border-radius: 13px;
  border: 2.5px dashed #7a5220;
  background: #2b1c0b;
}

body.holdem-lobby-active .club-leader-tag { font-size: 11px; font-weight: 900; color: #e2c99a; }
body.holdem-lobby-active .club-leader-btns { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }

body.holdem-lobby-active .club-leader-btns button {
  border: 2px solid var(--cb-ink, #4a2f0c);
  border-radius: 9px;
  padding: 5px 11px;
  font-size: 10.5px;
  font-weight: 1000;
  color: #4a340c;
  background: linear-gradient(180deg, var(--club-home-soft, #ffe08a), var(--club-home-accent, #f0b52c));
  box-shadow: 0 2px 0 var(--cb-ink, #4a2f0c);
  cursor: pointer;
}

body.holdem-lobby-active .club-leader-btns .club-leave-danger {
  background: #4a2018 !important;
  border-color: #7a2b20 !important;
  box-shadow: 0 2px 0 #2a0f0a !important;
  color: #ffb3a0 !important;
}

/* 서브뷰에서는 보드만 남기고 지표·타일을 접어 화면을 아낀다 */
body.holdem-lobby-active .club-home-hero.is-compact .club-stats-row,
body.holdem-lobby-active .club-home-hero.is-compact .club-tiles,
body.holdem-lobby-active .club-home-hero.is-compact .club-leader-row { display: none; }

/* ── 클럽 목록 (나무 트레이 행) ── */
body.holdem-lobby-active .club-browse-card {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  margin-bottom: 9px;
}

body.holdem-lobby-active .club-browse-card .club-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 12px;
  border-radius: 15px;
  border: 2.5px solid #7a5220;
  background: linear-gradient(180deg, #4a3218, #33220e);
  box-shadow: 0 3px 0 #2a1a08;
}

/* 행이 3~4줄로 길어지면 세로 중앙 정렬이 어색하다 — 클럽 이름과 나란히 */
body.holdem-lobby-active .club-browse-card .club-row { align-items: flex-start; }

body.holdem-lobby-active .club-row-crest {
  flex-shrink: 0;
  margin-top: 1px;
}

body.holdem-lobby-active .club-row-side { margin-top: 1px; }
body.holdem-lobby-active .club-row-main { flex: 1; min-width: 0; display: block; }

body.holdem-lobby-active .club-row-main strong {
  display: block;
  font-size: 14px;
  font-weight: 1000;
  color: #ffeec4;
}

body.holdem-lobby-active .club-row-meta {
  display: block;
  margin-top: 1px;
  font-size: 10px;
  font-weight: 700;
  color: #a08a5e;
}

body.holdem-lobby-active .club-row-desc {
  display: block;
  margin-top: 2px;
  font-size: 10.5px;
  font-weight: 600;
  color: #c2a678;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.holdem-lobby-active .club-row-side {
  flex-shrink: 0;
  text-align: right;
}

body.holdem-lobby-active .club-row-side b { display: block; font-size: 15px; font-weight: 1000; color: #ffd766; }
body.holdem-lobby-active .club-row-side i { display: block; font-style: normal; font-size: 9px; font-weight: 700; color: #a08a5e; }

body.holdem-lobby-active .club-row-side button {
  margin-top: 5px;
  border: 2px solid #4a2f0c;
  border-radius: 9px;
  padding: 3px 10px;
  font-size: 10px;
  font-weight: 1000;
  color: #4a340c;
  background: linear-gradient(180deg, #ffe08a, #f0b52c);
  box-shadow: 0 2px 0 #4a2f0c;
  cursor: pointer;
}

body.holdem-lobby-active .club-browse-card .club-youtube-link {
  display: inline-flex !important;
  margin-top: 4px !important;
  padding: 2px 7px !important;
  font-size: 9px !important;
}

/* ═══════════════════════════════════════════════════════════════════
   클럽 목록 화면 (G안, 2026-07-31)
   로비 [클럽] → 이 목록 → MY CLUB 보드 탭 → 클럽 홈(F안)
   홈과 같은 나무 보드·치즈 웨지를 쓰되, 목록에서는 요약만 보여준다.
   색은 클럽 홈 테마 변수(--club-home-accent)를 그대로 따라간다.
   ═══════════════════════════════════════════════════════════════════ */

body.holdem-lobby-active .club-list-my {
  margin: 0 0 14px !important;
}

/* 보드 전체가 하나의 큰 탭 타깃 — 홈으로 들어가는 문이다. */
body.holdem-lobby-active .club-list-my-board {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  padding: 13px 13px 11px !important;
  border: 3px solid #43290f !important;
  border-radius: 16px !important;
  background:
    repeating-linear-gradient(94deg, rgba(70, 44, 20, .5) 0 3px, transparent 3px 11px),
    linear-gradient(180deg, #8a5a2b, #6b4210) !important;
  box-shadow: 0 5px 0 #35200a, 0 8px 16px rgba(0, 0, 0, .34) !important;
  text-align: left !important;
  cursor: pointer !important;
  overflow: hidden !important;
  -webkit-tap-highlight-color: transparent;
  transition: transform .12s ease, box-shadow .12s ease !important;
}

body.holdem-lobby-active .club-list-my-board:active {
  transform: translateY(3px) !important;
  box-shadow: 0 2px 0 #35200a, 0 4px 9px rgba(0, 0, 0, .34) !important;
}

/* 치즈 웨지 — 생김새(그라디언트·삼각 clip·구멍)는 홈 보드와 공유하는
   .club-board-wedge 규칙에 맡기고, 여기서는 크기만 목록용으로 줄인다.
   모양을 다시 정의하면 두 보드가 서로 다른 치즈가 된다. */
body.holdem-lobby-active .club-list-my .club-board-wedge {
  right: -12px !important;
  top: -10px !important;
  width: 78px !important;
  height: 62px !important;
}

body.holdem-lobby-active .club-list-my .club-board-wedge::after {
  right: 14px !important;
  bottom: 9px !important;
  width: 10px !important;
  height: 10px !important;
  box-shadow: 17px -14px 0 -2px rgba(120, 80, 15, .45) !important;
}

body.holdem-lobby-active .club-list-my-label {
  position: relative !important;
  display: inline-block !important;
  margin-bottom: 7px !important;
  padding: 2px 8px !important;
  border-radius: 999px !important;
  background: rgba(0, 0, 0, .34) !important;
  color: var(--club-home-soft, #f7cf62) !important;
  font-size: 9px !important;
  font-weight: 900 !important;
  letter-spacing: .12em !important;
}

body.holdem-lobby-active .club-list-my-top {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
}

body.holdem-lobby-active .club-list-my-top .club-tag {
  flex: 0 0 auto !important;
  padding: 6px 8px !important;
  border: 2px solid #43290f !important;
  border-radius: 10px !important;
  color: #4a2f0c !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}

body.holdem-lobby-active .club-list-my-id {
  display: block !important;
  min-width: 0 !important;
}

body.holdem-lobby-active .club-list-my-id strong {
  display: block !important;
  color: #fff3d4 !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  text-shadow: 0 2px 0 rgba(0, 0, 0, .38) !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.holdem-lobby-active .club-list-my-id i {
  display: block !important;
  margin-top: 2px !important;
  color: #e2c188 !important;
  font-size: 10.5px !important;
  font-style: normal !important;
  font-weight: 700 !important;
}

body.holdem-lobby-active .club-list-my-foot {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  margin-top: 10px !important;
  padding-top: 9px !important;
  border-top: 2px dashed rgba(255, 236, 191, .22) !important;
}

body.holdem-lobby-active .club-my-pills {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  min-width: 0 !important;
}

body.holdem-lobby-active .club-my-pill {
  padding: 3px 8px !important;
  border-radius: 999px !important;
  background: rgba(0, 0, 0, .3) !important;
  color: #f0d9a6 !important;
  font-size: 9.5px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

/* 지금 굴러가는 대회와 처리할 가입 신청은 눈에 띄어야 한다. */
body.holdem-lobby-active .club-my-pill.is-live {
  background: var(--club-home-accent, #d99a1e) !important;
  color: #3a2405 !important;
}

body.holdem-lobby-active .club-my-pill.is-new {
  background: #d9483a !important;
  color: #fff2ec !important;
}

body.holdem-lobby-active .club-list-my-go {
  flex: 0 0 auto !important;
  color: var(--club-home-soft, #f7cf62) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
}

/* ── 홈·서브뷰 상단 뒤로가기 ── */
body.holdem-lobby-active .club-back-bar {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 0 9px !important;
  padding: 6px 12px 6px 9px !important;
  border: 2px solid #6b4210 !important;
  border-radius: 999px !important;
  background: #2b1c0b !important;
  color: #f0d9a6 !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  cursor: pointer !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.holdem-lobby-active .club-back-bar:active {
  background: #3a2711 !important;
}

/* ── 목록 제목 옆 개수 ── */
body.holdem-lobby-active .club-section-title .club-count {
  margin-left: 6px !important;
  padding: 1px 7px !important;
  border-radius: 999px !important;
  background: rgba(245, 187, 69, .16) !important;
  color: #e2b45f !important;
  font-size: 10px !important;
  font-weight: 800 !important;
}

/* ── 목록 맨 아래 개설 안내 ── */
body.holdem-lobby-active .club-create-cta {
  margin-top: 14px !important;
  padding: 13px !important;
  border: 3px dashed #6b4210 !important;
  border-radius: 16px !important;
  background: rgba(107, 66, 16, .16) !important;
  text-align: center !important;
}

body.holdem-lobby-active .club-create-cta-t {
  margin-bottom: 9px !important;
  color: #d8bd88 !important;
  font-size: 11.5px !important;
  font-weight: 800 !important;
}

body.holdem-lobby-active .club-create-cta-b {
  width: 100% !important;
  padding: 11px !important;
  border: 3px solid #43290f !important;
  border-radius: 13px !important;
  background: linear-gradient(180deg, #f7cf62, #e0a52a) !important;
  box-shadow: 0 4px 0 #8a5a12 !important;
  color: #4a2f0c !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  cursor: pointer !important;
}

body.holdem-lobby-active .club-create-cta-b:active {
  transform: translateY(3px) !important;
  box-shadow: 0 1px 0 #8a5a12 !important;
}

/* 승인 대기 중인 보드 — 누를 수 없으니 눌리는 척도 하지 않는다. */
body.holdem-lobby-active .club-list-my-board.is-static {
  cursor: default !important;
  opacity: .88 !important;
}

body.holdem-lobby-active .club-list-my-board.is-static:active {
  transform: none !important;
  box-shadow: 0 5px 0 #35200a, 0 8px 16px rgba(0, 0, 0, .34) !important;
}

/* 이름 줄이 치즈 웨지 밑으로 들어가지 않게 자리를 비워둔다.
   홈 히어로의 .club-home-name 이 쓰는 것과 같은 수법이다. */
body.holdem-lobby-active .club-list-my-top {
  padding-right: 56px !important;
}

/* ── CUSTOM: 좌석 프로필 개편(2026-08-04) — 등수 이름칸 발광 ──
   skin.css 가 캐스케이드 최종 승자라(name-pill 박스섀도 경쟁) 여기서 정의한다.
   아바타 발광·명찰 스택·정렬은 style.css 끝 개편 섹션 참조. */
body.holdem-table-active #felt .seat .mobile-seat-card.seat-rank-1 .name-pill,
body.holdem-table-active .seat .mobile-seat-card.seat-rank-1 .name-pill {
  border-color: #ffd75e !important;
  box-shadow: 0 0 9px 2px rgba(255, 215, 94, 0.55) !important;
}
body.holdem-table-active #felt .seat .mobile-seat-card.seat-rank-2 .name-pill,
body.holdem-table-active .seat .mobile-seat-card.seat-rank-2 .name-pill {
  border-color: #d8dbe2 !important;
  box-shadow: 0 0 8px 2px rgba(216, 219, 226, 0.45) !important;
}
body.holdem-table-active #felt .seat .mobile-seat-card.seat-rank-3 .name-pill,
body.holdem-table-active .seat .mobile-seat-card.seat-rank-3 .name-pill {
  border-color: #dd9152 !important;
  box-shadow: 0 0 8px 2px rgba(221, 145, 82, 0.45) !important;
}
body.holdem-table-active #hero .hero-info.seat-rank-1 .hero-nameplate {
  border-color: #ffd75e !important;
  box-shadow: 0 0 9px 2px rgba(255, 215, 94, 0.55) !important;
}
body.holdem-table-active #hero .hero-info.seat-rank-2 .hero-nameplate {
  border-color: #d8dbe2 !important;
  box-shadow: 0 0 8px 2px rgba(216, 219, 226, 0.45) !important;
}
body.holdem-table-active #hero .hero-info.seat-rank-3 .hero-nameplate {
  border-color: #dd9152 !important;
  box-shadow: 0 0 8px 2px rgba(221, 145, 82, 0.45) !important;
}

/* ── CUSTOM: 좌석 프로필 개편(2026-08-04) — 아바타 좌/우 정렬 ──
   위 8550대 "#seats … margin: auto !important"(가운데 정렬)를 이겨야 하므로
   같은 #seats ID + 더 높은 특이성으로 여기서 최종 결정한다.
   왼쪽 라인: 7시/9시/11시(+히어로는 style.css) · 오른쪽 라인: 12시/1시/3시/5시. */
body.holdem-table-active #seats .seat .mobile-seat-card .avatar-wrap {
  margin-left: 8px !important;
  margin-right: auto !important;
}
body.holdem-table-active #seats .seat.seat-clock-12 .mobile-seat-card .avatar-wrap,
body.holdem-table-active #seats .seat.seat-clock-130 .mobile-seat-card .avatar-wrap,
body.holdem-table-active #seats .seat.seat-clock-3 .mobile-seat-card .avatar-wrap,
body.holdem-table-active #seats .seat.seat-clock-430 .mobile-seat-card .avatar-wrap {
  margin-left: auto !important;
  margin-right: 8px !important;
}

/* ── CUSTOM: 파이널 테이블(2026-08-04) — 스킨별 강조색 + 무드 ──
   --ft-* 변수(진입 오버레이·FINAL 뱃지·상금 사다리 색)는 항상 스킨을
   따르고, 테두리 발광 무드는 holdem-final-table-bg(유저 설정) 게이트. */
body.holdem-table-active[data-user-table-theme="purple_neon"] {
  --ft-accent: #a78bfa; --ft-accent-soft: rgba(167, 139, 250, 0.55);
  --ft-glow: rgba(124, 58, 237, 0.5); --ft-text: #e6dcff;
  --ft-panel: rgba(23, 13, 46, 0.97);
  --ft-badge-bg: linear-gradient(180deg, #2a1850, #170d2e);
}
body.holdem-table-active[data-user-table-theme="deep_green"] {
  --ft-accent: #34d399; --ft-accent-soft: rgba(52, 211, 153, 0.55);
  --ft-glow: rgba(16, 185, 129, 0.45); --ft-text: #d3f5e8;
  --ft-panel: rgba(6, 34, 25, 0.97);
  --ft-badge-bg: linear-gradient(180deg, #123f2e, #071f16);
}
body.holdem-table-active[data-user-table-theme="red_highroller"] {
  --ft-accent: #f87171; --ft-accent-soft: rgba(248, 113, 113, 0.55);
  --ft-glow: rgba(220, 38, 38, 0.45); --ft-text: #ffe1e1;
  --ft-panel: rgba(40, 8, 8, 0.97);
  --ft-badge-bg: linear-gradient(180deg, #3d0f0f, #1d0505);
}
body.holdem-table-active[data-user-table-theme="blue_casino"] {
  --ft-accent: #38bdf8; --ft-accent-soft: rgba(56, 189, 248, 0.55);
  --ft-glow: rgba(14, 116, 199, 0.5); --ft-text: #dbf1ff;
  --ft-panel: rgba(5, 25, 42, 0.97);
  --ft-badge-bg: linear-gradient(180deg, #0e3a5c, #051a2c);
}
body.holdem-table-active[data-user-table-theme="dark_matte"] {
  --ft-accent: #cbd5e1; --ft-accent-soft: rgba(203, 213, 225, 0.5);
  --ft-glow: rgba(148, 163, 184, 0.4); --ft-text: #eef2f7;
  --ft-panel: rgba(18, 20, 24, 0.97);
  --ft-badge-bg: linear-gradient(180deg, #23262c, #101216);
}
/* 파이널 무드 — 오벌 테두리 발광이 스킨 강조색을 따른다. */
body.holdem-table-active.holdem-final-table-bg #felt::after {
  border-color: var(--ft-accent-soft) !important;
  box-shadow: 0 0 38px var(--ft-glow), inset 0 0 90px rgba(0, 0, 0, 0.55) !important;
}

/* Free practice is visible outside the table skin's collapsed stats header. */
#practiceBadge { display: none; }
body.holdem-table-active #practiceBadge:not(.hidden) {
  display: block;
  position: fixed;
  top: max(32px, calc(env(safe-area-inset-top, 0px) + 12px));
  right: max(12px, calc((100vw - var(--mp-screen-w, 430px)) / 2 + 12px));
  z-index: 90;
  max-width: calc(100vw - 90px);
  padding: 7px 10px;
  border: 1px solid rgba(255, 217, 108, .45);
  border-radius: 14px;
  background: rgba(37, 27, 12, .9);
  color: #ffe7a0;
  font-size: 10px;
  line-height: 1.3;
  font-weight: 700;
  white-space: nowrap;
  pointer-events: none;
}
/* 치즈 장인 brand art and direct entry to the open lounge. */
#topbar #title .pw-brand-mascot{width:24px;height:24px;flex:none;object-fit:contain;vertical-align:middle;border-radius:50%;background:#17120b;filter:drop-shadow(0 2px 2px #0003)}
.myinfo-sheet .myinfo-lounge-shortcuts{display:grid;gap:8px;margin:14px 0}
.myinfo-sheet .myinfo-lounge-shortcuts a{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid #9d742c;border-radius:12px;background:linear-gradient(110deg,#493315,#302314);color:#ffe8a6;text-decoration:none}
.myinfo-sheet .myinfo-lounge-shortcuts a:focus-visible{outline:2px solid #ffd43b;outline-offset:3px}
.myinfo-sheet .myinfo-lounge-shortcuts a>span:nth-child(2){flex:1;min-width:0}
.myinfo-sheet .myinfo-lounge-shortcuts strong{display:block;font-family:'Jua',sans-serif;font-size:17px;font-weight:400;line-height:1.4}
.myinfo-sheet .myinfo-lounge-shortcuts small{display:block;margin-top:3px;color:#c9ae76;font-size:11px}
.myinfo-sheet .myinfo-shortcut-icon{display:grid;place-items:center;width:36px;height:36px;flex:none;border-radius:10px;background:#ffd45c;color:#49300e;font-size:25px;line-height:1}
.myinfo-sheet .myinfo-shortcut-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:360px){#topbar #title .pw-brand-mascot{width:20px;height:20px}}

/* ── 다음 게임 카드 (로비 히어로 자리, index.html #lobbyNextGame) ──────────── */
#modeSwitch { padding: 5px !important; }
.next-game { display: flex; align-items: center; gap: 10px; width: 100%; min-width: 0; padding: 8px 9px 8px 8px; border-radius: 12px; border: 1.5px solid #9a6a26; background: linear-gradient(180deg, #3d2a10, #261909); box-shadow: 0 4px 12px rgba(0, 0, 0, .45), inset 0 1px 0 rgba(255, 230, 128, .12); color: #f3e6c2; text-align: left; cursor: pointer; box-sizing: border-box; }
/* 마스코트는 잘리지 않게 contain — 모자·부츠까지 온전히 */
.next-game-mascot { flex: 0 0 50px; width: 50px; height: 50px; object-fit: contain; border-radius: 11px; padding: 2px; box-sizing: border-box; background: radial-gradient(circle at 50% 35%, #ffe680, #f2b53a 75%); box-shadow: 0 2px 0 #9a6a26; }
.next-game-copy { flex: 1 1 auto; min-width: 0; line-height: 1.28; }
.next-game-kicker { display: flex; align-items: center; gap: 5px; font-size: 10.5px; font-weight: 800; letter-spacing: .02em; color: #d8c69a; white-space: nowrap; overflow: hidden; }
.next-game-tag { flex: none; padding: 1px 6px; border-radius: 999px; background: #f5c96b; color: #241703; font-size: 9.5px; font-weight: 900; }
.next-game-title { font-family: 'Jua', sans-serif; font-size: 15px; color: #ffe680; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.next-game-meta { font-size: 11px; color: #c6b697; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.next-game-cta { flex: 0 0 auto; border: 0; border-radius: 999px; padding: 9px 14px; background: linear-gradient(180deg, #ffd76a, #f5b52e); color: #241703; font-weight: 900; font-size: 13px; box-shadow: 0 2px 0 #9a6a26; cursor: pointer; }
.next-game-cta:active { transform: translateY(1px); box-shadow: 0 1px 0 #9a6a26; }
.next-game[data-kind="empty"] .next-game-cta { background: linear-gradient(180deg, #5b4420, #3d2a10); color: #ffe680; border: 1px solid #9a6a26; }
/* 기능 화면(친목게임·쪽지·공지 등)은 전체 화면 — 히어로·기능 버튼을 접어 내용 영역을 넓힌다 (app.js openLobbyFeature) */
body.lobby-feature-open #modeSwitch { display: none !important; }
#lobby.is-feature-open > .lobby-feature-bar, #lobby.is-feature-open > #communityMenuBar { display: none !important; }
/* ── 빈 상태: 팔레트에 맞춘 마스코트 + 친목게임 안내 버튼 (app.js renderEmptyState) ── */
.empty-illust .ei-headline { color: #f3e6c2; font-size: 15px; }
.empty-illust .ei-sub { color: #b8a87f; font-size: 12.5px; line-height: 1.6; }
.empty-illust .ei-sub b { color: #ffe680; font-weight: 800; }
.empty-illust .ei-art:has(.ei-mascot) { width: auto; height: auto; background: none; }
.empty-illust .ei-mascot { display: block; width: 84px; height: 84px; object-fit: contain; padding: 4px; box-sizing: border-box; border-radius: 22px; background: radial-gradient(circle at 50% 35%, #ffe680, #f2b53a 75%); box-shadow: 0 0 0 4px rgba(245, 201, 107, .2), 0 0 40px rgba(245, 201, 107, .2); }
.empty-illust .ei-actions { display: flex; flex-direction: column; gap: 8px; width: min(100%, 280px); margin-top: 6px; }
.empty-illust .ei-btn { border: 1.5px solid #9a6a26; border-radius: 12px; padding: 11px; background: transparent; color: #ffe680; font-weight: 800; font-size: 13.5px; cursor: pointer; }
.empty-illust .ei-btn.is-primary { border: 0; padding: 13px; background: linear-gradient(180deg, #ffd76a, #f5b52e); color: #241703; font-weight: 900; font-size: 14px; box-shadow: 0 3px 0 #9a6a26; }
.empty-illust .ei-btn:active { transform: translateY(1px); }

/* 높이가 낮은 PC 창에서도 로비는 기본 480px 단일 열을 유지한다.
   게임 테이블의 가로 모드 전체 폭은 변경하지 않는다. */
@media (min-width: 1100px) and (orientation: landscape) and (max-height: 540px) {
  body.holdem-lobby-active #app { max-width: 480px; }
}

/* ── CUSTOM: 상대 좌석 홀카드·액션 뱃지를 아바타 정사각형 위 가운데로 (2026-09-27) ──
   좌석 카드(78px)는 아바타(44px)가 8px 인셋으로 왼쪽(7·9·11시) 또는 오른쪽
   (12·1·3·5시)에 붙어 있어, 카드 중앙(50%) 기준이던 홀카드·뱃지가 아바타 중심에서
   9px 바깥으로 벗어나 있었다. 아바타 중심 = (8+22)/78 = 38.5% / 61.5%. 퍼센트라
   스테이지 스케일과 무관하다. 12시·1시·3시·5시는 style.css 25218 의 오른쪽
   정렬 그룹과 같은 집합. 히어로는 카드 레인이 따로 있어 대상 아님. */
body.holdem-table-active #seats .seat .mobile-seat-card .holes,
body.holdem-table-active #seats .seat .mobile-seat-card .action-badge,
body.holdem-table-active #seats .seat .mobile-seat-card .player-state-badge {
  left: 38.5% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
}
body.holdem-table-active #seats .seat.seat-clock-12 .mobile-seat-card .holes,
body.holdem-table-active #seats .seat.seat-clock-130 .mobile-seat-card .holes,
body.holdem-table-active #seats .seat.seat-clock-3 .mobile-seat-card .holes,
body.holdem-table-active #seats .seat.seat-clock-430 .mobile-seat-card .holes,
body.holdem-table-active #seats .seat.seat-clock-12 .mobile-seat-card .action-badge,
body.holdem-table-active #seats .seat.seat-clock-130 .mobile-seat-card .action-badge,
body.holdem-table-active #seats .seat.seat-clock-3 .mobile-seat-card .action-badge,
body.holdem-table-active #seats .seat.seat-clock-430 .mobile-seat-card .action-badge,
body.holdem-table-active #seats .seat.seat-clock-12 .mobile-seat-card .player-state-badge,
body.holdem-table-active #seats .seat.seat-clock-130 .mobile-seat-card .player-state-badge,
body.holdem-table-active #seats .seat.seat-clock-3 .mobile-seat-card .player-state-badge,
body.holdem-table-active #seats .seat.seat-clock-430 .mobile-seat-card .player-state-badge {
  left: 61.5% !important;
}
/* ALL-IN 스탬프는 아바타 위에 비스듬히 얹는 별도 지오메트리(style.css 25080대)라
   가운데 정렬 대상에서 제외 — translate(-50%,-50%) rotate 를 되살린다. */
body.holdem-table-active #seats .seat .mobile-seat-card .action-result-allin {
  left: 38.5% !important;
  transform: translate(-50%, -50%) rotate(-8deg) !important;
}
body.holdem-table-active #seats .seat.seat-clock-12 .mobile-seat-card .action-result-allin,
body.holdem-table-active #seats .seat.seat-clock-130 .mobile-seat-card .action-result-allin,
body.holdem-table-active #seats .seat.seat-clock-3 .mobile-seat-card .action-result-allin,
body.holdem-table-active #seats .seat.seat-clock-430 .mobile-seat-card .action-result-allin {
  left: 61.5% !important;
}

/* ── CUSTOM: 베팅 중 중앙 블라인드 문구는 레벨 타이머만 남김 (2026-09-27) ──
   좌석 베팅칩이 펠트에 있는 동안(body.holdem-bets-live, app.js renderBetChipLayer)
   과 벳/레이즈 사이징 시트가 열린 동안(holdem-sizing-open)은 보드 아래 두 줄 중
   "블라인드 25/50 · 다음" 줄과 "· 추가 등록" 꼬리를 감추고 "블라인드 업 9:22"
   만 가운데에 남긴다 — 9시/3시·7시/5시 칩 레인(x 27/73%)이 긴 문구 줄과 겹치던
   문제. 첫 줄은 visibility 로 자리를 유지해 타이머가 위로 튀지 않는다. 칩이
   팟으로 걷히거나 시트를 닫으면 원래대로. */
body.holdem-table-active #blindInfoPanel .blind-info-line:first-child {
  transition: opacity 0.28s ease 0.12s, visibility 0s linear 0s;
}
body.holdem-table-active.holdem-bets-live #blindInfoPanel .blind-info-line:first-child,
body.holdem-table-active.holdem-sizing-open #blindInfoPanel .blind-info-line:first-child {
  opacity: 0 !important;
  visibility: hidden !important;
  transition: opacity 0.16s ease, visibility 0s linear 0.16s;
}
body.holdem-table-active.holdem-bets-live #blindInfoPanel .blind-info-line:last-child .blind-info-separator,
body.holdem-table-active.holdem-bets-live #blindInfoPanel .blind-info-line:last-child .blind-info-separator ~ *,
body.holdem-table-active.holdem-sizing-open #blindInfoPanel .blind-info-line:last-child .blind-info-separator,
body.holdem-table-active.holdem-sizing-open #blindInfoPanel .blind-info-line:last-child .blind-info-separator ~ * {
  display: none !important;
}

/* ── CUSTOM: 카드 뒷면은 치즈 그림만 (2026-09-27) ──
   위 5306(스킨별)·5359(기본) 블록이 ::before 에 안쪽 둥근 프레임 + "CHEEZEE" 글자를,
   ::after 에 🧀 를 그린다. 22×30 홀카드에서 프레임·글자는 동그라미와 잔글씨로만
   보여 유저 요청으로 뺀다 — 배경(스킨 색·패턴)과 🧀 만 남기고, 글자 자리를 잃은
   만큼 🧀 를 한 단계 키운다. 덱 설정 미리보기(.deck-preview-card)도 같은 모양. */
.card.back::before, .card.hidden-card::before,
body[data-card-back-skin] .card.back::before,
body[data-card-back-skin] .card.hidden-card::before,
body.holdem-table-active .card.back::before,
body.holdem-table-active .card.hidden-card::before,
body.holdem-table-active[data-card-back-skin] .card.hidden-card:not(.deck-preview-card)::before,
body.holdem-table-active[data-card-back-skin] .card.back:not(.deck-preview-card)::before,
body.holdem-table-active #cardDeckSettingsModal .deck-preview-card[data-preview-back]::before,
#cardDeckSettingsModal .deck-preview-card[data-preview-back]::before,
.deck-preview-card[data-preview-back]::before {
  content: "" !important;
  border: 0 !important;
  padding: 0 !important;
  color: transparent !important;
  font-size: 0 !important;
  inset: 3px !important;
  background-image: none !important; /* 사선 패턴도 뺀다 — 🧀 위로 줄이 지나감 */
}
.card.back::after, .card.hidden-card::after,
body[data-card-back-skin] .card.hidden-card:not(.deck-preview-card)::after,
body[data-card-back-skin] .card.back:not(.deck-preview-card)::after,
body.holdem-table-active[data-card-back-skin] .card.hidden-card:not(.deck-preview-card)::after,
body.holdem-table-active[data-card-back-skin] .card.back:not(.deck-preview-card)::after,
body[data-card-back-skin]:not([data-card-back-skin="back_123game_black_gold"]) .card.back::after,
body[data-card-back-skin]:not([data-card-back-skin="back_123game_black_gold"]) .card.hidden-card::after {
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  font-size: 19px !important;
}
.card.large.back::after, .card.large.hidden-card::after,
body[data-card-back-skin] .card.large.hidden-card:not(.deck-preview-card)::after,
body[data-card-back-skin] .card.large.back:not(.deck-preview-card)::after,
body.holdem-table-active[data-card-back-skin] .card.large.hidden-card:not(.deck-preview-card)::after,
body.holdem-table-active[data-card-back-skin] .card.large.back:not(.deck-preview-card)::after {
  font-size: 27px !important;
}
/* 123game 골드 마크 스킨은 🧀 대신 마크 이미지라 크기 규칙에서 제외 */
body[data-card-back-skin="back_123game_black_gold"] .card.back::after,
body[data-card-back-skin="back_123game_black_gold"] .card.hidden-card::after {
  font-size: 0 !important;
}

/* ── CUSTOM: 클럽 배너 사진 + 홈 매장 명찰 (2026-09-27 클럽장 기능 1) ──
   배너는 보드/카드의 나무판 배경을 사진(--club-banner)으로 바꾸고 글자가 있는
   왼쪽을 어둡게 깐다. 치즈 웨지·테마 심볼 장식은 사진과 겹치면 지저분해 숨긴다.
   배너 바꾸기 버튼은 보드가 아니라 클럽 설정에만 있다(유저 결정). */
body.holdem-lobby-active .club-board.has-banner,
body.holdem-lobby-active .club-list-my-board.has-banner {
  background:
    linear-gradient(90deg, rgba(22, 13, 4, .94) 0%, rgba(22, 13, 4, .82) 48%, rgba(22, 13, 4, .35) 100%),
    var(--club-banner) center 40% / cover no-repeat !important;
}
body.holdem-lobby-active .club-board.has-banner .club-board-wedge,
body.holdem-lobby-active .club-board.has-banner .club-home-theme-art,
body.holdem-lobby-active .club-list-my-board.has-banner .club-board-wedge {
  display: none !important;
}
body.holdem-lobby-active .club-browse-card.has-banner .club-row {
  background:
    linear-gradient(90deg, rgba(30, 20, 8, .96) 0%, rgba(30, 20, 8, .9) 55%, rgba(30, 20, 8, .55) 100%),
    var(--club-banner) center 40% / cover no-repeat;
}

/* 홈 매장 명찰 — 좌석 명찰과 같은 매장 색, 이름 옆 알약 */
.club-store-chip {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  margin-left: 6px;
  padding: 2px 7px;
  border-radius: 6px;
  border: 1px solid rgba(255, 255, 255, .22);
  background: #3b2412;
  color: #ffd43b;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.2;
  vertical-align: middle;
  white-space: nowrap;
}
body.holdem-lobby-active .club-board .club-home-name { flex-wrap: wrap; }
body.holdem-lobby-active .club-board .club-home-name .club-store-chip { flex-shrink: 0; }
body.holdem-lobby-active .club-list-my-id strong .club-store-chip { margin-left: 5px; font-size: 9.5px; padding: 1px 6px; }
body.holdem-lobby-active .club-row-meta .club-store-chip { margin: 0 5px 0 0; padding: 1px 5px; font-size: 9px; vertical-align: 0; }
.club-settings-card-title .club-store-chip-current { margin-left: auto; }

/* 클럽 목록 매장 필터 */
.club-browse-filter {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 9px;
  color: #d8c69a;
  font-size: 11px;
  font-weight: 800;
}
.club-browse-filter select {
  flex: 1;
  min-width: 0;
  padding: 8px 10px;
  border-radius: 9px;
  border: 1px solid rgba(181, 154, 94, .45);
  background: #1c150a;
  color: #f3e6c2;
  font-size: 12px;
}

/* 설정 카드 — 카카오·YouTube 섹션과 같은 판형 */
.club-settings-card {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 7px 8px;
  margin: 4px 0;
  padding: 12px;
  border: 1px solid rgba(240, 201, 92, .42);
  border-radius: 12px;
  background:
    radial-gradient(circle at 100% 0, rgba(255, 212, 59, .08), transparent 35%),
    rgba(26, 18, 7, .7);
}
.club-settings-card-title {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 3px;
  color: #f5cf65;
  font-size: 14px;
}
.club-settings-ic { font-size: 16px; line-height: 1; }
.club-settings-help {
  grid-column: 1 / -1;
  color: #938565;
  font-size: 9.5px;
  line-height: 1.5;
}
.club-settings-help b { color: #d8c69a; font-weight: 800; }
.club-banner-current {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 10px;
}
.club-banner-thumb {
  flex: 0 0 132px;
  height: 44px;
  border-radius: 8px;
  border: 1px solid rgba(255, 224, 133, .4);
  background:
    repeating-linear-gradient(94deg, rgba(70, 44, 20, .5) 0 3px, transparent 3px 11px),
    linear-gradient(180deg, #8a5a2b, #6b4210);
}
.club-banner-thumb.has-banner {
  background:
    linear-gradient(90deg, rgba(22, 13, 4, .9), rgba(22, 13, 4, .3)),
    var(--club-banner) center 40% / cover no-repeat;
}
.club-banner-current-text { font-size: 11px; color: #d8c69a; line-height: 1.4; }
.club-banner-current-text b { color: #ffe27a; }
.club-settings-card select {
  grid-column: 1 / -1;
  width: 100%;
  min-width: 0;
  padding: 9px 10px;
  border-radius: 9px;
  border: 1px solid rgba(218, 176, 76, .5);
  background: #151006;
  color: #f4e6c1;
  font-size: 12px;
}

/* ── CUSTOM: 클럽장 기능 2단계 (2026-09-27) — 방송 쪽지 · 초대 코드·QR · 멤버 관리 ── */
.club-broadcast-quota { margin-left: auto; padding: 2px 8px; border-radius: 999px; background: rgba(24, 16, 6, .55); border: 1px solid rgba(255, 224, 133, .35); color: #ffe7a0; font-size: 10.5px; font-weight: 800; white-space: nowrap; }
.club-settings-card textarea {
  grid-column: 1 / -1; width: 100%; min-height: 74px; padding: 9px 10px; border-radius: 9px; box-sizing: border-box;
  border: 1px solid rgba(218, 176, 76, .5); background: #151006; color: #f4e6c1; font-size: 13px; line-height: 1.5; resize: vertical; font-family: inherit;
}
.club-settings-card textarea:disabled { opacity: .5; }
.club-broadcast-attach { grid-column: 1 / -1; display: flex; align-items: center; gap: 8px; color: #d8c69a; font-size: 11px; font-weight: 800; }
.club-broadcast-attach select { flex: 1; min-width: 0; padding: 8px 10px; border-radius: 9px; border: 1px solid rgba(218, 176, 76, .5); background: #151006; color: #f4e6c1; font-size: 12px; }
.club-check { grid-column: 1 / -1; display: flex; align-items: center; gap: 8px; color: #f3e6c2; font-size: 12px; cursor: pointer; }
.club-check input { position: absolute; opacity: 0; pointer-events: none; }
.club-check i { flex: 0 0 auto; width: 18px; height: 18px; border-radius: 5px; border: 1px solid rgba(255, 212, 59, .6); background: transparent; position: relative; }
.club-check input:checked + i { background: #f5bb45; }
.club-check input:checked + i::after { content: ""; position: absolute; left: 5px; top: 2px; width: 5px; height: 9px; border: solid #241703; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.club-broadcast-foot { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; color: #d8c69a; font-size: 11.5px; }
.club-broadcast-foot b { color: #ffd43b; }
.club-inline-btns { display: inline-flex; gap: 6px; align-items: center; }
.club-inline-btns .myinfo-primary { width: auto; margin: 0; padding: 8px 14px; font-size: 12px; }
.club-inline-btns .club-kakao-check, .club-inline-btns .club-kakao-delete { justify-self: auto; }

/* 초대 코드 */
.club-invite-current { grid-column: 1 / -1; display: flex; align-items: flex-start; gap: 12px; }
.club-invite-qr { flex: 0 0 96px; width: 96px; height: 96px; border-radius: 8px; background: #fff; padding: 4px; box-sizing: border-box; }
.club-invite-info { flex: 1; min-width: 0; }
.club-invite-code { font-family: ui-monospace, Menlo, monospace; font-size: 22px; letter-spacing: 3px; color: #ffd43b; font-weight: 900; line-height: 1.2; }
.club-invite-url { margin: 4px 0; color: #d8c69a; font-size: 11px; overflow-wrap: anywhere; }
.club-invite-meta { color: #a08c5c; font-size: 11px; line-height: 1.5; }
.club-invite-meta b { color: #ffe27a; }
.club-invite-meta b.is-warn { color: #fca5a5; }
.club-invite-btns { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 6px; }
.club-invite-btns .myinfo-primary { width: auto; margin: 0; padding: 8px 12px; font-size: 12px; }
.club-invite-btns .club-kakao-check, .club-invite-btns .club-kakao-delete { justify-self: auto; }
.club-invite-btns .club-kakao-delete { margin-left: auto; }

/* 차단 목록 */
.club-ban-list { grid-column: 1 / -1; display: flex; flex-direction: column; gap: 6px; }
.club-ban-row { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border-radius: 10px; background: rgba(24, 16, 6, .5); border: 1px solid rgba(255, 224, 133, .22); }
.club-ban-main { flex: 1; min-width: 0; display: flex; flex-direction: column; font-size: 12px; color: #f3e6c2; }
.club-ban-main small { color: #a08c5c; font-size: 10.5px; margin-top: 2px; }
.club-ban-row .club-kakao-check { justify-self: auto; min-height: 30px; padding: 4px 9px; }

/* 멤버 목록 */
.club-member-filters { display: flex; gap: 6px; margin: 0 0 10px; flex-wrap: wrap; }
.club-member-filter { padding: 5px 10px; border-radius: 999px; border: 1px solid rgba(255, 224, 133, .3); background: transparent; color: #d8c69a; font-size: 10.5px; font-weight: 800; }
.club-member-filter.is-on { background: #f5bb45; color: #241703; border-color: #f0c95c; }
.club-member-list { display: flex; flex-direction: column; gap: 6px; }
.club-member-row { padding: 9px 10px; border-radius: 10px; background: rgba(24, 16, 6, .5); border: 1px solid rgba(255, 224, 133, .22); }
.club-member-row.is-idle { opacity: .8; }
.club-member-head { display: flex; align-items: flex-start; gap: 8px; }
.club-member-main { flex: 1; min-width: 0; }
.club-member-name { color: #f3e6c2; font-size: 12.5px; font-weight: 800; display: flex; align-items: center; flex-wrap: wrap; gap: 4px; }
.club-member-tag { padding: 1px 6px; border-radius: 5px; background: #3d3d49; color: #ffd76a; border: 1px solid rgba(255, 215, 106, .5); font-size: 9.5px; font-weight: 800; }
.club-member-tag.is-leader { background: #5d4218; color: #ffe29a; border-color: #b58025; }
.club-member-meta { margin-top: 2px; color: #a08c5c; font-size: 10.5px; }
.club-member-meta.is-warn { color: #fca5a5; }
.club-member-note { margin-top: 3px; color: #d8c69a; font-size: 10.5px; }
.club-member-btns { display: flex; flex-wrap: wrap; gap: 4px; justify-content: flex-end; max-width: 46%; }
.club-member-btns button { padding: 5px 8px; border-radius: 8px; border: 1px solid rgba(255, 212, 59, .5); background: rgba(56, 39, 11, .8); color: #ffe27a; font-size: 10.5px; font-weight: 800; }
.club-member-btns button.is-danger { color: #fca5a5; border-color: rgba(248, 113, 113, .5); }
.club-member-editor { margin-top: 8px; padding-top: 8px; border-top: 1px dashed rgba(255, 224, 133, .25); }
.club-member-editor[hidden] { display: none; }
.club-member-editor-body { display: flex; flex-direction: column; gap: 8px; }
.club-member-editor-body label { display: flex; flex-direction: column; gap: 4px; color: #d8c69a; font-size: 11px; font-weight: 800; }
.club-member-editor-body input, .club-member-editor-body textarea { width: 100%; box-sizing: border-box; padding: 9px 10px; border-radius: 9px; border: 1px solid rgba(218, 176, 76, .5); background: #151006; color: #f4e6c1; font-size: 13px; font-family: inherit; }
.club-member-editor-body strong { color: #fca5a5; font-size: 12.5px; }
.club-member-editor-body .club-inline-btns { justify-content: flex-end; }
.club-member-editor-body .club-check { font-size: 11.5px; }
.club-member-editor-body .club-kakao-delete { justify-self: auto; }

/* ── CUSTOM: 클럽장 기능 3단계 (2026-09-28) — 매장 체크인 · 클럽 일정 · 운영진 ── */
.club-member-tag.is-officer { background: #1f3a4a; color: #9fe1ff; border-color: rgba(159, 225, 255, .5); }
/* 홈 카드: 히어로 본문 맨 위(체크인 → 일정 → 지표) */
body.holdem-lobby-active .club-home-hero-main > .club-settings-card { margin: 0 0 10px; }
.club-checkin-row { grid-column: 1 / -1; display: flex; gap: 8px; align-items: stretch; }
.club-checkin-row input {
  flex: 1; min-width: 0; padding: 10px 12px; border-radius: 10px; box-sizing: border-box;
  border: 1px solid rgba(218, 176, 76, .55); background: #151006; color: #ffd43b;
  font-family: ui-monospace, Menlo, monospace; font-size: 20px; font-weight: 900; letter-spacing: 6px; text-align: center; text-transform: uppercase;
}
.club-checkin-row input::placeholder { letter-spacing: 0; font-size: 13px; font-weight: 700; color: #7a6a48; }
.club-checkin-row .myinfo-primary { width: auto; margin: 0; padding: 0 18px; font-size: 13px; }
.club-checkin-done { grid-column: 1 / -1; padding: 10px 12px; border-radius: 10px; background: rgba(74, 222, 128, .12); border: 1px solid rgba(74, 222, 128, .35); color: #bbf7d0; font-size: 12.5px; font-weight: 800; }
.club-kv { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.club-kv span { display: flex; flex-direction: column; align-items: center; padding: 8px 4px; border-radius: 10px; background: rgba(24, 16, 6, .5); border: 1px solid rgba(255, 224, 133, .22); }
.club-kv b { font-family: 'Jua', sans-serif; font-weight: 400; font-size: 19px; color: #ffd43b; line-height: 1.1; }
.club-kv i { font-style: normal; font-size: 10.5px; color: #a08c5c; margin-top: 2px; }
.club-checkin-staff { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; padding-top: 8px; border-top: 1px dashed rgba(255, 224, 133, .25); color: #d8c69a; font-size: 11.5px; }
.club-checkin-staff b { color: #ffd43b; }
.club-checkin-staff .myinfo-primary { width: auto; margin: 0; padding: 7px 12px; font-size: 12px; }
.club-checkin-staff .club-kakao-check { justify-self: auto; min-height: 30px; padding: 4px 10px; }
.club-checkin-code { font-family: ui-monospace, Menlo, monospace; letter-spacing: 2px; font-size: 14px; }
.club-checkin-attendees { grid-column: 1 / -1; color: #d8c69a; font-size: 11.5px; }
.club-checkin-attendees[hidden] { display: none; }
.club-checkin-names { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 8px; }
.club-checkin-names span { padding: 3px 8px; border-radius: 999px; background: rgba(24, 16, 6, .5); border: 1px solid rgba(255, 224, 133, .22); color: #f3e6c2; font-size: 11px; font-weight: 800; }
.club-checkin-names small { color: #a08c5c; font-weight: 600; }
.club-log-title { grid-column: 1 / -1; color: #ffe27a; font-size: 11px; font-weight: 900; margin-top: 4px; }
/* 다가오는 일정 */
.club-schedule-list { grid-column: 1 / -1; display: flex; flex-direction: column; gap: 6px; }
.club-cal-row { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 12px; background: rgba(24, 16, 6, .5); border: 1px solid rgba(255, 224, 133, .22); }
.club-cal-date { flex: 0 0 46px; display: flex; flex-direction: column; align-items: center; padding: 4px 0; border-radius: 10px; background: #f5bb45; color: #241703; line-height: 1; }
.club-cal-date small { font-size: 9.5px; font-weight: 800; }
.club-cal-date b { font-family: 'Jua', sans-serif; font-weight: 400; font-size: 20px; margin: 1px 0; }
.club-cal-date.is-tourney { background: #3d3d49; color: #ffd76a; }
.club-cal-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; cursor: pointer; }
.club-cal-main strong { color: #f3e6c2; font-size: 12.5px; font-weight: 800; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.club-cal-main span { color: #a08c5c; font-size: 10.5px; }
.club-cal-main em { font-style: normal; color: #d8c69a; font-size: 10.5px; }
.club-cal-side { display: flex; align-items: center; gap: 4px; flex: 0 0 auto; }
.club-cal-side .myinfo-primary { width: auto; margin: 0; padding: 7px 10px; font-size: 11.5px; white-space: nowrap; }
.club-cal-side .club-kakao-check { justify-self: auto; min-height: 30px; padding: 4px 10px; font-size: 11.5px; white-space: nowrap; }
.club-cal-x { width: 28px; height: 28px; border-radius: 8px; border: 1px solid rgba(248, 113, 113, .45); background: transparent; color: #fca5a5; font-size: 12px; font-weight: 900; }
.club-cal-attendees { margin-top: -2px; padding: 0 10px 4px 66px; color: #d8c69a; font-size: 11px; line-height: 1.5; }
.club-cal-attendees[hidden] { display: none; }
.club-event-create { grid-column: 1 / -1; display: flex; flex-direction: column; gap: 8px; padding-top: 8px; border-top: 1px dashed rgba(255, 224, 133, .25); }
.club-event-create .club-event-field { display: flex; flex-direction: column; align-items: stretch; gap: 4px; color: #d8c69a; font-size: 11px; font-weight: 800; text-align: left; }
.club-event-create .club-event-field span { text-align: left; }
.club-event-create .club-event-field input { width: 100%; box-sizing: border-box; padding: 9px 10px; border-radius: 9px; border: 1px solid rgba(218, 176, 76, .5); background: #151006; color: #f4e6c1; font-size: 13px; font-family: inherit; color-scheme: dark; }
.club-event-create .club-inline-btns { justify-content: flex-end; }
/* 운영진 · 운영 기록 */
.club-officer-pick { grid-column: 1 / -1; display: flex; gap: 8px; align-items: stretch; }
.club-officer-pick select { flex: 1; min-width: 0; padding: 8px 10px; border-radius: 9px; border: 1px solid rgba(218, 176, 76, .5); background: #151006; color: #f4e6c1; font-size: 12px; }
.club-officer-pick .myinfo-primary { width: auto; margin: 0; padding: 0 12px; font-size: 12px; white-space: nowrap; }
.club-log-list { grid-column: 1 / -1; display: flex; flex-direction: column; gap: 4px; }
.club-log-row { display: flex; gap: 8px; align-items: flex-start; font-size: 11px; color: #d8c69a; padding: 5px 8px; border-radius: 8px; background: rgba(24, 16, 6, .4); }
.club-log-when { flex: 0 0 52px; color: #a08c5c; font-size: 10px; padding-top: 1px; }
.club-log-main { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.club-log-main b { color: #ffe27a; }
.club-log-main small { color: #a08c5c; font-size: 10px; }

/* ── CUSTOM: 클럽장 기능 4단계 (2026-09-28) — 정기 클럽전 ── */
body.holdem-lobby-active .club-series-strip { position: relative; z-index: 1; margin-top: 10px; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 7px 10px; border-radius: 10px; background: rgba(24, 16, 6, .6); border: 1px solid rgba(255, 224, 133, .38); color: #f3e6c2; font-size: 11.5px; font-weight: 800; }
body.holdem-lobby-active .club-series-strip > span { min-width: 0; }
body.holdem-lobby-active .club-series-strip b { color: #ffd43b; }
body.holdem-lobby-active .club-series-strip small { color: #d8c69a; font-weight: 600; }
body.holdem-lobby-active .club-series-strip.is-paused { border-color: rgba(248, 113, 113, .45); color: #fca5a5; }
body.holdem-lobby-active .club-series-strip.is-pending { border-style: dashed; }
body.holdem-lobby-active .club-series-go { flex: 0 0 auto; padding: 6px 12px; border-radius: 9px; border: 1px solid #f0c95c; background: #f5bb45; color: #241703; font-size: 11.5px; font-weight: 900; }
.club-series-main { grid-column: 1 / -1; color: #f3e6c2; font-size: 13px; font-weight: 800; }
.club-series-main b { color: #ffe680; }
.club-series-meta { grid-column: 1 / -1; color: #d8c69a; font-size: 11.5px; line-height: 1.6; }
.club-series-meta b { color: #ffd43b; }
.club-series-meta b.is-warn, .club-settings-help.is-warn, .club-settings-help b.is-warn { color: #fca5a5; }
.club-series-link { padding: 2px 8px; border-radius: 7px; border: 1px solid rgba(255, 212, 59, .5); background: rgba(56, 39, 11, .8); color: #ffe27a; font-size: 10.5px; font-weight: 800; vertical-align: middle; }
.club-series-form { grid-column: 1 / -1; display: flex; flex-direction: column; gap: 8px; }
.club-series-when { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.club-series-form .club-event-field, .club-series-when .club-event-field { display: flex; flex-direction: column; gap: 4px; color: #d8c69a; font-size: 11px; font-weight: 800; text-align: left; }
.club-series-form select, .club-series-form input, .club-series-when select { width: 100%; box-sizing: border-box; padding: 9px 10px; border-radius: 9px; border: 1px solid rgba(218, 176, 76, .5); background: #151006; color: #f4e6c1; font-size: 13px; font-family: inherit; }
.club-series-form .club-inline-btns { justify-content: flex-end; }

/* 로그인 후 첫 로비에도 플랫폼 성격과 매장 재화 분리를 작게 안내한다. */
.lobby-platform-note { margin: 7px 10px 5px; padding: 7px 9px; border: 1px solid rgba(245,201,107,.27); border-radius: 8px; background: rgba(245,201,107,.055); color: #b8a87f; font-size: 10.5px; line-height: 1.45; text-align: center; }
.lobby-platform-note strong { color: #ffe680; }
