@import "https://fonts.googleapis.com/css2?family=Fredoka:wght@400;500;600;700&display=swap";:root{--ink:#17173a;--body-text:#3a3a63;--muted-text:#5a5a86;--faint-text:#8a8ab0;--disabled-text:#9a9ab8;--page-base:#eafaff;--surface:#fff;--surface-alt:#f4f4fb;--grey-fill:#e7e7f5;--grey-border:#c9c9e0;--grey-border-2:#dcdcea;--grey-border-3:#e4e4f0;--grey-border-4:#d5d5e6;--violet:#6c4cff;--teal:#0fb5a0;--amber:#ff9f1c;--coral:#ff5d73;--blue:#2f6fed;--yellow:#ffd23f;--green:#3ddc97;--green-text:#1aa06d;--slate-pip:#6f6f9c;--slate-pip-border:#a6a6c8;--farkle-color:var(--violet);--yahtzee-color:var(--teal);--ttt-color:var(--amber);--hangman-color:var(--coral);--connect4-color:var(--blue);--card-shadow:0 2px 5px #17173a2e;--card-shadow-selected:0 2px 6px #17173a40;--card-deck-shadow:0 3px 8px #17173a4d}*{box-sizing:border-box}html,body{background:var(--page-base);margin:0}body{background:radial-gradient(560px 380px at 88% 6%, #ffe6a8 0%, #ffe6a800 70%), radial-gradient(520px 420px at 4% 90%, #ffd3dc 0%, #ffd3dc00 70%), var(--page-base);min-height:100vh;color:var(--ink);font-family:Fredoka,system-ui,sans-serif}button{font:inherit}a{color:var(--violet)}a:hover{color:var(--coral)}:focus-visible{outline:3px solid var(--violet);outline-offset:3px}::selection{background:var(--yellow)}#root{min-height:100vh}.wordmark{color:var(--ink);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.wordmark-icon{width:auto;height:46px;display:block}.wordmark-img{width:auto;height:34px;display:block}.wordmark--small{gap:6px}.wordmark--small .wordmark-icon{height:28px}.wordmark--small .wordmark-img{height:20px}.wordmark--button{font:inherit;cursor:pointer;background:0 0;border:none;padding:0}.btn{border:4px solid var(--ink);cursor:pointer;background:var(--surface);color:var(--ink);box-shadow:0 7px 0 var(--grey-border);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:14px 26px;font-size:16px;font-weight:700;transition:transform .1s,filter .1s,box-shadow .1s;display:inline-flex}.btn:hover:not(:disabled){filter:brightness(1.05)}.btn:active:not(:disabled){box-shadow:0 3px 0 var(--grey-border);transform:translateY(4px)}.btn:disabled{cursor:not-allowed;background:var(--grey-fill);color:var(--disabled-text);border-color:var(--grey-border);box-shadow:0 4px 0 var(--grey-border-4)}.btn-lg{min-height:58px;padding:17px 28px;font-size:18px}.btn-ghost{box-shadow:none;color:var(--muted-text);background:0 0;border-color:#0000;padding:10px 18px}.btn-ghost:active:not(:disabled){transform:none}.btn-coral{background:var(--coral);color:#fff;border-color:var(--ink);box-shadow:0 7px 0 var(--ink)}.btn-coral:active:not(:disabled){box-shadow:0 3px 0 var(--ink)}.btn-green{background:var(--green);color:var(--ink);border-color:var(--ink);box-shadow:0 7px 0 var(--ink)}.btn-green:active:not(:disabled){box-shadow:0 3px 0 var(--ink)}.btn-violet{background:var(--violet);color:#fff;border-color:var(--ink);box-shadow:0 7px 0 var(--ink)}.btn-teal{background:var(--teal);color:#fff;border-color:var(--ink);box-shadow:0 7px 0 var(--ink)}.btn-amber{background:var(--amber);color:#fff;border-color:var(--ink);box-shadow:0 7px 0 var(--ink)}.pill-small{box-shadow:0 4px 0 var(--grey-border);border-width:3px;padding:8px 16px;font-size:14px}.input{background:var(--surface);border:3px solid var(--ink);width:100%;color:var(--ink);box-shadow:0 5px 0 var(--grey-border);border-radius:16px;padding:12px 16px;font-family:inherit;font-size:17px;font-weight:500;display:block}.input::placeholder{color:var(--faint-text)}.select-chevron{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%2317173a' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;padding-right:44px}.input-code{text-transform:uppercase;letter-spacing:.08em}.card{background:var(--surface);border:4px solid var(--ink);box-shadow:0 10px 0 var(--ink);border-radius:28px;padding:clamp(20px,3vw,30px)}.card-resting{box-shadow:0 9px 0 var(--grey-border)}.card-farkled{box-shadow:0 10px 0 var(--coral)}.chip{color:#fff;border-radius:999px;align-items:center;padding:6px 14px;font-size:13px;font-weight:600;display:inline-flex}.avatar{color:#fff;border-radius:999px;flex:none;justify-content:center;align-items:center;width:42px;height:42px;font-size:15px;font-weight:700;display:flex}.die{border:4px solid var(--ink);background:var(--surface);width:clamp(58px,7.6vw,94px);height:clamp(58px,7.6vw,94px);box-shadow:0 7px 0 var(--grey-border);cursor:pointer;border-radius:22px;flex:none;transition:transform .15s,background .15s,box-shadow .15s;position:relative}.die-selected{background:var(--yellow);box-shadow:0 9px 0 var(--ink);transform:translateY(-9px)}.die-setaside{border:3px solid var(--slate-pip-border);background:var(--grey-fill);cursor:default;border-radius:10px;flex:none;width:34px;height:34px}.die-pip{background:var(--ink);border-radius:50%;width:17%;height:17%;position:absolute;transform:translate(-50%,-50%)}.die-setaside .die-pip{background:var(--slate-pip);width:20%;height:20%}.die-muted{border-color:var(--slate-pip-border);background:var(--grey-fill);box-shadow:0 7px 0 var(--slate-pip-border);cursor:default}.die-invalid{border-color:var(--coral);box-shadow:0 9px 0 var(--coral)}.die-muted .die-pip{background:var(--slate-pip)}.overlay-backdrop{z-index:50;background:#17173a8c;justify-content:center;align-items:flex-start;padding:clamp(24px,6vh,72px) 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.overlay-panel{background:var(--surface);border:4px solid var(--ink);box-shadow:0 12px 0 var(--ink);border-radius:28px;width:100%;max-width:560px;padding:clamp(22px,3vw,32px)}.shelf-grid{grid-template-columns:repeat(auto-fill,minmax(156px,1fr));gap:10px;display:grid}.shelf-tile{border:3px solid var(--tile-border,var(--ink));height:100%;box-shadow:0 5px 0 var(--tile-shadow,var(--ink));text-align:left;font:inherit;cursor:pointer;border-radius:18px;flex-direction:column;padding:14px 16px;transition:filter .1s,transform .1s,box-shadow .1s;display:flex}.shelf-tile:hover:not(:disabled){filter:brightness(1.04)}.shelf-tile:active:not(:disabled){box-shadow:0 2px 0 var(--tile-shadow,var(--ink));transform:translateY(3px)}.shelf-tile:disabled{cursor:not-allowed}.shelf-tile-note{margin-top:auto;padding-top:8px}.header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:clamp(20px,4vw,36px);display:flex}.header-left{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.header-actions{align-items:center;gap:10px;display:flex}.playing-card{background:var(--surface);cursor:pointer;color:var(--ink);appearance:none;border-style:solid;flex:none;margin:0;padding:0;font-family:Fredoka,system-ui,sans-serif;font-weight:700;transition:transform .15s,border-color .15s,box-shadow .15s;display:block;position:relative}.playing-card:disabled{cursor:default;pointer-events:none}.playing-card--hand{border-width:2px;border-color:var(--ink);width:74px;height:104px;box-shadow:var(--card-shadow);border-radius:7px}.playing-card--hand:hover:not(:disabled){transform:translateY(-2px)}.playing-card--hand.playing-card--selected,.playing-card--hand.playing-card--selected:hover{border-color:var(--yellow);box-shadow:var(--card-shadow-selected);transform:translateY(-4px)}.playing-card--meld{border-width:1px;border-color:var(--card-owner-color,var(--green-text));width:38px;height:54px;box-shadow:var(--card-shadow);border-radius:3px}.playing-card--discard{border-width:2px;border-color:var(--ink);width:74px;height:104px;box-shadow:var(--card-shadow);border-radius:7px}.playing-card--discard.playing-card--selected{border-color:var(--yellow);box-shadow:var(--card-shadow-selected)}.playing-card--tableau{border-width:2px;border-color:var(--ink);width:75px;height:105px;box-shadow:var(--card-shadow);border-radius:7px}.playing-card--tableau.playing-card--selected{border-color:var(--yellow);box-shadow:var(--card-shadow-selected)}.playing-card--tableau:not(:disabled){cursor:grab}.playing-card__corner{align-items:center;gap:1px;line-height:1;display:flex;position:absolute;top:6px;left:7px}.playing-card--hand .playing-card__rank{font-size:19px;line-height:1}.playing-card--hand .playing-card__suit{font-size:16px;line-height:1}.playing-card__corner--stacked{flex-direction:column;gap:0}.playing-card--discard .playing-card__rank{font-size:19px;line-height:1}.playing-card--discard .playing-card__suit{font-size:16px;line-height:1}.playing-card--tableau .playing-card__corner--stacked{top:6px;left:8px}.playing-card--tableau .playing-card__rank{font-size:21px;line-height:1.15}.playing-card--tableau .playing-card__suit{font-size:18px;line-height:1.15}.playing-card__bottom-suit{opacity:.85;font-size:28px;line-height:1;position:absolute;bottom:6px;left:7px}.playing-card__bottom-suit--tableau{font-size:29px;bottom:6px;left:8px}.playing-card__center{white-space:nowrap;justify-content:center;align-items:center;gap:2px;width:100%;height:100%;display:flex}.playing-card--meld .playing-card__rank,.playing-card--meld .playing-card__suit{font-size:13px}.card-back{background-color:var(--violet);cursor:pointer;appearance:none;background-image:radial-gradient(circle,#ffffff80 1.4px,#0000 1.6px);background-size:7px 7px;border-style:solid;flex:none;margin:0;padding:0;font-family:inherit;transition:transform .15s,border-color .15s;display:block;position:relative;overflow:hidden}.card-back:disabled{cursor:default;pointer-events:none}.card-back--fan{border-width:1px;border-color:var(--ink);border-radius:3px;width:30px;height:44px}.card-back--stock{border-width:2px;border-color:var(--ink);width:74px;height:104px;box-shadow:var(--card-deck-shadow);border-radius:7px}.card-back--pile{border-width:2px;border-color:var(--ink);width:75px;height:105px;box-shadow:var(--card-deck-shadow);border-radius:7px}.card-back--stock.card-back--can-draw,.card-back--pile.card-back--can-draw{border-color:var(--yellow)}.card-back--stock:hover:not(:disabled),.card-back--pile:hover:not(:disabled){transform:translateY(-2px)}.card-back--stock.card-back--empty,.card-back--pile.card-back--empty{border-style:dashed;border-color:var(--grey-border);box-shadow:none;background-color:#0000;background-image:none}.rummy-table{max-width:1260px;margin:0 auto;padding:clamp(28px,6vw,48px) clamp(16px,4vw,44px) 72px}.rummy-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:clamp(16px,2.4vw,26px);display:flex}.rummy-header-left{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.rummy-scoreboard{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.rummy-score-pill{border:3px solid var(--ink);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:5px 14px;font-size:14px;font-weight:700;display:flex;box-shadow:0 3px #c9c9e0}.rummy-score-dot{border-radius:50%;flex:none;width:9px;height:9px;display:block}.rummy-score-hint{color:var(--muted-text);font-size:12px;font-weight:500}.rummy-game-label{color:var(--green-text);font-size:22px;font-weight:700}.rummy-header-actions{align-items:center;gap:10px;display:flex}.rummy-peer-strip{align-items:center;gap:8px;display:flex}.rummy-peer-dot{border:2px solid var(--ink);border-radius:50%;flex:none;width:9px;height:9px}.rummy-peer-label{color:var(--muted-text);font-size:13px;font-weight:500}.rummy-table-card{background:var(--surface);border:4px solid var(--ink);box-shadow:0 10px 0 var(--ink);border-radius:28px;flex-direction:column;padding:clamp(16px,2.4vw,26px);display:flex}.rummy-opp-rail{--rummy-opp-gap:clamp(10px, 1.6vw, 14px);gap:var(--rummy-opp-gap);flex-wrap:wrap;padding-bottom:clamp(12px,2vw,20px);display:flex}.rummy-opp-tile{flex:1 1 calc((100% - 2 * var(--rummy-opp-gap)) / 3);max-width:calc((100% - 2 * var(--rummy-opp-gap)) / 3);border:3px solid var(--grey-border);background:#fff;border-radius:16px;flex-direction:column;gap:8px;min-width:0;padding:12px 14px;transition:border-color .2s;display:flex}.rummy-opp-tile--full{max-width:100%}.rummy-opp-tile--wide{max-width:calc((100% - var(--rummy-opp-gap)) / 2)}.rummy-opp-tile-top{align-items:center;gap:6px;min-width:0;display:flex}.rummy-seat-dot{border:2px solid var(--ink);border-radius:50%;flex:none;width:14px;height:14px}.rummy-opp-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:15px;font-weight:700;overflow:hidden}.rummy-turn-tag{color:#fff;text-transform:uppercase;letter-spacing:.05em;border-radius:999px;flex:none;padding:2px 9px;font-size:11px;font-weight:700}.rummy-opp-tile--turn{border-width:4px}.rummy-opp-tile-hand{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.rummy-opp-tile-fan{flex:none;display:flex}.rummy-opp-tile-count{color:var(--muted-text);white-space:nowrap;font-size:12px;font-weight:600}.rummy-opp-tile-melds{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.rummy-centre{border-top:3px solid var(--grey-fill);border-bottom:3px solid var(--grey-fill);flex-wrap:wrap;gap:clamp(16px,2.4vw,28px);padding:clamp(14px,2vw,22px) 0;display:flex;position:relative}.rummy-centre-left{flex-flow:wrap;flex:380px;align-items:flex-start;gap:clamp(12px,2vw,20px);display:flex}.rummy-centre-right{flex-direction:column;flex:200px;align-items:flex-end;gap:10px;display:flex}.rummy-stock-group{flex-direction:column;align-items:flex-start;display:flex}.rummy-stock-caption{color:var(--muted-text);margin-bottom:6px;font-size:12px;font-weight:600}.rummy-stock-card-wrapper{padding-top:14px}.rummy-discard-caption{color:var(--muted-text);margin-bottom:6px;font-size:12px;font-weight:600}.rummy-discard-group{flex:auto;min-width:0}.rummy-discard-strip{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-bottom:4px;display:flex;overflow-x:auto}.rummy-discard-card-wrapper{flex:none;position:relative}.rummy-discard-empty{color:var(--faint-text);padding:8px 0;font-size:13px;font-weight:500}.playing-card--reach-hover{outline:3px solid var(--yellow);outline-offset:2px;transform:translateY(-12px)}.rummy-round-banner{text-align:center;background:var(--yellow);color:var(--ink);border:3px solid var(--ink);box-shadow:0 5px 0 var(--ink);border-radius:999px;flex:0 0 100%;margin-bottom:clamp(10px,2vw,18px);padding:10px 22px;font-size:clamp(14px,1.8vw,17px);font-weight:700}.rummy-error-banner{text-align:center;background:var(--coral);color:#fff;border:3px solid var(--ink);box-shadow:0 5px 0 var(--ink);border-radius:999px;margin-bottom:clamp(10px,2vw,18px);padding:10px 22px;font-size:clamp(14px,1.8vw,17px);font-weight:700}.rummy-turn-chip{color:#fff;border-radius:999px;align-items:center;padding:5px 14px;font-size:13px;font-weight:600;display:inline-flex}.rummy-status{text-align:right;font-size:clamp(17px,2.2vw,24px);font-weight:700;line-height:1.2}.rummy-meld-cluster{flex-wrap:wrap;row-gap:4px;min-width:0;max-width:100%;padding-left:8px;display:flex}.rummy-meld-cluster--layoff{cursor:pointer;outline:3px solid var(--yellow);outline-offset:4px;border-radius:12px}.rummy-meld-extension{flex-direction:column;align-items:flex-start;gap:3px;min-width:0;max-width:100%;display:flex}.rummy-meld-extension-caption{color:var(--faint-text);white-space:nowrap;font-size:10px;font-weight:600}.rummy-melds-empty{color:var(--faint-text);font-size:13px;font-weight:500}.rummy-your-side{flex-direction:column;gap:clamp(8px,1.6vw,16px);padding-top:clamp(12px,2vw,20px);display:flex}.rummy-your-melds{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.rummy-hand-section{flex-direction:column;gap:10px;display:flex}.rummy-hand-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.rummy-hand-header-left{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.rummy-hand-label{font-size:16px;font-weight:700}.rummy-hand-stats{color:var(--muted-text);white-space:nowrap;font-size:13px;font-weight:500}.rummy-sort-toggle{gap:6px;display:flex}.rummy-sort-btn{border:2px solid var(--grey-border);background:var(--surface);color:var(--muted-text);cursor:pointer;border-radius:999px;padding:4px 14px;font-family:inherit;font-size:12px;font-weight:600;transition:background .1s,color .1s}.rummy-sort-btn--active{background:var(--ink);color:#fff;border-color:var(--ink)}.rummy-hand-fan{min-height:110px;padding-top:20px;padding-bottom:6px;display:flex}.rummy-actions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:6px;display:flex}.rummy-action-btn{height:56px;padding-left:32px;padding-right:32px}.rummy-action-hint{color:var(--muted-text);font-size:14px}.card-back-picker{align-items:center;gap:16px;padding:4px 0 8px;display:flex}.card-back-picker .card-back--stock{width:112px;height:156px;box-shadow:var(--card-deck-shadow);border-width:3px;border-radius:10px;flex:none}.card-back-select{flex:auto;width:auto;min-width:0}.phase10-card{background:var(--ink);cursor:pointer;color:#fff;appearance:none;border-style:solid;flex:none;justify-content:center;align-items:center;margin:0;padding:0;font-family:Fredoka,system-ui,sans-serif;font-weight:700;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex;position:relative}.phase10-card:disabled{cursor:default;pointer-events:none}.phase10-card--hand{border-width:2px;border-color:var(--ink);width:70px;height:100px;box-shadow:var(--card-shadow);border-radius:6px}.phase10-card--hand:hover:not(:disabled){transform:translateY(-2px)}.phase10-card--hand.phase10-card--selected,.phase10-card--hand.phase10-card--selected:hover{border-color:var(--yellow);box-shadow:var(--card-shadow-selected);transform:translateY(-4px)}.phase10-card--group{border-width:1px;border-color:var(--card-owner-color,var(--green-text));width:36px;height:52px;box-shadow:var(--card-shadow);border-radius:3px}.phase10-card--discard{border-width:2px;border-color:var(--ink);width:70px;height:100px;box-shadow:var(--card-shadow);border-radius:6px}.phase10-card__number{white-space:nowrap;line-height:1}.phase10-card--hand .phase10-card__number{font-size:36px}.phase10-card--group .phase10-card__number{font-size:18px}.phase10-card--discard .phase10-card__number{font-size:36px}.phase10-card__word{white-space:nowrap;line-height:1}.phase10-card--hand .phase10-card__word{font-size:18px}.phase10-card--group .phase10-card__word{font-size:10px}.phase10-card--discard .phase10-card__word{font-size:18px}.phase10-card--wild{background:linear-gradient(135deg,#ff5d73 0%,#6c4cff 33%,#1aa06d 66%,#ffd23f 100%)}.phase10-card-back{background:var(--ink);cursor:pointer;appearance:none;border-style:solid;flex:none;margin:0;padding:0;font-family:Fredoka,system-ui,sans-serif;transition:transform .15s,border-color .15s;display:block;position:relative}.phase10-card-back:disabled{cursor:default;pointer-events:none}.phase10-card-back--fan{border-width:1px;border-color:var(--ink);border-radius:3px;width:30px;height:44px}.phase10-card-back--stock{border-width:2px;border-color:var(--ink);width:70px;height:100px;box-shadow:var(--card-deck-shadow);border-radius:6px}.phase10-card-back--stock.phase10-card-back--can-draw{border-color:var(--yellow)}.phase10-card-back--stock:hover:not(:disabled){transform:translateY(-2px)}.p10-table{max-width:1510px;margin:0 auto;padding:clamp(20px,2.5vw,32px) clamp(16px,2vw,32px) 24px}.p10-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.p10-header-left{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.p10-scoreboard{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.p10-score-pill{border:3px solid var(--ink);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:5px 14px;font-size:14px;font-weight:700;display:flex;box-shadow:0 3px #c9c9e0}.p10-score-dot{border-radius:50%;flex:none;width:9px;height:9px;display:block}.p10-score-hint{color:var(--muted-text);font-size:12px;font-weight:500}.p10-game-label{color:var(--violet);font-size:22px;font-weight:700}.p10-header-actions{align-items:center;gap:10px;display:flex}.p10-peer-strip{align-items:center;gap:8px;display:flex}.p10-peer-dot{border:2px solid var(--ink);border-radius:50%;flex:none;width:9px;height:9px}.p10-peer-label{color:var(--muted-text);font-size:13px;font-weight:500}.p10-play-row{align-items:flex-start;gap:clamp(14px,1.8vw,22px);display:flex}.p10-table-card{background:var(--surface);border:4px solid var(--ink);min-width:0;box-shadow:0 10px 0 var(--ink);border-radius:28px;flex-direction:column;flex:auto;padding:clamp(16px,2.4vw,26px);display:flex}.p10-ladder-rail{background:var(--surface);border:4px solid var(--ink);width:228px;box-shadow:0 10px 0 var(--ink);border-radius:28px;flex:none;padding:18px 20px;position:sticky;top:16px}@media (width<=1023px){.p10-ladder-rail{display:none}}@media (width>=1024px){.p10-ladder-band{display:none}}.p10-ladder-v{flex-direction:column;gap:9px;display:flex}.p10-ladder-v-row{align-items:center;gap:10px;display:flex}.p10-ladder-v .p10-ladder-chip{border-radius:10px;flex:none;width:34px;height:34px;font-size:15px}.p10-ladder-v-info{flex-direction:column;gap:3px;min-width:0;display:flex}.p10-ladder-v-label{color:var(--muted-text);font-size:13px;font-weight:600;line-height:1.25}.p10-ladder-v-label--current{color:var(--ink);font-weight:700}.p10-ladder-v .p10-ladder-dots{justify-content:flex-start;min-height:0}.p10-opp-rail{--p10-opp-gap:clamp(10px, 1.6vw, 14px);gap:var(--p10-opp-gap);flex-wrap:wrap;padding-bottom:clamp(12px,2vw,20px);display:flex}.p10-opp-tile{flex:1 1 calc((100% - 2 * var(--p10-opp-gap)) / 3);max-width:calc((100% - 2 * var(--p10-opp-gap)) / 3);border:3px solid var(--grey-border);background:#fff;border-radius:16px;flex-direction:column;gap:8px;min-width:0;padding:12px 14px;transition:border-color .2s;display:flex}.p10-opp-tile--full{max-width:100%}.p10-opp-tile--wide{max-width:calc((100% - var(--p10-opp-gap)) / 2)}.p10-opp-tile-top{align-items:center;gap:6px;min-width:0;display:flex}.p10-seat-dot{border:2px solid var(--ink);border-radius:50%;flex:none;width:14px;height:14px}.p10-opp-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:15px;font-weight:700;overflow:hidden}.p10-turn-tag{color:#fff;text-transform:uppercase;letter-spacing:.05em;border-radius:999px;flex:none;padding:2px 9px;font-size:11px;font-weight:700}.p10-opp-tile--turn{border-width:4px}.p10-opp-tile-hand{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.p10-opp-tile-fan{flex:none;display:flex}.p10-opp-tile-count{color:var(--muted-text);white-space:nowrap;font-size:12px;font-weight:600}.p10-opp-tile-groups{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.p10-ladder-band{padding:clamp(12px,1.6vw,18px) 0}.p10-ladder{flex-direction:column;display:flex}.p10-ladder-chips{justify-content:space-between;align-items:flex-start;gap:6px;display:flex}.p10-ladder-chip-wrap{cursor:default;flex-direction:column;flex:1;align-items:center;gap:7px;display:flex}.p10-ladder-chip{border:3px solid var(--ink);box-sizing:border-box;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;font-size:17px;font-weight:700;display:flex}.p10-ladder-chip--current{background:var(--violet);border-color:var(--violet);color:#fff}.p10-ladder-chip--done{background:var(--grey-fill);border-color:var(--grey-fill);color:var(--muted-text)}.p10-ladder-chip--ahead{border-color:var(--ink);color:var(--ink);background:#fff}.p10-ladder-dots{flex-wrap:wrap;justify-content:center;gap:4px;max-width:100%;min-height:11px;display:flex}.p10-ladder-dot{border:1px solid #17173a40;border-radius:50%;width:10px;height:10px}.p10-ladder-caption{text-align:center;color:var(--muted-text);white-space:nowrap;text-overflow:ellipsis;margin-top:6px;font-size:13px;font-weight:600;overflow:hidden}.p10-centre{border-top:3px solid var(--grey-fill);border-bottom:3px solid var(--grey-fill);flex-wrap:wrap;gap:clamp(16px,2.4vw,28px);padding:clamp(14px,2vw,22px) 0;display:flex;position:relative}.p10-centre-left{flex-flow:wrap;flex:380px;align-items:flex-start;gap:clamp(12px,2vw,20px);display:flex}.p10-centre-right{flex-direction:column;flex:200px;align-items:flex-end;gap:10px;display:flex}.p10-stock-group{flex-direction:column;align-items:flex-start;display:flex}.p10-stock-caption{color:var(--muted-text);margin-bottom:6px;font-size:12px;font-weight:600}.p10-stock-card-wrapper{padding-top:14px}.p10-discard-group{flex:auto;min-width:0}.p10-discard-caption{color:var(--muted-text);margin-bottom:6px;font-size:12px;font-weight:600}.p10-discard-slot{align-items:flex-start;min-height:78px;padding-top:14px;display:flex}.p10-discard-empty{color:var(--faint-text);padding:8px 0;font-size:13px;font-weight:500}.p10-round-banner{text-align:center;background:var(--yellow);color:var(--ink);border:3px solid var(--ink);box-shadow:0 5px 0 var(--ink);border-radius:999px;flex:0 0 100%;margin-bottom:clamp(10px,2vw,18px);padding:10px 22px;font-size:clamp(14px,1.8vw,17px);font-weight:700}.p10-error-banner{text-align:center;background:var(--coral);color:#fff;border:3px solid var(--ink);box-shadow:0 5px 0 var(--ink);border-radius:999px;margin-bottom:clamp(10px,2vw,18px);padding:10px 22px;font-size:clamp(14px,1.8vw,17px);font-weight:700}.p10-turn-chip{color:#fff;border-radius:999px;align-items:center;padding:5px 14px;font-size:13px;font-weight:600;display:inline-flex}.p10-status{text-align:right;font-size:clamp(17px,2.2vw,24px);font-weight:700;line-height:1.2}.p10-status-card{font-weight:700}.p10-group-wrap{flex-direction:column;align-items:flex-start;gap:3px;min-width:0;max-width:100%;display:flex}.p10-group-caption{white-space:nowrap;font-size:10px;font-weight:600}.p10-group{flex-wrap:wrap;row-gap:4px;min-width:0;max-width:100%;padding-left:8px;display:flex}.p10-group--hittable{cursor:pointer;outline:3px solid var(--yellow);outline-offset:4px;border-radius:12px}.p10-group-extension{flex-direction:column;align-items:flex-start;gap:3px;min-width:0;max-width:100%;display:flex}.p10-group-extension-caption{color:var(--faint-text);white-space:nowrap;font-size:10px;font-weight:600}.p10-groups-empty{color:var(--faint-text);font-size:13px;font-weight:500}.p10-your-side{flex-direction:column;gap:clamp(8px,1.6vw,16px);padding-top:clamp(12px,2vw,20px);display:flex}.p10-your-band{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.p10-your-groups{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.p10-phase-pill{background:var(--surface-alt);border:2px solid var(--grey-border);color:var(--body-text);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:6px 14px;font-size:14px;font-weight:600;display:inline-flex}.p10-phase-pill-dot{background:var(--violet);border:1px solid var(--ink);border-radius:50%;flex:none;width:10px;height:10px}.p10-hand-section{flex-direction:column;gap:10px;display:flex}.p10-hand-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.p10-hand-header-left{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.p10-hand-label{font-size:16px;font-weight:700}.p10-hand-stats{color:var(--muted-text);white-space:nowrap;font-size:13px;font-weight:500}.p10-sort-toggle{gap:6px;display:flex}.p10-sort-btn{border:2px solid var(--grey-border);background:var(--surface);color:var(--muted-text);cursor:pointer;border-radius:999px;padding:4px 14px;font-family:inherit;font-size:12px;font-weight:600;transition:background .1s,color .1s}.p10-sort-btn--active{background:var(--ink);color:#fff;border-color:var(--ink)}.p10-hand-fan{min-height:118px;padding-top:20px;padding-bottom:6px;display:flex}.p10-actions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:6px;display:flex}.p10-action-btn{height:56px;padding-left:32px;padding-right:32px}.p10-action-hint{color:var(--muted-text);font-size:14px}.score-header{align-items:center;gap:10px;display:flex}.score-header-pill{background:var(--surface);border:3px solid var(--ink);color:var(--ink);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:8px 16px;font-size:15px;font-weight:700;display:inline-flex}.score-header-dot{border-radius:50%;flex:none;width:10px;height:10px}.score-header-hint{color:var(--muted-text);white-space:nowrap;font-size:13px;font-weight:500}.bs-table{max-width:1260px;margin:0 auto;padding:clamp(28px,6vw,48px) clamp(16px,4vw,44px) 72px}.bs-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:clamp(16px,2.4vw,26px);display:flex}.bs-header-left{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.bs-game-label{color:#1a6fae;font-size:22px;font-weight:700}.bs-header-actions{align-items:center;gap:10px;display:flex}.bs-peer-strip{align-items:center;gap:8px;display:flex}.bs-peer-dot{border:2px solid var(--ink);border-radius:50%;flex:none;width:9px;height:9px}.bs-peer-label{color:var(--muted-text);font-size:13px;font-weight:500}.bs-error-banner{text-align:center;background:var(--coral);color:#fff;border:3px solid var(--ink);box-shadow:0 5px 0 var(--ink);border-radius:999px;margin-bottom:clamp(10px,2vw,18px);padding:10px 22px;font-size:clamp(14px,1.8vw,17px);font-weight:700}.bs-main-card{background:var(--surface);border:4px solid var(--ink);box-shadow:0 10px 0 var(--ink);border-radius:28px;padding:clamp(16px,2.4vw,26px)}.bs-status{text-align:center;flex-direction:column;align-items:center;gap:10px;margin-bottom:clamp(14px,2vw,24px);display:flex}.bs-turn-chip{color:#fff;border-radius:999px;align-items:center;padding:5px 14px;font-size:13px;font-weight:600;display:inline-flex}.bs-status-text{font-size:clamp(17px,2.2vw,24px);font-weight:700;line-height:1.2}.bs-banner{color:#fff;border:3px solid var(--ink);box-shadow:0 5px 0 var(--ink);background:#1a6fae;border-radius:999px;padding:10px 22px;font-size:clamp(14px,1.8vw,17px)}.bs-hint{color:var(--muted-text);font-size:14px}.bs-boards{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:clamp(20px,3vw,40px);display:flex}.bs-board{flex-direction:column;align-items:center;gap:8px;display:flex}.bs-board-title{font-size:16px;font-weight:700}.bs-board-cols{grid-template-columns:repeat(10,1fr);width:clamp(280px,36vw,420px);display:grid}.bs-board-cols span{text-align:center;color:var(--muted-text);font-size:12px;font-weight:600}.bs-board-body{align-items:stretch;gap:6px;display:flex}.bs-board-rows{flex-direction:column;flex:none;display:flex}.bs-board-rows span{color:var(--muted-text);flex:1;justify-content:center;align-items:center;min-height:0;font-size:12px;font-weight:600;display:flex}.bs-grid-wrap{width:clamp(280px,36vw,420px);position:relative}.bs-grid-wrap--dimmed{opacity:.45}.bs-grid{aspect-ratio:1;border:2px solid var(--ink);background:#eafaff;grid-template-rows:repeat(10,1fr);grid-template-columns:repeat(10,1fr);gap:0;width:100%;display:grid}.bs-cell{cursor:pointer;background:#eafaff;border:1px solid #c9c9e0;padding:0;font-family:inherit;position:relative}.bs-cell:disabled{cursor:default}.bs-marker{pointer-events:none;background-repeat:no-repeat;background-size:400% 100%;position:absolute;inset:0}.bs-ship{pointer-events:none;position:absolute}.bs-pills{flex-wrap:wrap;justify-content:center;gap:6px;max-width:clamp(280px,36vw,420px);margin-top:4px;display:flex}.bs-pill{white-space:nowrap;border:2px solid;border-radius:999px;align-items:center;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.bs-tray{flex-direction:column;gap:8px;max-width:560px;margin:clamp(18px,2.6vw,28px) auto 0;display:flex}.bs-tray-row{border:3px solid var(--grey-border);cursor:pointer;background:#fff;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:10px 16px;font-family:inherit;font-size:15px;transition:background .1s,border-color .1s;display:flex}.bs-tray-row:hover:not(:disabled){border-color:var(--ink)}.bs-tray-row--selected{background:#e3eef7;border-color:#1a6fae}.bs-tray-row--placed,.bs-tray-row--placed:disabled{color:#9a9ab8;cursor:default;background:#f4f4fb}.bs-tray-row-main{align-items:center;gap:12px;display:flex}.bs-tray-row-name{font-weight:700}.bs-tray-row-chips{align-items:center;gap:3px;display:flex}.bs-tray-chip{border:2px solid;border-radius:3px;width:12px;height:12px}.bs-tray-row-sub{color:var(--muted-text);font-size:13px;font-weight:600}.bs-tray-row--placed .bs-tray-row-sub{color:inherit}.bs-placement-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:18px;display:flex}@media (width<=899px){.bs-boards{flex-direction:column;align-items:center}}.dm-table{--dm-brand:#5b5bd6;max-width:1260px;margin:0 auto;padding:clamp(28px,6vw,48px) clamp(16px,4vw,44px) 72px}.dm-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:clamp(16px,2.4vw,26px);display:flex}.dm-scoreboard{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.dm-score-pill{border:3px solid var(--ink);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:5px 14px;font-size:14px;font-weight:700;display:flex;box-shadow:0 3px #c9c9e0}.dm-score-dot{border-radius:50%;flex:none;width:9px;height:9px;display:block}.dm-score-hint{color:var(--muted-text);font-size:12px;font-weight:500}.dm-header-left{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.dm-game-label{color:var(--dm-brand);font-size:22px;font-weight:700}.dm-header-actions{align-items:center;gap:10px;display:flex}.dm-peer-strip{align-items:center;gap:8px;display:flex}.dm-peer-dot{border:2px solid var(--ink);border-radius:50%;flex:none;width:9px;height:9px}.dm-peer-label{color:var(--muted-text);font-size:13px;font-weight:500}.dm-table-card{background:var(--surface);border:4px solid var(--ink);box-shadow:0 10px 0 var(--ink);border-radius:28px;flex-direction:column;padding:clamp(16px,2.4vw,26px);display:flex}.dm-error-banner{text-align:center;background:var(--coral);color:#fff;border:3px solid var(--ink);box-shadow:0 5px 0 var(--ink);border-radius:999px;margin-bottom:clamp(10px,2vw,18px);padding:10px 22px;font-size:clamp(14px,1.8vw,17px);font-weight:700}.dm-status-block{flex-direction:column;gap:4px;margin-bottom:clamp(12px,2vw,18px);display:flex}.dm-status-event{font-size:clamp(17px,2.2vw,24px);font-weight:700;line-height:1.2}.dm-status-prompt{color:var(--muted-text);font-size:14px;font-weight:500}.dm-board{border:3px solid var(--ink);background:#dcdcf0;border-radius:20px;width:100%;height:clamp(280px,46vh,440px);transition:height .25s;position:relative;overflow:hidden}.dm-tile{background:var(--surface);border:3px solid var(--ink);border-radius:6px;display:flex;position:absolute;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 4px #17173a59}.dm-tile--horizontal{flex-direction:row}.dm-tile--vertical{flex-direction:column}.dm-tile--horizontal .dm-tile-half+.dm-tile-half{border-left:2px solid var(--ink)}.dm-tile--vertical .dm-tile-half+.dm-tile-half{border-top:2px solid var(--ink)}.dm-tile-half{flex:1;position:relative}.dm-tile-pip{aspect-ratio:1;background:var(--ink);pointer-events:none;border-radius:50%;width:26%;position:absolute;transform:translate(-50%,-50%)}.dm-target{border:3px dashed var(--slate-pip);opacity:.25;cursor:default;appearance:none;background:0 0;border-radius:50%;margin:0;padding:0;position:absolute;transform:translate(-50%,-50%)}.dm-target--live{opacity:1;border-color:var(--dm-brand);cursor:pointer;animation:1.4s ease-in-out infinite dm-target-pulse}@keyframes dm-target-pulse{0%,to{transform:translate(-50%,-50%)scale(1)}50%{transform:translate(-50%,-50%)scale(1.18)}}.dm-opp-rail{--dm-opp-gap:clamp(10px, 1.6vw, 14px);gap:var(--dm-opp-gap);flex-wrap:wrap;padding-bottom:clamp(12px,2vw,20px);display:flex}.dm-opp-tile{max-width:calc((100% - 3 * var(--dm-opp-gap)) / 4);border:3px solid var(--grey-border);background:#fff;border-radius:16px;flex-direction:column;flex:260px;gap:8px;min-width:0;padding:12px 14px;transition:border-color .2s;display:flex}.dm-opp-tile--wide{max-width:calc((100% - var(--dm-opp-gap)) / 2)}.dm-opp-tile-top{align-items:center;gap:6px;min-width:0;display:flex}.dm-seat-dot{border:2px solid var(--ink);border-radius:50%;flex:none;width:14px;height:14px}.dm-opp-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:15px;font-weight:700;overflow:hidden}.dm-turn-tag{color:#fff;text-transform:uppercase;letter-spacing:.05em;border-radius:999px;flex:none;padding:2px 9px;font-size:11px;font-weight:700}.dm-opp-tile--turn{border-width:4px}.dm-opp-tile-hand{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.dm-opp-tile-fan{flex:none;display:flex}.dm-opp-tile-count{color:var(--muted-text);white-space:nowrap;font-size:12px;font-weight:600}.dm-hand-rail{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:clamp(14px,2vw,22px);padding-top:clamp(10px,1.6vw,16px);display:flex}.dm-hand{flex-direction:column;flex:420px;gap:8px;min-width:0;display:flex}.dm-hand-header{align-items:baseline;gap:10px;display:flex}.dm-hand-label{font-size:16px;font-weight:700}.dm-hand-stats{color:var(--muted-text);font-size:13px;font-weight:500}.dm-hand-row{flex-wrap:wrap;gap:10px;display:flex}.dm-hand-tile{background:var(--surface);border:3px solid var(--ink);cursor:pointer;appearance:none;border-radius:6px;flex-direction:row;width:88px;height:46px;padding:0;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex;overflow:hidden;box-shadow:0 4px #17173a59}.dm-hand-tile:disabled{cursor:default;opacity:.45;box-shadow:none}.dm-hand-tile .dm-tile-half+.dm-tile-half{border-left:2px solid var(--ink)}.dm-hand-tile:hover:not(:disabled){transform:translateY(-6px)}.dm-hand-tile--selected,.dm-hand-tile--selected:hover{border-color:var(--dm-brand);box-shadow:0 6px 0 var(--dm-brand);transform:translateY(-10px)}.dm-boneyard{flex-direction:column;flex:none;align-items:flex-start;gap:8px;display:flex}.dm-boneyard-label{color:var(--muted-text);font-size:13px;font-weight:600}.dm-boneyard-actions{gap:8px;display:flex}.dm-boneyard-btn{height:44px;padding-left:20px;padding-right:20px}.dm-tile-back{border-color:var(--ink);background:#fff;border-style:solid;flex:none;display:block;position:relative}.dm-tile-back__dot{aspect-ratio:1;background:#5b5bd6;border-radius:50%;width:22%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.dm-tile-back--fan{border-width:2px;border-radius:6px;width:23px;height:44px}.dm-tile-back--stock{width:40px;height:76px;box-shadow:0 5px 0 var(--ink);border-width:3px;border-radius:10px}.dm-tile-back--small{border-width:2px;border-radius:4px;width:14px;height:26px}.wh-table{--wh-brand:#9333ea;max-width:1260px;margin:0 auto;padding:clamp(28px,6vw,48px) clamp(16px,4vw,44px) 72px}.wh-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:clamp(16px,2.4vw,26px);display:flex}.wh-header-left{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.wh-game-label{color:var(--wh-brand);font-size:22px;font-weight:700}.wh-header-actions{align-items:center;gap:10px;display:flex}.wh-peer-strip{align-items:center;gap:8px;display:flex}.wh-peer-dot{border:2px solid var(--ink);border-radius:50%;flex:none;width:9px;height:9px}.wh-peer-label{color:var(--muted-text);font-size:13px;font-weight:500}.wh-error-banner{text-align:center;background:var(--coral);color:#fff;border:3px solid var(--ink);box-shadow:0 5px 0 var(--ink);border-radius:999px;margin-bottom:clamp(10px,2vw,18px);padding:10px 22px;font-size:clamp(14px,1.8vw,17px);font-weight:700}.wh-table-card{background:var(--surface);border:4px solid var(--ink);box-shadow:0 10px 0 var(--ink);border-radius:28px;flex-flow:row-reverse wrap;justify-content:center;align-items:flex-start;gap:clamp(16px,2.4vw,26px);padding:clamp(16px,2.4vw,26px);display:flex}.wh-rail{flex-direction:column;flex:none;justify-content:flex-start;align-self:stretch;gap:clamp(12px,1.6vw,16px);width:200px;display:flex}.wh-die-col{flex-direction:column;flex:none;align-items:center;gap:6px;display:flex}.wh-die-caption{color:var(--muted-text);letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;max-width:72px;font-size:11px;font-weight:600;overflow:hidden}.wh-roll-btn{width:100%;min-height:52px}.wh-status{color:var(--body-text);text-align:left;font-size:clamp(15px,2vw,18px);font-weight:600;line-height:1.3}@media (width<=899px){.wh-rail{flex-flow:wrap;flex-basis:100%;justify-content:center;align-items:center;gap:12px clamp(16px,4vw,26px);width:100%}.wh-roll-btn{width:auto;min-width:150px}.wh-status{text-align:center;flex-basis:100%}.wh-legend{flex-flow:wrap;flex-basis:100%;justify-content:center}}.wh-board-col{flex-direction:column;flex:1 1 0;align-items:center;gap:clamp(16px,2.4vw,26px);min-width:0;max-width:900px;display:flex}.wh-board{aspect-ratio:1;border:4px solid var(--ink);background:#d7d2ea;border-radius:24px;width:100%;position:relative;overflow:hidden;box-shadow:0 8px #17173a29}.wh-cross{pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;inset:0}.wh-hole{pointer-events:none;background:#fff;border:2px solid #17173a4d;border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.wh-hole--entrance{box-shadow:0 0 0 1.5px var(--ring-color), 0 0 0 3px #fbfaf6, 0 0 0 4.5px var(--ring-color)}.wh-center{border:3px solid var(--wh-brand);pointer-events:none;background:#f1eafd;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 4px #9333ea24}.wh-marble{border:2.5px solid var(--ink);background:radial-gradient(circle at 32% 30%, color-mix(in srgb, var(--marble-color), white 70%) 0%, color-mix(in srgb, var(--marble-color), white 25%) 22%, var(--marble-color) 55%, color-mix(in srgb, var(--marble-color), black 25%) 100%);pointer-events:none;z-index:2;border-radius:50%;transition:transform .35s;position:absolute;top:50%;left:50%;box-shadow:0 3px #17173a73,inset -2px -3px 6px #17173a40,inset 2px 3px 4px #ffffff59}.wh-marble-ring{border:2px dashed var(--slate-pip-border);opacity:.75;appearance:none;cursor:pointer;z-index:1;background:0 0;border-radius:50%;margin:0;padding:0;position:absolute;transform:translate(-50%,-50%)}.wh-marble-ring--selected{border:3px solid var(--wh-brand);opacity:1}.wh-marble-ring--candidate{border:3px solid var(--coral);opacity:1;background:#ff5d7340;animation:1.1s ease-in-out infinite wh-ring-pulse}@keyframes wh-ring-pulse{0%,to{transform:translate(-50%,-50%)scale(1)}50%{transform:translate(-50%,-50%)scale(1.15)}}.wh-target{border:3px solid var(--wh-brand);cursor:pointer;appearance:none;z-index:3;background:#9333ea26;border-radius:50%;margin:0;padding:0;animation:1.4s ease-in-out infinite wh-target-pulse;position:absolute;transform:translate(-50%,-50%)}@keyframes wh-target-pulse{0%,to{transform:translate(-50%,-50%)scale(1)}50%{transform:translate(-50%,-50%)scale(1.2)}}.wh-target--contested{border-color:var(--coral);background:#ff5d7333;border-style:dashed;animation:1.4s ease-in-out infinite wh-target-pulse-contested}.wh-target--pending{border-color:var(--wh-brand);background:#9333ea59;border-style:solid;animation:1.4s ease-in-out infinite wh-target-pulse}@keyframes wh-target-pulse-contested{0%,to{transform:translate(-50%,-50%)scale(1)}50%{transform:translate(-50%,-50%)scale(1.25)}}.wh-legend{flex-direction:column;align-items:stretch;gap:8px;display:flex}.wh-seat-chip{border:3px solid var(--grey-border);background:var(--surface);border-radius:999px;align-items:center;gap:8px;padding:6px 14px;font-size:14px;font-weight:600;display:inline-flex}.wh-seat-chip--turn{border-color:var(--wh-brand);box-shadow:0 3px #9333ea38}.wh-seat-dot{border:2px solid var(--ink);border-radius:50%;flex:none;width:14px;height:14px}.wh-seat-name{white-space:nowrap}.wh-turn-tag{background:var(--wh-brand);color:#fff;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.wh-house-rules{flex-direction:column;gap:10px;display:flex}.wh-house-rule{border:3px solid var(--grey-border);cursor:pointer;text-align:left;background:#fff;border-radius:16px;align-items:center;gap:14px;width:100%;padding:12px 14px 12px 16px;font-family:inherit;transition:border-color .1s;display:flex}.wh-house-rule:hover:not(:disabled),.wh-house-rule--on{border-color:var(--ink)}.wh-house-rule:disabled{cursor:default}.wh-house-rule-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.wh-house-rule-label{font-size:15px;font-weight:700}.wh-house-rule-desc{color:var(--muted-text);font-size:13px;font-weight:500}.wh-house-rule-pill{border:3px solid var(--ink);color:var(--ink);background:#fff;border-radius:999px;flex:none;padding:6px 14px;font-size:13px;font-weight:700}.wh-house-rule--on .wh-house-rule-pill{background:var(--ink);color:#fff}.ck-table{--ck-brand:#b45309;max-width:900px;margin:0 auto;padding:clamp(28px,6vw,48px) clamp(16px,4vw,44px) 72px}.ck-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:clamp(16px,2.4vw,26px);display:flex}.ck-header-left{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.ck-game-label{color:var(--ck-brand);font-size:22px;font-weight:700}.ck-header-actions{align-items:center;gap:10px;display:flex}.ck-peer-strip{align-items:center;gap:8px;display:flex}.ck-peer-dot{border:2px solid var(--ink);border-radius:50%;flex:none;width:9px;height:9px}.ck-peer-label{color:var(--muted-text);font-size:13px;font-weight:500}.ck-error-banner{text-align:center;background:var(--coral);color:#fff;border:3px solid var(--ink);box-shadow:0 5px 0 var(--ink);border-radius:999px;margin-bottom:clamp(10px,2vw,18px);padding:10px 22px;font-size:clamp(14px,1.8vw,17px);font-weight:700}.ck-main-card{background:var(--surface);border:4px solid var(--ink);box-shadow:0 10px 0 var(--ink);border-radius:28px;padding:clamp(16px,2.4vw,26px)}.ck-scores{justify-content:center;gap:clamp(10px,2vw,18px);margin-bottom:clamp(14px,2vw,22px);display:flex}.ck-score-card{background:var(--surface);border:3px solid var(--ink);max-width:240px;color:var(--ink);border-radius:18px;flex-direction:column;flex:1 1 0;align-items:center;gap:2px;padding:10px 16px;display:flex}.ck-score-card--turn{color:#fff}.ck-score-card--turn .ck-score-sub{color:#fffc}.ck-score-name{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:15px;font-weight:700;overflow:hidden}.ck-score-count{font-size:30px;font-weight:700;line-height:1}.ck-score-sub{color:var(--muted-text);font-size:12px;font-weight:600}.ck-board{aspect-ratio:1;border:4px solid var(--ink);border-radius:14px;grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);width:100%;max-width:460px;margin:0 auto;display:grid;overflow:hidden}.ck-cell{position:relative}.ck-piece{border:3px solid var(--ink);appearance:none;cursor:default;border-radius:50%;width:74%;height:74%;padding:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px #0000004d,inset 0 2px #ffffff40}button.ck-piece{cursor:pointer}.ck-crown{color:#fff;pointer-events:none;justify-content:center;align-items:center;font-size:15px;display:flex;position:absolute;inset:0}.ck-ring{pointer-events:none;border-radius:50%;width:82%;height:82%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ck-ring--selected{border:3px solid #fff}.ck-dest{border:3px solid var(--ck-brand);appearance:none;cursor:pointer;background:#b4530933;border-radius:50%;width:82%;height:82%;padding:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ck-status{text-align:center;flex-direction:column;align-items:center;gap:6px;margin-top:clamp(14px,2vw,22px);display:flex}.ck-status-text{font-size:clamp(17px,2.2vw,24px);font-weight:700;line-height:1.2}.ck-hint{color:var(--muted-text);font-size:14px}.mt-table{--mt-brand:#c2410c;max-width:1260px;margin:0 auto;padding:clamp(28px,6vw,48px) clamp(16px,4vw,44px) 72px}.mt-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:clamp(16px,2.4vw,26px);display:flex}.mt-header-left{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.mt-game-label{color:var(--mt-brand);font-size:22px;font-weight:700}.mt-header-actions{align-items:center;gap:10px;display:flex}.mt-peer-strip{align-items:center;gap:8px;display:flex}.mt-peer-dot{border:2px solid var(--ink);border-radius:50%;flex:none;width:9px;height:9px}.mt-peer-label{color:var(--muted-text);font-size:13px;font-weight:500}.mt-chips{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:clamp(16px,2.4vw,26px);display:flex}.mt-error-banner{text-align:center;background:var(--coral);color:#fff;border:3px solid var(--ink);box-shadow:0 5px 0 var(--ink);border-radius:999px;margin-bottom:clamp(10px,2vw,18px);padding:10px 22px;font-size:clamp(14px,1.8vw,17px);font-weight:700}.mt-round-banner{text-align:center;background:var(--yellow);color:var(--ink);border:3px solid var(--ink);box-shadow:0 5px 0 var(--ink);border-radius:999px;flex:0 0 100%;padding:10px 22px;font-size:clamp(14px,1.8vw,17px);font-weight:700}.mt-tile-back{background:var(--coral);border:3px solid var(--ink);border-radius:10px;width:46px;height:88px}.mt-tile-back--fan{border-radius:6px;width:30px;height:44px}.mt-tile-back--stock{width:46px;height:88px}.mt-table-card{background:var(--surface);border:4px solid var(--ink);box-shadow:0 10px 0 var(--ink);border-radius:28px;flex-flow:row-reverse wrap;justify-content:center;align-items:flex-start;gap:clamp(16px,2.4vw,26px);padding:clamp(16px,2.4vw,26px);display:flex}.mt-rail{flex-direction:column;flex:none;align-self:stretch;gap:clamp(12px,1.6vw,16px);width:200px;display:flex}.mt-seat-card{border:3px solid var(--grey-border);background:#fff;border-radius:16px;align-items:center;gap:12px;padding:10px 14px;transition:background .2s,border-color .2s;display:flex}.mt-seat-card--active .mt-seat-sub{color:#ffffffd9}.mt-seat-card--active .mt-seat-dot{border-color:#ffffffd9}.mt-seat-dot{border:2px solid var(--ink);border-radius:50%;flex:none;width:14px;height:14px}.mt-seat-info{flex-direction:column;gap:1px;min-width:0;display:flex}.mt-seat-name{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;overflow:hidden}.mt-seat-score{font-size:20px;font-weight:700;line-height:1.1}.mt-seat-sub{color:var(--muted-text);font-size:11px;font-weight:600}.mt-status{color:var(--body-text);text-align:left;font-size:clamp(15px,2vw,18px);font-weight:600;line-height:1.3}@media (width<=899px){.mt-rail{flex-basis:100%;width:100%}}.mt-board-col{flex-direction:column;flex:1 1 0;gap:clamp(16px,2.4vw,26px);min-width:0;max-width:900px;display:flex}.mt-depot,.mt-station{flex-direction:column;align-items:center;display:flex}.mt-station-roof{background:var(--mt-brand);clip-path:polygon(4% 100%,10% 0,90% 0,96% 100%);width:92px;height:16px}.mt-station-body{border:3px solid var(--ink);box-shadow:0 5px 0 var(--ink);background:#f4ecdd;border-radius:10px;align-items:center;gap:12px;padding:8px 16px;display:flex}.mt-station-label{letter-spacing:.08em;text-transform:uppercase;color:var(--ink);font-size:12px;font-weight:700}.mt-track-stub{background:linear-gradient(#17173a59,#17173a59) 0 0/2px 100% no-repeat,linear-gradient(#17173a59,#17173a59) 100% 0/2px 100% no-repeat;width:6px;height:20px}.mt-numeral{border:2.5px solid var(--ink);color:var(--ink);background:#fff;border-radius:8px;align-items:stretch;display:flex;overflow:hidden}.mt-numeral-half{flex:1;justify-content:center;align-items:center;font-weight:700;display:flex}.mt-numeral-bar{background:var(--ink);width:2px}.mt-numeral--car{width:52px;height:32px;font-size:15px}.mt-numeral--engine{border-width:2px;border-radius:5px;width:40px;height:22px;font-size:13px}.mt-loco-dock{flex:none;position:relative}.mt-loco{filter:drop-shadow(0 3px #17173a40);flex:none;width:64px;height:40px}.mt-loco-dock--open .mt-loco{transition:transform .5s cubic-bezier(.34,1.56,.64,1);animation:1.6s ease-in-out infinite mt-chug;transform:translate(14px)}@keyframes mt-chug{0%,to{transform:translate(14px)translateY(0)}50%{transform:translate(14px)translateY(-1.5px)}}.mt-signal{flex:none;width:22px;height:38px;position:relative}.mt-signal-mast{background:var(--ink);width:2.5px;position:absolute;top:12px;bottom:0;left:9.75px}.mt-signal-disc{border:2.5px solid var(--ink);width:20px;height:20px;box-shadow:0 2px 0 var(--ink);background:var(--coral);border-radius:50%;transition:background .2s;position:absolute;top:0;left:1px}.mt-signal--open .mt-signal-disc{background:var(--green)}.mt-lanes{flex-direction:column;gap:clamp(16px,2vw,22px);display:flex}.mt-lane{flex-direction:column;gap:8px;display:flex}.mt-lane-label{align-items:center;gap:10px;display:flex}.mt-lane-name{color:var(--muted-text);font-size:13px;font-weight:700}.mt-track{background:#f4f4fb;border-radius:10px;flex-wrap:wrap;align-items:flex-start;gap:6px;min-height:64px;padding:10px 12px 14px;display:flex;position:relative}.mt-track:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(#17173a47,#17173a47) 0 30%/100% 3px no-repeat,linear-gradient(#17173a47,#17173a47) 0 70%/100% 3px no-repeat,repeating-linear-gradient(90deg,#0000 0 12px,#17173a1f 12px 16px);position:absolute;inset:0}.mt-car{padding-bottom:8px;position:relative}.mt-car:after{content:"";background:var(--ink);width:8px;height:8px;box-shadow:22px 0 0 var(--ink);border-radius:50%;position:absolute;bottom:0;left:6px}.mt-car:not(:first-child):not(.mt-car--row-start):before{content:"";background:var(--ink);width:6px;height:3px;position:absolute;top:14px;left:-6px}.mt-ghost{cursor:pointer;appearance:none;background:#c2410c14;border:2px dashed #c2410c;border-radius:8px;width:52px;height:32px;margin:0;padding:0;animation:1.2s infinite mt-pulse;position:relative}@keyframes mt-pulse{0%,to{opacity:1}50%{opacity:.4}}.mt-hand-block{flex-direction:column;gap:12px;display:flex}.mt-hand-row{flex-wrap:wrap;gap:8px;display:flex}.mt-hand-tile{border:3px solid var(--ink);width:64px;height:36px;color:var(--ink);cursor:pointer;appearance:none;background:#fff;border-radius:9px;align-items:stretch;margin:0;padding:0;transition:background .15s,border-color .15s,box-shadow .15s,opacity .15s;display:flex;overflow:hidden}.mt-hand-tile--selected{background:#c2410c2e;border-color:#c2410c;box-shadow:0 4px #c2410c73}.mt-hand-tile--dead{opacity:.5;border-color:var(--grey-border);cursor:default;background:#f0f0f5}.mt-hand-half{flex:1;justify-content:center;align-items:center;font-size:17px;font-weight:700;display:flex}.mt-hand-bar{background:var(--ink);width:3px}.mt-draw-row{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.mt-boneyard-stats{color:var(--muted-text);font-size:13px;font-weight:600}.mt-hint{text-align:center;color:var(--muted-text);font-size:clamp(14px,1.8vw,16px);font-weight:600}.ch-table{--ch-brand:#0891b2;max-width:900px;margin:0 auto;padding:clamp(28px,6vw,48px) clamp(16px,4vw,44px) 72px}.ch-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:clamp(16px,2.4vw,26px);display:flex}.ch-header-left{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.ch-game-label{color:var(--ch-brand);font-size:22px;font-weight:700}.ch-header-actions{align-items:center;gap:10px;display:flex}.ch-peer-strip{align-items:center;gap:8px;display:flex}.ch-peer-dot{border:2px solid var(--ink);border-radius:50%;flex:none;width:9px;height:9px}.ch-peer-label{color:var(--muted-text);font-size:13px;font-weight:500}.ch-error-banner{text-align:center;background:var(--coral);color:#fff;border:3px solid var(--ink);box-shadow:0 5px 0 var(--ink);border-radius:999px;margin-bottom:clamp(10px,2vw,18px);padding:10px 22px;font-size:clamp(14px,1.8vw,17px);font-weight:700}.ch-main-card{background:var(--surface);border:4px solid var(--ink);box-shadow:0 10px 0 var(--ink);border-radius:28px;padding:clamp(16px,2.4vw,26px)}.ch-board{aspect-ratio:1;border:4px solid var(--ink);border-radius:14px;grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);width:100%;max-width:640px;margin:0 auto;display:grid;overflow:hidden}.ch-cell{position:relative}.ch-piece-slot{position:absolute;inset:0}.ch-piece-slot--sliding{animation:.32s cubic-bezier(.16,1,.3,1) ch-slide-in}@keyframes ch-slide-in{0%{transform:translate(calc(var(--dx) * 100%), calc(var(--dy) * 100%))}to{transform:translate(0)}}.ch-piece{border:3px solid var(--ink);appearance:none;cursor:default;border-radius:50%;width:74%;height:74%;padding:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px #0000004d,inset 0 2px #ffffff40}button.ch-piece{cursor:pointer}.ch-glyph{color:#fff;pointer-events:none;justify-content:center;align-items:center;font-size:min(5.5vw,36px);line-height:1;display:flex;position:absolute;inset:0}.ch-ring{pointer-events:none;border-radius:50%;width:82%;height:82%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ch-ring--selected{border:3px solid var(--coral)}.ch-dest{border:3.5px solid var(--ch-brand);appearance:none;cursor:pointer;background:#0891b24d;border-radius:50%;width:82%;height:82%;padding:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ch-promo{justify-content:center;align-items:center;gap:10px;display:flex}.ch-promo-piece{border:3px solid var(--ink);appearance:none;cursor:pointer;border-radius:50%;width:48px;height:48px;padding:0;position:relative;box-shadow:0 2px #0000004d}.ch-promo-label{text-align:center;color:var(--ch-brand);margin-bottom:14px;font-size:18px;font-weight:700}.ch-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:14px;display:flex}.ch-control-text{color:var(--muted-text);font-size:15px;font-weight:600}.ch-status{text-align:center;flex-direction:column;align-items:center;gap:6px;margin-top:clamp(14px,2vw,22px);display:flex}.ch-status-text{font-size:clamp(17px,2.2vw,24px);font-weight:700;line-height:1.2}.ch-hint{color:var(--muted-text);font-size:14px}.ch-difficulty-list{flex-direction:column;gap:10px;margin-top:10px;display:flex}.ch-difficulty-option{border:3px solid var(--grey-border);cursor:pointer;text-align:left;background:#fff;border-radius:16px;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:12px 16px;font-family:inherit;transition:background .1s,border-color .1s;display:flex}.ch-difficulty-option:hover{border-color:var(--ink)}.ch-difficulty-option--selected{border-color:var(--ch-brand);background:#e3eef7}.ch-difficulty-name{font-size:15px;font-weight:700}.ch-difficulty-desc{color:var(--muted-text);font-size:13px;font-weight:500}.uno-card-face{cursor:pointer;color:#fff;appearance:none;border-style:solid;flex:none;margin:0;padding:0;font-family:Fredoka,system-ui,sans-serif;font-weight:700;transition:transform .15s,border-color .15s,box-shadow .15s;display:block;position:relative}.uno-card-face:disabled{cursor:default;pointer-events:none}.uno-card-face--hand{border-width:2px;border-color:var(--ink);width:70px;height:100px;box-shadow:var(--card-shadow);border-radius:6px}.uno-card-face--hand:hover:not(:disabled){transform:translateY(-2px)}.uno-card-face--hand:active:not(:disabled){transform:translateY(2px)}.uno-card-face--hand.uno-card-face--selected,.uno-card-face--hand.uno-card-face--selected:hover{border-color:var(--yellow);box-shadow:var(--card-shadow-selected);transform:translateY(-4px)}.uno-card-face--discard{border-width:2px;border-color:var(--ink);width:70px;height:100px;box-shadow:var(--card-shadow);border-radius:6px}.uno-card-face--red{--uno-face-color:#e11d2e;background:var(--uno-face-color)}.uno-card-face--yellow{--uno-face-color:#eab308;background:var(--uno-face-color)}.uno-card-face--green{--uno-face-color:#16a34a;background:var(--uno-face-color)}.uno-card-face--blue{--uno-face-color:#2f6fed;background:var(--uno-face-color)}.uno-card-face--wild{background:linear-gradient(135deg,#ff5d73 0%,#6c4cff 33%,#1aa06d 66%,#ffd23f 100%)}.uno-card-face__corner{color:#fff;font-size:15px;font-weight:800;line-height:1;position:absolute;top:6px;left:7px}.uno-card-face__corner--flipped{inset:auto 7px 6px auto;transform:rotate(180deg)}.uno-card-face--yellow .uno-card-face__corner{color:var(--ink)}.uno-card-face__badge{aspect-ratio:1;background:#ffffffeb;border-radius:50%;justify-content:center;align-items:center;width:74%;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-8deg)}.uno-card-face__center-symbol,.uno-card-face__center-label{white-space:nowrap;font-weight:800;line-height:1;transform:rotate(8deg)}.uno-card-face__center-symbol{color:var(--uno-face-color)}.uno-card-face__center-label,.uno-card-face--yellow .uno-card-face__center-symbol{color:var(--ink)}.uno-card-face--hand .uno-card-face__corner{font-size:15px}.uno-card-face--hand .uno-card-face__center-symbol{font-size:24px}.uno-card-face--hand .uno-card-face__center-label{font-size:14px}.uno-card-face--discard .uno-card-face__corner{font-size:15px}.uno-card-face--discard .uno-card-face__center-symbol{font-size:24px}.uno-card-face--discard .uno-card-face__center-label{font-size:14px}.uno-card-back{background:var(--ink);cursor:pointer;appearance:none;border-style:solid;flex:none;margin:0;padding:0;font-family:Fredoka,system-ui,sans-serif;transition:transform .15s,border-color .15s;display:block;position:relative;overflow:hidden}.uno-card-back:disabled{cursor:default;pointer-events:none}.uno-card-back--fan{border-width:1px;border-color:var(--ink);border-radius:3px;width:30px;height:44px}.uno-card-back--hand{border-width:2px;border-color:var(--ink);width:70px;height:100px;box-shadow:var(--card-shadow);border-radius:6px}.uno-card-back--hand:hover:not(:disabled){transform:translateY(-2px)}.uno-card-back--hand:active:not(:disabled){transform:translateY(2px)}.uno-card-back--stock{border-width:2px;border-color:var(--ink);width:70px;height:100px;box-shadow:var(--card-deck-shadow);border-radius:6px}.uno-card-back--stock.uno-card-back--can-draw{border-color:var(--yellow)}.uno-card-back--stock:hover:not(:disabled){transform:translateY(-2px)}.uno-card-back--stock:active:not(:disabled){transform:translateY(2px)}.uno-card-back--small{border-width:1px;border-color:var(--ink);border-radius:1px;width:14px;height:26px}.uno-table{--uno-brand:#e11d2e;max-width:1260px;margin:0 auto;padding:clamp(28px,6vw,48px) clamp(16px,4vw,44px) 72px}.uno-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:clamp(16px,2.4vw,26px);display:flex}.uno-header-left{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.uno-game-label{color:var(--uno-brand);font-size:22px;font-weight:700}.uno-header-actions{align-items:center;gap:10px;display:flex}.uno-peer-strip{align-items:center;gap:8px;display:flex}.uno-peer-dot{border:2px solid var(--ink);border-radius:50%;flex:none;width:9px;height:9px}.uno-peer-label{color:var(--muted-text);font-size:13px;font-weight:500}.uno-error-banner{text-align:center;background:var(--coral);color:#fff;border:3px solid var(--ink);box-shadow:0 5px 0 var(--ink);border-radius:999px;margin-bottom:clamp(10px,2vw,18px);padding:10px 22px;font-size:clamp(14px,1.8vw,17px);font-weight:700}.uno-table-card{background:var(--surface);border:4px solid var(--ink);box-shadow:0 10px 0 var(--ink);border-radius:28px;flex-flow:row-reverse wrap;justify-content:center;align-items:flex-start;gap:clamp(16px,2.4vw,26px);padding:clamp(16px,2.4vw,26px);display:flex}.uno-table-card>.deal-intro{width:100%}.uno-rail{flex-direction:column;flex:230px;align-self:stretch;gap:clamp(12px,1.6vw,16px);min-width:0;max-width:330px;display:flex}.uno-rail-caption{color:var(--muted-text);font-size:13px;font-weight:700}.uno-rail-title{letter-spacing:.08em;text-transform:uppercase;color:var(--muted-text);font-size:12px;font-weight:700}.uno-scoreboard{flex-direction:column;gap:8px;display:flex}.uno-score-row{border:3px solid var(--grey-border);background:#fff;border-radius:16px;align-items:center;gap:12px;padding:10px 14px;transition:background .2s,border-color .2s;display:flex}.uno-score-row--turn .uno-score-sub{color:#ffffffd9}.uno-score-row--turn .uno-seat-dot{border-color:#ffffffd9}.uno-seat-dot{border:2px solid var(--ink);border-radius:50%;flex:none;width:14px;height:14px}.uno-score-info{flex-direction:column;gap:1px;min-width:0;display:flex}.uno-score-name{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;overflow:hidden}.uno-score-sub{color:var(--muted-text);font-size:11px;font-weight:600}.uno-score-value{margin-left:auto;font-size:20px;font-weight:700;line-height:1.1}.uno-log{background:var(--surface-alt);border:2px solid var(--grey-border-2);border-radius:14px;flex-direction:column;gap:6px;padding:10px 14px;display:flex}.uno-log-line{color:var(--body-text);font-size:13px;font-weight:600;line-height:1.35}.uno-status{color:var(--body-text);font-size:clamp(15px,2vw,18px);font-weight:600;line-height:1.3}@media (width<=899px){.uno-rail{flex-basis:100%;max-width:100%}}.uno-board-col{flex-direction:column;flex:620px;gap:clamp(16px,2.4vw,26px);min-width:0;display:flex}.uno-round-banner{text-align:center;background:var(--yellow);color:var(--ink);border:3px solid var(--ink);box-shadow:0 5px 0 var(--ink);border-radius:999px;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;padding:10px 22px;font-size:clamp(14px,1.8vw,17px);font-weight:700;display:flex}.uno-opp-rail{--uno-opp-gap:clamp(10px, 1.6vw, 14px);gap:var(--uno-opp-gap);flex-wrap:wrap;display:flex}.uno-opp-tile{max-width:calc((100% - 2 * var(--uno-opp-gap)) / 3);border:3px solid var(--grey-border);background:#fff;border-radius:16px;flex-direction:column;flex:190px;gap:6px;padding:10px 12px;transition:background .2s,border-color .2s;display:flex}.uno-opp-tile-top{align-items:center;gap:6px;min-width:0;display:flex}.uno-opp-tile-bottom{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.uno-opp-tile--turn .uno-opp-count{color:#ffffffd9}.uno-opp-tile--turn .uno-seat-dot{border-color:#ffffffd9}.uno-opp-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:15px;font-weight:700;overflow:hidden}.uno-opp-stack{align-items:center;min-width:0;display:flex}.uno-opp-stack .uno-card-back--small+.uno-card-back--small{margin-left:-10px}.uno-opp-count{color:var(--muted-text);white-space:nowrap;font-size:12px;font-weight:600}.uno-turn-tag{color:#fff;text-transform:uppercase;letter-spacing:.05em;border-radius:999px;flex:none;padding:2px 9px;font-size:11px;font-weight:700}.uno-call-btn{letter-spacing:.06em;text-transform:uppercase;border:2px solid var(--grey-border);background:var(--grey-fill);color:var(--disabled-text);cursor:not-allowed;border-radius:999px;margin-left:auto;padding:5px 14px;font-family:inherit;font-size:12px;font-weight:700;transition:background .15s,color .15s,border-color .15s}.uno-call-btn:not(:disabled){background:var(--surface);border-color:var(--grey-border-2);color:var(--body-text);cursor:pointer}.uno-centre{border-top:3px solid var(--grey-fill);border-bottom:3px solid var(--grey-fill);flex-wrap:wrap;gap:clamp(16px,2.4vw,28px);padding:clamp(14px,2vw,22px) 0;display:flex}.uno-centre-left{flex-wrap:wrap;flex:380px;align-items:flex-start;gap:clamp(12px,2vw,20px);display:flex}.uno-centre-right{flex-direction:column;flex:200px;align-items:flex-end;gap:10px;display:flex}.uno-stock-group{flex-direction:column;align-items:flex-start;display:flex}.uno-stock-caption{color:var(--muted-text);margin-bottom:6px;font-size:12px;font-weight:600}.uno-stock-card-wrapper{padding-top:14px}.uno-discard-group{flex:auto;min-width:0}.uno-discard-caption{color:var(--muted-text);margin-bottom:6px;font-size:12px;font-weight:600}.uno-discard-slot{align-items:flex-start;min-height:78px;padding-top:14px;display:flex}.uno-discard-empty{color:var(--faint-text);padding:8px 0;font-size:13px;font-weight:500}.uno-color-picker{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.uno-color-picker-label{color:var(--muted-text);font-size:12px;font-weight:600}.uno-color-swatches{gap:8px;display:flex}.uno-color-swatch{border:3px solid var(--ink);width:34px;height:34px;box-shadow:0 3px 0 var(--ink);cursor:pointer;appearance:none;border-radius:50%;padding:0;transition:transform .1s}.uno-color-swatch:hover{transform:translateY(-2px)}.uno-color-swatch:active{box-shadow:0 1px 0 var(--ink);transform:translateY(1px)}.uno-swap-target-button{flex-direction:column;align-items:center;gap:6px;display:flex}.uno-swap-target-name{text-align:center;color:var(--ink);word-break:break-word;max-width:50px;font-size:12px;font-weight:500;line-height:1.2}.uno-hand-section{flex-direction:column;gap:10px;display:flex}.uno-hand-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.uno-hand-header-left{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.uno-hand-label{font-size:16px;font-weight:700}.uno-hand-stats{color:var(--muted-text);white-space:nowrap;font-size:13px;font-weight:500}.uno-hand-fan{min-height:120px;padding-top:20px;padding-bottom:6px;display:flex}.uno-hand-fan .uno-card-face--hand,.uno-hand-fan .uno-card-back--hand{z-index:1}.uno-hand-fan>*+*{margin-left:-30px}.uno-actions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:6px;display:flex}.uno-action-btn{height:44px;padding-left:28px;padding-right:28px}.uno-play-btn{background:var(--uno-brand);color:#fff;border-color:var(--ink);box-shadow:0 7px 0 var(--ink)}.uno-reveal-btn{background:var(--surface);height:44px;color:var(--ink);border:3px solid var(--grey-border-2);box-shadow:0 4px 0 var(--grey-border);border-radius:999px;padding-left:20px;padding-right:20px;font-size:14px}.uno-action-hint{color:var(--muted-text);font-size:14px}.uno-house-rules{flex-direction:column;gap:10px;display:flex}.uno-house-rule{border:3px solid var(--grey-border);cursor:pointer;text-align:left;background:#fff;border-radius:16px;align-items:center;gap:14px;width:100%;padding:12px 14px 12px 16px;font-family:inherit;transition:border-color .1s;display:flex}.uno-house-rule:hover:not(:disabled),.uno-house-rule--on{border-color:var(--ink)}.uno-house-rule:disabled{cursor:default}.uno-house-rule-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.uno-house-rule-label{font-size:15px;font-weight:700}.uno-house-rule-desc{color:var(--muted-text);font-size:13px;font-weight:500}.uno-house-rule-pill{border:3px solid var(--ink);color:var(--ink);background:#fff;border-radius:999px;flex:none;padding:6px 14px;font-size:13px;font-weight:700}.uno-house-rule--on .uno-house-rule-pill{background:var(--ink);color:#fff}.skipbo-card{cursor:pointer;color:#fff;border-style:solid;border-color:var(--ink);appearance:none;flex:none;justify-content:center;align-items:center;margin:0;padding:0;font-family:Fredoka,system-ui,sans-serif;font-weight:700;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex;position:relative}.skipbo-card:disabled{cursor:default;pointer-events:none}.skipbo-card--hand{width:70px;height:100px;box-shadow:var(--card-shadow);border-width:2px;border-radius:6px}.skipbo-card--hand:hover:not(:disabled){transform:translateY(-2px)}.skipbo-card--hand.skipbo-card--selected,.skipbo-card--hand.skipbo-card--selected:hover{box-shadow:var(--card-shadow-selected);border-color:#be185d;transform:translateY(-4px)}.skipbo-card--tile{width:44px;height:62px;box-shadow:var(--card-shadow);border-width:1px;border-radius:4px}.skipbo-card--tile.skipbo-card--selected,.skipbo-card--tile.skipbo-card--selected:hover{box-shadow:var(--card-shadow-selected);border-color:#be185d;transform:translateY(-2px)}.skipbo-card--wild{background:linear-gradient(135deg,#ff5d73 0%,#ff9f1c 20%,#ffd23f 40%,#1aa06d 60%,#2f6fed 80%,#6c4cff 100%)}.skipbo-card__wild-badge{aspect-ratio:1;background:#fffffff0;border-radius:50%;justify-content:center;align-items:center;width:68%;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.skipbo-card__wild-label{color:var(--ink);white-space:nowrap;font-weight:800;line-height:1}.skipbo-card__corner{color:var(--sb-face-text,#fff);font-size:15px;font-weight:800;line-height:1;position:absolute;top:6px;left:7px}.skipbo-card__corner--flipped{inset:auto 7px 6px auto;transform:rotate(180deg)}.skipbo-card__number{color:var(--sb-face-text,#fff);white-space:nowrap;line-height:1}.skipbo-card--hand .skipbo-card__number{font-size:34px}.skipbo-card--tile .skipbo-card__number{font-size:21px}.skipbo-card--hand .skipbo-card__wild-label{font-size:15px}.skipbo-card--tile .skipbo-card__wild-label{font-size:10px}.skipbo-card-back{cursor:pointer;color:#fff;border-style:solid;border-color:var(--ink);appearance:none;background:#17173a;flex:none;justify-content:center;align-items:center;margin:0;padding:0;font-family:Fredoka,system-ui,sans-serif;font-weight:700;transition:transform .15s,border-color .15s;display:flex;position:relative;overflow:hidden}.skipbo-card-back:disabled{cursor:default;pointer-events:none}.skipbo-card-back--fan{border-width:1px;border-radius:3px;width:30px;height:44px}.skipbo-card-back--stock{width:56px;height:78px;box-shadow:var(--card-deck-shadow);border-width:2px;border-radius:5px}.skipbo-card-back--stock:hover:not(:disabled){transform:translateY(-2px)}.skipbo-card-back--stock.skipbo-card-back--can-draw{border-color:var(--yellow)}.sb-table{max-width:1260px;margin:0 auto;padding:clamp(28px,6vw,48px) clamp(16px,4vw,44px) 72px}.sb-subheader{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:clamp(16px,2.4vw,26px);display:flex}.sb-stock-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sb-stock-pill{border:3px solid var(--ink);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:5px 14px;font-size:14px;font-weight:700;display:flex;box-shadow:0 3px #c9c9e0}.sb-stock-dot{border-radius:50%;flex:none;width:9px;height:9px;display:block}.sb-stock-hint{color:var(--muted-text);font-size:12px;font-weight:500}.sb-error-banner{text-align:center;background:var(--coral);color:#fff;border:3px solid var(--ink);box-shadow:0 5px 0 var(--ink);border-radius:999px;margin-bottom:clamp(10px,2vw,18px);padding:10px 22px;font-size:clamp(14px,1.8vw,17px);font-weight:700}.sb-table-card{background:var(--surface);border:4px solid var(--ink);box-shadow:0 10px 0 var(--ink);border-radius:28px;flex-direction:column;padding:clamp(16px,2.4vw,26px);display:flex}.sb-opp-rail{--sb-opp-gap:clamp(10px, 1.6vw, 14px);gap:var(--sb-opp-gap);flex-wrap:wrap;padding-bottom:clamp(12px,2vw,20px);display:flex}.sb-opp-tile{max-width:calc((100% - 3 * var(--sb-opp-gap)) / 4);border:3px solid var(--grey-border);background:#fff;border-radius:16px;flex-direction:column;flex:260px;gap:8px;min-width:0;padding:12px 14px;transition:background .2s,border-color .2s;display:flex}.sb-opp-rail .sb-opp-tile:only-child{max-width:100%}.sb-opp-tile-top{align-items:center;gap:6px;min-width:0;display:flex}.sb-seat-dot{border:2px solid var(--ink);border-radius:50%;flex:none;width:14px;height:14px}.sb-opp-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:15px;font-weight:700;overflow:hidden}.sb-turn-tag{color:#fff;text-transform:uppercase;letter-spacing:.05em;border-radius:999px;flex:none;padding:2px 9px;font-size:11px;font-weight:700}.sb-opp-tile--turn .sb-opp-tile-count{color:#ffffffd9}.sb-opp-tile--turn .sb-seat-dot{border-color:#ffffffd9}.sb-opp-tile-hand,.sb-opp-tile-stock,.sb-opp-tile-discards{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.sb-opp-tile-fan{flex:none;display:flex}.sb-opp-tile-count{color:var(--muted-text);white-space:nowrap;font-size:12px;font-weight:600}.sb-empty-tile{border:3px dashed var(--slate-pip);box-sizing:border-box;background:0 0;border-radius:4px;flex:none;width:44px;height:62px;display:block}.sb-empty-tile--hand{border-radius:6px;width:70px;height:100px}.sb-build-band{border-top:3px solid var(--grey-fill);border-bottom:3px solid var(--grey-fill);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:clamp(16px,2.4vw,28px);padding:clamp(14px,2vw,22px) 0;display:flex}.sb-build-piles{flex-wrap:wrap;align-items:flex-start;gap:clamp(10px,1.6vw,16px);display:flex}.sb-build-pile{flex-direction:column;align-items:center;gap:4px;display:flex}.sb-build-caption{color:var(--muted-text);margin-bottom:2px;font-size:12px;font-weight:600}.sb-build-slot{justify-content:center;align-items:flex-start;min-height:100px;display:flex}.sb-build-slot--playable{cursor:pointer;outline:3px solid var(--yellow);outline-offset:4px;border-radius:12px}.sb-draw-group{flex-direction:column;align-items:center;gap:4px;display:flex}.sb-draw-caption,.sb-used-caption{color:var(--muted-text);font-size:12px;font-weight:600}.sb-draw-slot{align-items:flex-start;min-height:100px;padding-top:10px;display:flex}.sb-draw-slot .skipbo-card-back--stock{width:70px;height:100px;box-shadow:var(--card-deck-shadow);border-width:2px;border-radius:6px}.sb-your-side{flex-direction:column;gap:clamp(8px,1.6vw,16px);padding-top:clamp(12px,2vw,20px);display:flex}.sb-your-band{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.sb-source-group{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.sb-source-caption{color:var(--muted-text);margin-bottom:2px;font-size:12px;font-weight:600}.sb-source-slot{align-items:flex-start;min-height:62px;display:flex}.sb-source-slot--playable{cursor:pointer;outline:3px solid var(--yellow);outline-offset:4px;border-radius:12px}.sb-discard-row{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.sb-your-right{flex-direction:column;flex:200px;align-items:flex-end;gap:10px;display:flex}.sb-turn-chip{color:#fff;border-radius:999px;align-items:center;padding:5px 14px;font-size:13px;font-weight:600;display:inline-flex}.sb-status{text-align:right;font-size:clamp(17px,2.2vw,24px);font-weight:700;line-height:1.2}.sb-hand-section{flex-direction:column;gap:10px;display:flex}.sb-hand-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.sb-hand-header-left{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.sb-hand-label{font-size:16px;font-weight:700}.sb-hand-stats{color:var(--muted-text);white-space:nowrap;font-size:13px;font-weight:500}.sb-hand-fan{min-height:118px;padding-top:20px;padding-bottom:6px;display:flex}.sb-actions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:6px;display:flex}.sb-action-btn{height:56px;padding-left:32px;padding-right:32px}.sb-action-hint{color:var(--muted-text);font-size:14px}.blackjack-table{max-width:1260px;margin:0 auto;padding:clamp(28px,6vw,48px) clamp(16px,4vw,44px) 72px}.blackjack-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:clamp(16px,2.4vw,26px);display:flex}.blackjack-header-left{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.blackjack-game-label{color:var(--coral);font-size:22px;font-weight:700}.blackjack-header-actions{align-items:center;gap:10px;display:flex}.blackjack-peer-strip{align-items:center;gap:8px;display:flex}.blackjack-peer-dot{border:2px solid var(--ink);border-radius:50%;flex:none;width:9px;height:9px}.blackjack-peer-label{color:var(--muted-text);font-size:13px;font-weight:500}.blackjack-error-banner{border:4px solid var(--coral);color:var(--coral);background:#fff;border-radius:16px;margin-bottom:clamp(12px,2vw,20px);padding:12px 16px;font-size:14px;font-weight:700}.blackjack-table-card{background:var(--surface);border:4px solid var(--ink);box-shadow:0 10px 0 var(--ink);border-radius:28px;flex-direction:column;padding:clamp(16px,2.4vw,26px);display:flex}.blackjack-opp-rail{--blackjack-opp-gap:clamp(10px, 1.6vw, 14px);gap:var(--blackjack-opp-gap);flex-wrap:wrap;margin-bottom:clamp(12px,2vw,20px);padding-bottom:clamp(12px,2vw,20px);display:flex}.blackjack-opp-tile{border:3px solid var(--grey-border);background:#fff;border-radius:16px;flex-direction:column;flex:200px;gap:8px;min-width:160px;max-width:260px;padding:12px 14px;transition:border-color .2s;display:flex}.blackjack-opp-tile--turn{border-width:4px}.blackjack-opp-tile-top{justify-content:space-between;align-items:flex-start;gap:8px;min-width:0;display:flex}.blackjack-opp-identity{align-items:center;gap:6px;min-width:0;display:flex}.blackjack-seat-dot{border:2px solid var(--ink);border-radius:50%;flex:none;width:14px;height:14px}.blackjack-opp-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:15px;font-weight:700;overflow:hidden}.blackjack-turn-tag{color:#fff;text-transform:uppercase;letter-spacing:.05em;border-radius:999px;flex:none;align-self:flex-start;padding:2px 9px;font-size:11px;font-weight:700}.blackjack-opp-chip-badge{border:2px solid var(--ink);background:var(--yellow);border-radius:10px;flex-direction:column;flex:none;align-items:flex-end;gap:1px;padding:4px 10px;display:flex}.blackjack-opp-chip-value{color:var(--ink);font-size:14px;font-weight:700;line-height:1.2}.blackjack-opp-bet-value{color:var(--ink);opacity:.75;white-space:nowrap;font-size:11px;font-weight:600;line-height:1.2}.blackjack-opp-hands{flex-direction:column;gap:8px;display:flex}.blackjack-opp-hand{flex-direction:column;gap:4px;display:flex}.blackjack-opp-hand-separator{background:var(--grey-border);height:1px;margin:4px 0}.blackjack-opp-cards{flex-wrap:wrap;gap:4px;display:flex}.blackjack-opp-total{color:var(--body-text);font-size:11px;font-weight:700}.blackjack-opp-result{border-radius:4px;padding:2px 4px;font-size:10px;font-weight:600}.blackjack-opp-result--win,.blackjack-opp-result--blackjack{color:#0a6b42;background-color:#d4f0e8}.blackjack-opp-result--lose{color:#a00;background-color:#ffe8e8}.blackjack-opp-result--push{color:#666;background-color:#f5f5f5}.blackjack-pre-deal{flex-direction:column;align-items:center;gap:18px;padding:clamp(32px,5vw,56px) 16px;display:flex}.blackjack-pre-deal-status{color:var(--body-text);font-size:15px;font-weight:700}.blackjack-pre-deal-panel{color:var(--body-text);flex-direction:column;align-items:center;gap:12px;font-size:14px;font-weight:600;display:flex}.blackjack-centre{border:3px solid var(--yellow);background:#fff8e6;border-radius:20px;flex-flow:wrap;align-items:center;gap:clamp(20px,3vw,28px);margin-bottom:clamp(12px,2vw,20px);padding:clamp(16px,2.4vw,22px) clamp(18px,2.8vw,28px);display:flex;box-shadow:0 4px #f0c020}.blackjack-shoe-group{flex-direction:column;flex:none;align-items:flex-start;gap:6px;display:flex}.blackjack-shoe-caption{color:#8a6b1f;font-size:12px;font-weight:600}.blackjack-dealer-group{flex-direction:column;flex:none;gap:8px;display:flex}.blackjack-dealer-label{letter-spacing:.06em;text-transform:uppercase;color:#8a6b1f;font-size:13px;font-weight:700}.blackjack-dealer-cards{align-items:flex-start;gap:12px;display:flex}.blackjack-dealer-card-wrapper{flex-direction:column;align-items:center;display:flex}.blackjack-dealer-status{text-align:right;flex-direction:column;gap:4px;margin-left:auto;display:flex}.blackjack-dealer-status-line{color:#8a6b1f;font-size:15px;font-weight:700}.blackjack-dealer-status-line--muted{opacity:.8;font-size:13px;font-weight:600}.blackjack-dealer-total{color:#8a6b1f;font-size:15px;font-weight:700}.blackjack-your-side{flex-flow:wrap;align-items:flex-start;gap:clamp(20px,3vw,32px);padding-top:clamp(12px,2vw,20px);display:flex}.blackjack-your-hands{flex-direction:column;flex:320px;gap:8px;min-width:0;display:flex}.blackjack-your-controls{flex-direction:column;flex:0 380px;gap:clamp(12px,2vw,20px);min-width:300px;display:flex}.blackjack-action-grid{grid-template-columns:repeat(2,minmax(110px,1fr));gap:10px;display:grid}.blackjack-grid-btn{width:100%}.blackjack-grid-btn-with-caption{flex-direction:column;gap:4px;display:flex}.blackjack-grid-btn-caption{color:var(--muted-text);text-align:center;font-size:11px;font-weight:500}.blackjack-chip-bank{border:4px solid var(--ink);background:var(--yellow);box-shadow:0 4px 0 var(--ink);border-radius:12px;flex-direction:column;align-items:flex-start;gap:6px;width:fit-content;padding:14px 18px;display:flex}.blackjack-chip-bank-label{color:var(--ink);font-size:12px;font-weight:600}.blackjack-chip-bank-value{color:var(--ink);font-size:24px;font-weight:700}.blackjack-your-hand{border:2px solid #0000;border-radius:12px;flex-direction:column;gap:8px;padding:8px;display:flex}.blackjack-your-hand--active{border-color:var(--coral);background:#fff5f6}.blackjack-your-hand-label{color:var(--body-text);align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.blackjack-your-hand-active-tag{color:#fff;background:var(--coral);text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:2px 9px;font-size:11px;font-weight:700}.blackjack-your-hand-separator{background:var(--grey-border);height:1px;margin:4px 0}.blackjack-your-cards{flex-wrap:wrap;gap:8px;display:flex}.blackjack-your-total{color:var(--body-text);font-size:14px;font-weight:700}.blackjack-your-result{border-radius:6px;width:fit-content;padding:4px 8px;font-size:12px;font-weight:600}.blackjack-your-result--win,.blackjack-your-result--blackjack{color:#0a6b42;background-color:#d4f0e8}.blackjack-your-result--lose{color:#a00;background-color:#ffe8e8}.blackjack-your-result--push{color:#666;background-color:#f5f5f5}.blackjack-action-section{flex-direction:column;gap:12px;display:flex}.blackjack-action-label{color:var(--body-text);font-size:14px;font-weight:600}.blackjack-bet-controls{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.blackjack-bet-button{border:3px solid var(--ink);cursor:pointer;background:#fff;border-radius:8px;flex:none;width:40px;height:40px;font-size:16px;font-weight:700}.blackjack-bet-amount{text-align:center;min-width:60px;font-size:18px;font-weight:700}.blackjack-round-results{color:var(--body-text);border:2px solid var(--grey-border);background:#f5f5f5;border-radius:12px;flex-direction:column;gap:6px;margin-bottom:12px;padding:14px 16px;font-size:14px;display:flex}.blackjack-round-over-actions{flex-direction:column;gap:10px;display:flex}.blackjack-round-over-actions .btn{width:100%}.holdem-table{max-width:1400px;margin:0 auto;padding:clamp(28px,6vw,48px) clamp(16px,4vw,44px) 72px}.holdem-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:clamp(16px,2.4vw,26px);display:flex}.holdem-header-left{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.holdem-game-label{color:var(--coral);font-size:22px;font-weight:700}.holdem-header-actions{align-items:center;gap:10px;display:flex}.holdem-peer-strip{align-items:center;gap:8px;display:flex}.holdem-peer-dot{border:2px solid var(--ink);border-radius:50%;flex:none;width:9px;height:9px}.holdem-peer-label{color:var(--muted-text);font-size:13px;font-weight:500}.holdem-error-banner{border:4px solid var(--coral);color:var(--coral);background:#fff;border-radius:16px;margin-bottom:clamp(12px,2vw,20px);padding:12px 16px;font-size:14px;font-weight:700}.holdem-table-card{background:var(--surface);border:4px solid var(--ink);box-shadow:0 10px 0 var(--ink);border-radius:28px;flex-direction:column;padding:clamp(16px,2.4vw,26px);display:flex}.holdem-blinds-stage{flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:clamp(48px,8vw,84px) 16px;display:flex}.holdem-blinds-caption{letter-spacing:.04em;text-transform:uppercase;color:var(--muted-text);font-size:13px;font-weight:600}.holdem-blinds-seat{font-size:18px;font-weight:700}.holdem-opp-rail{--holdem-opp-gap:clamp(10px, 1.6vw, 14px);gap:var(--holdem-opp-gap);flex-wrap:wrap;margin-bottom:clamp(12px,2vw,20px);padding-bottom:clamp(12px,2vw,20px);display:flex}.holdem-opp-tile{border:3px solid var(--grey-border);background:#fff;border-radius:16px;flex-direction:column;flex:200px;gap:8px;min-width:160px;max-width:260px;padding:12px 14px;transition:border-color .2s;display:flex}.holdem-opp-tile--turn{border-width:4px}.holdem-opp-tile-top{justify-content:space-between;align-items:flex-start;gap:8px;min-width:0;display:flex}.holdem-opp-identity{align-items:center;gap:6px;min-width:0;display:flex}.holdem-seat-dot{border:2px solid var(--ink);border-radius:50%;flex:none;width:14px;height:14px}.holdem-opp-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:15px;font-weight:700;overflow:hidden}.holdem-turn-tag{color:#fff;text-transform:uppercase;letter-spacing:.05em;border-radius:999px;flex:none;align-self:flex-start;padding:2px 9px;font-size:11px;font-weight:700}.holdem-opp-chip-badge{border:2px solid var(--ink);background:var(--yellow);border-radius:10px;flex-direction:column;flex:none;align-items:flex-end;gap:1px;padding:4px 10px;display:flex}.holdem-opp-chip-value{color:var(--ink);font-size:14px;font-weight:700;line-height:1.2}.holdem-opp-bet-value{color:var(--ink);opacity:.75;white-space:nowrap;font-size:11px;font-weight:600;line-height:1.2}.holdem-opp-badges{flex-wrap:wrap;gap:6px;display:flex}.holdem-opp-cards{justify-content:flex-start;gap:4px;display:flex}.holdem-centre{border:3px solid var(--yellow);background:#fff8e6;border-radius:20px;flex-flow:wrap;align-items:center;gap:clamp(20px,3vw,28px);margin-bottom:clamp(12px,2vw,20px);padding:clamp(16px,2.4vw,22px) clamp(18px,2.8vw,28px);display:flex;box-shadow:0 4px #f0c020}.holdem-deck-group{flex-direction:column;flex:none;align-items:flex-start;gap:6px;display:flex}.holdem-deck-caption{color:#8a6b1f;font-size:12px;font-weight:600}.holdem-board-group{flex:none;width:410px;max-width:100%}.holdem-board{justify-content:flex-start;gap:10px;display:flex}.holdem-board-slot--empty{width:74px;height:104px}@media (width<=480px){.holdem-board-group{width:100%}.holdem-board{gap:6px}.holdem-board .playing-card--hand,.holdem-board-slot--empty{width:calc(20% - 4.8px);height:calc(28.1081% - 6.74595px)}}.holdem-centre-right{align-items:center;gap:clamp(14px,2vw,20px);margin-left:auto;display:flex}.holdem-centre-status{color:#8a6b1f;font-size:14px;font-weight:600}.holdem-pot{border:3px solid var(--ink);background:var(--yellow);border-radius:999px;flex:none;align-items:center;gap:8px;padding:8px 20px;display:flex}.holdem-pot-label{color:var(--ink);font-size:13px;font-weight:600}.holdem-pot-value{color:var(--ink);font-size:26px;font-weight:700}.holdem-your-side{flex-flow:wrap;align-items:flex-start;gap:clamp(20px,3vw,32px);padding-top:clamp(12px,2vw,20px);display:flex}.holdem-your-hand-col{flex:320px;min-width:0}.holdem-your-controls{flex-direction:column;flex:340px;gap:clamp(12px,2vw,20px);min-width:280px;max-width:420px;display:flex}.holdem-chip-bank{border:4px solid var(--ink);background:var(--yellow);box-shadow:0 4px 0 var(--ink);border-radius:12px;flex-direction:column;align-items:flex-start;gap:6px;width:fit-content;padding:14px 18px;display:flex}.holdem-chip-bank-label{color:var(--ink);font-size:12px;font-weight:600}.holdem-chip-bank-value{color:var(--ink);font-size:24px;font-weight:700}.holdem-your-cards{gap:8px;display:flex}.holdem-action-section{flex-direction:column;gap:12px;display:flex}.holdem-action-buttons{flex-wrap:wrap;gap:10px;display:flex}.holdem-hand-over-actions{flex-direction:column;gap:10px;display:flex}.holdem-hand-over-actions .btn{width:100%}.holdem-fold-btn{border:4px solid var(--ink);color:var(--muted-text);background:0 0;min-width:90px;margin-left:auto}.holdem-bet-section{flex-direction:column;gap:12px;display:flex}.holdem-bet-section-header{justify-content:space-between;align-items:center;display:flex}.holdem-bet-label{color:var(--body-text);font-size:14px;font-weight:600}.holdem-cancel-link{color:var(--muted-text);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:600;text-decoration:underline}.holdem-bet-stepper-group{align-items:center;gap:12px;display:flex}.holdem-stepper-btn{border:3px solid var(--ink);cursor:pointer;background:#fff;border-radius:8px;flex:none;width:40px;height:40px;font-size:16px;font-weight:700}.holdem-bet-display{text-align:center;min-width:60px;font-size:18px;font-weight:700}.holdem-preset-buttons{flex-wrap:wrap;gap:10px;display:flex}.holdem-preset-buttons .btn{flex:auto;min-width:80px}.holdem-hand-results{color:var(--body-text);text-align:right;background:#fff;border:2px solid #f0c020;border-radius:12px;flex-direction:column;gap:6px;padding:10px 14px;font-size:14px;font-weight:600;display:flex}.holdem-game-over{color:var(--body-text);font-size:16px;font-weight:700}.holdem-your-hand-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.holdem-your-hand-label{font-size:16px;font-weight:700}.holdem-sort-toggle{gap:6px;display:flex}.holdem-sort-btn{border:2px solid var(--grey-border);background:var(--surface);color:var(--muted-text);cursor:pointer;border-radius:999px;padding:4px 14px;font-family:inherit;font-size:12px;font-weight:600;transition:background .1s,color .1s}.holdem-sort-btn--active{background:var(--ink);color:#fff;border-color:var(--ink)}.holdem-your-cards--draw{padding-top:18px}.holdem-house-rules{flex-direction:column;gap:10px;display:flex}.holdem-house-rule{border:3px solid var(--grey-border);cursor:pointer;text-align:left;background:#fff;border-radius:16px;align-items:center;gap:14px;width:100%;padding:12px 14px 12px 16px;font-family:inherit;transition:border-color .1s;display:flex}.holdem-house-rule:hover:not(:disabled),.holdem-house-rule--on{border-color:var(--ink)}.holdem-house-rule:disabled{cursor:default}.holdem-house-rule-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.holdem-house-rule-label{font-size:15px;font-weight:700}.holdem-house-rule-desc{color:var(--muted-text);font-size:13px;font-weight:500}.holdem-house-rule-pill{border:3px solid var(--ink);color:var(--ink);background:#fff;border-radius:999px;flex:none;padding:6px 14px;font-size:13px;font-weight:700}.holdem-house-rule--on .holdem-house-rule-pill{background:var(--ink);color:#fff}.sol-table{max-width:1260px;margin:0 auto;padding:clamp(28px,6vw,48px) clamp(16px,4vw,44px) 72px}.sol-subheader{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-bottom:clamp(16px,2.4vw,26px);display:flex}.sol-pill{border:3px solid var(--ink);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:5px 14px;font-size:14px;font-weight:700;display:inline-flex;box-shadow:0 3px #c9c9e0}.sol-caption{color:var(--muted-text);font-size:12px;font-weight:600}.sol-table-card{background:var(--surface);border:4px solid var(--ink);box-shadow:0 10px 0 var(--ink);border-radius:28px;flex-direction:column;padding:clamp(16px,2.4vw,26px);display:flex}.sol-top{flex-wrap:wrap;align-items:flex-start;gap:clamp(28px,4vw,48px);margin-bottom:22px;display:flex}.sol-group{flex-direction:column;align-items:center;gap:4px;display:flex}.sol-row{gap:10px;display:flex}.sol-status{color:var(--body-text);margin-bottom:18px;font-size:15px}.sol-notice{background:var(--coral);color:#fff;border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink);border-radius:999px;margin:-8px 0 18px;padding:8px 18px;font-size:14px;font-weight:700;display:inline-block}.sol-stuck-banner{border:3px solid var(--ink);color:var(--body-text);background:#fff4d6;border-radius:16px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;padding:10px 16px;font-size:14px;font-weight:600;display:flex}.sol-tableau{align-items:flex-start;gap:clamp(10px,1.4vw,20px);padding-bottom:8px;display:flex;overflow-x:auto}.sol-column{flex:none;width:75px;height:627px;position:relative}.sol-column--spider{height:950px}.sol-slot{border:3px dashed var(--grey-border);cursor:pointer;appearance:none;background:0 0;border-radius:12px;justify-content:center;align-items:center;width:75px;height:105px;padding:0;font-family:inherit;display:flex}.sol-slot:disabled{cursor:default}.sol-empty{border:3px dashed var(--grey-border);width:75px;height:105px;color:var(--muted-text);border-radius:12px;justify-content:center;align-items:center;font-size:14px;font-weight:600;display:flex}.sol-target{outline:3px solid var(--yellow);outline-offset:3px}.sol-dragging{visibility:hidden}.sol-pyramid{width:543px;max-width:100%;height:555px;margin:0 auto;position:relative}.scr-table{--scr-brand:#8b6e47;--scr-dl-bg:#cfe0f5;--scr-tl-bg:#e8d4f5;--scr-dw-bg:#fffacd;--scr-tw-bg:#f5d4d4;box-sizing:border-box;flex-direction:column;max-width:1260px;height:100vh;margin:0 auto;padding:clamp(14px,2.4vw,24px) clamp(16px,4vw,44px) clamp(16px,2.4vw,28px);display:flex;overflow-y:auto}.scr-table-card{background:var(--surface);border:4px solid var(--ink);box-shadow:0 10px 0 var(--ink);border-radius:28px;flex:auto;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(240px,320px);align-items:stretch;gap:clamp(10px,1.6vw,20px);min-height:0;padding:clamp(12px,2vw,20px);display:grid}.scr-board-col{justify-content:center;align-items:center;min-width:0;min-height:0;display:flex}.scr-sidebar{flex-direction:column;gap:clamp(6px,1vw,10px);min-width:0;min-height:0;display:flex;overflow-y:auto}.scr-sidebar .scr-hand-section{flex:auto}.scr-error-banner{text-align:center;background:var(--coral);color:#fff;border:3px solid var(--ink);box-shadow:0 5px 0 var(--ink);border-radius:999px;margin-bottom:clamp(10px,2vw,18px);padding:10px 22px;font-size:clamp(14px,1.8vw,17px);font-weight:700}.scr-opp-rail{--scr-opp-gap:clamp(6px, 1.2vw, 10px);gap:var(--scr-opp-gap);flex-wrap:wrap;display:flex}.scr-opp-tile{border:3px solid var(--grey-border);background:#fff;border-radius:12px;flex:auto;align-items:center;gap:clamp(8px,1.2vw,12px);min-width:0;max-width:100%;padding:8px 12px;transition:background .2s,border-color .2s;display:flex}.scr-opp-tile-top{flex:auto;align-items:center;gap:6px;min-width:0;display:flex}.scr-seat-dot{border:2px solid var(--ink);border-radius:50%;flex:none;width:14px;height:14px}.scr-opp-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:15px;font-weight:700;overflow:hidden}.scr-turn-tag{color:#fff;text-transform:uppercase;letter-spacing:.05em;border-radius:999px;flex:none;padding:2px 9px;font-size:11px;font-weight:700}.scr-opp-tile--turn .scr-opp-tile-count{color:#ffffffd9}.scr-opp-tile--turn .scr-seat-dot{border-color:#ffffffd9}.scr-opp-tile-score{flex:none;align-items:center;display:flex}.scr-opp-tile-count{color:var(--muted-text);white-space:nowrap;font-size:12px;font-weight:600}.scr-status-block{flex-direction:column;gap:4px;margin-bottom:clamp(8px,1.6vw,14px);display:flex}.scr-status-event{font-size:clamp(17px,2.2vw,24px);font-weight:700;line-height:1.2}.scr-status-prompt{color:var(--muted-text);font-size:14px;font-weight:500}.scr-board{aspect-ratio:1;border:3px solid var(--ink);box-sizing:border-box;background:#faf8f3;border-radius:12px;grid-template-rows:repeat(15,minmax(0,1fr));grid-template-columns:repeat(15,minmax(0,1fr));gap:1px;width:auto;min-width:0;max-width:min(600px,100%);height:100%;min-height:0;max-height:600px;margin:0 auto;padding:3px;display:grid;position:relative;overflow:hidden}.scr-board-cell{aspect-ratio:1;border:1px solid var(--ink);min-width:0;min-height:0;color:var(--muted-text);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:11px;font-weight:500;transition:background-color .15s,transform .1s;display:flex;position:relative}.scr-board-cell:hover:not(.scr-board-cell--occupied){transform:scale(.97)}.scr-board-cell--dl{background:var(--scr-dl-bg)}.scr-board-cell--tl{background:var(--scr-tl-bg)}.scr-board-cell--dw{background:var(--scr-dw-bg)}.scr-board-cell--tw{background:var(--scr-tw-bg)}.scr-board-cell--center{background:var(--scr-dw-bg);color:var(--ink);font-size:24px}.scr-board-cell--center:after{content:"★"}.scr-board-cell:not(.scr-board-cell--occupied) .scr-premium-label{opacity:.4}.scr-board-cell--occupied .scr-premium-label{display:none}.scr-tile-face{border:2px solid var(--ink);color:var(--ink);background:#f5f1e8;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;margin:1px;font-size:18px;font-weight:800;line-height:1;display:flex;position:absolute;inset:0}.scr-tile-face--blank{color:var(--muted-text);font-weight:400}.scr-tile-face--last-move{border-color:var(--coral);box-shadow:0 0 0 1px var(--coral)}.scr-tile-points{color:var(--ink);font-size:10px;font-weight:700;line-height:1;position:absolute;bottom:2px;right:2px}.scr-hand-section{flex-direction:column;gap:10px;display:flex}.scr-hand-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.scr-hand-label{font-size:16px;font-weight:700}.scr-hand-stats{color:var(--muted-text);white-space:nowrap;font-size:13px;font-weight:500}.scr-hand-row{flex-wrap:wrap;gap:8px;display:flex}.scr-hand-tile{border:2px solid var(--ink);cursor:pointer;appearance:none;width:48px;height:54px;color:var(--ink);background:#f5f1e8;border-radius:4px;flex-direction:column;flex:none;justify-content:center;align-items:center;padding:0;font-size:16px;font-weight:800;line-height:1;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex;position:relative}.scr-hand-tile:disabled{cursor:default;opacity:.45;box-shadow:none}.scr-hand-tile:hover:not(:disabled){border-color:var(--scr-brand);transform:translateY(-4px)}.scr-hand-tile--selected{border-color:var(--scr-brand);box-shadow:0 6px 0 var(--scr-brand);transform:translateY(-8px)}.scr-hand-tile--blank{color:var(--muted-text);font-weight:400}.scr-hand-tile-points{color:var(--ink);font-size:9px;font-weight:700;line-height:1;position:absolute;bottom:1px;right:1px}.scr-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px;display:flex}.scr-action-btn{height:44px;padding:0 20px}.scr-action-hint{color:var(--muted-text);font-size:13px;font-weight:500}.scr-blank-overlay-backdrop{z-index:1000;background:#17173a80;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.scr-blank-overlay-panel{background:var(--surface);border:4px solid var(--ink);box-shadow:0 10px 0 var(--ink);border-radius:20px;flex-direction:column;gap:16px;max-width:500px;padding:28px;display:flex}.scr-blank-overlay-title{color:var(--ink);text-align:center;margin:0;font-size:22px;font-weight:700}.scr-blank-overlay-grid{grid-template-columns:repeat(6,1fr);gap:8px;display:grid}.scr-blank-letter-btn{aspect-ratio:1;border:2px solid var(--ink);color:var(--ink);cursor:pointer;appearance:none;background:#f5f1e8;border-radius:8px;justify-content:center;align-items:center;padding:0;font-size:18px;font-weight:700;transition:transform .1s,background-color .15s;display:flex}.scr-blank-letter-btn:hover{background:var(--scr-brand);color:#fff;transform:scale(1.05)}.scr-blank-letter-btn:active{transform:scale(.95)}.scr-tile-back{border-color:var(--ink);background:#f5f1e8;border-style:solid;flex:none;display:block;position:relative}.scr-tile-back--fan{border-width:2px;border-radius:4px;width:26px;height:48px}.scr-tile-back--stock{width:40px;height:72px;box-shadow:0 5px 0 var(--ink);border-width:3px;border-radius:6px}
