:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#120f0d;color:#f5efe1;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button{font:inherit}.theme-royal{--app-bg: radial-gradient(circle at 20% 12%, rgba(173, 127, 51, .18), transparent 34%), linear-gradient(125deg, #17110d 0%, #0d0d0f 48%, #19110d 100%);--panel-bg: #1a120b;--panel-bg-strong: #171311;--panel-border: rgba(155, 106, 31, .5);--text-main: #fff7df;--text-muted: #d6b56d;--accent: #d4a33a;--accent-strong: #f4c45c;--button-bg: linear-gradient(180deg, #a66f1f, #6f4611);--button-text: #fff7df;--board-frame-bg: #24160d;--board-light: #c8bb85;--board-dark: #2a211c;--piece-white: #ffffff;--piece-black: #000000;--selected-square: rgba(244, 196, 92, .75);--legal-hint: rgba(0, 0, 0, .25);--capture-hint: rgba(220, 38, 38, .55)}.theme-pink{--app-bg: #fff0f7;--panel-bg: #ffe1ef;--panel-bg-strong: #ffd1e6;--panel-border: rgba(232, 79, 154, .48);--text-main: #3a1025;--text-muted: #8a2d59;--accent: #ff5cad;--accent-strong: #ff2f92;--button-bg: linear-gradient(180deg, #ff75bd, #d92f85);--button-text: #ffffff;--board-frame-bg: #ffd1e6;--board-light: #fff6fb;--board-dark: #d86ca3;--piece-white: #ffffff;--piece-black: #000000;--selected-square: rgba(255, 47, 146, .45);--legal-hint: rgba(58, 16, 37, .25);--capture-hint: rgba(220, 38, 120, .65)}.theme-orange{--app-bg: #050505;--panel-bg: #111111;--panel-bg-strong: #18120b;--panel-border: rgba(255, 138, 0, .56);--text-main: #ffffff;--text-muted: #ffb35c;--accent: #ff8a00;--accent-strong: #ffae42;--button-bg: linear-gradient(180deg, #ff9d1e, #d96b00);--button-text: #000000;--board-frame-bg: #0c0c0c;--board-light: #f2a23a;--board-dark: #111111;--piece-white: #ffffff;--piece-black: #000000;--selected-square: rgba(255, 138, 0, .55);--legal-hint: rgba(255, 255, 255, .25);--capture-hint: rgba(255, 60, 0, .75)}.app-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,420px);background:var(--app-bg);color:var(--text-main)}.play-surface{position:relative;display:flex;flex-direction:column;align-items:center;gap:22px;padding:28px}.topbar{width:min(86vh,calc(100vw - 520px),760px);min-width:520px;display:flex;align-items:center;justify-content:space-between;gap:20px}.top-actions{display:flex;align-items:center;gap:10px}.theme-picker{min-height:44px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--panel-border);border-radius:8px;background:var(--panel-bg-strong);color:var(--text-muted);padding:0 10px;font-size:.78rem;font-weight:900}.theme-picker select{border:1px solid var(--panel-border);border-radius:6px;background:var(--panel-bg);color:var(--text-main);min-height:30px;font-weight:900}.mode-toggle{display:grid;grid-template-columns:repeat(2,minmax(78px,1fr));gap:4px;border:1px solid rgba(180,127,46,.45);border-radius:8px;background:#211915;padding:4px}.mode-toggle button,.link-button,.copy-link-button,.github-button{border:0;border-radius:6px;background:transparent;color:#e8d7aa;min-height:36px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:800;cursor:pointer;text-decoration:none}.mode-toggle button.active,.link-button{background:linear-gradient(180deg,#8d6a2c,#5b3c16);color:#fff8dc}.mode-toggle button:disabled{cursor:not-allowed;opacity:.7}.copy-link-button{border:1px solid rgba(180,127,46,.45);background:#171311;color:#e8d7aa}.github-button{border:1px solid var(--panel-border);min-height:44px;border-radius:8px;background:var(--panel-bg-strong);color:var(--text-main)}.github-button:hover,.github-button:focus-visible{border-color:var(--accent-strong);box-shadow:0 0 14px color-mix(in srgb,var(--accent-strong) 24%,transparent);outline:none}.eyebrow{display:block;color:#d6b44c;font-size:.75rem;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2,h3,p{margin:0}h1{font-size:clamp(1.7rem,3vw,3rem);line-height:1.02;color:#f5efe1}.icon-button{width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(180,127,46,.55);border-radius:8px;color:#e8d7aa;background:#211915;cursor:pointer}.board-wrap{display:grid;grid-template-columns:24px minmax(320px,min(86vh,calc(100vw - 520px),760px));grid-template-rows:minmax(320px,min(86vh,calc(100vw - 520px),760px)) 24px;gap:6px;padding:10px;border:2px solid #9b7332;background:linear-gradient(90deg,rgba(255,243,190,.16),transparent 18%,rgba(93,54,19,.22) 50%,transparent 82%,rgba(255,243,190,.12)),#24160d;box-shadow:inset 0 0 0 1px #ffe7a247,0 24px 80px #0000007a;transform-origin:center center;transition:transform 1.2s cubic-bezier(.2,.8,.2,1),filter 1.2s ease,box-shadow 1.2s ease}.royal-cinematic-active .board-wrap.board-tilted{transform:perspective(1200px) rotateX(13deg) rotateY(-2deg) scale(.94);filter:brightness(.72) saturate(.9);box-shadow:inset 0 0 0 1px #ffe7a261,0 0 0 4px #d6b44c2e,0 30px 90px #00000094,0 0 42px #d6b44c57}.rank-labels,.file-labels{color:#bba56c;font-size:.8rem;font-weight:800}.rank-labels{grid-column:1;grid-row:1;display:grid;grid-template-rows:repeat(8,1fr);align-items:center;justify-items:center}.file-labels{grid-column:2;grid-row:2;display:grid;grid-template-columns:repeat(8,1fr);align-items:center;justify-items:center}.board{grid-column:2;grid-row:1;display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);border:1px solid rgba(33,22,14,.9);box-shadow:inset 0 0 0 1px #ffe8ac1f}.square{position:relative;min-width:0;min-height:0;border:0;display:grid;place-items:center;cursor:pointer;container-type:size;overflow:hidden}.square.light{background:linear-gradient(135deg,rgba(255,255,255,.18),transparent 42%,rgba(215,95,145,.06)),#fff6fb}.square.dark{background:linear-gradient(135deg,rgba(255,255,255,.12),transparent 46%,rgba(111,24,68,.12)),#d86fa4}.square.selected{outline:4px solid #d6b44c;outline-offset:-4px}.square.destination:after{content:"";width:28%;aspect-ratio:1;border-radius:50%;background:#14141440;position:absolute}.square.castle-partner{box-shadow:inset 0 0 0 4px #8fc4aab8,inset 0 0 18px #8fc4aa47}.square.castle-partner:after{content:"";position:absolute;width:42%;aspect-ratio:1;border:2px solid rgba(233,255,241,.84);border-radius:50%;box-shadow:0 0 12px #8fc4aa6b}.square.protected{box-shadow:inset 0 0 0 4px #f4ce63b8,inset 0 0 20px #f4ce6347}.square.endgame-king-lost{box-shadow:inset 0 0 0 5px #b54c30c2,inset 0 0 28px #b54c306b,0 0 26px #b54c304d}.square.endgame-king-stalemate{box-shadow:inset 0 0 0 5px #d6b44cb8,inset 0 0 26px #d7dcc752,0 0 22px #d6b44c3d}.endgame-active .board-wrap{filter:brightness(.84) saturate(.92)}.square.staked-square{box-shadow:inset 0 0 0 4px #da9221c7,inset 0 0 22px #da922157}.royal-cinematic-active .square.staked-square .piece{transform:translateY(-10px) scale(1.06);filter:drop-shadow(0 0 10px rgba(244,206,99,.8)) drop-shadow(0 12px 10px rgba(0,0,0,.42))}.cinematic-result-win .square.staked-square .piece,.cinematic-result-tie .square.staked-square .piece{animation:stakeSettlePulse 1.2s ease both}.cinematic-result-lose .square.staked-square .piece{animation:wagerClaimedSlide 1.2s ease both}.square.recovery-square{box-shadow:inset 0 0 0 4px #f2cc719e,0 0 18px #f2cc7180}.royal-cinematic-active .square.recovery-square{animation:recoverySquarePulse 1.4s ease-in-out infinite}.square-cinematic-label{position:absolute;right:5px;bottom:5px;z-index:5;border:1px solid rgba(255,232,172,.55);border-radius:999px;background:#1d140bd1;color:#ffe8ac;padding:2px 5px;font-size:clamp(.45rem,.8vw,.58rem);font-weight:900;text-transform:uppercase}.recovery-label{left:5px;right:auto}.recovery-ghost{position:absolute;z-index:4;color:#ffdd798a;font-size:clamp(2.4rem,6.3vw,4.8rem);line-height:1;transform:translateY(-18px) scale(1.08);filter:drop-shadow(0 0 8px rgba(244,206,99,.78)) drop-shadow(0 14px 12px rgba(0,0,0,.32));animation:recoveryGhostFloat 1.8s ease-in-out infinite;pointer-events:none}.cinematic-result-win .recovery-ghost{animation:royalRecallDescend 1.2s ease both}.cinematic-result-lose .recovery-ghost,.cinematic-result-tie .recovery-ghost{animation:recoveryGhostFade .9s ease both}.square.king-spotlight{z-index:4;box-shadow:inset 0 0 0 5px #f6d87ae6,0 0 34px #f6d87ab8}.coord{position:absolute;left:6px;top:5px;color:#100c0994;font-size:clamp(.56rem,1.2vw,.72rem);font-weight:800}.piece{z-index:2;display:grid;width:100%;height:100%;place-items:center;line-height:1;font-size:clamp(1.9rem,5vw,3.8rem);font-size:min(68cqi,3.8rem);font-weight:900;-webkit-text-stroke:.7px currentColor;paint-order:stroke fill;filter:drop-shadow(0 1px 1px rgba(0,0,0,.28));transition:transform .5s ease,filter .5s ease,opacity .5s ease}.piece.white{color:var(--piece-white);-webkit-text-stroke-color:var(--piece-white);text-shadow:0 0 1px #ffffff,0 1px 0 rgba(255,255,255,.92),0 2px 3px rgba(20,20,20,.72),0 4px 8px rgba(0,0,0,.42)}.piece.black{color:var(--piece-black);-webkit-text-stroke:0;text-shadow:0 0 1px rgba(0,0,0,.88),0 1px 2px rgba(255,255,255,.32),0 3px 5px rgba(0,0,0,.36)}.shield{position:absolute;right:6px;top:6px;color:#184b67;z-index:3}.promotion-picker{width:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.promotion-picker button{border:1px solid rgba(214,180,76,.42);background:linear-gradient(180deg,#fff9e112,#00000014),#211a14;color:#fff8dc;border-radius:8px;padding:12px 10px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:106px;text-transform:capitalize;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.promotion-picker button:hover{transform:translateY(-1px);border-color:#d6b44c;box-shadow:0 10px 24px #00000047}.promotion-picker strong{font-size:.82rem;letter-spacing:0}.promotion-piece{font-size:2.4rem;filter:none}.side-panel{min-height:100vh;background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 24%),#15120f;border-left:1px solid rgba(180,127,46,.35);padding:20px;display:flex;flex-direction:column;gap:16px;overflow-y:auto}.status-panel,.challenge-panel,.blackjack-table{border:1px solid rgba(180,127,46,.35);border-radius:8px;background:#1d1814;padding:16px;box-shadow:0 12px 34px #0000003d}.status-line,.panel-heading,.lone-king-title,.notice,.table-header{display:flex;align-items:center;gap:10px}.status-line svg,.panel-heading svg,.lone-king-title svg,.table-header svg{color:#d6b44c;flex:0 0 auto}.metrics{margin-top:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mode-panel{margin-top:12px;border-top:1px solid rgba(180,127,46,.25);padding-top:12px;display:flex;flex-direction:column;gap:10px}.select-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.select-row label{color:#d8c28a;font-size:.88rem;font-weight:800}.select-row select{border:1px solid rgba(180,127,46,.45);border-radius:8px;background:#171311;color:#f5efe1;min-height:38px;padding:0 10px;font-weight:800}.usage-meter{border:1px solid rgba(180,127,46,.28);border-radius:8px;background:#171311;color:#f5efe1;min-height:44px;padding:8px 10px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px}.usage-meter span,.usage-meter small{color:#bda66e;font-weight:800}.usage-meter strong{color:#fff8dc}.bot-rating-controls{display:flex;align-items:center;gap:8px}.rating-confirm-button{border:1px solid #9c732f;border-radius:8px;min-height:38px;padding:0 12px;background:linear-gradient(180deg,#8d6a2c,#5b3c16);color:#fff8dc;font-weight:900;cursor:pointer}.rating-confirm-button:hover{border-color:#d6b44c;box-shadow:0 0 18px #d6b44c2e}.share-box{min-width:0;border:1px solid rgba(180,127,46,.35);border-radius:8px;background:#171311;color:#d8c28a;padding:9px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center;font-size:.78rem;font-weight:700}.share-box span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-status{color:#d8c28a;font-size:.82rem;font-weight:800}.metrics div{border:1px solid rgba(180,127,46,.28);border-radius:8px;padding:10px;background:#171311}.metrics span,.stake-total span{display:block;color:#bda66e;font-size:.8rem;font-weight:700}.metrics strong{display:block;margin-top:3px;font-size:1.1rem}.blackjack-available{margin-top:12px;border:1px solid rgba(244,206,99,.42);border-radius:8px;background:linear-gradient(90deg,#f4ce6329,#f4ce630a),#171311;color:#f4ce63;min-height:44px;padding:9px 10px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 8px;align-items:center;box-shadow:0 0 20px #f4ce631f}.blackjack-available span{grid-column:2;color:#d8c28a;font-size:.78rem;font-weight:800}.notice{margin-top:12px;color:#8f3d32;font-size:.9rem;font-weight:700}.challenge-panel{display:flex;flex-direction:column;gap:14px}.panel-heading h2{font-size:1.1rem}.small-copy,.empty,.disabled-reason,.round-detail{color:#c8b98b;font-size:.9rem;line-height:1.35}.disabled-reason{border:1px solid rgba(244,206,99,.28);background:#f4ce6314;border-radius:8px;padding:10px;color:#d8c28a;font-weight:700}.target-list,.stake-list{display:flex;flex-direction:column;gap:8px}.target-list h3,.stake-list h3{font-size:.88rem;text-transform:uppercase;letter-spacing:0;color:#d8c28a}.target-list button,.stake-grid button{border:1px solid rgba(180,127,46,.25);background:#171311;border-radius:8px;min-height:44px;padding:8px 10px;display:grid;grid-template-columns:30px minmax(0,1fr) auto auto;gap:8px;align-items:center;text-align:left;cursor:pointer}.target-list button:disabled,.stake-grid button:disabled,.primary:disabled{opacity:.45;cursor:not-allowed}.target-list button span,.stake-grid button span{font-size:1.35rem;line-height:1}.target-list button em,.stake-grid button small{color:#bda66e;font-style:normal;font-weight:700}.target-list button b,.stake-grid button b{background:#7a541d;color:#fff8dc;border-radius:999px;min-width:26px;height:26px;display:grid;place-items:center;font-size:.8rem}.selected-row{border-color:#d6b44c!important;box-shadow:inset 0 0 0 2px #d6b44c59,0 0 12px #d6b44c29}.stake-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stake-total{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid rgba(180,127,46,.25);padding-top:10px}.king-claim-panel{border-color:#f4ce6380;background:radial-gradient(circle at top right,rgba(244,206,99,.11),transparent 34%),#1d1814}.king-claim-actions{display:grid;gap:8px}.primary,.round-actions button{border:1px solid #9c732f;background:linear-gradient(180deg,#8d6a2c,#5b3c16);color:#fff8dc;border-radius:8px;min-height:42px;padding:0 14px;font-weight:800;cursor:pointer}.round-actions button:not(.primary){border-color:#b47f2e73;color:#f5efe1;background:#171311}.full{width:100%}.danger-wager{border:1px solid rgba(181,76,48,.72);background:#2b1511;color:#ffd8cd;border-radius:8px;min-height:42px;padding:0 14px;font-weight:900;cursor:pointer}.danger-wager:disabled{opacity:.45;cursor:not-allowed}.app-shell .mode-toggle,.app-shell .icon-button,.app-shell .copy-link-button,.app-shell .share-box,.app-shell .usage-meter,.app-shell .metrics div,.app-shell .target-list button,.app-shell .stake-grid button,.app-shell .round-actions button:not(.primary),.app-shell .select-row select{border-color:var(--panel-border);background:var(--panel-bg-strong);color:var(--text-main)}.app-shell .mode-toggle button,.app-shell .copy-link-button,.app-shell .icon-button,.app-shell .room-status,.app-shell .small-copy,.app-shell .empty,.app-shell .round-detail,.app-shell .disabled-reason,.app-shell .target-list button em,.app-shell .stake-grid button small,.app-shell .metrics span,.app-shell .stake-total span,.app-shell .usage-meter span,.app-shell .usage-meter small,.app-shell .select-row label,.app-shell .target-list h3,.app-shell .stake-list h3,.app-shell .blackjack-available span{color:var(--text-muted)}.app-shell h1,.app-shell h2,.app-shell h3,.app-shell .metrics strong,.app-shell .usage-meter strong{color:var(--text-main)}.app-shell .mode-toggle button.active,.app-shell .link-button,.app-shell .primary,.app-shell .round-actions button,.app-shell .rating-confirm-button,.app-shell .king-confirm-recovery{border-color:var(--panel-border);background:var(--button-bg);color:var(--button-text)}.app-shell .side-panel{background:linear-gradient(180deg,rgba(255,255,255,.05),transparent 24%),var(--panel-bg);border-left-color:var(--panel-border);color:var(--text-main)}.app-shell .status-panel,.app-shell .challenge-panel,.app-shell .blackjack-table,.app-shell .promotion-panel,.app-shell .king-claim-panel,.app-shell .round-summary,.app-shell .king-gamble-panel{border-color:var(--panel-border);background:radial-gradient(circle at top right,color-mix(in srgb,var(--accent) 14%,transparent),transparent 34%),var(--panel-bg);color:var(--text-main)}.app-shell .mode-panel,.app-shell .stake-total{border-top-color:var(--panel-border)}.app-shell .status-line svg,.app-shell .panel-heading svg,.app-shell .lone-king-title svg,.app-shell .table-header svg,.app-shell .eyebrow,.app-shell .blackjack-available,.app-shell .blackjack-available strong{color:var(--accent-strong)}.app-shell .blackjack-available,.app-shell .disabled-reason{border-color:var(--panel-border);background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 16%,transparent),transparent),var(--panel-bg-strong)}.app-shell .target-list button b,.app-shell .stake-grid button b{background:var(--accent);color:var(--button-text)}.app-shell .selected-row{border-color:var(--accent-strong)!important;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent-strong) 36%,transparent),0 0 12px color-mix(in srgb,var(--accent-strong) 18%,transparent)}.app-shell .board-wrap{border-color:var(--panel-border);background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 14%,transparent),transparent 22%,color-mix(in srgb,var(--panel-bg-strong) 55%,transparent) 50%,transparent 78%,color-mix(in srgb,var(--accent) 12%,transparent)),var(--board-frame-bg)}.app-shell .rank-labels,.app-shell .file-labels{color:var(--text-muted)}.app-shell .board{border-color:var(--panel-border);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent)}.app-shell .square.light{background:linear-gradient(135deg,rgba(255,255,255,.12),transparent 42%,color-mix(in srgb,var(--accent) 8%,transparent)),var(--board-light)}.app-shell .square.dark{background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 46%,rgba(0,0,0,.14)),var(--board-dark)}.app-shell .square.selected{outline-color:var(--selected-square)}.app-shell .square.destination:after{background:var(--legal-hint)}.app-shell .coord{color:color-mix(in srgb,var(--text-main) 54%,transparent)}.app-shell .piece.white{color:var(--piece-white);-webkit-text-stroke-color:var(--piece-white)}.app-shell .piece.black{color:var(--piece-black);-webkit-text-stroke:0}.blackjack-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:20px;background:#09181652;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.endgame-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:28;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at center,rgba(214,180,76,.12),transparent 34%),#0706059e;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:endgameOverlayFade .3s ease both}.endgame-overlay.checkmate-ending{background:radial-gradient(circle at center,rgba(181,76,48,.14),transparent 32%),#070605a8}.endgame-overlay.stalemate-ending{background:radial-gradient(circle at center,rgba(215,220,199,.11),transparent 34%),#07060594}.endgame-modal{position:relative;width:min(520px,calc(100vw - 36px));overflow:hidden;border:1px solid rgba(214,180,76,.62);border-radius:8px;padding:24px;text-align:center;color:#fffdf8;background:radial-gradient(circle at 50% 0%,rgba(244,206,99,.16),transparent 38%),linear-gradient(180deg,#221911fa,#090807fa),#100d0b;box-shadow:inset 0 0 0 1px #ffe7a21f,0 30px 90px #0000008a,0 0 34px #d6b44c29;animation:endgameModalRise .52s cubic-bezier(.2,.8,.2,1) both}.endgame-modal:before{content:"";position:absolute;inset:-35% -10% auto;height:60%;background:radial-gradient(circle at center,rgba(255,244,198,.16),transparent 58%);pointer-events:none}.endgame-crown{position:relative;z-index:1;width:72px;height:72px;margin:0 auto 10px;display:grid;place-items:center;border:1px solid rgba(214,180,76,.46);border-radius:50%;color:#f4ce63;background:radial-gradient(circle,rgba(244,206,99,.16),transparent 62%),#110d0adb;box-shadow:0 0 28px #d6b44c38}.checkmate-ending .endgame-crown{color:#e4a069;animation:crownFalls .58s ease .16s both}.endgame-modal .eyebrow,.endgame-modal h2,.endgame-modal p,.endgame-result-grid,.endgame-actions{position:relative;z-index:1}.endgame-modal h2{margin-top:8px;font-size:clamp(2rem,6vw,3.3rem);line-height:.95;color:#fff4c5}.endgame-modal p{margin:10px auto 0;max-width:34ch;color:#fffdf8d1;line-height:1.5}.endgame-result-grid{margin-top:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.endgame-result-grid div{border:1px solid rgba(214,180,76,.32);border-radius:8px;padding:12px;background:#fff8dc0f}.endgame-result-grid span,.endgame-result-grid strong{display:block}.endgame-result-grid span{color:#e8d7aab8;font-size:.78rem;font-weight:800;text-transform:uppercase}.endgame-result-grid strong{margin-top:4px;color:#fff8dc}.endgame-actions{margin-top:20px;display:flex;justify-content:center;gap:10px}.endgame-actions button{border:1px solid rgba(180,127,46,.55);border-radius:8px;min-height:44px;padding:0 16px;font-weight:900;color:#f5efe1;background:#171311;cursor:pointer}.endgame-actions button.primary{border-color:#9c732f;color:#fff8dc;background:linear-gradient(180deg,#8d6a2c,#5b3c16)}.royal-cinematic-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:12;display:grid;place-items:center;padding:24px;pointer-events:none;perspective:1200px;overflow:hidden}.kings-gamble-table .royal-table-vignette{background:radial-gradient(circle at center,rgba(244,206,99,.13),transparent 25%),radial-gradient(circle at center,#0000000a,#000000b8),linear-gradient(180deg,#08070638,#080706b3)}.king-escalation-1 .table-seal{box-shadow:inset 0 0 22px #f4ce6333,0 0 34px #f4ce6357}.king-escalation-2 .table-seal{box-shadow:inset 0 0 28px #f4ce6347,0 0 48px #f4ce6375}.king-escalation-3 .table-seal{animation:kingSealHeartbeat 1.8s ease-in-out infinite}.royal-table-vignette{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at center,rgba(244,206,99,.08),transparent 34%),linear-gradient(180deg,#0807061a,#0807066b);opacity:0;animation:cinematicFadeIn 1.2s ease forwards}.spotlight-layer{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;background:linear-gradient(105deg,transparent 22%,rgba(255,226,142,.16) 42%,transparent 56%),linear-gradient(74deg,transparent 36%,rgba(255,246,205,.08) 49%,transparent 62%);mix-blend-mode:screen;opacity:.7;transform:translate(-18%) rotate(2deg);animation:royalSpotlightSweep 4.6s ease-in-out infinite}.cinematic-title{position:absolute;top:min(9vh,70px);left:50%;z-index:3;width:min(620px,calc(100vw - 44px));transform:translate(-50%) translateY(8px);text-align:center;color:#fff8dc;opacity:0;animation:cinematicTitleIn 1.2s ease forwards}.cinematic-title span,.cinematic-title small{display:block;color:#f4ce63;font-size:.75rem;font-weight:900;text-transform:uppercase}.cinematic-title strong{display:block;margin-top:4px;font-size:clamp(1.2rem,3.2vw,2.6rem);line-height:1.02;text-shadow:0 8px 28px rgba(0,0,0,.55)}.cinematic-title em{display:block;margin-top:8px;color:#fff8dcdb;font-style:normal;font-weight:800}.cinematic-title small{margin-top:8px;color:#ffe7a1}.cinematic-table{position:relative;z-index:2;display:grid;grid-template-rows:auto 62px auto;grid-template-columns:1fr;align-items:center;gap:18px;width:min(720px,calc(100vw - 56px));margin-top:min(30vh,260px);padding:16px;border:1px solid rgba(214,180,76,.38);border-radius:8px;background:radial-gradient(circle at center,#472b13c7,#100c09c7),#17110d;box-shadow:inset 0 0 28px #f4ce631f,0 24px 80px #00000073;transform:perspective(900px) rotateX(9deg) translateZ(18px);opacity:0}.phase-initialDeal .cinematic-table,.phase-playerDecision .cinematic-table,.phase-playerHit .cinematic-table,.phase-dealerReveal .cinematic-table,.phase-dealerPlay .cinematic-table,.phase-resultReveal .cinematic-table,.phase-pieceResolution .cinematic-table,.phase-chooseContinueOrRecover .cinematic-table,.phase-recoveryAnimation .cinematic-table,.phase-cleanup .cinematic-table{animation:cinematicTableIn .9s ease forwards}.cinematic-hand{display:grid;gap:8px}.dealer-hand{transform:translateY(-4px) scale(.94)}.player-hand{transform:translateY(4px)}.cinematic-player-zone{display:grid;gap:12px}.cinematic-hand>span{color:#d8c28a;font-size:.75rem;font-weight:900;text-align:center;text-transform:uppercase}.cinematic-cards{display:flex;justify-content:center;min-height:92px}.card-flip{position:relative;width:58px;height:82px;margin-left:-8px;transform-style:preserve-3d;transform:translateY(-24px) rotateY(180deg) rotate(-5deg);opacity:0;animation:dealCardFlip 1.25s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(.26s * var(--deal-index))}.card-flip:first-child{margin-left:0}.card-face{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;border-radius:7px;backface-visibility:hidden;box-shadow:0 10px 24px #00000059}.card-face.card-back{border:1px solid rgba(244,206,99,.5);background:linear-gradient(135deg,rgba(255,255,255,.14),transparent 38%),#2a1712;color:#f4ce63;transform:rotateY(180deg)}.card-hidden{opacity:0;transform:translateY(-24px) rotateY(0) rotate(-5deg);animation:dealCardBack 1.25s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(.26s * var(--deal-index))}.card-hidden .card-face.card-back{transform:rotateY(0);background:radial-gradient(circle at center,rgba(244,206,99,.22),transparent 28%),linear-gradient(135deg,rgba(255,255,255,.12),transparent 38%),#25100f}.card-front{border:1px solid rgba(255,248,220,.78);background:#fffdf8;color:#1a1510;font-weight:900}.card-front strong{position:absolute;left:8px;top:6px}.card-front span{font-size:1.75rem}.card-win .card-front,.royal-recall .card-front{box-shadow:0 0 0 2px #f4ce6361,0 0 26px #f4ce63b3}.card-lose .card-front,.wager-claimed .card-front{box-shadow:0 0 0 2px #7d2a2059,0 0 26px #912f239e}.card-tie .card-front,.fate-holds .card-front{box-shadow:0 0 0 2px #dcdcd859,0 0 26px #d2d2ca8c}.table-seal{width:62px;height:62px;justify-self:center;display:grid;place-items:center;border:1px solid rgba(244,206,99,.5);border-radius:50%;color:#f4ce63;background:#19120cc7;box-shadow:inset 0 0 18px #f4ce6329,0 0 28px #f4ce633d}.royal-recall .table-seal{animation:royalSealOpen 1.2s ease forwards}.royal-table-actions{display:flex;justify-content:center;gap:10px;pointer-events:auto}.royal-table-actions button{min-width:108px;min-height:46px;border:1px solid rgba(244,206,99,.72);border-radius:8px;background:linear-gradient(180deg,#ffe8ac14,#0000001a),#17110d;color:#fff8dc;font-weight:950;text-transform:uppercase;cursor:pointer;box-shadow:inset 0 0 0 1px #fff8dc0f,0 10px 26px #00000057;transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease}.royal-table-actions button:hover:not(:disabled){transform:translateY(-1px);border-color:#ffe7a1;box-shadow:inset 0 0 0 1px #fff8dc1a,0 0 22px #f4ce6357,0 12px 28px #00000061}.royal-table-actions button:disabled{opacity:.5;cursor:not-allowed}.king-gamble-choice{display:grid;gap:14px;justify-items:center}.king-points-meter{min-width:220px;border:1px solid rgba(244,206,99,.48);border-radius:8px;background:radial-gradient(circle at center,rgba(244,206,99,.13),transparent 55%),#110d0aeb;color:#fff8dc;padding:14px;text-align:center;box-shadow:0 18px 36px #00000059}.king-points-meter span,.king-points-meter small{display:block;color:#d8c28a;font-size:.72rem;font-weight:900;text-transform:uppercase}.king-points-meter strong{display:block;color:#f4ce63;font-size:2.4rem;line-height:1}.king-recovery-selection{position:relative;z-index:2;pointer-events:auto;width:min(620px,calc(100vw - 48px));margin-top:min(32vh,280px);border:1px solid rgba(244,206,99,.45);border-radius:8px;background:radial-gradient(circle at top,rgba(244,206,99,.13),transparent 42%),#120d09f0;padding:16px;box-shadow:inset 0 0 28px #f4ce631a,0 28px 80px #00000075;animation:cinematicTableIn .9s ease forwards}.king-recovery-meter{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:12px}.king-recovery-meter div{border:1px solid rgba(244,206,99,.28);border-radius:8px;background:#ffffff0a;padding:10px;text-align:center}.king-recovery-meter span{display:block;color:#d8c28a;font-size:.72rem;font-weight:900;text-transform:uppercase}.king-recovery-meter strong{display:block;color:#f4ce63;font-size:1.6rem}.king-recovery-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.king-recovery-list button{border:1px solid rgba(180,127,46,.3);border-radius:8px;background:#171311;color:#fff8dc;min-height:48px;padding:8px 10px;display:grid;grid-template-columns:30px minmax(0,1fr) auto auto;gap:8px;align-items:center;text-align:left;cursor:pointer}.king-recovery-list button:disabled,.king-confirm-recovery:disabled{opacity:.48;cursor:not-allowed}.king-recovery-list span{font-size:1.35rem}.king-recovery-list em{color:#bda66e;font-style:normal;font-weight:800}.king-recovery-list b{background:#7a541d;border-radius:999px;color:#fff8dc;min-width:26px;height:26px;display:grid;place-items:center}.king-recovery-list p{grid-column:1 / -1;color:#d8c28a;font-weight:800;text-align:center;padding:12px}.king-confirm-recovery{width:100%;min-height:46px;margin-top:12px;border:1px solid rgba(244,206,99,.72);border-radius:8px;background:linear-gradient(180deg,#8d6a2c,#5b3c16);color:#fff8dc;font-weight:950;text-transform:uppercase;cursor:pointer}.discard-tray{position:absolute;right:min(8vw,72px);bottom:min(12vh,92px);z-index:3;width:160px;height:58px;display:grid;place-items:center;border:1px solid rgba(181,76,48,.52);border-radius:8px;background:linear-gradient(180deg,#5f1f1cbf,#130a0ae0),#190d0c;color:#ffd8cd;font-size:.72rem;font-weight:900;letter-spacing:0;opacity:0;transform:translateY(14px);animation:discardTrayIn .65s ease forwards}.blackjack-table{width:100%;background:radial-gradient(circle at top right,rgba(244,206,99,.1),transparent 36%),#11100f;color:#fffdf8;border-color:#f4ce6359;box-shadow:0 18px 44px #00000052}.round-summary-grid{margin-top:12px;display:grid;grid-template-columns:1fr;gap:8px}.round-summary-grid div{border:1px solid rgba(244,206,99,.2);border-radius:8px;background:#ffffff0a;padding:9px}.round-summary-grid span{display:block;color:#d8c28a;font-size:.75rem;font-weight:900;text-transform:uppercase}.round-summary-grid strong{display:block;margin-top:3px;color:#fff8dc;font-size:.9rem;line-height:1.25}.confirm-panel{width:min(460px,calc(100vw - 36px));border:1px solid #cbd9d6;border-radius:8px;background:#fff;color:#171716;padding:18px;box-shadow:0 24px 70px #00000052}.promotion-panel{width:min(520px,calc(100vw - 36px));border:1px solid rgba(214,180,76,.48);border-radius:8px;background:radial-gradient(circle at top right,rgba(214,180,76,.14),transparent 34%),linear-gradient(180deg,#261d14fa,#120e0bfa),#18120e;color:#fffdf8;padding:20px;box-shadow:0 28px 80px #00000075}.promotion-panel .eyebrow{color:#f4ce63}.promotion-panel h2{margin-top:6px;font-size:clamp(1.35rem,3vw,1.8rem)}.promotion-panel p{margin:8px 0 16px;color:#fffdf8c7}.king-cinematic .square:not(.king-spotlight){filter:brightness(.58) saturate(.86)}.king-gamble-panel{width:min(560px,calc(100vw - 36px));border:1px solid rgba(244,206,99,.45);border-radius:8px;background:linear-gradient(180deg,#0f3f3df5,#091f22fa),#0f3f3d;color:#fffdf8;padding:24px;box-shadow:0 28px 80px #00000073}.king-gamble-cinematic{position:relative;overflow:hidden;text-align:center;background:radial-gradient(circle at center,rgba(244,206,99,.16),transparent 34%),linear-gradient(180deg,#16120efa,#040405fa),#0b0908;animation:kingIntroPanel .9s ease both}.king-gamble-cinematic:before{content:"";position:absolute;top:-25%;right:-25%;bottom:-25%;left:-25%;background:radial-gradient(circle at center,rgba(244,206,99,.2),transparent 18%),radial-gradient(circle at center,transparent 28%,rgba(0,0,0,.55) 68%);opacity:0;animation:kingSpotlightFall 2.6s ease forwards;pointer-events:none}.king-crown-orbit{position:relative;width:148px;height:148px;margin:0 auto 14px;display:grid;place-items:center;color:#f4ce63;filter:drop-shadow(0 0 18px rgba(244,206,99,.62))}.king-crown-orbit svg{animation:crownDescend 2.6s ease both}.orbit-card{position:absolute;width:34px;height:48px;display:grid;place-items:center;border:1px solid rgba(244,206,99,.62);border-radius:5px;background:#21110f;color:#fff8dc;font-weight:950;box-shadow:0 12px 28px #00000059;animation:orbitCard 3.2s ease-in-out infinite}.orbit-card-a{left:0;top:58px}.orbit-card-k{right:4px;top:28px;animation-delay:.34s}.orbit-card-q{left:55px;bottom:0;animation-delay:.68s}.king-seal{position:absolute;left:50%;top:118px;width:122px;height:122px;border:1px solid rgba(244,206,99,.38);border-radius:50%;transform:translate(-50%) scale(.72);opacity:0;box-shadow:inset 0 0 22px #f4ce6329,0 0 32px #f4ce6338;animation:kingSealRise 2.4s ease forwards;pointer-events:none}.king-gamble-panel .eyebrow{color:#f4ce63}.king-gamble-panel h2{margin-top:6px;font-size:clamp(1.55rem,4vw,2.4rem)}.king-line{margin-top:8px;color:#fffdf8db;line-height:1.45}.king-gamble-copy{margin-top:18px;border-left:3px solid #f4ce63;padding-left:14px;display:grid;gap:6px;color:#fffdf8e6;font-weight:700}.king-gamble-stakes{margin-top:18px;border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:12px;display:grid;gap:5px;background:#ffffff0f}.king-gamble-stakes strong{color:#f4ce63}.king-round-line{margin-top:8px;color:#f4ce63;font-weight:900}.confirm-panel h2{font-size:1.2rem}.confirm-panel p{margin-top:10px;color:#514b40;line-height:1.4}.table-header{justify-content:space-between}.table-header .eyebrow{color:#f4ce63}.table-header h2{font-size:1.05rem}.hands{display:grid;grid-template-columns:1fr;gap:12px;margin-top:14px}.hand{border:1px solid rgba(255,255,255,.22);border-radius:8px;padding:10px}.hand-title{display:flex;justify-content:space-between;color:#f4ce63;font-weight:800}.cards{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}.card{width:48px;height:66px;border-radius:6px;background:#fffdf8;color:#171716;padding:7px;display:flex;flex-direction:column;justify-content:space-between;font-weight:900;box-shadow:0 6px 18px #00000038;opacity:0;transform:translateY(-14px) rotate(-3deg) scale(.96);animation:deal-card .42s ease-out forwards}.red-card{color:#b8322a}.cards .card-back{background:linear-gradient(135deg,rgba(255,255,255,.18) 25%,transparent 25%) 0 0 / 12px 12px,linear-gradient(135deg,transparent 75%,rgba(255,255,255,.18) 75%) 0 0 / 12px 12px,#163f63;color:#fff}.thinking{min-height:42px;display:inline-flex;align-items:center;color:#f4ce63}@keyframes deal-card{to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}.round-detail{margin-top:12px;color:#fffdf8d1}.round-actions{margin-top:14px;display:flex;align-items:center;gap:10px}.result{min-height:42px;display:inline-flex;align-items:center;padding:0 14px;border-radius:8px}.result-win{background:#e8f3cf;color:#274d1f}.result-lose{background:#f2d2cc;color:#793228}.result-tie{background:#efe6cb;color:#5f4d1a}@keyframes cinematicFadeIn{0%{opacity:0}to{opacity:1}}@keyframes endgameOverlayFade{0%{opacity:0}to{opacity:1}}@keyframes endgameModalRise{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes crownFalls{0%{opacity:0;transform:translateY(-10px) rotate(-5deg)}to{opacity:1;transform:translateY(0) rotate(0)}}@keyframes cinematicTitleIn{0%{opacity:0;transform:translate(-50%) translateY(14px) translateZ(-20px)}to{opacity:1;transform:translate(-50%) translateY(0) translateZ(0)}}@keyframes cinematicTableIn{0%{opacity:0;transform:perspective(900px) rotateX(16deg) translateY(28px) translateZ(-20px) scale(.96)}to{opacity:1;transform:perspective(900px) rotateX(9deg) translateY(0) translateZ(18px) scale(1)}}@keyframes royalSpotlightSweep{0%{transform:translate(-28%) rotate(2deg)}50%{transform:translate(22%) rotate(2deg)}to{transform:translate(-28%) rotate(2deg)}}@keyframes dealCardFlip{0%{opacity:0;transform:translateY(-34px) translateZ(60px) rotateY(180deg) rotate(-9deg) scale(.92)}55%{opacity:1}to{opacity:1;transform:translateY(0) translateZ(0) rotateY(0) rotate(0) scale(1)}}@keyframes dealCardBack{0%{opacity:0;transform:translateY(-34px) translateZ(60px) rotateY(0) rotate(-9deg) scale(.92)}55%{opacity:1}to{opacity:1;transform:translateY(0) translateZ(0) rotateY(0) rotate(0) scale(1)}}@keyframes recoveryGhostFloat{0%,to{transform:translateY(-18px) scale(1.08);opacity:.56}50%{transform:translateY(-26px) scale(1.12);opacity:.82}}@keyframes recoverySquarePulse{0%,to{box-shadow:inset 0 0 0 4px #f2cc719e,0 0 18px #f2cc7180}50%{box-shadow:inset 0 0 0 5px #ffe18dd1,0 0 30px #f2cc71c2}}@keyframes stakeSettlePulse{0%{transform:translateY(-10px) scale(1.06)}55%{transform:translateY(-5px) scale(1.1);filter:drop-shadow(0 0 18px rgba(244,206,99,.9)) drop-shadow(0 12px 10px rgba(0,0,0,.42))}to{transform:translateY(0) scale(1)}}@keyframes wagerClaimedSlide{0%{transform:translateY(-10px) scale(1.06);opacity:1}70%{transform:translate(42px,42px) scale(.74);opacity:.72;filter:drop-shadow(0 0 8px rgba(145,47,35,.7)) drop-shadow(0 12px 10px rgba(0,0,0,.42))}to{transform:translate(66px,58px) scale(.42);opacity:0}}@keyframes royalRecallDescend{0%{transform:translateY(-32px) scale(1.15);opacity:.45}68%{transform:translateY(-4px) scale(1.06);opacity:.9}to{transform:translateY(0) scale(1);opacity:.28}}@keyframes recoveryGhostFade{to{transform:translateY(-30px) scale(.94);opacity:0}}@keyframes royalSealOpen{0%{transform:scale(1);box-shadow:inset 0 0 18px #f4ce6329,0 0 28px #f4ce633d}55%{transform:scale(1.18);box-shadow:inset 0 0 24px #f4ce6347,0 0 44px #f4ce63ad}to{transform:scale(1)}}@keyframes kingSealHeartbeat{0%,to{transform:scale(1);box-shadow:inset 0 0 28px #f4ce6347,0 0 46px #f4ce6373}45%{transform:scale(1.08);box-shadow:inset 0 0 36px #f4ce6361,0 0 66px #f4ce639e}}@keyframes discardTrayIn{to{opacity:1;transform:translateY(0)}}@keyframes kingIntroPanel{0%{opacity:0;transform:perspective(900px) rotateX(10deg) translateY(18px) scale(.96)}to{opacity:1;transform:perspective(900px) rotateX(0) translateY(0) scale(1)}}@keyframes kingSpotlightFall{0%{opacity:0;transform:translateY(-16px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes crownDescend{0%{opacity:0;transform:translateY(-30px) scale(.82)}55%{opacity:1}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes orbitCard{0%,to{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-10px) rotate(6deg)}}@keyframes kingSealRise{to{opacity:1;transform:translate(-50%) scale(1)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}.royal-cinematic-active .board-wrap.board-tilted{transform:none}.spotlight-layer{display:none}.card-flip{opacity:1;transform:none}}@media(max-width:980px){.app-shell{grid-template-columns:1fr}.side-panel{min-height:0;border-left:0;border-top:1px solid #d9cfbe}.topbar{width:min(94vw,720px);min-width:0}.board-wrap{grid-template-columns:20px minmax(280px,min(94vw,720px));grid-template-rows:minmax(280px,min(94vw,720px)) 20px}}@media(max-width:540px){.play-surface,.side-panel{padding:14px}.topbar{align-items:flex-start;flex-direction:column}.top-actions,.mode-toggle{width:100%}.board-wrap{grid-template-columns:16px minmax(250px,calc(100vw - 46px));grid-template-rows:minmax(250px,calc(100vw - 46px)) 18px}.stake-grid,.metrics,.promotion-picker{grid-template-columns:1fr}}
