@font-face{font-family:Bodoni Moda;src:url(/fonts/bodoni-moda-var.woff2)format("woff2");font-weight:400 800;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter-var.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{--felt:oklch(34% .052 168);--felt-deep:oklch(25% .045 170);--felt-lit:oklch(42% .06 162);--felt-raised:oklch(31% .05 169);--table:var(--felt);--table-deep:var(--felt-deep);--surface-panel:oklch(30% .048 169);--surface:#f6f0e4;--surface-raised:#fffaf0;--card-face:#fdf9ee;--card-edge:oklch(86% .02 90);--ink:#18231f;--on-table:#f4efe3;--on-table-muted:oklch(80% .03 160);--gold:#d8b466;--gold-bright:#f1d58f;--gold-deep:oklch(62% .09 84);--red:#b53a35;--border:#ffffff21;--glow-gold:0 0 18px -2px #d8b46699;--vignette:radial-gradient(120% 90% at 50% 30%, oklch(40% .058 163/.55), transparent 62%), radial-gradient(140% 110% at 50% 108%, oklch(20% .04 172/.78), transparent 55%);--felt-texture:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");--shadow-1:0 3px 8px #04181338, 0 1px 2px #04181333;--shadow-2:0 14px 26px #0418134d, 0 2px 5px #04181342;--shadow-3:0 22px 40px #0314105c, 0 4px 10px #0314103d;--shadow-4:0 32px 70px #00100c70, 0 6px 16px #00100c47;--font-display:"Bodoni Moda", "Bodoni 72", Didot, Georgia, serif;--font-ui:"Inter", ui-sans-serif, system-ui, sans-serif;--text-xs:11px;--text-sm:12px;--text-md:13px;--text-lg:15px;--text-xl:22px;--text-hero:46px;--tracking-caps:.12em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--radius-pill:999px;--motion-fast:.16s;--motion:.22s;--motion-slow:.42s;--ease-out-soft:cubic-bezier(.22, 1, .36, 1);--header-h:64px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);font-family:var(--font-ui);color:var(--on-table);background:var(--felt-deep);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-optical-sizing:auto}*{box-sizing:border-box}html{background:var(--table-deep);scroll-behavior:smooth;min-width:320px}body{min-width:320px;min-height:100vh;margin:0}button{font:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--gold-bright);outline-offset:3px}.app-shell{min-height:100svh;padding-left:var(--safe-left);padding-right:var(--safe-right);background:var(--felt-texture) repeat, var(--vignette), var(--felt)}.app-header{height:calc(var(--header-h) + var(--safe-top));padding:var(--safe-top) 28px 0;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:10;background:oklch(27% .046 170/.74);justify-content:space-between;align-items:center;gap:24px;display:flex;position:relative}.brand{color:var(--on-table);align-items:center;gap:12px;text-decoration:none;display:inline-flex}.brand-mark{width:38px;height:38px;color:var(--gold-bright);font:600 22px/1 var(--font-display);background:#ffffff0d;border:1px solid #d8b4668c;border-radius:11px;place-items:center;display:grid;transform:rotate(-4deg)}.brand>span:last-child{line-height:1.1;display:grid}.brand strong{font:600 21px/1 var(--font-display);letter-spacing:.01em}.brand small{color:var(--on-table-muted);letter-spacing:.12em;text-transform:uppercase;margin-top:5px;font-size:10px}.app-header nav{gap:8px;display:flex}.header-button,.icon-button{min-height:44px;color:var(--on-table);cursor:pointer;background:0 0;border:0;border-radius:10px}.header-button{align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:600;display:inline-flex}.header-button span{color:var(--gold-bright);font-size:17px}.header-button:hover,.icon-button:hover{background:#ffffff14}.header-button:disabled{opacity:.5;cursor:wait}.game-layout{width:min(640px,100%);min-height:calc(100svh - var(--header-h) - var(--safe-top));margin:0 auto;display:grid}.game-table{min-width:0;padding:10px 14px calc(12px + var(--safe-bottom));isolation:isolate;grid-template-rows:auto minmax(0,1fr) auto auto auto;grid-template-areas:"opponent""stage""chips""status""player";row-gap:8px;display:grid;position:relative;overflow:hidden}.opponent-bar{z-index:4;grid-area:opponent;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;min-height:48px;display:grid;position:relative}.opponent-bar .player-label{justify-self:start}.opponent-bar .capture-summary-ai{justify-self:end}.player-label{color:var(--on-table);align-items:center;gap:10px;display:flex}.player-label>div{font-size:var(--text-md);line-height:1.25;display:grid}.player-label span:not(.avatar){color:var(--on-table-muted);font-size:var(--text-xs)}.avatar{width:34px;height:34px;color:var(--table-deep);background:var(--surface);border-radius:50%;place-items:center;font-weight:700;display:grid}.dealer-avatar{background:#b9ccc3}.thinking-dot{background:var(--gold-bright);border-radius:50%;width:7px;height:7px;animation:1.2s infinite pulse}.hand{justify-content:center;align-items:flex-end;display:flex}.opponent-hand{min-width:130px;height:52px}.stage{grid-area:stage;min-height:170px;padding-top:30px;display:grid;position:relative}.stage:before{content:"";pointer-events:none;background:radial-gradient(46% 44% at 50% 54%,oklch(44% .062 160/.55),#0000 74%);position:absolute;inset:-4% -10%}.pile-stage{place-items:center;width:100%;height:100%;min-height:0;display:grid;position:relative}.player-zone{grid-area:player;row-gap:2px;display:grid}.player-hand{width:100%;min-height:150px}.playing-card{--card-w:104px;width:var(--card-w);height:calc(var(--card-w) * 1.42);border-radius:calc(var(--card-w) * .058);color:var(--ink);box-shadow:var(--shadow-2);transition:transform var(--motion) ease, box-shadow var(--motion) ease, filter var(--motion-fast) ease;background:0 0;border:0;flex:none;padding:0;position:relative}button.playing-card{cursor:default}button.playing-card.playable{cursor:pointer;box-shadow:var(--shadow-2), 0 0 0 2px var(--gold-bright), 0 0 16px -2px #d8b466a6}button.playing-card.playable:hover{box-shadow:0 26px 36px #04181357, 0 0 0 2px var(--gold-bright), 0 0 22px -2px #d8b466cc;transform:translateY(-15px)rotate(-1deg)}button.playing-card.playable:focus-visible{outline-color:var(--gold-bright);transform:translateY(-12px)}button.playing-card:disabled{opacity:1}.playing-card.card-arriving{opacity:0!important}.playing-card.compact{--card-w:78px}.card-art{width:100%;height:100%;display:block}.playing-card .card-art{pointer-events:none}.playing-card.card-back{background:0 0;border:0;padding:0}.pile-meta{z-index:4;pointer-events:none;justify-content:center;gap:6px;min-height:24px;display:flex;position:absolute;top:0;left:0;right:0}.lead-chip,.control-chip,.point-chip,.count-badge{border-radius:var(--radius-pill);letter-spacing:.03em;text-transform:uppercase;padding:4px 9px;font-size:10px;font-weight:700}.lead-chip{color:var(--table-deep);background:var(--gold-bright);box-shadow:var(--glow-gold)}.control-chip{color:var(--on-table);border:1px solid var(--border);background:#04231b8c}.empty-pile{aspect-ratio:1/1.42;width:min(56%,230px);color:var(--on-table-muted);border:1px dashed #fff3;border-radius:18px;place-content:center;justify-items:center;display:grid}.empty-pile span{color:#ffffff29;font:40px/1 var(--font-display)}.empty-pile p{font-size:var(--text-xs);text-align:center;margin:6px 8px 0}.chips-row{z-index:4;grid-area:chips;justify-content:space-between;align-items:center;gap:10px;display:flex;position:relative}.stock-area{color:var(--on-table-muted);font-size:var(--text-xs);border:1px solid var(--border);border-radius:var(--radius-pill);background:#04231b61;align-items:center;gap:10px;padding:5px 14px 5px 7px;display:flex}.stock-stack{width:30px;height:43px;position:relative}.stock-stack:before,.stock-stack:after{content:"";box-shadow:var(--shadow-1);background:#f4ede0;border-radius:4px;position:absolute;inset:0}.stock-stack:before{transform:translate(-3px,2px)rotate(-3deg)}.stock-stack:after{transform:translate(-1.5px,1px)rotate(-1.5deg)}.stock-stack.empty{border:1px dashed #ffffff2e;border-radius:5px}.stock-stack.empty:before,.stock-stack.empty:after{display:none}.score-board{border:1px solid var(--border);border-radius:var(--radius-pill);z-index:4;background:#04231b61;align-items:center;gap:12px;padding:5px 16px;display:flex;position:relative}.score-board>div{align-items:baseline;gap:7px;display:flex}.score-board span{color:var(--on-table-muted);font-size:var(--text-xs)}.score-board strong{font:600 24px/1 var(--font-display);color:var(--gold-bright)}.score-divider{color:var(--on-table-muted);text-transform:uppercase;letter-spacing:var(--tracking-caps);font-size:10px}.status-row{z-index:4;grid-area:status;justify-content:center;align-items:stretch;gap:8px;min-width:0;display:flex;position:relative}.turn-status{border-radius:var(--radius-pill);max-width:100%;min-height:40px;color:var(--on-table-muted);z-index:4;transition:background var(--motion) var(--ease-out-soft), border-color var(--motion) var(--ease-out-soft), color var(--motion) var(--ease-out-soft);background:#04231b4d;border:1px solid #0000;align-items:center;gap:9px;padding:9px 16px;display:flex;position:relative}.turn-status.active{color:var(--on-table);background:#d8b46614;border-color:#d8b46640}.turn-status p{font-size:var(--text-sm);text-align:center;margin:0}.status-light{background:#6c887c;border-radius:50%;flex:none;width:7px;height:7px}.turn-status.active .status-light{background:var(--gold-bright);box-shadow:0 0 0 4px #f1d58f1f}.phase-decision .turn-status{color:#2a2413;border-color:var(--gold-bright);background:var(--gold-bright);box-shadow:var(--glow-gold);animation:decision-pulse 1.7s var(--ease-out-soft) infinite}.phase-decision .turn-status p{font-weight:600}.phase-decision .turn-status .status-light{box-shadow:none;background:#2a2413}.phase-decision .concede-button{color:var(--gold-bright);background:#d8b4661f;border-color:#d8b466a6}.phase-decision .concede-button:hover{background:#d8b46638}.phase-decision .stage:after{content:"";border-radius:var(--radius-lg);pointer-events:none;position:absolute;inset:22px 4px 2px;box-shadow:0 0 0 1px #d8b4664d,0 0 44px -10px #d8b46673}.phase-finished .turn-status{color:var(--on-table);border-color:var(--border);background:#04231b8c}@keyframes decision-pulse{50%{box-shadow:0 0 30px -4px #f1d58fcc}}.player-footer{z-index:4;justify-content:space-between;align-items:center;gap:12px;min-height:48px;display:flex;position:relative}.capture-summary{color:var(--on-table-muted);white-space:nowrap;justify-items:center;gap:2px;font-size:10px;display:grid}.capture-anchor{width:58px;height:36px}.capture-summary span{border-radius:var(--radius-pill);background:#04231b8c;padding:2px 7px}.primary-button,.secondary-button{cursor:pointer;min-height:44px;transition:transform var(--motion-fast), background var(--motion-fast);border-radius:11px;padding:0 18px;font-size:13px;font-weight:700}.primary-button{color:#1b2b25;border:1px solid var(--gold-bright);background:var(--gold-bright)}.primary-button:hover{background:#ffe2a1;transform:translateY(-1px)}.secondary-button{color:var(--on-table);border:1px solid var(--border);background:#ffffff0f}.secondary-button:hover{background:#ffffff1c}.secondary-button:disabled{opacity:.5;cursor:default}.concede-button{min-height:44px}.history-panel{height:calc(100svh - var(--header-h) - var(--safe-top));color:var(--on-table);padding:28px 20px;overflow:auto}.panel-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:14px;padding-bottom:18px;display:flex}.eyebrow{color:var(--gold);letter-spacing:.18em;text-transform:uppercase;margin:0 0 4px;font-size:10px;font-weight:700}.panel-heading h2,.dialog-heading h2,.stats-heading h2{font:600 22px/1.15 var(--font-display);margin:0}.count-badge{background:#ffffff14}.history-list{gap:9px;padding-top:14px;display:grid}.history-item{border:1px solid var(--border);background:#ffffff0a;border-radius:12px;padding:11px;position:relative}.history-item>div:first-child{justify-content:space-between;gap:10px;display:flex}.history-item strong{font-size:11px}.history-item>div>span{color:var(--on-table-muted);font-size:10px}.history-cards{flex-wrap:wrap;gap:4px;margin-top:8px;display:flex}.history-cards span{background:var(--surface);text-align:center;min-width:27px;font:600 10px/1.2 var(--font-display);border-radius:5px;padding:3px 4px;color:#18201d!important}.history-cards span.red{color:var(--red)!important}.history-item .point-chip{color:var(--gold-bright);background:#d8b46621;position:absolute;bottom:8px;right:8px}.empty-history{color:var(--on-table-muted);margin:18px 0;font-size:11px;line-height:1.6}.stats-dialog{border-radius:0 var(--radius-lg) var(--radius-lg) 0;width:min(320px,88vw);max-width:none;height:100dvh;max-height:none;color:var(--on-table);background:var(--surface-panel);box-shadow:var(--shadow-4);opacity:0;transition:transform var(--motion) ease, opacity var(--motion) ease;border:0;border-right:1px solid #d8b46633;margin:0;padding:0;inset:0 auto 0 0;overflow:hidden;transform:translate(-100%)}.stats-dialog.is-visible{opacity:1;transform:translate(0)}.stats-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00110da8}.stats-panel{overscroll-behavior:contain;height:100%;overflow:auto}.history-dialog{border-radius:var(--radius-lg) 0 0 var(--radius-lg);width:min(340px,88vw);max-width:none;height:100dvh;max-height:none;color:var(--on-table);background:var(--surface-panel);box-shadow:var(--shadow-4);opacity:0;transition:transform var(--motion) ease, opacity var(--motion) ease;border:0;border-left:1px solid #d8b46633;margin:0;padding:0;inset:0 0 0 auto;overflow:hidden;transform:translate(100%)}.history-dialog.is-visible{opacity:1;transform:translate(0)}.history-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00110da8}.history-drawer-close{z-index:2;position:absolute;top:10px;right:12px}.history-dialog .history-panel{overscroll-behavior:contain;height:100%;padding-top:60px;overflow:auto}.stats-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;min-height:88px;padding:22px 18px 18px 24px;display:flex}.stats-section{border-bottom:1px solid var(--border);padding:22px 24px}.stats-section-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.stats-section-heading h3{font:600 15px/1.2 var(--font-display);margin:0}.stats-section-heading span{color:var(--on-table-muted);letter-spacing:.1em;text-transform:uppercase;font-size:10px}.stats-score{color:var(--on-table-muted);background:#d8b4660f;border:1px solid #d8b46633;border-radius:14px;justify-content:center;align-items:center;gap:24px;margin:18px 0;padding:14px;display:flex}.stats-score div{justify-items:center;gap:5px;min-width:62px;display:grid}.stats-score span{font-size:10px}.stats-score strong{color:var(--gold-bright);font:600 32px/1 var(--font-display)}.stats-grid{grid-template-columns:1fr 1fr;gap:8px;margin:0;display:grid}.stats-grid>div{border:1px solid var(--border);background:#ffffff0a;border-radius:11px;min-width:0;padding:11px}.stats-grid dt{color:var(--on-table-muted);font-size:10px;line-height:1.3}.stats-grid dd{color:var(--on-table);font:600 16px/1 var(--font-display);margin:6px 0 0}.stats-grid-lifetime{margin-top:16px}.stats-footer{padding:18px 24px 28px}.stats-footer>.secondary-button{width:100%}.stats-footer p{color:var(--on-table-muted);margin:0 0 12px;font-size:11px;line-height:1.5}.stats-footer>div{grid-template-columns:1fr 1.35fr;gap:8px;display:grid}.stats-footer>div button{padding-inline:10px}.reset-stats-confirm{color:#ffd4cf;background:#b53a3529;border-color:#b53a359e}.reset-stats-confirm:hover{background:#b53a3542}.app-dialog{overscroll-behavior:contain;border-radius:var(--radius-lg);width:min(520px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--on-table);background:linear-gradient(oklch(33% .05 168), var(--surface-panel) 90px);box-shadow:var(--shadow-4);border:1px solid #d8b46638;padding:0;overflow:auto}.app-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#01120eb8}.dialog-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 24px 18px;display:flex}.dialog-description{color:var(--on-table-muted);margin:8px 0 0;font-size:12px;line-height:1.5}.icon-button{flex:0 0 44px;width:44px;font-size:25px}.rules-list{gap:0;margin:0;padding:8px 24px 4px;list-style:none;display:grid}.rules-list li{border-bottom:1px solid var(--border);grid-template-columns:34px 1fr;gap:12px;padding:14px 0;display:grid}.rules-list li>span{color:var(--gold);font:600 12px/1.4 var(--font-display)}.rules-list strong{font-size:13px}.rules-list p{color:var(--on-table-muted);margin:4px 0 0;font-size:11px;line-height:1.5}.challenge-panel{background:#d8b46614;border:1px solid #d8b4664d;border-radius:12px;margin:16px 24px 0;padding:14px}.challenge-panel strong{color:var(--gold-bright);font:600 14px/1.2 var(--font-display);letter-spacing:.01em}.challenge-panel p{color:var(--on-table);font-size:var(--text-sm);margin:5px 0 0;line-height:1.55}.challenge-panel b{color:var(--gold-bright);font:600 14px/1 var(--font-display)}.memory-panel{border:1px solid var(--border);background:#ffffff0a;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;margin:12px 24px 0;padding:14px;display:flex}.memory-panel strong{font-size:12px}.memory-panel p{color:var(--on-table-muted);margin:4px 0 0;font-size:10px;line-height:1.45}.memory-panel .secondary-button{flex:none}.dialog-action{width:calc(100% - 48px);margin:20px 24px 24px}.about-body{gap:14px;padding:16px 24px 4px;display:grid}.about-body>p{color:var(--on-table-muted);margin:0;font-size:12px;line-height:1.6}.about-body section{border-top:1px solid var(--border);gap:4px;padding-top:12px;display:grid}.about-body section strong{color:var(--on-table);font-size:13px}.about-body section p{color:var(--on-table-muted);margin:0;font-size:11px;line-height:1.55}.about-credit{color:var(--gold-bright)}.dialog-buttons{justify-content:flex-end;gap:10px;padding:24px;display:flex}.final-score{color:var(--on-table-muted);justify-content:center;align-items:center;gap:24px;padding:28px 24px 14px;display:flex}.final-score div{justify-items:center;gap:7px;min-width:90px;display:grid}.final-score div span{font-size:11px}.final-score strong{font:600 46px/1 var(--font-display);color:var(--on-table)}.final-score .winner strong{color:var(--gold-bright)}.last-pile-note{color:var(--on-table-muted);text-align:center;margin:0;font-size:11px}.error-toast{z-index:30;color:#fff;max-width:calc(100vw - 32px);box-shadow:var(--shadow-4);background:#8d332f;border-radius:10px;padding:12px 16px;font-size:12px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.notice-toast{z-index:30;max-width:calc(100vw - 32px);color:var(--on-table);box-shadow:var(--shadow-4);background:#2a4036;border:1px solid #d8b46659;border-radius:10px;padding:12px 16px;font-size:12px;position:fixed;bottom:80px;left:50%;transform:translate(-50%)}.storage-warning{z-index:30;max-width:calc(100vw - 32px);color:var(--on-table);box-shadow:var(--shadow-4);background:#213b32;border:1px solid #d8b46673;border-radius:10px;align-items:center;gap:12px;padding:10px 14px;font-size:12px;display:flex;position:fixed;top:90px;left:50%;transform:translate(-50%)}.storage-warning span{line-height:1.35}.storage-warning-dismiss{width:28px;height:28px;color:var(--on-table-muted);cursor:pointer;background:0 0;border:0;border-radius:7px;flex:none;font-size:18px;line-height:1}.storage-warning-dismiss:hover{color:var(--on-table);background:#ffffff14}.card-scene{z-index:3;pointer-events:none;perspective:1100px;position:absolute;inset:0}.scene-card{pointer-events:none;will-change:transform;transform-origin:50%;position:absolute}.scene-card-rest,.scene-card-rest>.playing-card{width:100%;height:100%}.scene-card-rest{transform-origin:50%;transform:translateY(var(--hand-shift,0px)) rotate(var(--rest-rot,0deg));transition:transform var(--motion-slow) var(--ease-out-soft)}.scene-card .playing-card{--card-w:100%;pointer-events:none;width:100%;height:100%;transition:box-shadow var(--motion) ease, filter var(--motion-slow) var(--ease-out-soft);display:block}.scene-card-playable,.scene-card-playable .playing-card{pointer-events:auto}.scene-card-playable:hover .scene-card-rest{transform:translateY(calc(var(--hand-shift,0px) - 15px)) rotate(calc(var(--rest-rot,0deg) - 1deg))}.scene-card-playable:hover .playing-card{box-shadow:0 26px 36px #04181357, 0 0 0 2px var(--gold-bright), 0 0 22px -2px #d8b466cc}.scene-card-playable:focus-within .scene-card-rest{transform:translateY(calc(var(--hand-shift,0px) - 12px)) rotate(var(--rest-rot,0deg))}.turn-human .zone-human-hand{--hand-shift:-6px}.turn-ai .zone-human-hand,.phase-finished .zone-human-hand{--hand-shift:14px}.turn-ai .zone-human-hand .playing-card{filter:brightness(.8)saturate(.85)}.phase-finished .zone-human-hand .playing-card{filter:brightness(.7)saturate(.7)}.zone-human-captured .playing-card,.zone-ai-captured .playing-card{box-shadow:0 7px 15px #0418133d}.zone-stock .playing-card{box-shadow:var(--shadow-2)}.presentation-busy .player-hand{cursor:wait}.action-enter-active,.action-leave-active,.toast-enter-active,.toast-leave-active,.banner-enter-active,.banner-leave-active{transition:all var(--motion) ease}.action-enter-from,.action-leave-to{opacity:0;transform:translateY(8px)}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(-50%,10px)}.banner-enter-from,.banner-leave-to{opacity:0;transform:translate(-50%,-10px)}@keyframes pulse{50%{opacity:.3;transform:scale(.8)}}@media (width<=680px){.app-shell{--header-h:56px}.app-header{padding:var(--safe-top) 12px 0}.app-header nav{gap:2px}.brand-mark{width:34px;height:34px;font-size:19px}.brand small{display:none}.header-button{justify-content:center;width:44px;padding:0;font-size:0}.header-button span{font-size:19px}.score-board strong{font-size:20px}.player-hand{min-height:140px}.turn-status p{font-size:var(--text-xs)}.app-dialog{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:none;max-height:calc(100dvh - 40px);padding-bottom:var(--safe-bottom);border-bottom:0;border-left:0;border-right:0;margin:0;inset:auto 0 0}.dialog-buttons{flex-direction:column-reverse}.dialog-buttons button{width:100%}}@media (width<=390px){.brand>span:last-child{display:none}.app-header{padding-inline:8px}.app-header nav{gap:0}.header-button{width:40px}.capture-summary{font-size:9px}}@media (height<=720px){.game-table{row-gap:5px}.stage{padding-top:24px}.opponent-bar{min-height:44px}.opponent-hand{height:42px}.stock-stack{width:23px;height:32px}.capture-anchor{height:30px}.turn-status{min-height:36px;padding:6px 12px}.player-hand{min-height:116px}.player-footer{min-height:40px}}@media (orientation:landscape) and (height<=540px){.app-shell{--header-h:56px}.game-layout{width:100%}.game-table{padding:8px 14px calc(10px + var(--safe-bottom));grid-template:"stage opponent""stage chips""stage status"minmax(0,1fr)"stage player"/minmax(0,1fr) minmax(280px,380px);gap:6px 16px}.stage{min-height:0}.opponent-bar{min-height:44px}.opponent-hand{height:40px}.stock-stack{width:25px;height:36px}.status-row{align-self:end}.turn-status{flex:1;min-height:34px;padding:5px 12px}.player-hand{min-height:96px}.player-footer{min-height:40px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
