/* 🃏 Дурак (05.10.2026): меню, стол, карты. Карты и стол — из chin game,
   цвета — палитра приложения (серые панели, золото, синие кнопки). */

/* ── меню ── */
.dk-card { padding: 14px; margin-bottom: 10px; border-radius: 18px; background: var(--panel); border: 1px solid var(--panel-border); }
.dk-hero { padding: 18px 16px; border-radius: 20px; margin: 4px 0 12px; color: #fff; position: relative; overflow: hidden;
    background: linear-gradient(155deg, #3a3122 0%, var(--panel-strong) 55%, var(--panel) 100%);
    border: 1px solid rgba(232,185,35,.35); box-shadow: 0 10px 24px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.06); }
.dk-hero h2 { margin: 0 0 4px; font-size: 1.15rem; font-weight: 900; }
.dk-hero p { margin: 0; font-size: .84rem; opacity: .85; line-height: 1.4; max-width: 64%; }
.dk-hero-fan { position: absolute; right: 8px; top: 50%; width: 120px; height: 100px; transform: translateY(-50%); pointer-events: none; }
.dk-hero-fan .rdcard { position: absolute; width: 50px; height: 72px; left: 34px; top: 12px; transform-origin: 50% 110%; }
.dk-sec { margin: 16px 0 8px; font-weight: 900; font-size: .78rem; letter-spacing: .08em; color: var(--accent-gold); text-transform: uppercase; }
.dk-note { font-size: .8rem; color: rgba(255,255,255,.6); line-height: 1.45; margin: 0; }
.dk-row { display: flex; align-items: center; gap: 10px; padding: 9px 0; }
.dk-row + .dk-row { border-top: 1px solid rgba(255,255,255,.06); }
.dk-who { flex: 1; min-width: 0; }
.dk-who b { display: block; color: #fff; font-size: .9rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dk-who span { font-size: .74rem; color: rgba(255,255,255,.55); }
.dk-ava { flex: none; width: 38px; height: 38px; border-radius: 12px; background: var(--panel-strong); display: flex; align-items: center;
    justify-content: center; font-weight: 900; color: #fff; }
.dk-ava.ai { background: linear-gradient(135deg, #2f80ed, #1c5bb3); }
.dk-tag { flex: none; font-size: .72rem; padding: 3px 8px; border-radius: 10px; background: rgba(255,255,255,.08); color: rgba(255,255,255,.7); }
.dk-tag.ok { background: rgba(47,191,113,.2); color: #7be495; }
.dk-tag.gold { background: rgba(232,185,35,.18); color: var(--accent-gold); }
.dk-btn { width: 100%; border: none; border-radius: 14px; padding: 13px; font-weight: 900; font-size: .95rem; color: #fff;
    background: linear-gradient(#4a93f0, var(--accent-blue)); box-shadow: 0 3px 0 #1c5bb3, 0 6px 16px rgba(47,128,237,.3);
    position: relative; overflow: hidden; }
.dk-btn:not(.ghost)::before { content: ""; position: absolute; inset: 0; pointer-events: none;
    background: linear-gradient(110deg, transparent 35%, rgba(255,255,255,.28) 50%, transparent 65%);
    background-size: 250% 100%; animation: twPartyShine 3.5s ease-in-out infinite; }
.dk-btn:active { transform: translateY(3px); box-shadow: none; }
.dk-btn:disabled { opacity: .45; }
.dk-btn:disabled::before { animation: none; }
.dk-btn.ghost { background: rgba(255,255,255,.07); box-shadow: none; font-weight: 700; margin-top: 8px; }
.dk-btn.gold { background: linear-gradient(#f1c94a, #c9971a); color: #1a1400; box-shadow: 0 3px 0 #8a6a10, 0 6px 16px rgba(232,185,35,.25); }
.dk-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0 10px; }
.dk-chip { border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.06); color: #fff; border-radius: 12px; padding: 8px 12px;
    font-weight: 800; font-size: .84rem; }
.dk-chip.on { background: rgba(232,185,35,.18); border-color: var(--accent-gold); color: var(--accent-gold); }
.dk-chip:disabled { opacity: .35; }
.dk-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.dk-mode { border: 1px solid rgba(255,255,255,.1); background: var(--panel-strong); border-radius: 16px; padding: 14px 12px; text-align: left; color: #fff; }
.dk-mode b { display: block; font-size: .95rem; margin-bottom: 3px; }
.dk-mode span { font-size: .74rem; color: rgba(255,255,255,.6); line-height: 1.35; }
.dk-mode.on { border-color: var(--accent-gold); box-shadow: 0 0 0 1px var(--accent-gold) inset; }
.dk-stats { display: flex; gap: 8px; }
.dk-stat { flex: 1; text-align: center; padding: 10px 6px; border-radius: 14px; background: var(--panel-strong); }
.dk-stat b { display: block; font-size: 1.15rem; color: #fff; }
.dk-stat span { font-size: .7rem; color: rgba(255,255,255,.55); }
.dk-shop { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.dk-item { padding: 12px; border-radius: 16px; background: var(--panel-strong); border: 1px solid rgba(255,255,255,.08); text-align: center; }
.dk-item.on { border-color: var(--accent-gold); }
.dk-item-pic { height: 84px; display: flex; align-items: center; justify-content: center; gap: 4px; margin-bottom: 8px; }
.dk-item-pic .rdcard { width: 46px; height: 66px; }
.dk-item-pic img.st { width: 40px; height: 40px; }
.dk-item b { display: block; color: #fff; font-size: .86rem; margin-bottom: 6px; }
.dk-item .dk-btn { padding: 9px; font-size: .8rem; }
.dk-toast { position: fixed; left: 50%; top: calc(14px + env(safe-area-inset-top)); transform: translateX(-50%); z-index: 99990;
    padding: 10px 16px; border-radius: 14px; background: rgba(20,20,24,.96); color: #fff; font-weight: 700;
    border: 1px solid var(--panel-border); max-width: 88vw; text-align: center; }

/* ── стол (05.10.2026 v2, образец владельца — «Дурак Онлайн»): сукно на весь
   экран, квадратные аватары с веером рубашек, значки правил сверху, светлая
   панель снизу. Цвет сукна — тема стола из лавки (data-tbl). ── */
body.dk-playing { overflow: hidden; }
body.dk-playing .mdk-wrap, body.dk-playing .container { display: none !important; }
#durak-board { position: fixed; inset: 0; display: none; flex-direction: column; z-index: 50; color: #fff;
    -webkit-user-select: none; user-select: none; overflow: hidden;
    --felt-a: #4d7fb8; --felt-b: #3a68a0; --felt-c: #2b5287; --ink: rgba(255,255,255,.08);
    background:
        repeating-linear-gradient(45deg, var(--ink) 0 1px, transparent 1px 4px),
        repeating-linear-gradient(-45deg, rgba(0,0,0,.05) 0 1px, transparent 1px 4px),
        radial-gradient(ellipse 110% 80% at 50% 40%, var(--felt-a) 0%, var(--felt-b) 55%, var(--felt-c) 100%); }
#durak-board[data-tbl="green"] { --felt-a: #3f9a5c; --felt-b: #2a7a45; --felt-c: #185a30; }
#durak-board[data-tbl="red"] { --felt-a: #9c2b3a; --felt-b: #7a1c2b; --felt-c: #52101c; --ink: rgba(255,200,200,.06); }
#durak-board[data-tbl="night"] { --felt-a: #2a2550; --felt-b: #1b1838; --felt-c: #0e0c20; --ink: rgba(160,140,255,.07); }
#durak-board[data-tbl="night"]::before { content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 0;
    background: radial-gradient(circle at 20% 15%, rgba(255,77,190,.18), transparent 35%), radial-gradient(circle at 85% 70%, rgba(47,200,255,.16), transparent 40%); }
#durak-board[data-tbl="wood"] { --ink: rgba(0,0,0,0);
    background: repeating-linear-gradient(92deg, rgba(0,0,0,.08) 0 2px, transparent 2px 9px),
        repeating-linear-gradient(90deg, #8a5a32 0 38px, #7d5029 38px 80px, #93613a 80px 120px), #7d5029; }
body.dk-playing #durak-board { display: flex; }
#durak-board > * { position: relative; z-index: 1; }

/* верх: сдаться · правила и козырь · банк, звук, стикеры */
.dg-topbar { display: flex; align-items: center; justify-content: space-between; gap: 6px;
    padding: calc(max(8px, var(--tg-safe-top, 0px)) + 4px) 10px 0; }
.dg-icon-btn { width: 36px; height: 36px; border-radius: 10px; background: rgba(0,0,0,.25); border: 1px solid rgba(255,255,255,.25);
    display: flex; align-items: center; justify-content: center; font-size: 17px; cursor: pointer; flex: none; }
.dg-icon-btn:active { transform: scale(.94); }
.dg-side { display: flex; gap: 6px; align-items: center; }
.dg-info { display: flex; align-items: center; gap: 6px; padding: 4px 8px; border-radius: 12px; background: rgba(0,0,0,.18); min-width: 0; }
.dg-trump-badge { width: 26px; height: 26px; display: flex; align-items: center; justify-content: center; background: #fff;
    border-radius: 7px; box-shadow: 0 2px 5px rgba(0,0,0,.3); flex: none; }
.dg-trump-badge span { font-size: 17px; line-height: 1; }
.dg-bank { color: #ffe08a; font-weight: 900; font-size: .84rem; white-space: nowrap; text-shadow: 0 1px 2px rgba(0,0,0,.4); }
.red { color: #c62828; } .black { color: #1a1a1a; }
.dk-rules { display: inline-flex; gap: 4px; align-items: center; }
.dk-rules i { font-style: normal; min-width: 24px; height: 24px; padding: 0 4px; border-radius: 6px; display: inline-flex; align-items: center; justify-content: center;
    font-size: 13px; font-weight: 900; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.3); color: #fff; }
.dk-rules .dk-deckico { font-size: 11px; }

.dg-arena { flex: 1; min-height: 0; }
.dg-felt-logo { position: absolute; left: 50%; top: 52%; transform: translate(-50%,-50%); font-size: 70px; font-weight: 900;
    color: rgba(255,255,255,.05); letter-spacing: .12em; pointer-events: none; white-space: nowrap; }

/* соперники: квадратные аватары, под ними веер рубашек */
.dg-opponents { position: absolute !important; left: 0; right: 0; top: 4px; height: 128px; z-index: 5 !important; pointer-events: none; }
.dg-opp { position: absolute; width: 86px; text-align: center; transform: translateX(-50%); pointer-events: auto; }
.dg-ava { position: relative; width: 62px; height: 62px; margin: 0 auto; border-radius: 12px; padding: 3px; z-index: 2;
    background: conic-gradient(var(--ring, rgba(255,255,255,.85)) var(--turn-deg, 360deg), rgba(0,0,0,.25) 0); box-shadow: 0 4px 10px rgba(0,0,0,.35); }
.dg-ava-in { width: 100%; height: 100%; border-radius: 9px; display: flex; align-items: center; justify-content: center; position: relative;
    font-weight: 900; font-size: 24px; color: #fff; overflow: hidden; }
.dg-ava-in img { width: 100%; height: 100%; object-fit: cover; }
.dg-ava.active { --ring: #4be36b; box-shadow: 0 0 16px rgba(75,227,107,.6); }
.dg-ava.active.low { --ring: #ff4d4d; box-shadow: 0 0 16px rgba(255,77,77,.6); }
.dg-name { position: absolute; left: 3px; right: 3px; bottom: 3px; z-index: 3; padding: 1px 2px; border-radius: 0 0 9px 9px; font-size: 10px; font-weight: 900;
    background: rgba(0,0,0,.55); color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dg-role { position: absolute; right: -6px; top: -6px; width: 22px; height: 22px; border-radius: 50%; display: none; z-index: 4;
    align-items: center; justify-content: center; font-size: 11px; border: 2px solid #fff; }
.dg-opp.is-attacker .dg-role, .dg-me.is-attacker .dg-role { display: flex; background: #e03131; }
.dg-opp.is-defender .dg-role, .dg-me.is-defender .dg-role { display: flex; background: #2f80ed; }
.dg-cnt { position: absolute; left: -6px; top: -6px; min-width: 22px; height: 22px; padding: 0 5px; border-radius: 11px; font-size: 11px; font-weight: 900; z-index: 4;
    display: flex; align-items: center; justify-content: center; background: #fff; color: #1a1a1a; box-shadow: 0 1px 4px rgba(0,0,0,.4); }
.dg-opp-fan { position: relative; height: 40px; margin-top: -22px; pointer-events: none; z-index: 1; }
.dg-opp-fan .rdback { position: absolute; top: 0; left: 50%; width: 28px; height: 40px; transform-origin: 50% 0; border-width: 1.5px; }
.dg-bubble::after { content: ""; position: absolute; left: 50%; bottom: -5px; margin-left: -5px; border: 5px solid transparent; border-top-color: #fff; border-bottom: 0; }
@keyframes dgBub { 0% { opacity: 0; transform: translate(-50%,-80%); } 12%, 75% { opacity: 1; transform: translate(-50%,-100%); } 100% { opacity: 0; } }

/* сукно: колода с козырем у левого края, бито у правого */
.dg-center { position: absolute; left: 0; right: 0; top: 136px; bottom: 6px; display: grid; grid-template-columns: 70px 1fr 46px;
    align-items: center; gap: 2px; }
.dg-deck-col { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; margin-left: -16px; }
.dg-discard-col { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; margin-right: -14px; }
.dg-deck-wrap { position: relative; width: 86px; height: 84px; }
.dg-trump-card { position: absolute; left: 28px; top: 50%; transform: translateY(-50%) rotate(90deg); z-index: 0; }
.dg-trump-card .rdcard { width: 54px; height: 78px; }
.dg-deck { position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 54px; height: 78px; z-index: 2; }
.dg-deck .rdback { width: 54px; height: 78px; box-shadow: 1px 1px 0 rgba(0,0,0,.25), 2px 2px 0 rgba(0,0,0,.2), 0 6px 12px rgba(0,0,0,.35); }
.dg-deck-count { margin-left: 22px; font-size: 18px; font-weight: 900; color: #fff; text-shadow: 0 1px 3px rgba(0,0,0,.5); }
.dg-discard { position: relative; width: 46px; height: 66px; }
.dg-discard.empty::after { content: ''; position: absolute; inset: 0; border: 2px dashed rgba(255,255,255,.25); border-radius: 7px; }
.dg-discard .rdback { width: 44px; height: 62px; }
.dg-col-label { font-size: 10px; color: rgba(255,255,255,.7); letter-spacing: .5px; font-weight: 900; text-transform: uppercase; }

.dg-table { --slot-overlap: 0px; display: flex; flex-wrap: wrap; justify-content: center; align-content: center; gap: 14px 6px;
    min-height: 130px; padding: 6px; border-radius: 18px; }
.dg-slot { position: relative; width: 68px; height: 98px; margin-left: var(--slot-overlap); }
.dg-slot:first-child { margin-left: 0; }
.dg-slot .rdcard { position: absolute; width: 68px; height: 98px; }
.dg-slot .dg-attack { top: 0; left: 0; z-index: 1; transform: rotate(-3deg); }
.dg-slot .dg-beat { top: 18px; left: 14px; transform: rotate(8deg); z-index: 2; }
.dg-attack.unbeaten.beatable { box-shadow: 0 0 0 3px #4be36b, 0 4px 10px rgba(0,0,0,.5); cursor: pointer; }

.dg-turn { position: absolute !important; left: 50%; top: 128px; transform: translateX(-50%); display: flex; align-items: center; gap: 8px;
    padding: 4px 6px 4px 13px; border-radius: 999px; background: rgba(0,0,0,.28); border: 1px solid rgba(255,255,255,.2);
    font-size: .8rem; font-weight: 900; color: #fff; white-space: nowrap; z-index: 3 !important; }
.dg-turn.hidden { display: none; }
.dg-turn.my-turn { background: rgba(75,227,107,.25); border-color: rgba(75,227,107,.8); }
.dg-turn.low { background: rgba(255,77,77,.25); border-color: rgba(255,90,90,.8); }
.dg-turn-timer { position: relative; width: 24px; height: 24px; flex: none; display: flex; align-items: center; justify-content: center;
    font-size: .7rem; font-weight: 900; color: #fff; border-radius: 50%;
    background: conic-gradient(var(--turn-col, #4be36b) var(--turn-deg, 360deg), rgba(255,255,255,.18) 0); }
.dg-turn-timer::after { content: ''; position: absolute; inset: 3px; border-radius: 50%; background: rgba(0,0,0,.55); }
.dg-turn-timer > span { position: relative; z-index: 1; }
.dg-turn.low .dg-turn-timer { --turn-col: #ff5a5a; }
.dg-hints-row { position: absolute !important; right: 8px; top: 92px; z-index: 6 !important; }

/* рука — крупные карты внахлёст по всей ширине */
.dg-hand-zone { padding: 0 4px; margin-bottom: -18px; z-index: 3 !important; }
.dg-hand { display: flex; justify-content: center; align-items: flex-end; min-height: 128px; padding-top: 22px; touch-action: none; }
.dg-hand-card { width: 80px; height: 114px; margin-left: -18px; transform-origin: bottom center; transition: transform .12s ease, margin .12s ease;
    cursor: pointer; touch-action: none; border-radius: 8px; }
.dg-hand-card:first-child { margin-left: 0; }
.dg-hand-card.selected { transform: translateY(-24px) !important; z-index: 99 !important; box-shadow: 0 0 0 3px #4be36b, 0 10px 20px rgba(0,0,0,.5); }
.dg-hand-card.dimmed { filter: brightness(.6) saturate(.6); }
.dg-hand-card.playable.hinted { box-shadow: 0 0 0 2px rgba(75,227,107,.9), 0 4px 10px rgba(0,0,0,.4); }
.dg-hand-card.transfer-card { filter: drop-shadow(0 0 7px rgba(255,224,138,.95)); }
.dg-hand-card.cheat-card { filter: drop-shadow(0 0 7px rgba(255,255,255,.7)); }
#dg-table .dg-attack.drop-target { outline: 3px solid #4be36b; outline-offset: 3px; filter: brightness(1.12); }
#dg-table.drop-target-zone { background: rgba(255,255,255,.08); outline: 2px dashed rgba(255,255,255,.55); outline-offset: -4px; }
#dg-table .dg-beat.dg-cheat-suspect { cursor: pointer; }

/* светлая панель снизу: мой аватар, статус, кнопки */
.dg-mebar { display: flex; align-items: center; gap: 10px; padding: 24px 12px max(12px, env(safe-area-inset-bottom)); min-height: 72px;
    background: linear-gradient(#fbfaf7, #ecebe6); color: #1a1a1a; border-radius: 18px 18px 0 0; box-shadow: 0 -6px 18px rgba(0,0,0,.25); z-index: 2 !important; }
.dg-me { position: relative; flex: none; }
.dg-me .dg-ava { width: 52px; height: 52px; box-shadow: 0 2px 6px rgba(0,0,0,.2); }
.dg-me .dg-ava:not(.active) { --ring: #d6d3cb; }
.dg-me-txt { flex: 1; min-width: 0; }
.dg-me-txt b { display: block; font-size: .9rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: #1a1a1a; }
.dg-phase { font-size: .74rem; color: #6b675f; font-weight: 800; }
.dg-actions { display: flex; align-items: center; gap: 8px; flex: none; }
.dg-action-btn { border: none; min-width: 92px; padding: 12px 16px; border-radius: 12px; font-weight: 900; font-size: 1rem; cursor: pointer; color: #fff;
    position: relative; overflow: hidden; }
.dg-action-btn::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(255,255,255,.28), transparent 55%); pointer-events: none; }
.dg-action-btn:active { transform: translateY(2px); box-shadow: none !important; }
.dg-action-take { background: linear-gradient(#ff9a3c, #e0670f); box-shadow: 0 3px 0 #9a4507; }
.dg-action-bito { background: linear-gradient(#4a93f0, #2f80ed); box-shadow: 0 3px 0 #1c5bb3; }
.dg-action-transfer { background: linear-gradient(#f1c94a, #c9971a); color: #1a1400; box-shadow: 0 3px 0 #8a6a10; }
.dg-action-cheat { background: linear-gradient(#555, #222); box-shadow: 0 3px 0 #111; min-width: 0; }
.dg-action-hints { min-width: 0; padding: 6px 10px; font-size: .72rem; border-radius: 10px; background: rgba(0,0,0,.3); color: #ffe08a;
    border: 1px solid rgba(255,224,138,.5); }
.dg-action-active { outline: 2px solid #1a1a1a; outline-offset: 2px; }
.dg-action-hint { font-size: .78rem; color: #6b675f; font-style: italic; }

@keyframes dgDeal { from { opacity: 0; transform: translateY(-26px) scale(.82); } to { opacity: 1; } }
@keyframes dgPlay { from { opacity: 0; transform: translateY(-20px) scale(.85) rotate(-12deg); } }
@keyframes dgBeat { from { opacity: 0; transform: translate(16px,-22px) scale(.85) rotate(20deg); } }
.dg-attack.dg-anim { animation: dgPlay .26s ease-out; }
.dg-beat.dg-anim { animation: dgBeat .26s ease-out; }
.dg-hand-card.dg-anim { animation: dgDeal .3s ease-out backwards; }
@keyframes dgTakeFlash { 40% { background: rgba(255,140,60,.2); } }
.dg-table.take-flash { animation: dgTakeFlash .5s ease; }

.dg-emoji-picker { position: fixed !important; left: 50%; bottom: 190px; transform: translateX(-50%) scale(.85); display: none;
    grid-template-columns: repeat(5, 1fr); gap: 8px; padding: 12px; width: min(90vw, 330px); max-height: 46vh; overflow-y: auto; background: rgba(250,249,245,.98);
    border-radius: 18px; box-shadow: 0 14px 40px rgba(0,0,0,.45); z-index: 200 !important; opacity: 0; transition: opacity .15s ease, transform .15s ease; }
.dg-emoji-picker.show { display: grid; opacity: 1; transform: translateX(-50%) scale(1); }
.dg-emoji-item { aspect-ratio: 1; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,.04); border-radius: 12px; position: relative; }
.dg-emoji-item:active { background: rgba(75,227,107,.2); transform: scale(.9); }
.dg-emoji-item img { width: 84%; height: 84%; object-fit: contain; }
.dg-emoji-item.locked img { filter: grayscale(1) opacity(.45); }
.dg-emoji-item.locked::after { content: '🔒'; position: absolute; right: 2px; bottom: 0; font-size: 12px; }
.dg-flying-reaction { position: fixed; z-index: 9999; pointer-events: none; transform: translate(-50%,-50%) scale(.4); opacity: 0;
    transition: left .5s cubic-bezier(.2,.8,.2,1), top .5s cubic-bezier(.2,.8,.2,1), transform .5s cubic-bezier(.2,.8,.2,1), opacity .25s ease; }
.dg-flying-reaction.arrived { transform: translate(-50%,-50%) scale(1.35); opacity: 1; }
.dg-flying-reaction.leaving { opacity: 0; transform: translate(-50%,-160%) scale(.85); }
.dg-flying-reaction img { width: 88px; height: 88px; filter: drop-shadow(0 6px 12px rgba(0,0,0,.45)); }

.dg-gameover { position: absolute !important; inset: 0; display: none; flex-direction: column; align-items: center; justify-content: center; gap: 12px;
    background: rgba(10,16,28,.88); z-index: 1000 !important; text-align: center; padding: 24px; overflow: hidden; }
.dg-gameover.show { display: flex; animation: dgGo .4s cubic-bezier(.175,.885,.32,1.275); }
@keyframes dgGo { from { opacity: 0; transform: scale(.85); } }
.dg-gameover h1 { font-size: 1.8rem; margin: 0; font-weight: 900; color: #fff; }
.dg-gameover .sub { font-size: 1.05rem; color: var(--accent-gold); font-weight: 800; }
.dg-gameover .lines { font-size: .86rem; color: rgba(255,255,255,.75); line-height: 1.6; }
.dg-gameover .dk-btn { max-width: 280px; }
.dg-confetti { position: absolute; top: -10%; width: 8px; height: 14px; opacity: .9; animation: dgConfetti linear forwards; border-radius: 2px; pointer-events: none; }
@keyframes dgConfetti { to { transform: translateY(120vh) rotate(540deg); opacity: 0; } }

/* ── меню: вкладки, комнаты, лавка ── */
.dk-tabs { display: flex; gap: 6px; margin: 2px 0 12px; padding: 4px; border-radius: 14px; background: var(--panel); border: 1px solid var(--panel-border); }
.dk-tab { flex: 1; border: none; border-radius: 10px; padding: 10px 4px; font-weight: 900; font-size: .84rem; color: rgba(255,255,255,.7); background: transparent; }
.dk-tab.on { background: var(--panel-strong); color: #fff; box-shadow: inset 0 0 0 1px rgba(232,185,35,.45); }
.dk-tab em { font-style: normal; font-size: .7rem; padding: 1px 6px; border-radius: 8px; background: var(--accent-gold); color: #1a1400; margin-left: 2px; }
.dk-rooms { border-radius: 18px; overflow: hidden; }
.dk-filter { padding: 10px; border-radius: 16px 16px 0 0; background: linear-gradient(#2f4a6e, #243a58); }
.dk-filter-h { font-weight: 900; font-size: .8rem; color: #fff; margin-bottom: 6px; font-style: italic; }
.dk-frow { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 5px; }
.dk-fchip { border: 1px solid rgba(255,255,255,.25); background: rgba(255,255,255,.08); color: #fff; border-radius: 8px; padding: 5px 9px; font-size: .78rem; font-weight: 800; }
.dk-fchip.on { background: #fff; color: #243a58; }
.dk-rlist { background: #1e3150; border-radius: 0 0 16px 16px; }
.dk-room { width: 100%; display: flex; align-items: center; gap: 6px; padding: 11px 10px; border: none; background: transparent; color: #fff; text-align: left;
    border-top: 1px solid rgba(255,255,255,.08); }
.dk-room:active { background: rgba(255,255,255,.06); }
.dk-room.inv { background: rgba(232,185,35,.1); }
.dk-room-n { flex: 1; min-width: 0; font-weight: 800; font-size: .84rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dk-room-s { flex: none; font-weight: 900; font-size: .84rem; color: #ffe08a; }
.dk-room-p { flex: none; font-size: .78rem; color: rgba(255,255,255,.7); }
.dk-room .dk-rules i { min-width: 20px; height: 20px; font-size: 11px; }
.dk-room-go { flex: none; width: 22px; height: 22px; border-radius: 50%; background: rgba(255,255,255,.12); display: flex; align-items: center; justify-content: center; font-weight: 900; }
.dk-tblprev { height: 84px; border-radius: 12px; margin-bottom: 8px; display: flex; align-items: center; justify-content: center; gap: 4px;
    --felt-a: #4d7fb8; --felt-b: #3a68a0; --felt-c: #2b5287;
    background: radial-gradient(ellipse at 50% 40%, var(--felt-a), var(--felt-c)); }
.dk-tblprev[data-tbl="green"] { --felt-a: #3f9a5c; --felt-c: #185a30; }
.dk-tblprev[data-tbl="red"] { --felt-a: #9c2b3a; --felt-c: #52101c; }
.dk-tblprev[data-tbl="night"] { --felt-a: #2a2550; --felt-c: #0e0c20; }
.dk-tblprev[data-tbl="wood"] { background: repeating-linear-gradient(90deg, #8a5a32 0 20px, #7d5029 20px 42px, #93613a 42px 60px); }
.dk-tblprev .rdcard { width: 40px; height: 58px; }
.dk-pack { grid-column: 1 / -1; margin-bottom: 8px; }
.dk-pack-h { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 6px; }
.dk-pack-h span { font-size: .74rem; color: rgba(255,255,255,.55); }
.dk-pack-g { display: grid; grid-template-columns: repeat(6, 1fr); gap: 4px; margin-bottom: 8px; }
.dk-pack-g img { width: 100%; aspect-ratio: 1; object-fit: contain; }

/* ── карты (из durak-card.css chin) ── */
.rdcard { position: relative; width: 62px; height: 88px; border-radius: 6px; background: #f4e9d8; border: 1px solid #2a1d10;
    box-shadow: 0 2px 6px rgba(0,0,0,.35); overflow: hidden; container-type: size; isolation: isolate; }
.rdcard.red { color: #c62828; } .rdcard.black { color: #1a1a1a; }
.rdcard.skin-gold { background: #0a0a0a; border-color: #c9a227; box-shadow: 0 2px 6px rgba(0,0,0,.35), 0 0 0 1px rgba(201,162,39,.4); }
.rdcard.skin-gold.black { color: #c9a227; }
.rdcard-base { position: absolute; inset: 0; width: 100%; height: 100%; }
.rdcard-corner { position: absolute; display: flex; flex-direction: column; align-items: center; line-height: 1; font-weight: 800; color: inherit; z-index: 2; }
.rdcard-corner.tl { top: 3px; left: 4px; }
.rdcard-corner.br { bottom: 3px; right: 4px; transform: rotate(180deg); }
.rdcard-rank { font-size: 14px; font-weight: 900; }
.rdcard-suit-sm { font-size: 13px; line-height: 1; margin-top: -1px; }
.rdcard-center { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 82%; height: 72%; display: flex; align-items: center; justify-content: center; }
.rdcard-bignum { font-weight: 900; font-size: 38cqh; letter-spacing: -.05em; line-height: 1; color: inherit; white-space: nowrap; }
.rdcard-court { width: 124%; height: 124%; object-fit: contain; filter: drop-shadow(1px 2px 3px rgba(0,0,0,.4)); }
.rdcard-jack { width: 142%; height: 142%; }
.rdcard-ace { width: 108%; height: 108%; object-fit: contain; filter: drop-shadow(1px 2px 3px rgba(0,0,0,.4)); }
.rdback { width: 52px; height: 74px; border-radius: 6px; border: 2px solid #fff; box-shadow: 0 2px 5px rgba(0,0,0,.35);
    background: repeating-linear-gradient(45deg, rgba(255,255,255,.35) 0 2px, transparent 2px 7px),
        repeating-linear-gradient(-45deg, rgba(255,255,255,.35) 0 2px, transparent 2px 7px), #3f8f6a; }
.dk-coin { width: 1.05em; height: 1.05em; vertical-align: -.18em; }
.dk-fgrp { display: inline-flex; align-items: center; gap: 4px; margin-right: 8px; flex-wrap: wrap; }
.dk-flab { font-size: .68rem; font-weight: 900; color: rgba(255,255,255,.6); text-transform: uppercase; letter-spacing: .04em; margin-right: 2px; }
.dk-king { display: flex; gap: 12px; align-items: flex-start; margin-top: 10px; border-color: rgba(232,185,35,.35); }
.dk-king-ic { font-size: 28px; line-height: 1; }
.dk-king b { display: block; color: #fff; font-size: .9rem; }
.dk-king span { display: block; font-size: .8rem; color: var(--accent-gold); font-weight: 800; margin-top: 2px; }
.dk-king .dk-note { color: rgba(255,255,255,.55); font-weight: 600; margin-top: 6px; }
