:root{--bg:#0e0f11;--felt:#1a2722;--felt-edge:#111214;--rail-line:#c69a3873;--paper:#f4f1ea;--ink:#111214;--text:#ecebe6;--muted:#ecebe6ad;--accent:#c69a38;--danger:#f0524f;--suit-red:#963626;--suit-black:#111214;--felt-image:url(/assets/felt.webp);--suit-green:#246344;--suit-blue:#235491;--back-a:#111214;--back-b:#c69a38}html[data-deck=classic]{--bg:#0a100d;--felt:#0f4d3a;--felt-edge:#22150f;--rail-line:#b08d57a6;--paper:#fbfaf6;--ink:#151515;--text:#f3efe4;--muted:#f3efe4b3;--accent:#c9a45c;--danger:#f0645b;--suit-red:#b3122e;--suit-black:#151515;--suit-green:#1e6b3a;--suit-blue:#1f4fa8;--back-a:#a4152c;--back-b:#f4e9da}html[data-deck=minimal]{--bg:#15181d;--felt:#2b323c;--felt-edge:#1c2027;--rail-line:#ffffff2e;--paper:#fff;--ink:#16181c;--text:#f2f4f7;--muted:#f2f4f7b3;--accent:#5b9bff;--danger:#ff6b6b;--suit-red:#d3202b;--suit-black:#16181c;--suit-green:#0e7a34;--suit-blue:#1f5fd1;--felt-image:none;--back-a:#2b323c;--back-b:#5b9bff}html[data-deck=deco]{--bg:#080808;--felt:#141414;--felt-edge:#050505;--rail-line:#d4af37b3;--paper:#f3e9d2;--ink:#0c0c0c;--text:#f3e9d2;--muted:#f3e9d2b3;--accent:#d4af37;--danger:#f0645b;--suit-red:#9b1b30;--suit-black:#0c0c0c;--suit-green:#1e5e3a;--suit-blue:#1f3f8a;--felt-image:none;--back-a:#0c0c0c;--back-b:#d4af37}html[data-deck=neon]{--bg:#05050b;--felt:#0f0b22;--felt-edge:#07061a;--rail-line:#29e3ffcc;--paper:#f7f7ff;--ink:#0b0b14;--text:#ededff;--muted:#ededffb8;--accent:#ff4fd8;--danger:#ff6b6b;--suit-red:#d6114f;--suit-black:#0b0b14;--suit-green:#08744b;--suit-blue:#1d4ed8;--felt-image:none;--back-a:#0b0b1e;--back-b:#29e3ff}html[data-deck=neon] .felt{box-shadow:inset 0 0 18px #29e3ff40,0 0 10px #29e3ff55}html[data-deck=deco] .felt{outline-offset:-6px;outline-width:2px}html[data-deck=deco] .card-svg text{font-family:Didot,"Bodoni 72",Georgia,Times New Roman,serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-variant-numeric:tabular-nums;font-family:Hiragino Sans,Noto Sans JP,system-ui,sans-serif;font-size:14px}button,input,select{font:inherit}button,select{border:1px solid var(--rail-line);background:var(--felt-edge);min-width:44px;min-height:44px;color:var(--text);border-radius:8px;padding:8px 12px}button{cursor:pointer;justify-content:center;align-items:center;gap:6px;display:inline-flex}button:hover{border-color:var(--accent)}button:disabled{opacity:.5;cursor:default}button[aria-pressed=true]{border-color:var(--accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}input[type=checkbox]{width:22px;height:22px;accent-color:var(--accent)}h1,h2,h3,p{margin:0}.app{max-width:1440px;height:100dvh;padding-top:env(safe-area-inset-top);flex-direction:column;margin:auto;display:flex}.topbar{padding:8px max(10px, env(safe-area-inset-right)) 8px max(10px, env(safe-area-inset-left));border-bottom:1px solid var(--rail-line);z-index:20;flex:0 0 70px;align-items:center;gap:10px;display:flex;position:relative}.brand{white-space:nowrap;font-size:15px;font-weight:700}.brand small{color:var(--muted);letter-spacing:1px;font-size:10px;font-weight:400;display:block}.wallet{white-space:nowrap;min-width:0;margin-left:auto;font-size:11px;line-height:1.5;overflow:hidden}.wallet b{font-size:inherit;color:var(--text)}.wallet.seated,.wallet.seated b{color:var(--muted);font-size:11px;font-weight:400}.settings{flex-shrink:0;gap:6px;display:flex}.settings>button{padding:7px}.settings-panel{border:1px solid var(--rail-line);background:var(--bg);border-radius:12px;width:min(330px,100vw - 16px);max-height:calc(100dvh - 90px);padding:14px;position:absolute;top:100%;right:8px;overflow:auto}.panel-heading{border-bottom:1px solid var(--rail-line);justify-content:space-between;align-items:center;gap:12px;padding-bottom:8px;display:flex}.settings-panel label{justify-content:space-between;align-items:center;gap:10px;min-height:48px;display:flex}.settings-panel>button{margin-top:8px}.primary,.act.raise,.act.deal{background:var(--accent);color:var(--ink);font-weight:700}.lobby{width:100%;max-width:980px;padding:0 14px calc(24px + env(safe-area-inset-bottom));flex:1;margin:auto;overflow:auto}.practice-note{color:var(--text);border-bottom:1px solid var(--rail-line);padding:14px 0;font-size:13px;line-height:1.8}.lobby-intro{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:24px 0 8px;display:flex}.lobby-intro h1{font-size:23px;font-weight:600}.lobby-intro p{color:var(--muted);margin-top:6px;font-size:13px}.lobby-intro button{font-size:12px}.section-title{border-bottom:1px solid var(--rail-line);margin:22px 0 10px;padding-bottom:9px;font-size:16px;font-weight:600}.lobby-rows{border:1px solid var(--rail-line);border-radius:12px;overflow:hidden}.lobby-row{background:var(--felt-edge);align-items:center;gap:12px;padding:14px 12px;display:flex}.lobby-row+.lobby-row{border-top:1px solid var(--rail-line)}.lobby-row>svg{color:var(--muted);flex-shrink:0}.row-copy{flex:1;min-width:0}.row-copy h3{font-size:16px;font-weight:600}.row-copy p{color:var(--muted);margin-top:3px;font-size:13px;line-height:1.6}.lobby-row button{flex-shrink:0;font-size:13px}.tournament-row{flex-wrap:wrap}.tournament-row .row-copy{flex-basis:calc(100% - 40px)}.tournament-row button{margin-left:32px}.game-table{flex-direction:column;flex:1;width:100%;max-width:1100px;min-height:0;margin:auto;display:flex;position:relative}.table-toolbar{flex:0 0 44px;align-items:center;gap:8px;padding:0 8px;display:flex}.table-toolbar>button{padding:6px 8px;font-size:12px}.table-toolbar>span{text-align:center;flex:1;font-size:12px}.felt{background-color:var(--felt);background-image:var(--felt-image);background-blend-mode:soft-light;border:7px solid var(--felt-edge);outline:1px solid var(--rail-line);outline-offset:-5px;background-size:512px 512px;border-radius:48px;flex:1;min-height:0;margin:8px 7px 9px;position:relative;box-shadow:inset 0 0 8px #0002;container-type:size}.center{text-align:center;width:max-content;position:absolute;top:55.5%;left:50%;transform:translate(-50%,-50%)}.board{gap:clamp(3px,.6cqw,6px);display:flex}.card{aspect-ratio:5/7;border-radius:7%;flex-shrink:0;width:32px;height:auto;display:inline-block;position:relative;overflow:hidden;box-shadow:0 1px 2px #0002;container-type:inline-size}.card-svg{width:100%;height:100%;display:block}.card-paper{fill:var(--paper);stroke:#11121460;stroke-width:1px;vector-effect:non-scaling-stroke}.card-art{object-fit:cover;width:100%;height:100%;display:block}.card-mini{display:none}@container (width<=43.99px){.card-full{display:none}.card-mini{display:block}}.card.slot{border:1px solid var(--rail-line);box-shadow:none;background:0 0}.card.big{width:46px}.board .card{width:clamp(28px,7cqw,74px)}.pot{left:50%;top:var(--pot-y,40%);color:var(--text);flex-direction:column;align-items:center;font-size:11px;line-height:16px;display:flex;position:absolute;transform:translate(-50%,-50%)}.pot b{font-size:16px;line-height:20px}.sidepots{text-align:center;width:max-content;max-width:30cqw;max-height:45px;font-size:11px;line-height:15px;position:absolute;bottom:calc(100% + 2px);overflow:hidden}.sidepots span{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.seat{width:calc(clamp(70px, 14cqw, 144px) * var(--seat-density));z-index:4;position:absolute}.plate{z-index:2;background:var(--felt-edge);text-align:center;border:2px solid #0000;border-radius:8px;padding:3px 3px 4px;position:relative}.pname{font-size:calc(12px * var(--seat-density));line-height:calc(16px * var(--seat-density));white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.pstack{font-size:calc(17px * var(--seat-density));font-weight:700;line-height:calc(21px * var(--seat-density))}.status{font-size:calc(11px * var(--seat-density));line-height:calc(15px * var(--seat-density));min-height:calc(15px * var(--seat-density));white-space:nowrap;text-overflow:ellipsis;color:var(--text);overflow:hidden}.seat .cards{z-index:1;gap:3px;display:flex;position:absolute;bottom:calc(100% - 3px);left:50%;transform:translate(-50%)}.seat:not(.hero) .cards{left:var(--cards-left);right:var(--cards-right);transform:var(--cards-transform)}.seat:not(.hero) .card{width:calc(clamp(18px, 3.4cqw, 36px) * var(--seat-density))}.seat.hero{--seat-density:1;width:clamp(112px,18cqw,184px)}.seat.hero .pstack{font-size:20px;line-height:23px}.seat.hero .cards{gap:6px;bottom:calc(100% + 12px)}.seat.hero .card{width:clamp(46px,9cqw,92px)}.hand-hint{white-space:nowrap;color:var(--text);font-size:11px;line-height:12px;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.dealer{top:5px;left:var(--dealer-left,calc(100% + 2px));right:var(--dealer-right,auto);z-index:5;background:0 0;border:0;border-radius:50%;place-items:center;width:18px;height:18px;display:grid;position:absolute}.seat.turn .plate{border-color:var(--accent)}.thinking{vertical-align:middle;gap:2px;margin-left:3px;display:inline-flex}.thinking i{background:var(--accent);width:3px;height:3px;animation:thinking var(--motion-thinking) ease infinite alternate;border-radius:50%}.thinking i:nth-child(2){animation-delay:calc(var(--motion-thinking) * .2)}.thinking i:nth-child(3){animation-delay:calc(var(--motion-thinking) * .4)}.chipstack{vertical-align:middle;display:inline-block;position:relative}.chip3d{width:var(--cs,16px);height:var(--cs,16px);filter:drop-shadow(0 1px 1px #0005);background-repeat:no-repeat;background-size:contain;display:inline-block;position:relative}.chip3d>svg{width:100%;height:100%;display:block;position:absolute;inset:0}.chip3d>.chip-number{z-index:1}html[data-deck=neon] .chip3d{filter:drop-shadow(0 0 2px #29e3ff80)}.court-frame{fill:var(--paper);stroke:currentColor;stroke-width:.8px}.court-corner,.court-rule{stroke:currentColor;stroke-width:.8px;fill:none}.court-corner{display:none}html[data-deck=deco] .court-frame{stroke:#b8962e;stroke-width:1.4px}html[data-deck=deco] .court-corner{stroke:#b8962e;stroke-width:1.4px;display:inline}html[data-deck=deco] .court-rule{stroke:#b8962e}html[data-deck=neon] .court-frame{fill:#0b0b1e;stroke:currentColor;stroke-width:1.4px}html[data-deck=neon] .court-mono text,html[data-deck=neon] .court-mono path:not(.court-corner):not(.court-rule){filter:drop-shadow(0 0 1.5px)}html[data-deck=neon] .court-mono{color:inherit}html[data-deck=neon] .card[style*=suit-black] .court-mono text,html[data-deck=neon] .card[style*=suit-black] .court-mono g>path{fill:#ededff}.chipstack .chip3d{position:absolute;left:0}.chip-number{background:var(--paper);width:46%;height:28%;color:var(--ink);font:700 calc(var(--cs) * .19) / 1 system-ui, sans-serif;border-radius:50%;place-items:center;display:grid;position:absolute;top:36%;left:27%}.betzone{--bet-progress:var(--default-progress);z-index:3;pointer-events:none;align-items:center;gap:2px;display:flex;position:absolute}.betzone[data-region=upper],.betzone[data-region=middle]{flex-direction:column}@container (width<=699px){.betzone[data-region=middle]{--bet-progress:.58;--bet-horizontal-progress:.48}.betzone[data-region=upper]{--bet-progress:.38;--bet-horizontal-progress:.51}}.betzone .chip3d{flex-shrink:0}.bet-stack{flex-shrink:0;width:22px;height:22px;position:relative}.bet-stack .chipstack{position:absolute;bottom:0;left:0}.bet-stack .chip3d:nth-child(2){opacity:0;animation:chip-layer var(--motion-chip) linear both}.betamt{background:var(--felt-edge);color:var(--text);border:1px solid var(--rail-line);white-space:nowrap;border-radius:6px;padding:0 3px;font-size:clamp(12px,1.5cqw,16px);line-height:20px}.bar{padding:6px 10px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--rail-line);background:var(--bg);z-index:10;flex:none;position:relative}.odds{text-align:center;white-space:nowrap;min-height:22px;font-size:11px;line-height:22px}.sizer{display:none}.sizer.open{flex-direction:column;gap:4px;padding-bottom:6px;display:flex}.presets{gap:4px;display:flex}.presets button{flex:1;min-width:0;padding:3px;font-size:11px}.allin-label{color:var(--danger)}.act.raise.allin-label{background:var(--felt-edge);color:var(--danger);border-color:var(--accent)}.sliderrow{align-items:center;gap:12px;display:flex}.sliderrow button{flex-shrink:0;width:44px;padding:5px}input[type=range]{appearance:none;cursor:pointer;background:0 0;flex:1;min-width:0;height:44px}input[type=range]::-webkit-slider-runnable-track{background:var(--muted);border-radius:2px;height:4px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--accent);border:2px solid var(--paper);border-radius:50%;width:28px;height:28px;margin-top:-12px}input[type=range]::-moz-range-track{background:var(--muted);height:4px}input[type=range]::-moz-range-thumb{background:var(--accent);border:2px solid var(--paper);border-radius:50%;width:28px;height:28px}.acts{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.act{flex-direction:column;gap:2px;min-height:54px;padding:6px 3px;font-size:13px;font-weight:600}.act small{font-size:12px}.idle-actions{flex-wrap:wrap;justify-content:center;align-items:end;gap:8px;padding-bottom:5px;display:flex}.idle-actions .act{min-width:140px}.result-lines{text-align:center;flex-basis:100%;max-height:92px;padding:4px;font-size:13px;line-height:1.8;overflow:auto}.hand-log{z-index:12;border:1px solid var(--rail-line);background:var(--bg);border-radius:12px;flex-direction:column;height:min(300px,100% - 275px);min-height:150px;padding:10px 14px;display:flex;position:absolute;top:50px;left:8px;right:8px}.log-scroll{padding:10px 0;overflow:auto}.log-scroll h2{margin:8px 0;font-size:14px}.log-scroll p,.log-scroll li{overflow-wrap:anywhere;margin:8px 0;font-size:13px;line-height:1.8}.log-scroll ol{padding-left:22px}.tview{padding:18px 16px calc(24px + env(safe-area-inset-bottom));flex:1;width:100%;max-width:850px;margin:auto;overflow:auto}.tview h1{margin-top:18px;font-size:23px}.tv-sub,.tv-note{color:var(--muted);margin:18px 0;font-size:14px;line-height:1.8}.tv-center{padding:30px 0}.result-banner{text-align:center;padding:28px 0 14px}.result-banner p{margin-top:10px}.result-place{font-size:44px}.result-place small{color:var(--muted);font-size:16px}.payout-table{border-collapse:collapse;width:100%;margin-bottom:18px;font-size:13px}.payout-table th,.payout-table td{text-align:left;border-bottom:1px solid var(--rail-line);padding:12px 6px}.payout-table td:last-child,.payout-table th:last-child{text-align:right}.payout-table .me{color:var(--accent);font-weight:700}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width>=700px){.topbar{padding-left:28px;padding-right:28px}.brand{font-size:19px}.wallet:not(.seated){font-size:13px}.lobby{padding:0 28px 32px}.tournament-row{flex-wrap:nowrap}.tournament-row .row-copy{flex-basis:auto}.tournament-row button{margin-left:0}.odds{font-size:13px}.bar{padding-left:12%;padding-right:12%}.sizer.open{grid-template-columns:1fr 1fr;gap:12px;display:grid}.presets button,.act{font-size:14px}}@media (width<=399px){.wallet{font-size:10px}}@container (width<=699px){.seat.side-left,.seat.side-right{translate:0 14px}}@container (width>=700px){.center{top:52%}.plate{padding:5px 8px}.pname{font-size:calc(16px * var(--seat-density));line-height:calc(20px * var(--seat-density))}.pstack{font-size:calc(28px * var(--seat-density));line-height:calc(32px * var(--seat-density))}.status{font-size:calc(14px * var(--seat-density));line-height:calc(18px * var(--seat-density));min-height:calc(18px * var(--seat-density))}.seat.hero .pstack{font-size:28px;line-height:34px}.seat.hero .cards{bottom:calc(100% + 18px)}.hand-hint{font-size:13px;line-height:18px}.betamt{padding:0 4px;line-height:26px}.betzone[data-region=middle]{--bet-progress:.38}.betzone[data-region=hero]{--bet-progress:calc(31.5 / 54)}.game-table:has(.sizer.open) .center{top:49.5%}:is(.game-table:has(.sizer.open) .pot,.game-table:has(.sizer.open) .betzone){--pot-y:37cqh}.game-table:has(.result-lines) .pot{--pot-y:35cqh}.game-table:has(.sizer.open) .seat.hero .cards{bottom:calc(100% + 12px)}.game-table:has(.sizer.open) .hand-hint{font-size:11px;line-height:12px}.game-table:has(.sizer.open) .betzone[data-region=hero]{--bet-progress:calc(33 / 57)}.pot{font-size:14px;line-height:20px}.pot b{font-size:21px;line-height:26px}.sidepots{margin-top:0;top:auto;bottom:calc(100% + 2px)}.dealer{width:24px;height:24px}}@media (width>=1024px){.hand-log{width:310px;height:auto;inset:50px 12px 212px auto}}.dealer img,.dealer svg{width:100%;height:100%;display:block}.dealer svg{position:absolute;inset:0}.deck-review{background-color:var(--felt);background-image:var(--felt-image);background-blend-mode:soft-light;background-size:512px 512px;flex:1;padding:16px;overflow:auto}.deck-review h1{margin-bottom:16px;font-size:20px}.deck-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 8px;display:grid}.deck-grid .card{justify-self:center;width:100%;max-width:100px}.deck-extras{flex-wrap:wrap;align-items:center;gap:18px;margin:20px 0;display:flex}.deck-extras>.card{width:64px}.deck-mini{gap:6px;display:flex}.deck-mini .card{width:32px}.deck-dealer{width:32px;height:32px;position:relative}.deck-dealer .dealer{width:32px;height:32px;top:0;left:0}.deck-chips>div{justify-content:space-between;gap:4px;margin:20px 0;display:flex}.deck-chips figure{text-align:center;margin:0}.deck-chips figcaption{margin-top:6px;font-size:12px}@media (width>=700px){.deck-grid{grid-template-columns:repeat(13,minmax(0,1fr))}}button{transition:transform var(--motion-press) cubic-bezier(.2,.8,.2,1)}button:active:not(:disabled){transform:scale(.97)}.acts button{isolation:isolate;position:relative;overflow:hidden}.winner-mark,.winner-mark *,.ink-wash,.ink-wash *,.ink-ripple,.pot-transfer,.pot-transfer *{pointer-events:none}.ink-ripple{background:var(--ink);pointer-events:none;width:180px;height:180px;animation:ripple var(--motion-ripple) cubic-bezier(.2,.8,.2,1) both;border-radius:47% 53% 43% 57%;margin:-90px;position:absolute}.card-rotor{width:100%;height:100%;transform-style:preserve-3d;position:relative}:is(.card:has(.flip-hero),.card:has(.flip-board),.card:has(.flip-reveal)){perspective:650px;overflow:visible}.card-face,.card-reverse{backface-visibility:hidden;border-radius:7%;overflow:hidden}.card-reverse{position:absolute;inset:0;transform:rotateY(180deg)}.dealt-card{animation:deal var(--motion-deal) cubic-bezier(.2,.8,.2,1) var(--card-delay) both}.flip-hero,.flip-reveal,.flip-board{animation:card-flip var(--motion-flip) ease-out var(--flip-delay) both}.winning-card:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:-4px;left:7%;right:7%}.betzone{animation:bet-slide var(--motion-chip) cubic-bezier(.2,.8,.2,1) both}.collecting .betzone{animation:collect var(--motion-collect) cubic-bezier(.2,.8,.2,1) both}.pot b{font-variant-numeric:tabular-nums}.pot-transfer{z-index:3;color:var(--text);pointer-events:none;opacity:0;animation:award var(--motion-award) cubic-bezier(.2,.8,.2,1) both;align-items:center;gap:3px;font-size:12px;display:flex;position:absolute}.winner-mark{pointer-events:none;z-index:1;width:140%;height:calc(100% + 24px);position:absolute;inset:-12px -20%;overflow:visible}.gold-brush{stroke-dasharray:1;stroke-dashoffset:1px;opacity:0;animation:brush var(--motion-brush) cubic-bezier(.2,.8,.2,1) both}.ink-drops{transform-box:fill-box;transform-origin:50%;opacity:0;animation:splash var(--motion-splash) cubic-bezier(.2,.8,.2,1) both}.ink-wash{pointer-events:none;opacity:0;border-radius:inherit;width:100%;height:100%;animation:wash var(--motion-allin) cubic-bezier(.2,.8,.2,1) both;position:absolute;inset:0;overflow:hidden}.ink-wash path{fill:var(--ink)}.is-allin .status{animation:allin-label var(--motion-allin) cubic-bezier(.2,.8,.2,1) both}.plate>:not(.ink-wash){position:relative}.result-lines{animation:fade var(--motion-result) ease-out both}.seat.hero.turn{z-index:7}@keyframes thinking{0%{opacity:.35}to{opacity:1}}@keyframes deal{0%{transform:translate(var(--deal-x,0px), var(--deal-y,0px));opacity:0}to{opacity:1;transform:none}}@keyframes card-flip{0%{transform:translateY(-4px)rotateY(-180deg)}55%{transform:translateY(-4px)rotateY(-80deg)}to{transform:none}}@keyframes bet-slide{0%{transform:translate(calc(-50% + var(--seat-dx,0px)), calc(-50% + var(--seat-dy,0px)));opacity:0}to{opacity:1;transform:translate(-50%,-50%)}}@keyframes collect{0%{opacity:1;transform:translate(-50%,-50%)}to{transform:translate(calc(-50% + var(--pot-dx)), calc(-50% + var(--pot-dy)));opacity:0}}@keyframes award{0%{visibility:visible;transform:translate(calc(-50% + var(--from-x)), calc(-50% + var(--from-y)));opacity:1}80%{opacity:1}to{visibility:hidden;opacity:0;transform:translate(-50%,-50%)}}@keyframes brush{0%{visibility:visible;stroke-dashoffset:1px;opacity:0}18%{opacity:1}65%{stroke-dashoffset:0;opacity:1}to{visibility:hidden;stroke-dashoffset:0;opacity:0}}@keyframes splash{0%{visibility:visible;opacity:0;transform:scale(0)}40%{opacity:.7;transform:scale(1)}to{visibility:hidden;opacity:0;transform:scale(1)}}@keyframes wash{0%{visibility:visible;opacity:0;transform:translate(-60%)scaleX(.2)}35%{opacity:.8}to{visibility:hidden;opacity:0;transform:translate(35%)scaleX(1)}}@keyframes allin-label{0%,to{transform:scale(1)}45%{transform:scale(1.03)}}@keyframes ripple{0%{visibility:visible;opacity:.2;transform:scale(0)}to{visibility:hidden;opacity:0;transform:scale(1)}}@keyframes fade{0%{opacity:0}to{opacity:1}}html[data-motion=reduce] *,html[data-motion=reduce] :before,html[data-motion=reduce] :after{transition:none!important}html[data-motion=reduce] button:active{transform:none}html[data-motion=reduce] .dealt-card,html[data-motion=reduce] .card-rotor,html[data-motion=reduce] .betzone,html[data-motion=reduce] .is-allin .status,html[data-motion=reduce] .result-lines{animation:fade var(--motion-fade) linear both!important;animation-delay:0s!important}html[data-motion=reduce] .pot-transfer,html[data-motion=reduce] .winner-mark,html[data-motion=reduce] .ink-wash,html[data-motion=reduce] .ink-ripple{display:none}html[data-motion=reduce] .thinking i{animation:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important}button:active{transform:none!important}.dealt-card,.card-rotor,.betzone,.is-allin .status,.result-lines{animation:fade var(--motion-fade) linear both!important;animation-delay:0s!important}.pot-transfer,.winner-mark,.ink-wash,.ink-ripple{display:none}.thinking i{animation:none}}@keyframes chip-layer{0%,75%{opacity:1}to{opacity:0}}html[data-motion=reduce] .bet-stack .chip3d:nth-child(2){display:none}@media (prefers-reduced-motion:reduce){.bet-stack .chip3d:nth-child(2){display:none}}.pos-chip{border:1px solid var(--accent);color:var(--accent);background:var(--felt-edge);letter-spacing:.02em;border-radius:7px;flex:none;padding:0 4px;font-size:9px;font-weight:700;line-height:13px;display:inline-block}.act-tag{width:max-content;max-width:100%;font-size:calc(11px * var(--seat-density));line-height:calc(17px * var(--seat-density));white-space:nowrap;text-overflow:ellipsis;background:var(--paper);color:var(--ink);border-radius:8px;margin:5px auto 0;padding:0 6px;font-weight:700;display:block;position:relative;overflow:hidden}.act-tag:before{content:"";border:4px solid #0000;border-top:0;border-bottom-color:var(--paper);margin-left:-4px;position:absolute;top:-4px;left:50%}.act-tag.fold{color:var(--muted);border:1px solid var(--rail-line);background:0 0;font-weight:400}.act-tag.fold:before{display:none}.act-tag.allin{background:var(--danger);color:#fff}.act-tag.allin:before{border-bottom-color:var(--danger)}.seat.folded{opacity:.5}.seat.hero .cards{top:50%;bottom:auto;transform:translate(-50%,-62%)}.seat.hero .hand-hint{bottom:calc(clamp(46px,9cqw,92px)/1.15207 + 4px)}.seat:not(.hero) .plate{justify-content:center;align-items:center;gap:3px;padding:2px 4px;display:flex}.seat:not(.hero) .plate .pname{text-overflow:ellipsis;overflow:hidden}.seat:not(.hero) .stack-badge{box-sizing:border-box;border:1px solid var(--rail-line);background:#0a0b0c;border-radius:11px;justify-content:center;align-items:center;gap:2px;width:max-content;max-width:100%;margin:3px auto 0;padding:1px 5px 1px 3px;display:flex}.seat:not(.hero) .stack-badge .pstack{font-size:calc(14px * var(--seat-density));line-height:calc(18px * var(--seat-density))}.seat:not(.hero).is-allin .stack-badge{border-color:var(--danger)}.seat:not(.hero).turn .stack-badge{border-color:var(--accent)}.bar:has(.hero-panel){padding-top:2px}.hero-panel{border:1px solid var(--rail-line);background:var(--felt-edge);border-radius:10px;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:0 10px;height:24px;margin-bottom:2px;padding:0 8px;display:flex;overflow:hidden}.hero-panel.turn{border-color:var(--accent)}.hero-panel.allin{border-color:var(--danger)}.hp-left{white-space:nowrap;flex:none;align-items:center;gap:6px;display:flex}.hp-name{color:var(--muted);font-size:12px}.hp-stack{font-size:18px;font-weight:700;line-height:22px}.hp-bb{color:var(--muted);font-size:11px}.hp-line{white-space:nowrap;text-overflow:ellipsis;min-width:0;margin-left:auto;font-size:12px;overflow:hidden}@media (width<=399px){.hp-line{font-size:11px}.hp-left{gap:4px}}.hp-line.allin{color:var(--danger);font-weight:700}.hp-line.folded,.hero-panel.folded .hp-stack{color:var(--muted)}@media (width>=1024px){.pos-chip{padding:0 6px;font-size:11px;line-height:16px}.seat .stack-badge .pstack{font-size:calc(24px * var(--seat-density));line-height:calc(30px * var(--seat-density))}.act-tag{font-size:13px;line-height:20px}.hero-panel{height:28px}.hp-stack{font-size:22px;line-height:26px}.hp-name,.hp-line{font-size:14px}}
