.card-room-test{max-width:1600px;margin:auto;padding:28px 4% 80px}.card-room-intro{justify-content:space-between;align-items:end;gap:30px;margin-bottom:32px;display:flex}.card-room-intro h1{letter-spacing:-2px;margin:16px 0 0;font:clamp(44px,5vw,78px)/1.05 The Seasons,Georgia,serif}.card-room-intro>p{color:var(--muted-foreground);font-size:15px;line-height:1.6}.card-room-table{isolation:isolate;background:#163b36 var(--card-game-felt) center/cover;color:#f6edda;border:10px solid #4c3023;border-radius:28px 28px 160px 160px;min-height:760px;padding:32px 30px 0;position:relative;overflow:hidden;box-shadow:inset 0 0 0 2px #bb9c61,0 24px 40px #142a3320}.card-room-table:before{content:"";z-index:-1;background:linear-gradient(#102923a6,#12382f55 40%,#102923a6);position:absolute;inset:0}.card-room-dealer{align-items:center;gap:22px;max-width:540px;margin:0 auto 24px;display:flex}.card-room-dealer>img{object-fit:contain;object-position:center bottom;border:1px solid #ddc395;border-radius:60px 60px 5px 5px;width:112px;height:128px}.card-room-dealer span{letter-spacing:2px;color:#d2b985;font-size:9px}.card-room-dealer h2{margin:8px 0;font:27px The Seasons,Georgia,serif}.card-room-dealer p{min-height:46px;margin:0;font:italic 16px/1.4 Georgia,serif}.dealer-hand,.player-hand{justify-content:center;gap:8px;display:flex}.sample-card{color:#17332f;background:#f8f1df;border:1px solid #dbcba8;border-radius:7px;flex-shrink:0;width:88px;height:124px;padding:8px;font:22px/1 Georgia,serif;position:relative;transform:rotate(-7deg);box-shadow:2px 5px 9px #0005}.sample-card:nth-child(2){transform:translateY(-3px)rotate(6deg)}.sample-card:nth-child(3){transform:rotate(12deg)}.sample-card>span{flex-direction:column;align-items:center;width:19px;display:flex}.sample-card small{margin-top:3px;font-size:15px}.sample-card>span:last-child{position:absolute;bottom:8px;right:8px;transform:rotate(180deg)}.sample-card b{place-items:center;font-size:39px;font-weight:400;display:grid;position:absolute;inset:0}.red-suit{color:#a3302d}.card-back{background:#213e39 var(--card-game-back) center/cover;border:4px solid #f8f1df}.table-lettering{text-align:center;color:#e4cda0;margin:24px 0 26px}.table-lettering>span{letter-spacing:4px;font-size:9px}.table-lettering strong{letter-spacing:5px;margin:10px 0;font:38px/1.1 Georgia,serif;display:block}.table-lettering em{font:italic 14px Georgia,serif}.hand-total{text-align:center;letter-spacing:1.5px;margin:16px 0 22px;font-size:9px}.hand-total strong{letter-spacing:0;margin-left:9px;font-size:15px}.card-room-rail{border-top:1px solid #d5ba7d55;justify-content:space-around;align-items:center;gap:18px;padding:23px 12px 30px;display:flex}.card-room-rail>span{letter-spacing:1px;text-align:center;font-size:9px}.card-room-rail strong{margin-top:8px;font:25px Georgia,serif;display:block}.card-room-rail>div{gap:13px;display:flex}.game-chip{color:#fff3dc;background:#9c332b;border:5px dashed #eedbb9;border-radius:50%;width:54px;height:54px;font-weight:700;box-shadow:0 0 0 2px #142a33,inset 0 0 0 1px #eedbb980,0 4px #0006}.chip-25{background:#234f43}.chip-100{background:#1b2730}.game-chip[aria-pressed=true]{outline-offset:5px;outline:2px solid #e7c66b;transform:translateY(-5px)}.card-room-preview-controls{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:25px;padding:24px 0;display:flex}.card-room-preview-controls p{color:var(--muted-foreground);font-size:12px;line-height:1.7}.card-room-preview-controls>div{flex-wrap:wrap;gap:8px;display:flex}.card-room-preview-controls button{border:1px solid var(--border);color:var(--foreground);background:0 0;padding:12px 16px;font-size:12px}.card-room-preview-controls button[aria-pressed=true]{background:var(--foreground);color:var(--background)}.card-room-assets{grid-template-columns:1fr 1.5fr .65fr;align-items:start;gap:36px;padding-top:48px;display:grid}.card-room-assets h2{margin:12px 0;font:38px The Seasons,Georgia,serif}.card-room-assets p{font-size:14px;line-height:1.6}.card-room-assets figure{margin:0}.card-room-assets img{object-fit:cover;width:100%;height:240px;display:block}.card-room-assets figure:last-child img{object-fit:contain}.card-room-assets figcaption{letter-spacing:1px;text-transform:uppercase;margin-top:14px;font-size:10px}@media (max-width:700px){.card-room-intro{display:block}.card-room-table{border-width:6px;border-radius:20px 20px 65px 65px;min-height:720px;padding:22px 12px 0}.card-room-dealer{gap:15px}.card-room-dealer>img{width:80px;height:105px}.card-room-dealer h2{font-size:24px}.card-room-dealer p{font-size:14px}.card-room-rail{gap:10px;padding-inline:0}.card-room-rail>div{gap:9px}.game-chip{width:43px;height:43px;font-size:12px}.card-room-rail>span{letter-spacing:0;font-size:7px}.card-room-rail strong{font-size:20px}.card-room-preview-controls{flex-direction:column;align-items:start;gap:8px}.card-room-assets{grid-template-columns:1fr 1fr;gap:22px}.card-room-assets>div{grid-column:1/-1}.card-room-assets img{height:180px}}.card-room-table{padding-bottom:12px}.dealer-hand,.player-hand{flex-wrap:wrap;row-gap:20px;min-height:124px;padding:6px 0}.table-lettering{margin:14px 0 24px}.card-room-empty{text-align:center;color:#dfcfa9;place-content:center;height:124px;font:italic 19px/1.5 Georgia,serif;display:grid}.game-actions{flex-wrap:wrap;justify-content:center;gap:10px;min-height:46px;margin:0 0 24px;display:flex}.game-actions button{color:#18352f;cursor:pointer;background:#f4ebd8;border:1px solid #ddc395;border-radius:3px;padding:13px 24px;font-weight:600}.game-actions button:first-child{color:#fff4df;background:#a3332c}.card-room-test button:disabled{opacity:.4;cursor:not-allowed}:is(.card-room-test button:focus-visible,.card-room-rules summary:focus-visible){outline-offset:5px;outline:3px solid #cc9b47}.card-room-rules{max-width:800px;margin:28px 0;font-size:14px;line-height:1.7}.card-room-rules summary{cursor:pointer;font-weight:600}.card-room-rail{padding-bottom:20px}.card-room-preview-controls>button{flex-shrink:0}@media (max-width:700px){.game-actions button{padding:12px 15px}.card-room-table{border-radius:20px 20px 45px 45px}.sample-card{width:76px;height:110px}.dealer-hand,.player-hand{min-height:110px}.card-room-rail>div{gap:8px}.game-chip{width:40px;height:40px}.card-room-rail>span{max-width:65px}.table-lettering strong{font-size:30px}}.round-result{position:relative}.table-lettering{min-height:92px}.round-result strong{animation:.45s ease-out both result-arrive}.result-house-lost .player-hand{animation:1s ease-out both winning-hand}.result-house-lost .card-room-dealer>img{animation:.8s ease-in-out dealer-concedes}.result-house-lost .card-room-rail>span:first-child strong{animation:.9s ease-out chip-payday}.result-bust .player-hand{animation:.85s ease-out both busted-hand}.result-bust .round-result strong{color:#f1a591;animation:.55s ease-out both bust-stamp}.result-push .dealer-hand{animation:.85s ease-in-out push-dealer}.result-push .player-hand{animation:.85s ease-in-out push-player}.result-push .round-result strong{animation:.85s ease-in-out push-balance}.result-sparks{pointer-events:none;position:absolute;inset:0}.result-sparks i{color:#ebc479;--angle:calc(var(--spark)*45deg);animation:1.15s ease-out both payday-spark;animation-delay:calc(var(--spark)*25ms);font-size:22px;font-style:normal;position:absolute;top:20px;left:50%}@keyframes result-arrive{0%{opacity:0;transform:translateY(10px)scale(.94)}to{opacity:1;transform:none}}@keyframes winning-hand{0%,to{transform:translateY(0)}35%{transform:translateY(-18px)scale(1.05)}65%{transform:translateY(-8px)scale(1.02)}}@keyframes dealer-concedes{30%{transform:rotate(-5deg)translateY(5px)}65%{transform:rotate(3deg)}to{transform:none}}@keyframes chip-payday{35%{color:#ffdf80;transform:scale(1.22)}to{transform:none}}@keyframes busted-hand{0%{opacity:1;transform:none}15%,45%{transform:translate(-9px)rotate(-2deg)}30%,60%{transform:translate(9px)rotate(2deg)}to{opacity:.6;transform:translateY(5px)}}@keyframes bust-stamp{0%{opacity:0;transform:scale(1.6)rotate(-9deg)}65%{opacity:1;transform:scale(.95)rotate(2deg)}to{transform:none}}@keyframes push-dealer{40%{transform:translate(-20px)}70%{transform:translate(5px)}to{transform:none}}@keyframes push-player{40%{transform:translate(20px)}70%{transform:translate(-5px)}to{transform:none}}@keyframes push-balance{0%{opacity:0;transform:rotate(-5deg)}30%{opacity:1;transform:rotate(5deg)}65%{transform:rotate(-3deg)}to{transform:none}}@keyframes payday-spark{0%{opacity:0;transform:rotate(var(--angle)) translateY(-15px) scale(.3)}20%{opacity:1}to{opacity:0;transform:rotate(var(--angle)) translateY(-95px) scale(.8)}}@media (prefers-reduced-motion:reduce){.card-room-table .player-hand,.card-room-table .dealer-hand,.card-room-table .round-result strong,.card-room-table .card-room-dealer>img,.card-room-table .card-room-rail strong,.card-room-table .result-sparks i{animation:none}.result-sparks{display:none}.result-bust .player-hand{opacity:.6}}.card-room-rail strong>small{letter-spacing:.5px;margin-top:4px;font:10px/1.3 Arial,Helvetica,sans-serif;display:block}.game-chip{flex-direction:column;justify-content:center;align-items:center;line-height:1.1;display:flex}.game-chip>small{letter-spacing:.2px;margin-top:2px;font-size:7px;font-weight:400}@media (max-width:700px){.card-room-rail strong>small{font-size:8px}.game-chip>small{margin-top:1px;font-size:6px}}.card-room-rail>.bet-builder{flex-direction:column;align-items:center;gap:10px;display:flex}.bet-denominations{gap:22px;display:flex}.bet-denomination{flex-direction:column;align-items:center;gap:9px;display:flex}.bet-chip-count{font-variant-numeric:tabular-nums;color:#f6edda;font-size:12px}.remove-chip{color:#f6edda;cursor:pointer;background:#102923;border:1px solid #d2b98580;border-radius:50%;width:32px;height:32px;font:21px/1 Arial,sans-serif}.bet-builder-hint{color:#dfcfa9;text-align:center;font-size:10px;line-height:1.4}.clear-bet{color:#f6edda;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #d2b98580;padding:7px 12px;font-size:11px}.card-room-rail{align-items:flex-start}.card-room-rail>span{padding-top:12px}@media (max-width:700px){.bet-denominations{gap:14px}.card-room-rail{gap:6px}.bet-builder-hint{max-width:170px;font-size:8px}.remove-chip{width:36px;height:36px}.bet-denomination{gap:8px}}.card-room-rail{grid-template-columns:minmax(0,1fr) 240px minmax(0,1fr);justify-content:normal;align-items:start;gap:24px;display:grid}.card-room-rail>span{white-space:nowrap;width:100%;min-width:0;max-width:none;line-height:1.4;display:block}.card-room-rail strong{font-variant-numeric:tabular-nums lining-nums;overflow-wrap:anywhere;white-space:normal;min-height:48px;line-height:1.2}.card-room-rail>.bet-builder{width:240px;min-width:0}.bet-denominations{grid-template-columns:repeat(3,54px);gap:22px;display:grid}.bet-denomination{min-width:0}.bet-chip-count{text-align:center;width:100%;min-height:16px;line-height:16px;display:block}.game-actions{min-height:48px}.game-actions>button:only-child{font-variant-numeric:tabular-nums;min-width:260px;max-width:100%}@media (max-width:700px){.card-room-rail{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 20px}.card-room-rail>span:first-child{grid-area:1/1}.card-room-rail>span:last-child{grid-area:1/2}.card-room-rail>span{max-width:none;padding-top:0;font-size:9px}.card-room-rail strong{min-height:48px;font-size:24px}.card-room-rail>.bet-builder{grid-area:2/1/auto/-1;justify-self:center}.bet-denominations{grid-template-columns:repeat(3,54px);gap:22px}.bet-denomination .game-chip{width:48px;height:48px;font-size:14px}.bet-builder-hint{max-width:none;font-size:10px}}.stack-spectacle{z-index:80;pointer-events:none;isolation:isolate;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.stack-spectacle-effects{z-index:-1;position:absolute;inset:0;overflow:hidden}.stack-sunburst{background:repeating-conic-gradient(#ebc47945 0deg 10deg,#0000 10deg 25deg);width:150vmax;height:150vmax;margin:-75vmax;animation:6.5s ease-out both stack-rays;position:absolute;top:50%;left:50%}.stack-spectacle-banner{text-align:center;color:#faefd5;background:#17372f;border:3px double #e9c77f;outline:7px solid #17372f;width:min(560px,100%);padding:32px 28px;animation:6.5s both stack-grand-entrance;position:relative;box-shadow:0 24px 90px #0007}.stack-spectacle-kicker{letter-spacing:2px;font-size:10px}.stack-spectacle-banner>strong{letter-spacing:-3px;color:#f5d58c;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:15px 0;font:clamp(60px,10vw,100px)/1.1 Georgia,serif;display:block}.stack-spectacle-banner h2{margin:10px 0;font:700 clamp(19px,3vw,28px)/1.2 Georgia,serif}.stack-spectacle-banner p{max-width:370px;margin:14px auto;font:italic 15px/1.5 Georgia,serif}.stack-spectacle-banner button{pointer-events:auto;color:inherit;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #e9c77f88;padding:12px 8px;font-size:12px}.stack-spectacle-banner button span{margin-left:20px;font-size:19px}.stack-particle{left:var(--x);color:#ffdc8b;text-shadow:0 2px 8px #0005;width:36px;height:36px;animation:stack-confetti 4.5s var(--delay) cubic-bezier(.15,.5,.55,1) both;place-items:center;font:26px Georgia,serif;display:grid;position:absolute;top:-60px}.stack-particle:nth-child(3n){color:#c6533c}.stack-particle:nth-child(3n+1){background:#9c332b;border:2px dashed #edd6a2;border-radius:50%;font-size:18px}.stack-spectacle-broke .stack-sunburst{background:radial-gradient(#a3332c55,#0000 65%);animation:6.5s both stack-doom}.stack-spectacle-broke .stack-spectacle-banner{background:#482921;border-color:#d99977;outline-color:#482921;animation:6.5s both stack-broke-entrance}.stack-spectacle-broke .stack-particle{color:#e4d0a9;animation:stack-falling-chips 2.8s var(--delay) ease-in both;background:#18352f;border:3px dashed #d8c4a0;border-radius:50%;font-size:18px}@keyframes stack-grand-entrance{0%{opacity:0;transform:translateY(70px)scale(.35)rotate(-12deg)}8%{opacity:1;transform:scale(var(--celebration-scale)) rotate(3deg)}13%{transform:scale(1)rotate(-2deg)}18%,88%{opacity:1;transform:none}to{opacity:0;transform:translateY(-30px)scale(.94)}}@keyframes stack-rays{0%{opacity:0;transform:rotate(-25deg)scale(.5)}12%{opacity:1}85%{opacity:1}to{opacity:0;transform:rotate(55deg)scale(1.2)}}@keyframes stack-confetti{0%{opacity:0;transform:translateY(0)scale(.4)}10%{opacity:1}80%{opacity:1}to{opacity:0;transform:translate(var(--drift),110vh) rotate(var(--spin)) scale(1)}}@keyframes stack-broke-entrance{0%{opacity:0;transform:scale(2)rotate(9deg)}8%{opacity:1;transform:scale(.96)rotate(-5deg)}11%{transform:translate(14px)rotate(3deg)}14%{transform:translate(-12px)rotate(-2deg)}18%,88%{opacity:1;transform:none}to{opacity:0;transform:translateY(70px)rotate(6deg)}}@keyframes stack-doom{0%{opacity:0;transform:scale(.5)}10%,85%{opacity:1;transform:scale(1)}to{opacity:0}}@keyframes stack-falling-chips{0%{opacity:0;transform:translateY(10vh)rotate(0)}12%{opacity:1}to{opacity:0;transform:translate(var(--drift),115vh) rotate(var(--spin))}}@media (max-width:600px){.stack-spectacle{padding:22px}.stack-spectacle-banner{padding:26px 18px}.stack-spectacle-kicker{letter-spacing:1px;font-size:8px}}@media (prefers-reduced-motion:reduce){.stack-spectacle-effects{display:none}.stack-spectacle .stack-spectacle-banner{animation:none}}.card-room-back{color:var(--foreground);margin-top:26px;padding:6px 0;font-size:12px;display:inline-block}.card-room-back:hover{color:var(--primary)}.card-room-back:focus-visible{outline:2px solid var(--primary);outline-offset:4px}
