/* Tabletop polish v2. Only board-game rooms, never the other party games. */
.bg-tabletop-page{background:#090810!important;background-image:radial-gradient(ellipse at 50% 0%,#20132c 0,transparent 65%)!important;min-width:0}
.bg-tabletop-page .party-room-shell{overflow:visible;min-height:100svh}
.bg-tabletop-page .party-room-app{width:min(1640px,100%);max-width:1640px;padding:12px 18px 98px;overflow:visible}
.bg-tabletop-page .party-room-panel,.bg-tabletop-page .party-room-game{overflow:visible;min-width:0}
.bg-tabletop-page .party-room-topbar{min-height:60px;border:0!important;background:linear-gradient(180deg,rgba(12,9,20,.97),rgba(12,9,20,.85));box-shadow:0 8px 28px #0004;grid-template-columns:44px minmax(0,1fr) auto;padding:8px 20px;gap:16px}
.bg-tabletop-page .party-room-topbar__back{width:40px;height:40px;display:grid;place-items:center;padding:0;line-height:1;align-self:center;text-decoration:none;border:0;background:#ffffff09;box-shadow:none;border-radius:12px}
.bg-tabletop-page .party-room-topbar__back:hover{background:#bc88e423;color:#ffe4b5}
.bg-tabletop-page .party-room-topbar__back svg{display:block;flex:none}
.party-room-topbar__side{display:flex;align-items:center;gap:12px}
.bg-tabletop-page .party-room-topbar__title strong{font-size:16px}
.bg-tabletop-page .party-room-topbar__title button{font-size:10px;letter-spacing:.12em}
.bg-tabletop-page .party-connection{border:0;background:transparent;padding:5px;min-width:0}
.bg-tabletop-page .party-room-tabs{width:min(620px,calc(100% - 24px));left:50%;right:auto;top:auto;bottom:calc(10px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);min-height:58px;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:auto;padding:6px;gap:6px;border:0!important;border-radius:20px;background:linear-gradient(180deg,rgba(19,14,28,.94),rgba(8,7,14,.98));box-shadow:0 0 0 1px #e9c6ff12,0 12px 40px #000b,0 -8px 35px #0003;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);z-index:80}
.bg-tabletop-page .party-room-tabs button{min-height:44px;padding:5px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;line-height:1;color:#aa9fb7;border-radius:14px}
.bg-tabletop-page .party-room-tabs button>span{height:19px;width:22px;display:grid;place-items:center;line-height:1;font-size:18px}
.bg-tabletop-page .party-room-tabs button>span svg{display:block;width:19px;height:19px}
.bg-tabletop-page .party-room-tabs button b{font-size:10px;line-height:1.1}
.bg-tabletop-page .party-room-tabs button.is-active{background:linear-gradient(150deg,#7c4d903d,#3a263e66);color:#ffdd9f;box-shadow:inset 0 1px #ffe8b31c}
.bg-tabletop-page .party-room-tabs em{top:1px;right:calc(50% - 27px);min-width:16px;height:16px;font-size:9px;background:#9a589c}
.bg-tabletop-page .bg-room{padding:12px 16px;border:0;background:linear-gradient(150deg,rgba(32,19,48,.79),rgba(11,8,20,.92));box-shadow:0 18px 50px #0004;gap:10px;border-radius:22px;isolation:auto}
.bg-tabletop-page .bg-bar{padding:8px 14px;min-height:44px;border:0;box-shadow:none;background:linear-gradient(90deg,#58326a3b,#26172f26);border-radius:13px}
.bg-tabletop-page .bg-bar__title{font-size:22px}
.bg-no-timer{white-space:nowrap;color:#b9a9ce;font-size:11px;padding:5px 9px;background:#ffffff06;border-radius:20px}
.bg-tabletop-page .bg-walk__grid{grid-template-columns:minmax(0,1fr) 270px;gap:18px}
.bg-tabletop-page .bg-walk__side{position:sticky;top:80px;gap:12px;order:0}
.bg-tabletop-page .bg-walk__side .bg-controls{order:0}
.bg-tabletop-page .bg-map-column{border:0;box-shadow:none;isolation:auto}
.bg-tabletop-page .bg-map-top{border:0;padding:9px 12px;background:#191021;min-height:51px}
.bg-tabletop-page .bg-map-top strong{font-size:22px}
.bg-tabletop-page .bg-map-top small{font-size:11px;color:#baa9cd}
.bg-tabletop-page .bg-map-expand{min-height:36px;border:0;background:#ffffff0a;color:#efd5fa;padding:8px 11px}
.bg-tabletop-page .bg-board-wrap{height:clamp(440px,calc(100svh - 215px),840px);min-height:0;border:0;border-radius:15px;background:#080612;overflow:auto;box-shadow:none;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#94725d #100c19}
.bg-tabletop-page .bg-board--illustrated{width:100%;height:100%;min-width:0;max-width:none;display:block}
.bg-tabletop-page .bg-board--illustrated .bg-path{stroke:#0b0616;stroke-width:13px;opacity:.72;filter:none}
.bg-tabletop-page .bg-board--illustrated .bg-path__glow{stroke:url(#bgGoldTrack);stroke-width:3.5px;stroke-dasharray:4 6;opacity:.92;animation:none}
.bg-tabletop-page .bg-board--illustrated .bg-portal{stroke-width:2.5px;opacity:.8;filter:none}
.bg-tabletop-page .bg-board--illustrated .bg-cell .bg-cell__halo{fill:#130b25dd;stroke:#ffe4a8;stroke-width:2.5px;filter:drop-shadow(0 0 6px #000)}
.bg-tabletop-page .bg-board--illustrated .bg-cell .bg-cell__disc{fill:#251539;stroke:var(--cc);stroke-width:3px;filter:none}
.bg-tabletop-page .bg-board--illustrated .bg-cell.is-plain .bg-cell__disc{fill:#15101ddd;stroke:#d9ba86}
.bg-tabletop-page .bg-cell{cursor:help;outline:none}
.bg-tabletop-page .bg-cell:focus-visible .bg-cell__halo,.bg-tabletop-page .bg-cell:hover .bg-cell__halo{stroke:#fff;stroke-width:5px;filter:drop-shadow(0 0 10px #e0c5ff)}
.bg-tabletop-page .bg-cell__no{fill:#fff5d9;font-size:18px;font-weight:800}
.bg-tabletop-page .bg-cell__index{fill:#fff8e9;font:800 16px system-ui,sans-serif;stroke:#130c20;stroke-width:6px;paint-order:stroke}
.bg-tabletop-page .bg-cell__ico{font-size:22px}
.bg-tabletop-page .bg-token circle{stroke:#fff4d7;stroke-width:3px}
.bg-tabletop-page .bg-token text{font-size:16px}
.bg-tabletop-page .bg-map-hint{border:0;background:#150d20;font-size:11px;color:#a99ab8;padding:8px 9px}
.bg-tabletop-page .bg-map-column.is-expanded{inset:8px;position:fixed;z-index:9999;background:#0c0815;box-shadow:0 0 0 150vmax #000d}
.bg-tabletop-page .bg-map-column.is-expanded .bg-board-wrap{height:auto;flex:1;min-height:0}
.bg-tabletop-page .bg-map-column.is-expanded .bg-board{width:100%;height:100%;min-width:0}
.bg-tabletop-page .bg-walkers{display:grid;grid-template-columns:1fr;gap:8px}
.bg-tabletop-page .bg-walkers li{padding:10px;border:0;background:linear-gradient(130deg,#4224548c,#191023);grid-template-columns:30px minmax(0,1fr) auto auto;gap:6px}
.bg-tabletop-page .bg-walkers li.is-turn{box-shadow:inset 3px 0 #e9ba77,0 0 20px #b383e01a}
.bg-tabletop-page .bg-walkers b{font-size:14px}
.bg-tabletop-page .bg-controls{padding:11px;border:0;background:#2618329c;border-radius:16px;gap:9px}
.bg-tabletop-page .bg-roll{order:-2;min-height:58px;font-size:16px;padding:10px}
.bg-tabletop-page .bg-fate{font-size:13px;min-height:42px;padding:9px 7px}
.bg-tabletop-page .bg-log{font-size:12px;line-height:1.5}
.bg-tabletop-page .bg-choice-panel .bg-btn{font-size:13px}
/* Durak: a wide, low illustrated table with hand and controls always above the dock. */
.bg-tabletop-page .bg-durak{gap:7px}
.bg-tabletop-page .bg-durak .bg-opps{gap:12px;min-height:0;flex-wrap:nowrap;overflow:auto;justify-content:safe center}
.bg-tabletop-page .bg-durak .bg-opp{display:grid;grid-template-columns:34px auto;grid-template-rows:auto auto auto;justify-items:start;text-align:left;gap:1px 8px;min-width:130px;max-width:220px;padding:7px 12px;border:0;box-shadow:none;background:linear-gradient(140deg,#46255080,#170f2580);border-radius:14px}
.bg-tabletop-page .bg-durak .bg-opp .bg-ava{grid-column:1;grid-row:1/4;width:30px;height:30px;align-self:center;font-size:13px}
.bg-tabletop-page .bg-durak .bg-opp b{grid-column:2;font-size:13px}
.bg-tabletop-page .bg-durak .bg-opp__fan{display:none}
.bg-tabletop-page .bg-durak .bg-opp small{grid-column:2;font-size:11px}
.bg-tabletop-page .bg-durak .bg-opp em{grid-column:2;font-size:10px;padding:0 6px}
.bg-tabletop-page .bg-durak .bg-opp.is-active{box-shadow:inset 0 0 0 1px #efc47e,0 0 18px #b678ff24}
.bg-tabletop-page .bg-durak .bg-felt{height:clamp(180px,27svh,300px);min-height:0;grid-template-columns:138px minmax(0,1fr) 80px;grid-template-rows:auto;padding:14px 20px;border:2px solid #ac7c46;border-radius:23px;background:linear-gradient(0deg,#170b2659,#170b2629),url('/boardgames/assets/table-v2.webp') center 48%/cover no-repeat;box-shadow:inset 0 0 0 5px #130a22a0,inset 0 0 40px #10071ecc,0 12px 30px #0005}
.bg-tabletop-page .bg-durak .bg-felt:before{inset:8px;border:1px solid #e8bd7330;border-radius:16px;background:none}
.bg-tabletop-page .bg-durak .bg-felt:after{display:none}
.bg-tabletop-page .bg-durak .bg-felt__hint{color:#f5dbb0;text-shadow:0 2px 6px #000;background:#160b2599;padding:8px 20px;border-radius:30px}
.bg-tabletop-page .bg-durak .bg-pairs{min-height:130px;max-height:100%;overflow-y:auto;gap:8px 18px;padding:6px 10px 8px;align-content:center;grid-column:2;grid-row:1}
.bg-tabletop-page .bg-durak .bg-pairs .bg-card{--cw:clamp(52px,5.2vw,76px)}
.bg-tabletop-page .bg-durak .bg-deck{grid-column:1;grid-row:1}
.bg-tabletop-page .bg-durak .bg-discard{grid-column:3;grid-row:1}
.bg-tabletop-page .bg-durak .bg-status{padding:6px 12px;min-height:25px;font-size:14px;line-height:1.45}
.bg-tabletop-page .bg-durak .bg-me{display:none}
.bg-tabletop-page .bg-durak .bg-actions{gap:8px;min-height:0}
.bg-tabletop-page .bg-durak .bg-actions .bg-btn{padding:9px 22px;min-height:39px}
.bg-tabletop-page .bg-durak .bg-hand{--cw:clamp(48px,calc((100vw - 100px) / (var(--n)*.72 + .28)),76px);justify-content:safe center;min-height:0;padding:19px 12px 8px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}
.bg-tabletop-page .bg-durak .bg-hand .bg-card.is-playable:hover,.bg-tabletop-page .bg-durak .bg-hand .bg-card.is-selected{transform:translateY(-15px);}
.bg-tabletop-page .bg-durak .bg-log{max-height:38px;overflow:auto;padding-left:4px}
.bg-tabletop-page .bg-card__court{position:relative;overflow:hidden;width:62%;height:71%;padding:0;background:#241637;border-radius:40% 40% 8% 8%;box-shadow:0 0 0 1px #ad8037}
.bg-tabletop-page .bg-court-art{position:absolute;inset:0;display:block;background-image:url('/boardgames/assets/cards-atlas.webp');background-size:400% 300%;background-repeat:no-repeat;background-position:0 100%}
.bg-tabletop-page .is-rank-12 .bg-court-art{background-position:33.3333% 100%}.bg-tabletop-page .is-rank-13 .bg-court-art{background-position:66.6667% 100%}.bg-tabletop-page .is-rank-14 .bg-court-art{background-position:100% 100%}
.bg-tabletop-page .bg-card__court>b{display:none}.bg-tabletop-page .bg-card__court>i{position:absolute;bottom:12%;right:8%;color:#fff3c5;text-shadow:0 1px 5px #000;z-index:1}.bg-tabletop-page .bg-card__court>small{position:absolute;bottom:0;inset-inline:0;background:#160b27d9;color:#ffe4a6;text-align:center;font-size:8px;z-index:1;margin:0;padding:2px 0}
.bg-tabletop-page .bg-card__corner{z-index:2}
/* Quick guide: native dialog traps focus and stays outside rerendered game nodes. */
.bg-guide-open{appearance:none;min-height:34px;padding:7px 13px;border:0;border-radius:11px;background:#b381db19;color:#e3c7f2;font:600 12px 'Golos Text',system-ui,sans-serif;cursor:pointer;white-space:nowrap}
.bg-guide-open:hover{background:#b381db36;color:#fff0d2}
.bg-quick-guide{width:min(520px,calc(100% - 32px));max-height:calc(100svh - 32px);padding:0;border:1px solid #a976cf66;border-radius:24px;background:linear-gradient(145deg,#251737,#0f0b1b);color:#eee5f5;box-shadow:0 25px 100px #000b;overflow:auto;font-family:'Golos Text',system-ui,sans-serif}
.bg-quick-guide::backdrop{background:#060310ba;backdrop-filter:blur(5px)}
.bg-guide-art{height:125px;background:linear-gradient(0deg,#21142f00,#170d2000),url('/boardgames/assets/map-v2.webp') center 40%/cover;position:relative;border-radius:23px 23px 0 0}
.bg-guide-art:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#21162e,transparent 85%)}
.bg-quick-guide[data-engine=durak] .bg-guide-art{background-image:url('/boardgames/assets/table-v2.webp');background-position:center 42%}
.bg-quick-guide[data-engine=grani] .bg-guide-art{background-image:url('/boardgames/assets/hall.webp');background-position:center 36%}
.bg-guide-content{padding:0 26px 24px}.bg-guide-counter{margin:0 0 8px;color:#be9ddd;letter-spacing:.14em;font-size:10px;font-weight:800;text-transform:uppercase}.bg-guide-content h2{margin:0 0 13px;font:800 27px/1.14 Georgia,serif;color:#ffe3ae}.bg-guide-copy{min-height:96px;font-size:15px;line-height:1.65;color:#dfd4e8}.bg-guide-copy b{color:#f6dcab}.bg-guide-dots{display:flex;gap:6px;margin:18px 0}.bg-guide-dots i{height:4px;flex:1;background:#ffffff16;border-radius:4px}.bg-guide-dots i.is-on{background:linear-gradient(90deg,#af82ea,#edc47e)}.bg-guide-actions{display:flex;gap:10px;align-items:center;margin-top:17px}.bg-guide-actions button{appearance:none;padding:11px 17px;border:0;border-radius:12px;background:#ffffff0b;color:#decbea;cursor:pointer;font:700 13px system-ui,sans-serif;min-height:42px}.bg-guide-actions button[data-guide-next]{margin-left:auto;background:linear-gradient(#ffe3aa,#d6a65f);color:#26180d}.bg-guide-remember{display:flex;align-items:center;gap:9px;color:#b9a9c6;font-size:12px;cursor:pointer}.bg-guide-remember input{width:17px;height:17px;accent-color:#b68be1}.bg-guide-skip{position:absolute;right:14px;top:13px;z-index:1;padding:8px 10px;border:0;border-radius:10px;background:#160a28bd;color:#f0e3fa;font:600 12px system-ui,sans-serif;cursor:pointer}
@media(min-width:1000px) and (max-height:760px){.bg-tabletop-page .bg-durak{gap:5px}.bg-tabletop-page .bg-durak .bg-felt{height:190px}.bg-tabletop-page .bg-durak .bg-hand{--cw:65px;padding-top:15px}.bg-tabletop-page .bg-durak .bg-opp{padding-top:4px;padding-bottom:4px}.bg-tabletop-page .bg-durak .bg-log{max-height:18px}.bg-tabletop-page .bg-bar{min-height:35px}.bg-tabletop-page .bg-bar__title{font-size:19px}}
@media(max-width:1000px){.bg-tabletop-page .party-room-app{padding:9px 10px 91px}.bg-tabletop-page .bg-room{padding:10px}.bg-tabletop-page .bg-walk__grid{grid-template-columns:minmax(0,1fr) 230px;gap:11px}.bg-tabletop-page .bg-map-top strong{font-size:19px}.bg-tabletop-page .bg-map-top small{display:none}.bg-tabletop-page .bg-walk__side{top:72px}}
@media(max-width:760px){.bg-tabletop-page .party-room-topbar{min-height:54px;padding:6px 11px;gap:7px;grid-template-columns:38px minmax(0,1fr) auto}.bg-tabletop-page .party-room-topbar__back{width:36px;height:36px}.bg-tabletop-page .party-room-topbar__side{gap:5px}.bg-tabletop-page .party-connection b{display:none}.bg-tabletop-page .party-connection{padding:4px}.bg-tabletop-page .bg-guide-open{font-size:11px;padding:6px 8px}.bg-tabletop-page .party-room-topbar__title strong{font-size:14px}.bg-tabletop-page .bg-walk__grid{grid-template-columns:1fr}.bg-tabletop-page .bg-walk__side{position:static;order:-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(135px,.9fr);gap:8px}.bg-tabletop-page .bg-walk__side .bg-walkers{grid-template-columns:1fr;gap:5px}.bg-tabletop-page .bg-walkers li{padding:6px;grid-template-columns:22px minmax(0,1fr) auto auto;gap:4px}.bg-tabletop-page .bg-walkers li>i{width:22px;height:22px;font-size:11px}.bg-tabletop-page .bg-walkers b{font-size:11px}.bg-tabletop-page .bg-walkers__pos{font-size:14px}.bg-tabletop-page .bg-walkers__pos small{font-size:10px}.bg-tabletop-page .bg-walkers__shards{font-size:10px}.bg-tabletop-page .bg-walk__side .bg-log{grid-column:1/-1;max-height:38px;overflow:auto;font-size:11px}.bg-tabletop-page .bg-walk__side .bg-controls{order:0;padding:7px;align-self:start;min-width:0}.bg-tabletop-page .bg-roll{font-size:13px;gap:6px;padding:9px 7px}.bg-tabletop-page .bg-roll .bg-die{--s:25px}.bg-tabletop-page .bg-fate{font-size:11px}.bg-tabletop-page .bg-fate small{font-size:10px}.bg-tabletop-page .bg-map-top strong{font-size:18px}.bg-tabletop-page .bg-board-wrap{height:420px;overflow:auto}.bg-tabletop-page .bg-board--illustrated{width:1000px;height:750px;min-width:1000px}.bg-tabletop-page .bg-map-column.is-expanded .bg-board{width:1200px;height:900px;min-width:1200px}.bg-tabletop-page .bg-map-column.is-expanded .bg-board-wrap{height:auto}.bg-tabletop-page .bg-durak .bg-felt{height:auto;min-height:200px;grid-template-columns:1fr auto;grid-template-rows:65px auto;padding:10px}.bg-tabletop-page .bg-durak .bg-deck{grid-column:2;grid-row:1;width:105px;height:65px}.bg-tabletop-page .bg-durak .bg-deck .bg-card,.bg-tabletop-page .bg-durak .bg-deck .bg-back{--cw:40px}.bg-tabletop-page .bg-durak .bg-discard{grid-column:1;grid-row:1;height:60px;width:60px}.bg-tabletop-page .bg-durak .bg-discard .bg-back{--cw:36px}.bg-tabletop-page .bg-durak .bg-pairs{grid-column:1/-1;grid-row:2;min-height:110px}.bg-tabletop-page .bg-durak .bg-pairs .bg-card{--cw:52px}.bg-tabletop-page .bg-durak .bg-opp{min-width:110px;padding:6px 8px;grid-template-columns:26px auto;gap:1px 6px}.bg-tabletop-page .bg-durak .bg-opp .bg-ava{width:25px;height:25px}.bg-tabletop-page .bg-durak .bg-opp b{font-size:12px}.bg-tabletop-page .bg-durak .bg-hand{--cw:58px;padding:18px 5px 8px}.bg-tabletop-page .bg-durak .bg-status{font-size:12px}.bg-tabletop-page .bg-bar__title{font-size:18px}.bg-tabletop-page .bg-bar__title small{display:none}.bg-tabletop-page .bg-no-timer{font-size:10px}.bg-tabletop-page .bg-choice-panel h3{font-size:19px}.bg-tabletop-page .bg-choice-panel p{font-size:11px}.bg-tabletop-page .bg-choice-panel .bg-btn{font-size:11px;padding:8px}.bg-tabletop-page .bg-choice-panel .bg-btn small{font-size:10px}}
@media(prefers-reduced-motion:reduce){.bg-quick-guide *,.bg-tabletop-page .bg-cell *{animation:none!important;scroll-behavior:auto}}

/* Polish QA adjustments: keep decorative card stacks outside the playable felt. */
.bg-tabletop-page .bg-durak .bg-felt{background-size:100% 100%,180% auto;background-position:center,center 42%}
.bg-tabletop-page .bg-board-wrap{height:clamp(400px,calc(100svh - 250px),780px)}
@media(max-width:760px){.bg-tabletop-page .bg-board-wrap{height:420px}.bg-tabletop-page .bg-durak .bg-felt{background-size:100% 100%,220% auto}}

/* The site-wide help button must not cover Rules on narrow screens. */
@media(max-width:900px){.bg-tabletop-page .support-tab{bottom:calc(86px + env(safe-area-inset-bottom,0px));right:14px;padding:10px;z-index:90}.bg-tabletop-page .bg-walk__side{align-items:start}.bg-tabletop-page .bg-walkers{align-content:start}}
