:root{--ink:#181b22;--panel:#20242a;--line:#373a3c;--cream:#f2e9d6;--muted:#a7aaa5;--gold:#e6bd6b;--mint:#a3dbb6;--red:#ec9587;--pixel:'Courier New',monospace;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--cream);background:#15191d;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:transparent;color:inherit;transition:background .15s,transform .15s}button:hover:not(:disabled){background:#ffffff0c}button:active:not(:disabled){transform:translateY(2px)}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:4px}button,input{border-radius:5px}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.topbar{max-width:1540px;margin:auto;height:88px;padding:0 34px;display:flex;align-items:center;border-bottom:1px solid #343537;gap:30px}.brand{display:flex;gap:12px;align-items:center;font:700 20px var(--pixel);letter-spacing:1px}.brand-mark{font:36px Georgia;color:var(--gold);background:#2a2b29;border:1px solid #6b5c3f;width:43px;height:48px;text-align:center;box-shadow:3px 3px #0a0e12}.brand small{display:block;font:9px var(--pixel);letter-spacing:2px;color:#aaa58e;margin-top:6px}.topbar nav{margin-left:auto;display:flex;gap:22px;align-items:center}.topbar nav button{border:0;padding:8px 0;font-size:13px;color:#c6c8c3}.topbar nav button span{border:1px solid #6c6e64;border-radius:50%;width:17px;display:inline-block;margin-left:7px}.topbar nav .icon-btn{border:1px solid var(--line);padding:7px 12px}.account{display:flex;align-items:center;gap:7px;border:0;border-left:1px solid var(--line);padding:0 0 0 18px;font-size:13px;font-weight:600}.account .animal-sprite{width:45px;height:45px}.caret{color:#9a9d93;margin-left:12px}.game-shell{max-width:1540px;margin:0 auto;padding:23px 34px 20px}.room-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:21px}.eyebrow{font:10px var(--pixel);letter-spacing:2px;color:#b0afa0}h1{font:700 27px var(--pixel);letter-spacing:-1px;margin:7px 0 0}.room-tag{font:9px var(--pixel);letter-spacing:1px;color:#aac8b7;border:1px solid #465d51;padding:5px 7px;vertical-align:middle;margin-left:12px}.table-facts{display:flex;align-items:center;gap:25px;font-size:12px;color:#aaa}.table-facts b{color:#e3ddca;font-weight:500;margin-left:6px}.table-facts button{padding:7px 10px;font-size:11px}.live-dot{display:inline-block;width:6px;height:6px;background:#a4db9b;box-shadow:0 0 9px #a4db9b40;border-radius:50%;margin-right:6px}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 252px;gap:19px}.play-area{min-width:0}.scene{position:relative;height:655px;overflow:hidden;border:1px solid #62503d;border-radius:8px;background:#291e1e url('./assets/backroom-v3.png') center/cover;isolation:isolate}.room-shade{position:absolute;inset:0;background:linear-gradient(#131b2155,#131b2108 40%,#11141b45);z-index:-1}.table-shadow{position:absolute;left:10%;top:23%;width:80%;height:62%;border-radius:45%;background:#0e0c0a80;filter:blur(8px);transform:translateY(12px)}.poker-table{position:absolute;left:9%;top:23%;width:82%;height:57%;border:13px solid #593e2c;border-radius:43%;background:radial-gradient(ellipse at 50% 35%,#287764,#1c5b4c 75%);box-shadow:0 0 0 3px #aa8051,0 0 0 7px #2c241e,0 12px 0 6px #231e1c,inset 0 0 0 3px #143e34,inset 0 0 38px #153d3399}.poker-table:after{content:'';position:absolute;inset:0;opacity:.16;background-image:repeating-linear-gradient(90deg,transparent 0 3px,#c6e1a211 3px 4px),repeating-linear-gradient(0deg,transparent 0 3px,#c6e1a211 3px 4px);border-radius:inherit}.felt-line{position:absolute;inset:15px;border:1px solid #98bc7a44;border-radius:43%}.felt-brand{position:absolute;left:0;right:0;top:10%;text-align:center;color:#96b8993b;font:700 18px var(--pixel);letter-spacing:3px}.felt-brand span{display:block;font-size:7px;margin-top:4px}.street-track{position:absolute;left:50%;top:33%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;white-space:nowrap;color:#bbd4b06b;font:10px var(--pixel)}.street-track i{display:block;width:12px;height:1px;background:#a9ba9c3b}.street-track .current{color:#f4d78e}.street-track .complete{color:#bcd5b8}.dealer-deck{position:absolute;left:43%;top:27%;transform:translate(-50%,-50%) scale(.55);transform-origin:center;opacity:.85;z-index:3}.dealer-deck .card{box-shadow:3px 3px #b4ae96,6px 6px #203e44}.dealer-deck small{position:absolute;top:100%;font:9px var(--pixel);letter-spacing:1px;margin-top:10px;color:#c6c7af}.community{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);display:flex;gap:8px;z-index:4}.card{position:relative;flex-shrink:0;width:56px;height:79px;border-radius:4px;border:1px solid #c2bea9;background:#fff9e9;color:#233b42;box-shadow:0 3px 0 #b6ae91,0 5px 8px #071e2438;font:700 21px Georgia}.card .corner{position:absolute;top:5px;left:6px;line-height:1}.card .corner small{display:block;font-size:13px;margin-top:1px}.card .suit{position:absolute;bottom:9px;right:8px;font:30px Georgia}.card .bottom-corner{position:absolute;bottom:4px;right:4px;font:10px Georgia;transform:rotate(180deg);display:none}.card.red{color:#c54e42}.card.back{border:3px solid #eee1b9;background:repeating-linear-gradient(45deg,#243f52 0 3px,#3e5f6c 3px 5px);box-shadow:0 3px 0 #a9a488}.card.back:after{content:'♠';position:absolute;inset:7px;display:grid;place-items:center;color:#e1c58f;border:1px solid #c8b28b;font:23px Georgia;background:#244656}.card.empty{background:#123e3525;box-shadow:none;border:1px dashed #9ac7a73b;color:#a7cfaa25;display:grid;place-items:center;font:25px Georgia}.card.best{outline:3px solid #edcb73;outline-offset:2px;box-shadow:0 0 22px #f8d66b55}.pot-zone{position:absolute;left:50%;top:57%;transform:translateX(-50%);display:flex;align-items:center;flex-direction:column;min-width:130px;z-index:4}.pot-pile{position:relative;width:128px;height:49px;display:flex;align-items:flex-end;justify-content:center;gap:3px}.chip-stack{position:relative;display:inline-block;width:22px;height:var(--height);filter:drop-shadow(2px 3px 1px #002c2a66)}.pixel-chip{display:block;position:absolute;width:22px;height:9px;border-radius:40%;background:#cc7768;border:1px solid #742f35;box-shadow:inset 0 2px #ffd2a6,inset 0 -2px #a44547}.pixel-chip:after{content:'';position:absolute;inset:1px 4px;border:1px dashed #fff1bf8c;border-radius:50%}.color-1{background:#dab452;border-color:#8b6729;box-shadow:inset 0 2px #fff0ad,inset 0 -2px #9e762e}.color-2{background:#8eb5c6;border-color:#496e80;box-shadow:inset 0 2px #e2efe0,inset 0 -2px #517a92}.color-3{background:#9aad6c;border-color:#56693e;box-shadow:inset 0 2px #dce9a7,inset 0 -2px #627945}.cash-bundle{position:absolute;bottom:calc(var(--bundle)*7px);left:calc(91px + var(--bundle)*4px);width:31px;height:13px;background:#88ad79;box-shadow:0 3px #375f49;border:2px solid #bcd49a;transform:rotate(-14deg)}.cash-bundle:after{content:'';position:absolute;left:12px;top:-2px;height:13px;width:6px;background:#e9dba5}.pot-caption{text-align:center;margin-top:7px;text-shadow:0 1px #173529}.pot-caption span{display:block;font:8px var(--pixel);letter-spacing:2px;color:#b6cfb9}.pot-caption strong{display:block;font:700 22px var(--pixel);color:#f7dfa5;margin-top:3px}.seat{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:132px;z-index:5;text-align:center}.seat-0{--x:50%;--y:86%;width:230px}.seat-1{--x:13%;--y:65%}.seat-2{--x:22%;--y:23%}.seat-3{--x:50%;--y:13%}.seat-4{--x:78%;--y:23%}.seat-5{--x:87%;--y:65%}.animal-sprite{display:block;width:104px;height:104px;background:url('./assets/animal-mobsters-v3-idle.png') no-repeat;background-size:300% 200%;image-rendering:pixelated;flex-shrink:0}.animal-0{background-position:0 0}.animal-1{background-position:50% 0}.animal-2{background-position:100% 0}.animal-3{background-position:0 100%}.animal-4{background-position:50% 100%}.animal-5{background-position:100% 100%}.avatar{width:95px;height:86px;position:relative;margin:auto;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 5px 3px #0b0d1466)}.seat .animal-sprite{position:relative;top:-4px;transition:filter .3s,transform .3s}.seat-info{position:relative;background:#202830f5;border:1px solid #77735b;border-radius:5px;padding:5px 7px;box-shadow:0 3px #111b1e;width:128px;margin:0 auto;z-index:2}.seat-name{font-size:11px;color:#d9ded3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.seat-name small{font:7px var(--pixel);color:#b2bcac;margin-left:5px}.seat-stack{font:700 15px var(--pixel);color:#f7dfa5;margin-top:3px;font-variant-numeric:tabular-nums}.seat.active .seat-info{border-color:#e9c46d;box-shadow:0 0 0 2px #e6bc6444,0 3px #111b1e}.seat.active .avatar:before{content:'';position:absolute;width:80px;height:80px;background:#eac97820;box-shadow:0 0 30px #ead17a30;border-radius:50%}.seat.active .seat-action{color:#ffe9a7;background:#4c4731}.seat.active .seat-info:after{content:'';position:absolute;left:0;bottom:-2px;height:2px;width:100%;background:#eccc7e;animation:turnpulse 1.5s ease-in-out infinite}.seat-action{font:9px var(--pixel);letter-spacing:.2px;color:#c6cdbf;padding:4px 6px;min-height:20px;display:inline-block;border-radius:3px;background:#1b252dd9;margin-top:5px;white-space:nowrap}.seat.folded .animal-sprite{filter:grayscale(.7) brightness(.65);transform:translateY(6px) rotate(-5deg)}.seat.folded .seat-info{opacity:.65}.seat.folded .hole-cards{opacity:.22}.seat.folded .seat-action{color:#b5a396}.hole-cards{position:absolute;left:101px;top:38px;display:flex;gap:2px;z-index:1}.hole-cards .card{width:28px;height:39px;font-size:13px;box-shadow:0 2px #a7a087}.hole-cards .card:nth-child(1){transform:rotate(-9deg)}.hole-cards .card:nth-child(2){transform:rotate(7deg)}.hole-cards .corner{top:3px;left:3px}.hole-cards .corner small{font-size:10px}.hole-cards .suit{font-size:13px;bottom:3px;right:3px}.hole-cards .card.back{border-width:2px}.hole-cards .card.back:after{inset:4px;font-size:13px}.seat-4 .hole-cards,.seat-5 .hole-cards{left:-25px}.seat-0 .avatar{margin:0;left:4px;height:105px;width:100px}.seat-0 .animal-sprite{width:118px;height:118px}.seat-0 .hole-cards{left:107px;top:6px;gap:6px}.seat-0 .hole-cards .card{width:56px;height:79px;font-size:21px}.seat-0 .hole-cards .corner{top:5px;left:6px}.seat-0 .hole-cards .corner small{font-size:13px}.seat-0 .hole-cards .suit{font-size:30px;bottom:9px;right:8px}.seat-0 .seat-info{width:224px;display:flex;justify-content:space-between;align-items:center;padding:7px 10px;margin-top:-15px}.seat-0 .seat-stack{margin:0}.seat-0 .seat-action{margin-top:5px}.dealer-button{position:absolute;left:2px;top:83px;font:700 11px var(--pixel);background:#f1e7c8;border:2px solid #c3ac7c;color:#354438;box-shadow:0 2px #2228;border-radius:50%;width:23px;height:23px;display:grid;place-items:center;z-index:4}.seat-0 .dealer-button{left:-16px;top:65px}.seat-bet{position:absolute;left:100%;top:113px;color:#e5ddaf;font:11px var(--pixel);white-space:nowrap;display:flex;align-items:center;gap:6px;text-shadow:1px 1px #16372d}.seat-bet i{position:relative;width:19px;display:inline-block}.seat-4 .seat-bet,.seat-5 .seat-bet{left:auto;right:100%}.seat-3 .seat-bet{left:95%;top:128px}.seat-0 .seat-bet{top:-19px;left:50%;transform:translateX(-50%)}.speech{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);padding:6px 9px;background:#fff1ce;color:#3b342e;font:11px var(--pixel);border:2px solid #9c8566;max-width:180px;min-width:85px;box-shadow:3px 3px #161b1e;z-index:8}.speech:after{content:'';position:absolute;bottom:-7px;left:50%;border-top:6px solid #fff1ce;border-right:6px solid transparent}.seat.winner .animal-sprite{animation:hop .6s ease-in-out 3}.seat.winner .seat-info{border-color:#efd085;box-shadow:0 0 0 2px #e8bf6c,0 0 25px #ffdf7944}.win-crown{position:absolute;top:-4px;left:50%;transform:translateX(-50%);color:#ffe096;font-size:18px;z-index:7;animation:turnpulse 1s infinite}.seat-0 .win-crown{left:48px;top:-13px}.hand-counter{position:absolute;top:16px;left:18px;font:9px var(--pixel);letter-spacing:1px;color:#c7ba9e;background:#241d1e99;padding:6px 8px;border:1px solid #745c4044}.hand-guide-btn{position:absolute;bottom:15px;left:17px;font-size:10px;padding:6px 9px;background:#171d26bb;color:#d2cbb9;border-color:#78624355}.welcome{position:absolute;z-index:10;left:50%;top:48%;transform:translate(-50%,-50%);text-align:center;width:390px;padding:20px 10px;background:radial-gradient(ellipse,#1d5f4f 30%,#1d5f4f00 73%)}.welcome h2{font:700 33px/1.05 var(--pixel);letter-spacing:-1.5px;color:#f5e5bc;margin:13px 0}.welcome p{font-size:12px;color:#bbd4c0;margin:15px 0}.welcome .eyebrow{color:#cecb9c;font-size:9px}.primary{background:var(--gold);color:#2b302c;border:1px solid #efd393;box-shadow:0 3px #88713d;font-weight:700;padding:13px 23px}.primary:hover:not(:disabled){background:#f3cc80}.primary span{margin-left:30px}.welcome small{display:block;margin-top:15px;color:#c4c8ae;font-size:9px}.scene.waiting .community,.scene.waiting .pot-zone,.scene.waiting .street-track{visibility:hidden}.scene.waiting .hole-cards{visibility:hidden}.result{position:absolute;top:52%;left:50%;transform:translate(-50%,-50%);min-width:300px;max-width:62%;z-index:11;text-align:center;pointer-events:none}.result-box{padding:13px 20px;background:#202b2af5;border:2px solid #d3b679;box-shadow:0 5px 0 #16201e,0 0 45px #f1d58b15;border-radius:5px}.result .eyebrow{font-size:9px;color:#c9bb8e}.result strong{display:block;font:700 26px var(--pixel);margin:6px 0;color:#f5d883}.result p{font-size:12px;margin:4px 0;color:#e4e4d3}.result small{display:block;color:#afbcb0;font-size:10px;margin-top:8px}.result.loss .result-box{border-color:#81988e}.result.loss strong{color:#e1e6d7}.result .net{font:700 13px var(--pixel);color:var(--mint);padding-top:6px}.result.loss .net{color:#dcb1a1}.scene.settled .result{top:59%}.scene.settled .pot-zone{opacity:0}.scene.settled .community{top:39%}.scene.settled .street-track{top:28%}.scene.settled .dealer-deck{opacity:0}.scene.settled .seat-3 .seat-bet{display:none}.street-announcement{position:absolute;left:50%;top:43%;transform:translate(-50%,-50%);z-index:20;color:#f9e2a3;background:#133d35f5;border:1px solid #9caa73;padding:12px 26px;font:700 21px var(--pixel);letter-spacing:3px}.action-dock{background:#25292d;border:1px solid #494a40;border-top:0;padding:16px 20px 18px;border-radius:0 0 7px 7px;margin-top:-4px;position:relative;z-index:20}.turn-info{display:flex;align-items:center;gap:10px;margin-bottom:14px;min-height:38px}.turn-indicator{width:7px;height:7px;background:#6b756b;border-radius:50%}.hero-turn .turn-indicator{background:var(--mint);box-shadow:0 0 12px #a3dbb666}.turn-info strong{font-size:14px;font-weight:600}.turn-info p{font-size:11px;color:#acb1a7;margin:4px 0 0}.your-hand{font:11px var(--pixel);margin-left:auto;color:#c8c6aa;text-align:right}.your-hand b{display:block;color:#e8d6a0;margin-top:4px;font-size:13px}.actions{display:grid;grid-template-columns:1fr 1.45fr 1fr;gap:11px}.action{padding:12px 17px;text-align:left;box-shadow:0 3px #11151a;border-radius:5px;display:flex;flex-direction:column;gap:5px}.action span{font-size:17px;font-weight:650}.action small{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:10px}.action kbd{font:9px var(--pixel);border:1px solid currentColor;opacity:.6;padding:1px 4px;border-radius:3px}.fold{border-color:#77635e;color:#e1b8a9;background:#39312e}.call{background:var(--mint);color:#203e35;border-color:#b7e7b8}.call:hover:not(:disabled){background:#bce9c5}.raise{background:#4a4431;color:#edcf91;border-color:#8a774a}.raise:hover:not(:disabled){background:#5e5237}.between-actions{display:flex;gap:14px}.between-actions>button:last-child{border:0;font-size:12px;color:#c4c3b4}.raise-panel{background:#20252a;border:1px solid #84774e;border-radius:6px;padding:15px;position:absolute;bottom:calc(100% - 10px);right:16px;width:390px;box-shadow:0 -8px 30px #0c171680;z-index:30}.raise-heading{display:flex;justify-content:space-between;align-items:center;font:9px var(--pixel);letter-spacing:1px}.raise-heading>div{display:flex;gap:8px}.raise-heading input{width:100px;background:#111b20;color:#f3d98b;border:1px solid #747e67;padding:8px;font:700 16px var(--pixel)}.raise-heading button{border:0;font-size:22px;padding:0 4px}input[type=range]{width:100%;accent-color:var(--gold);margin:16px 0}.raise-presets{display:flex;gap:5px}.raise-presets button{padding:8px;font-size:11px}.raise-presets .primary{margin-left:auto}.table-footer{display:flex;justify-content:space-between;color:#888d85;font-size:9px;padding-top:13px;gap:10px}.table-footer span:nth-child(2){color:#c0b792}.social-panel{border:1px solid #3e4140;border-radius:7px;background:#20252a;display:flex;flex-direction:column;align-self:start;overflow:hidden}.social-tabs{display:flex;border-bottom:1px solid #414741}.social-tabs button{flex:1;border:0;border-bottom:2px solid transparent;border-radius:0;padding:17px 6px;font-size:12px;color:#9aa69e}.social-tabs [aria-selected=true]{color:#f0d99e;border-color:#d2b76b}.chat-intro{padding:17px 16px 14px;font-size:11px;color:#dddecf;border-bottom:1px solid #343b37}.chat-intro small{display:block;font-size:9px;color:#89998f;margin-top:7px}.messages,.history{height:312px;overflow-y:auto;scrollbar-width:thin;padding:17px 15px;display:flex;flex-direction:column;gap:18px}.message{font-size:11px;line-height:1.5}.message-head{display:flex;gap:6px;align-items:center;color:#d9c691;font-size:10px;margin-bottom:4px}.message-head .animal-sprite{width:27px;height:27px;margin:-8px -1px -7px -6px}.message-head em{font:7px var(--pixel);color:#8d9b91;border:1px solid #536156;padding:1px 3px;font-style:normal}.message p{margin:0;color:#c2c8c0}.message.system p{color:#919e93;font-size:10px}.quick-chat{padding:0 13px;display:flex;flex-wrap:wrap;gap:5px}.quick-chat button{font-size:9px;padding:6px 7px;border-color:#535d50;color:#bfc9b8}.social-panel form{display:flex;gap:6px;margin:13px 13px 7px}.social-panel input{min-width:0;width:100%;background:#151d22;border:1px solid #4d594f;padding:10px;color:#f1ecd9;font-size:11px}.social-panel form button{width:34px;background:#d3b978;color:#28342c;font-size:19px;flex-shrink:0}.local-note{display:block;color:#7f9185;font-size:8px;padding:0 14px 17px}.house-tip{margin:5px 13px 16px;padding:15px 13px;background:#2b322c;border:1px solid #4b5445;border-radius:5px}.house-tip span{font:9px var(--pixel);letter-spacing:1px;color:#d5c28f}.house-tip p{font-size:11px;line-height:1.65;color:#bfc4ae;margin:10px 0}.house-tip button{border:0;padding:0;font-size:9px;color:#dcc18a}.session-mini{padding:16px;border-top:1px solid #3b433a}.session-mini>span{font:9px var(--pixel);letter-spacing:1px;color:#94a08e}.session-mini>div{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:8px;align-items:center;margin-top:13px}.session-mini strong{font:700 18px var(--pixel);color:#e2d5b2}.session-mini small{font-size:9px;color:#9caa9d}.history{gap:0;font-size:10px;line-height:1.6}.history p{border-bottom:1px solid #3a4537;padding:9px 0;margin:0;color:#bac5b7}.history p:first-child{color:#f0d99e}.history .log-heading{font:700 10px var(--pixel);color:#d6bc80;background:#2b352d;padding:8px;border:0;margin-top:12px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:100;background:#f0dfb9;color:#2c392f;border:1px solid #a18b59;padding:12px 20px;font-size:12px;box-shadow:4px 4px #122329;max-width:90vw}dialog{width:min(630px,92vw);padding:32px;background:#222a2b;color:#eee6d2;border:1px solid #99855a;border-radius:9px;max-height:88vh;box-shadow:0 30px 90px #0009}dialog::backdrop{background:#0d171bc9;backdrop-filter:blur(4px)}.modal-close{position:absolute;right:13px;top:10px;border:0;font-size:24px;color:#bbc2b0}.modal-title{font:700 27px var(--pixel);color:#f0d395;margin:12px 0}.modal-lead{font-size:13px;line-height:1.8;color:#b6c2b3}.rules{display:grid;gap:13px;font-size:13px;line-height:1.6;padding-left:20px;color:#b9c7b6}.rules strong{color:#efe5cc}.ranking-list{display:grid;gap:8px;margin-top:20px}.ranking-row{display:flex;gap:12px;align-items:center;background:#1b2325;padding:8px 12px;border-radius:4px;font-size:12px}.ranking-row>span:first-child{font:11px var(--pixel);color:#a6ac91;width:20px}.ranking-row strong{width:130px;font-size:11px}.ranking-row .mini-example{font:15px var(--pixel);letter-spacing:3px;color:#e7c17e}.character-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.character-choice{padding:8px;background:#1b2326;display:flex;align-items:center;flex-direction:column;gap:4px;font-size:12px}.character-choice.selected{border-color:#e6c17e;background:#343c2c}.character-choice .animal-sprite{width:88px;height:88px}.name-field{display:flex;gap:12px;align-items:center;margin:20px 0;font-size:12px}.name-field input{padding:10px;background:#172126;color:#f2e8cb;border:1px solid #6c795e;min-width:0}.record-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0}.record-grid>div{background:#192428;padding:16px 12px;border:1px solid #4f5b49}.record-grid strong{font:700 23px var(--pixel);display:block;color:#ead396}.record-grid span{font-size:10px;display:block;margin-top:7px;color:#adbba5}.review-row{padding:13px 0;border-bottom:1px solid #4c5947;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.review-row .review-cards{display:flex;gap:5px}.review-row .card{width:36px;height:51px;font-size:14px}.review-row .card .suit{font-size:19px;bottom:4px;right:4px}.review-row .card .corner{left:4px;top:3px}.review-row .card .corner small{font-size:10px}.review-row strong{font-size:12px}.review-row small{font-size:10px;color:#bdc9b6}.review-summary{background:#283c30;padding:13px;font-size:12px;line-height:1.8;border:1px solid #607750}.flying-piece{position:absolute;left:0;top:0;pointer-events:none;z-index:50;will-change:transform}.flying-piece .card{width:42px;height:58px}.flying-chip{width:22px;height:9px}.chip-number{font:700 16px var(--pixel);color:#f8d68c;text-shadow:2px 2px #153a2e;white-space:nowrap}.confetti{position:absolute;width:5px;height:5px;pointer-events:none;background:#e8c57c}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#effects-layer{position:absolute;inset:0;pointer-events:none;z-index:30;overflow:hidden}@keyframes turnpulse{50%{opacity:.5}}@keyframes hop{0%,100%{transform:translateY(0)}30%{transform:translateY(-12px) rotate(-5deg)}65%{transform:translateY(-3px) rotate(4deg)}}
@media(min-width:1450px){.scene{height:700px}.community .card{width:64px;height:88px}.seat .animal-sprite{width:115px;height:115px}.avatar{height:95px}.seat-0 .animal-sprite{width:130px;height:130px}}
@media(max-width:1150px){.topbar{padding:0 22px}.game-shell{padding:20px 22px}.game-layout{grid-template-columns:minmax(0,1fr) 222px;gap:14px}.scene{height:620px}.seat{width:112px}.seat-info{width:110px}.seat .animal-sprite{width:94px;height:94px}.hole-cards{left:83px;top:44px}.seat-4 .hole-cards,.seat-5 .hole-cards{left:-21px}.seat-0{width:218px}.seat-0 .animal-sprite{width:111px;height:111px}.seat-0 .hole-cards{left:98px;top:8px}.seat-0 .seat-info{width:211px}.seat-0 .avatar{left:0}.table-facts{gap:15px}.seat-bet{left:85%;font-size:10px}.seat-4 .seat-bet,.seat-5 .seat-bet{right:85%}.seat-3 .seat-bet{left:93%}.community{gap:6px}.community .card{width:49px;height:70px}.pot-zone{top:56%}.topbar nav{gap:14px}.brand{font-size:17px}.brand small{font-size:8px}.action-dock{padding:15px}.action{padding:12px}.social-panel .messages{height:290px}}
@media(max-width:940px){.game-layout{grid-template-columns:minmax(0,1fr)}.social-panel{display:none}.game-shell{max-width:880px}.scene{height:650px}.topbar nav{margin-left:auto}.table-facts{font-size:11px}.topbar{height:77px}.account #account-name,.caret{display:none}.account{padding-left:12px}.seat .animal-sprite{width:106px;height:106px}.seat{width:132px}.seat-info{width:128px}.hole-cards{left:101px;top:38px}.seat-4 .hole-cards,.seat-5 .hole-cards{left:-25px}.seat-0{width:230px}.seat-0 .hole-cards{left:107px;top:6px}.seat-0 .seat-info{width:224px}.seat-0 .animal-sprite{width:118px;height:118px}.community .card{width:56px;height:79px}.pot-zone{top:57%}}
@media(max-width:600px){.topbar{height:65px;padding:0 14px;gap:10px}.brand{font-size:14px;letter-spacing:.4px;gap:8px}.brand small{font-size:6px;letter-spacing:1.3px}.brand-mark{width:31px;height:38px;font-size:29px}.topbar nav{gap:10px}.topbar nav #profile-btn{display:none}.topbar nav #help-btn{font-size:0}.topbar nav #help-btn span{font-size:12px;margin:0}.topbar nav .icon-btn{padding:5px 9px}.account{border:0;padding:0}.account .animal-sprite{width:34px;height:34px}.game-shell{padding:16px 9px}.room-bar{padding:0 5px;margin-bottom:13px;align-items:flex-start}.eyebrow{font-size:8px;letter-spacing:1px}h1{font-size:21px;margin-top:5px}.room-tag{font-size:7px;padding:4px;margin-left:3px}.table-facts{font-size:9px;gap:6px;flex-direction:column;align-items:flex-end}.table-facts>span:first-child{display:none}.table-facts button{font-size:8px;padding:4px 6px}.scene{height:565px;border-radius:6px;background-size:auto 100%}.poker-table{left:7%;width:86%;top:22%;height:57%;border-width:8px;border-radius:40%;box-shadow:0 0 0 2px #aa8051,0 0 0 5px #2c241e,0 10px 0 4px #231e1c,inset 0 0 0 2px #143e34}.felt-line{inset:11px;border-radius:40%}.felt-brand{font-size:12px;letter-spacing:2px;top:10%}.felt-brand span{font-size:5px}.seat{width:83px}.seat-0{width:178px;--y:87%}.seat-1{--x:13%;--y:66%}.seat-2{--x:16%;--y:24%}.seat-3{--x:50%;--y:13%}.seat-4{--x:84%;--y:24%}.seat-5{--x:87%;--y:66%}.avatar{width:70px;height:67px}.seat .animal-sprite{width:82px;height:82px}.seat-info{width:81px;padding:4px 3px}.seat-name{font-size:8px}.seat-name small{display:none}.seat-stack{font-size:12px}.seat-action{font-size:7px;min-height:16px;margin-top:4px;padding:3px 5px}.hole-cards{left:60px;top:40px;gap:1px}.hole-cards .card{width:19px;height:27px;font-size:10px}.hole-cards .card .suit{display:none}.hole-cards .card .corner{left:2px;top:2px}.hole-cards .card .corner small{font-size:8px}.hole-cards .card.back{border-width:1px}.hole-cards .card.back:after{inset:2px;font-size:9px}.seat-4 .hole-cards,.seat-5 .hole-cards{left:-15px}.seat-0 .avatar{width:82px;height:81px}.seat-0 .animal-sprite{width:96px;height:96px}.seat-0 .hole-cards{left:77px;top:0;gap:3px}.seat-0 .hole-cards .card{width:47px;height:65px;font-size:19px}.seat-0 .hole-cards .card .suit{display:block;font-size:25px;bottom:6px;right:5px}.seat-0 .hole-cards .card .corner{left:5px;top:4px}.seat-0 .hole-cards .card .corner small{font-size:11px}.seat-0 .seat-info{width:175px;margin-top:-6px;padding:5px 8px}.seat-0 .seat-name{font-size:10px}.seat-0 .seat-stack{font-size:14px}.seat-0 .seat-action{font-size:8px}.seat-bet{top:91px;left:95%;font-size:8px;gap:3px}.seat-4 .seat-bet,.seat-5 .seat-bet{right:95%}.seat-3 .seat-bet{top:101px;left:95%}.seat-0 .seat-bet{top:-25px;left:50%}.dealer-button{width:18px;height:18px;font-size:9px;left:-3px;top:62px}.seat-0 .dealer-button{top:53px;left:-12px}.street-track{top:35%;font-size:8px;gap:4px}.street-track i{width:6px}.community{top:45%;gap:4px}.community .card{width:37px;height:54px;font-size:17px}.community .card .corner{top:4px;left:4px}.community .card .corner small{font-size:11px}.community .card .suit{font-size:22px;bottom:5px;right:5px}.pot-zone{top:55%;transform:translateX(-50%) scale(.83);transform-origin:top center}.dealer-deck{top:28%;left:44%;transform:translate(-50%,-50%) scale(.4)}.hand-counter{font-size:7px;top:9px;left:8px;padding:4px}.hand-guide-btn{font-size:7px;bottom:10px;left:8px;padding:5px}.welcome{width:260px;top:49%}.welcome h2{font-size:28px}.welcome .eyebrow{font-size:7px;letter-spacing:1px}.welcome p{font-size:10px}.welcome .primary{font-size:13px;padding:11px 18px}.welcome small{font-size:8px}.action-dock{padding:12px 10px 14px}.turn-info{gap:7px;margin-bottom:12px}.turn-info strong{font-size:12px}.turn-info p{font-size:9px}.your-hand{font-size:8px}.your-hand b{font-size:10px}.actions{gap:7px;grid-template-columns:1fr 1.3fr 1fr}.action{padding:10px 9px}.action span{font-size:14px}.action small{font-size:8px;min-height:10px}.action kbd{display:none}.raise-panel{width:calc(100% - 16px);right:8px;bottom:calc(100% - 7px)}.table-footer{font-size:7px;padding:11px 3px}.table-footer>span:last-child{max-width:85px;text-align:right}.result{min-width:220px;max-width:68%;top:56%}.result-box{padding:10px 12px}.result strong{font-size:21px}.result p{font-size:10px}.result small{font-size:8px}.result .net{font-size:11px}.scene.settled .result{top:59%}.scene.settled .community{top:39%}.scene.settled .street-track{top:31%}.speech{font-size:9px;min-width:65px;max-width:100px;padding:4px 6px}.street-announcement{font-size:17px;padding:10px 20px}.character-grid{gap:7px}.character-choice .animal-sprite{width:66px;height:66px}.record-grid{grid-template-columns:1fr 1fr}.ranking-row{gap:8px;padding:8px}.ranking-row strong{width:105px;font-size:10px}.ranking-row .mini-example{font-size:12px;letter-spacing:1px}dialog{padding:27px 20px}.modal-title{font-size:23px}.between-actions .primary{padding:11px 18px}.between-actions>button:last-child{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Keep the table and betting decisions together on laptop screens. */
@media(min-width:941px){.scene{height:clamp(510px,calc(100dvh - 378px),700px)}.seat-3{--y:16%}.seat-2,.seat-4{--y:26%}.seat-0{--y:84%}.seat-1,.seat-5{--y:66%}.community{top:46%}.street-track{top:35%}.dealer-deck{top:31%;left:44%}.pot-zone{top:52.5%}.scene.settled .community{top:44%}.scene.settled .street-track{top:33%}.scene.settled .result{top:64%}.result-box{padding:10px 15px}.result strong{font-size:23px}.messages,.history{height:253px}.house-tip{margin-bottom:12px}.session-mini{padding:12px 16px}}

.seat.lost:not(.folded) .animal-sprite{filter:saturate(.7);transform:translateY(5px) rotate(-4deg)}

/* Portraits sit behind their name rail; state sheets keep the same atlas grid. */
.seat.winner .animal-sprite{background-image:url('./assets/animal-mobsters-v3-win.png')}
.seat.lost .animal-sprite{background-image:url('./assets/animal-mobsters-v3-lose.png')}
.avatar:after{content:'';position:absolute;bottom:-2px;left:50%;transform:translateX(-50%);width:80%;height:51px;border:3px solid #5a3c2a;border-radius:17px 17px 3px 3px;background:#643e38;box-shadow:inset 0 0 0 2px #8e59492e;z-index:-1}
.seat-0 .seat-bet{top:43px;left:104%;transform:none}
@media(min-width:941px){.scene.settled .community{top:40%}.scene.settled .street-track{top:30.5%}.scene.settled .result{top:60%}.result-box{padding:8px 12px}.result strong{font-size:20px;line-height:1.1;margin:4px 0}.result .eyebrow{font-size:8px}.result p{font-size:11px;line-height:1.2;margin:3px 0}.result .net{font-size:12px;line-height:14px;padding-top:2px}.result small{font-size:8px;margin-top:4px}}
@media(max-width:600px){.avatar:after{height:40px;border-width:2px}.seat-0 .seat-bet{top:32px;left:104%;transform:none}}
/* Wardrobe and the second family atlas. */
.animal-sprite{position:relative;--pin-x:56%;--pin-y:24%}
.extended-animal{background-image:url('./assets/animal-family-v3-idle.png')}
.animal-6{background-position:0 0;--pin-y:34%}.animal-7{background-position:50% 0;--pin-y:22%}.animal-8{background-position:100% 0;--pin-y:25%}.animal-9{background-position:0 100%;--pin-y:25%}.animal-10{background-position:50% 100%;--pin-y:25%}.animal-11{background-position:100% 100%;--pin-y:28%}
.seat.winner .extended-animal{background-image:url('./assets/animal-family-v3-win.png')}.seat.lost .extended-animal{background-image:url('./assets/animal-family-v3-lose.png')}
.animal-1{--pin-y:23%}.animal-2{--pin-y:27%}.animal-3{--pin-y:27%}.animal-4{--pin-y:27%}.animal-5{--pin-y:26%}
.hat-trinket{position:absolute;top:var(--pin-y);left:var(--pin-x);font:700 14px Georgia;color:#f5d478;text-shadow:1px 1px #6a502b,-1px 0 #6a502b;line-height:1;transform:translate(-50%,-50%);z-index:3;font-style:normal}.trinket-clover{color:#a8d18a;text-shadow:1px 1px #3a6545,-1px 0 #3a6545}.trinket-feather{width:5px;height:15px;background:linear-gradient(90deg,#a94f4b 0 45%,#f1b08c 45% 65%,#c56560 65%);border-radius:70% 0 65% 0;transform:translate(-30%,-75%) rotate(18deg);box-shadow:1px 1px #553b2d}.account .hat-trinket,.message-head .hat-trinket{font-size:7px}.account .trinket-feather,.message-head .trinket-feather{width:3px;height:7px}
:root{--back-dark:#243f52;--back-light:#3e5f6c;--back-center:#244656}
:root[data-cardback=burgundy],.back-burgundy{--back-dark:#67343b;--back-light:#934a50;--back-center:#532d38}
:root[data-cardback=emerald],.back-emerald{--back-dark:#254c41;--back-light:#4c7960;--back-center:#234a3d}
:root[data-cardback=gold],.back-gold{--back-dark:#2c3035;--back-light:#8e794c;--back-center:#303335}
.back-classic{--back-dark:#243f52;--back-light:#3e5f6c;--back-center:#244656}
.card.back{background:repeating-linear-gradient(45deg,var(--back-dark) 0 3px,var(--back-light) 3px 5px)}.card.back:after{background:var(--back-center)}
.topbar nav .shop-open{display:flex;gap:9px;align-items:center;color:#c8c9bb}.topbar nav .shop-open b{font:700 13px var(--pixel);color:#e6c883;white-space:nowrap}.topbar nav .shop-open span{border:0;border-radius:0;width:auto;margin:0}.topbar nav{gap:18px}
.shop-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.coin-wallet{color:#f2ce78;text-align:right;flex-shrink:0}.coin-wallet span{font:700 23px var(--pixel);display:block}.coin-wallet small{font:8px var(--pixel);letter-spacing:1px;color:#a9ac94;display:block;margin-top:4px}.shop-lead{font-size:11px;margin:0 0 17px}.shop-lead strong{color:#e7d59e}.shop-tabs{display:flex;gap:7px;border-bottom:1px solid #4b564a;padding-bottom:12px;margin-bottom:16px}.shop-tabs button{padding:9px 13px;font-size:11px}.shop-tabs [aria-selected=true]{background:#4b4732;border-color:#b69b59;color:#efd18c}.shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-height:410px;overflow-y:auto;scrollbar-width:thin;padding:2px 4px 5px 1px}.shop-item{background:#182428;border:1px solid #46564a;border-radius:6px;padding:9px;text-align:center;display:flex;flex-direction:column;align-items:center;min-width:0}.shop-item.equipped{border-color:#d3b96d;background:#2e372b}.shop-preview{height:100px;display:flex;align-items:center;justify-content:center;position:relative;width:100%;background:radial-gradient(ellipse,#b0934433,transparent 70%)}.shop-preview .animal-sprite{width:104px;height:104px}.shop-preview .card{width:48px;height:68px;transform:rotate(-6deg)}.shop-preview .hat-trinket{font-size:17px}.equipped-tag{position:absolute;bottom:0;left:50%;transform:translateX(-50%);font:7px var(--pixel);letter-spacing:1px;background:#b7ca99;color:#283c2e;padding:3px 5px;white-space:nowrap}.shop-item h3{font-size:12px;margin:11px 0 4px}.shop-item p{font-size:9px;color:#a9b89f;line-height:1.5;margin:0 0 10px;min-height:27px}.shop-item button{width:100%;font-size:10px;padding:8px 5px;color:#efd392;border-color:#7c744e;margin-top:auto}.shop-item small{font-size:8px;color:#b6b5a1;padding-top:7px}.shop-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:20px}.shop-footer label{font-size:10px;color:#aab7a4}.shop-footer input{display:block;width:155px;margin-top:5px;background:#152024;border:1px solid #536548;color:#ece5cf;padding:8px 10px;font-size:12px}.shop-footer .primary{font-size:11px;padding:11px 15px}.shop-note{font-size:9px;color:#9da992;line-height:1.5;margin:13px 0 0}.reward-note{align-self:center;font:10px var(--pixel);color:#efd088;margin-left:auto;white-space:nowrap}
@media(max-width:1150px){.topbar nav{gap:13px}.topbar nav .shop-open{gap:5px}}
@media(max-width:600px){.topbar nav{gap:8px}.shop-word{display:none}.topbar nav .shop-open b{font-size:11px}.topbar{gap:7px}.brand{font-size:12px}.brand small{font-size:5px}.brand-mark{width:28px}.shop-heading{gap:9px}.shop-heading .modal-title{font-size:21px}.coin-wallet span{font-size:19px}.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:390px}.shop-tabs{gap:4px}.shop-tabs button{font-size:9px;padding:8px 9px}.shop-footer{gap:8px}.shop-footer input{width:125px}.shop-footer .primary{font-size:10px;padding:10px}.reward-note{font-size:8px;white-space:normal;max-width:70px}.between-actions{gap:9px}.between-actions .primary{padding:10px 12px}}

/* Explicit practice buy-ins keep reserve chips off the table. */
#practice-wallet{font:inherit;color:#e8c57c;padding:4px 7px;background:#1d2b2d;border:1px solid #536258;border-radius:4px}
.practice-buyin-form{display:grid;gap:12px}.practice-buyin-form label{font-size:14px;color:#efe5c8}.practice-buyin-form input{width:100%;box-sizing:border-box;background:#141f23;border:1px solid #9b8859;border-radius:5px;color:#f5d28c;font:700 27px var(--pixel);padding:12px 16px}.buyin-presets{display:flex;gap:8px}.buyin-presets button{flex:1;padding:9px}.practice-buyin-form .modal-lead{margin:2px 0}.practice-grant{margin-top:20px;font-size:12px}.buyin-balances{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.buyin-balances strong{font-size:23px}.buyin-balances span{font-size:9px}
@media(max-width:600px){.buyin-balances>div{padding:12px 7px}.buyin-balances strong{font-size:20px}.buyin-balances span{font-size:8px}.practice-buyin-form .primary{font-size:14px}}

.practice-buyin-form .form-error:empty{display:none}
