.bid-panel,.trump-picker{width:100%;max-width:530px;padding:4px 0}.bid-panel-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.bid-panel-heading>span{font-size:8px;letter-spacing:2px;color:#cfb274}.bid-panel-heading small{font-size:10px;color:#95aa94}.bid-actions{display:grid;grid-template-columns:1fr 1.65fr;gap:12px}.bid-actions>button{border-radius:13px;min-height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;transition:transform .2s,box-shadow .2s}.pass-button{border:1px solid #adc1a740;background:linear-gradient(135deg,#334a3e,#21372d);color:#edf0df}.pass-button>span{font-size:20px;color:#96af95;line-height:1}.pass-button strong{font-family:Georgia,serif;font-size:27px;font-weight:400}.pass-button small{font-size:9px;color:#a0b49b}.call-button{border:1px solid #fae1a4;background:linear-gradient(135deg,#efdaa2,#d1a85f);color:#1a3227;box-shadow:0 6px 24px #c2a16122}.call-button>span{font-size:7px;letter-spacing:2px;font-weight:700}.call-button strong{font-size:40px;font-family:Georgia,serif;font-weight:500;line-height:1.1}.call-button small{font-size:10px}.bid-actions>button:hover{transform:translateY(-3px);box-shadow:0 8px 23px #0004}.bid-actions>button:active{transform:translateY(1px)}.bid-amounts{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:13px}.bid-amounts button{background:#071b1388;border:1px solid #b7c0a52b;border-radius:7px;color:#d3dcc5;padding:9px 0;font-size:12px;font-weight:600;min-height:36px}.bid-amounts button[aria-pressed=true]{background:#d8b575;color:#183225;border-color:#f5d69b;box-shadow:0 0 15px #c7ac5a22}.bid-amounts button:disabled{opacity:.23}.bid-help{font-size:9px;text-align:center;margin:10px 0 0;color:#829d84}.table-wrap[data-phase=bid] .hand .card{flex-basis:85px;height:119px;margin-left:1px}.controls{padding:22px 24px 12px}.hand-section{padding-top:13px}.table-wrap[data-phase=bid] .hand-section{padding-top:12px}.seat .seat-call{display:inline-block;background:#071a13a6;border:1px solid #bba46a33;padding:3px 7px;border-radius:10px;font-size:8px;color:#e4c78e;letter-spacing:.5px;margin-top:5px}.suit-choices{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.suit-choice{border:1px solid #d4c39e55;border-radius:10px;background:linear-gradient(145deg,#fff9eb,#e8ddc2);color:#163426;padding:8px 10px;min-height:84px;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:transform .2s}.suit-choice span{font-family:Georgia,serif;font-size:35px;line-height:1.2}.suit-choice strong{font-size:10px;font-weight:500}.suit-choice.red-suit{color:#b62f39}.suit-choice:hover{transform:translateY(-4px)}.seventh-choice{width:100%;display:flex;gap:16px;text-align:left;align-items:center;padding:14px 18px;margin-top:12px;border:1px solid #d6ba7d70;border-radius:12px;background:linear-gradient(120deg,#35503c99,#243c2c88);color:#e6d3a5;transition:transform .2s}.seventh-choice:hover{transform:translateY(-3px)}.seventh-choice img{width:33px;height:47px;border-radius:4px;transform:rotate(-8deg);box-shadow:0 4px 8px #0004}.seventh-choice strong{display:block;font-size:14px;font-family:Georgia,serif;font-weight:400}.seventh-choice small{display:block;font-size:9px;line-height:1.6;color:#9fb198;margin-top:5px}.seventh-choice>b{margin-left:auto;font-family:Georgia,serif;font-size:26px;font-weight:400}.traditional-score{display:flex;gap:13px;align-items:center;padding:12px 0 17px;border-bottom:1px solid #bdb68a1c}.score-stack{position:relative;width:74px;min-width:74px;height:88px}.score-under{position:absolute;left:1px;top:0;width:55px;height:77px;transform:rotate(-12deg);border-radius:4px;box-shadow:0 4px 9px #0005}.score-face{position:absolute;top:6px;left:16px;width:55px;height:77px;transform:rotate(5deg);border-radius:4px;overflow:hidden;box-shadow:0 5px 12px #0005}.score-face svg{display:block;width:100%;height:100%}.score-explainer>strong{display:block;color:#ddd6b4;font-size:10px;font-weight:500}.score-explainer>small{display:block;color:#80987e;font-size:8px;margin-top:4px}.set-tokens{display:flex;gap:5px;flex-wrap:wrap;margin-top:9px}.set-tokens>span{border:1px solid #879a762e;border-radius:4px;padding:4px 5px;font-size:8px;background:#06190e55;white-space:nowrap}.red-set{color:#e5988c}.black-set{color:#c8cebb}.team-score{border-bottom:0;padding:15px 0 5px}.score-panel{padding-bottom:15px}.score-note{line-height:1.7}.trump-panel{margin-top:16px;border:1px solid #d8b57235;background:linear-gradient(135deg,#20382a,#152a20);border-radius:13px;padding:17px}.trump-panel:empty{display:none}.trump-display{display:flex;align-items:center;gap:14px}.trump-indicator{width:54px;height:76px;border-radius:5px;box-shadow:0 5px 17px #0005;transform:rotate(-5deg)}.trump-display.is-revealed .trump-indicator{animation:indicatorFlip .65s ease-out}.trump-display .eyebrow{font-size:7px;letter-spacing:1.3px}.trump-display strong{display:block;font-family:Georgia,serif;font-size:17px;font-weight:400;color:#f1dfb6;margin:7px 0}.trump-display small{display:block;font-size:9px;color:#9eb498;line-height:1.7}.marriage-display{margin-top:15px;padding-top:13px;border-top:1px solid #b8a47130;display:flex;gap:10px;align-items:center}.marriage-display>small{color:#8da689;font-size:9px}.marriage-cards{display:flex;padding-left:3px;flex-shrink:0}.marriage-cards img{width:32px;height:45px;border-radius:3px;transform:rotate(-8deg);box-shadow:0 4px 10px #0005}.marriage-cards img+img{transform:rotate(9deg);margin-left:-8px}.marriage-display strong{font-size:10px;color:#e0c48f;font-weight:500;line-height:1.6;display:block}.marriage-display small{font-size:8px;line-height:1.7;color:#a6b49b;display:block}.held-seventh{display:flex;align-items:center;gap:9px;padding:7px 11px;border:1px solid #b49e5d55;border-radius:9px;background:#071b1455;justify-content:center;max-width:260px;margin:12px auto 0}.held-seventh img{width:30px;height:42px;border-radius:3px}.held-seventh strong{display:block;color:#dcc48e;font-size:10px;font-weight:500}.held-seventh small{display:block;color:#8fa38b;font-size:8px;margin-top:4px}.held-seventh button{font-size:10px;padding:9px 10px}.hand-heading{margin-bottom:20px}.contract .contract-progress{height:5px;border-radius:4px;background:#a6b49822;overflow:hidden;margin:7px 0 0}.contract .contract-progress i{display:block;height:100%;background:#d7b775;transition:width .4s}.set-result{color:#e1c37e;font-size:12px;line-height:1.8;margin-top:10px}.table-wrap[data-phase=bid] .felt,.table-wrap[data-phase=trump] .felt{height:305px}.table-wrap[data-phase=bid] .table-wordmark,.table-wrap[data-phase=trump] .table-wordmark{bottom:62px}.bid-panel button:focus-visible,.suit-choice:focus-visible,.seventh-choice:focus-visible{outline:3px solid #ffe1a0;outline-offset:3px}.score-set-label{font-size:8px;color:#a9b295;text-transform:uppercase;letter-spacing:1.5px;margin-top:12px}@keyframes indicatorFlip{from{transform:rotateY(90deg) rotate(-5deg);opacity:0}to{transform:rotateY(0) rotate(-5deg);opacity:1}}@media(max-width:1100px){.traditional-score{gap:5px}.score-stack{width:65px;min-width:65px}.score-explainer>strong{font-size:9px}.set-tokens{gap:4px}.trump-panel{padding:14px}.trump-display{gap:10px}.trump-display strong{font-size:15px}}@media(max-width:780px){.trump-panel{margin-top:0;grid-column:1/-1}.trump-display{justify-content:center}.marriage-display{justify-content:center}.controls{padding:20px 18px 10px}.traditional-score{gap:9px}.table-wrap[data-phase=bid] .hand .card{flex-basis:75px;height:105px}.bid-actions>button{min-height:96px}.seat .seat-call{font-size:7px}}@media(max-width:430px){.controls{padding:18px 13px 8px}.bid-panel-heading small{font-size:8px}.bid-panel-heading>span{font-size:7px}.bid-actions{gap:9px;grid-template-columns:1fr 1.5fr}.bid-actions>button{min-height:90px}.pass-button strong{font-size:25px}.call-button strong{font-size:36px}.bid-amounts{gap:5px}.bid-amounts button{font-size:11px;min-height:36px}.bid-help{font-size:8px}.table-wrap[data-phase=bid] .felt,.table-wrap[data-phase=trump] .felt{height:265px}.table-wrap[data-phase=bid] .hand .card{flex-basis:67px;height:94px}.table-wrap[data-phase=bid] .hand-section{min-height:145px;padding-bottom:10px}.suit-choices{gap:6px}.suit-choice{min-height:74px;padding:6px}.suit-choice span{font-size:29px}.suit-choice strong{font-size:8px}.seventh-choice{padding:12px;gap:12px}.seventh-choice strong{font-size:13px}.seventh-choice small{font-size:8px}.traditional-score{gap:2px;flex-direction:column;align-items:flex-start;padding-bottom:12px}.score-explainer{padding-top:2px}.score-stack{margin-left:7px}.score-explainer>strong{font-size:10px}.score-explainer>small{font-size:8px}.set-tokens{gap:4px}.set-tokens>span{font-size:7px;padding:4px}.trump-panel{display:flex;gap:20px;flex-wrap:wrap;justify-content:center}.trump-panel:empty{display:none}.trump-display{justify-content:flex-start;gap:12px}.marriage-display{margin:0;padding:0;border:0;justify-content:flex-start}.trump-display .eyebrow{font-size:7px}.score-note{font-size:8px}.hand-heading{margin-top:3px}.held-seventh{max-width:260px}.table-wrap[data-phase=bid] .center h3,.table-wrap[data-phase=trump] .center h3{font-size:19px}.table-wrap[data-phase=bid] .seat .card-backs,.table-wrap[data-phase=trump] .seat .card-backs{display:none}.header-right{gap:4px}.header-right .quiet{padding:8px 6px;font-size:7px}}
.controls:empty{display:none}.played{inset:105px 75px 100px}.team-score b{font-size:24px}
@media(max-width:780px){.game-layout aside{display:flex;flex-direction:column;gap:14px}.score-panel{display:grid;grid-template-columns:1fr 1fr;column-gap:20px;grid-template-areas:"heading heading" "teamA teamB" "scoreA scoreB" "note note" "contract contract"}.score-panel>.eyebrow{grid-area:heading}#team-score-a{grid-area:teamA}#team-score-b{grid-area:teamB}#traditional-a{grid-area:scoreA}#traditional-b{grid-area:scoreB}.score-panel>.score-note{grid-area:note}.score-panel>.contract{grid-area:contract}.traditional-score{height:100%;align-items:center}.activity-panel{margin:0}.trump-panel{margin:0}.played{inset:100px 75px 95px}}
@media(max-width:430px){.score-panel{column-gap:18px}.traditional-score{align-items:flex-start;gap:6px}.played{inset:85px 42px 85px}}
.game-layout{align-items:start}
.avatar{position:relative}.dealer-badge{position:absolute;bottom:-5px;right:-9px;border-radius:50%;width:19px;height:19px;display:grid;place-items:center;background:#f0d59b;color:#183326;border:2px solid #294b35;font:700 10px Arial,sans-serif;box-shadow:0 2px 6px #0005;z-index:2}.seat .seat-call{animation:bidAppear .25s ease-out both}.seat .seat-call.has-passed{color:#a6b49d;border-color:#a4b69526;background:#0d2118c4}.seat .seat-call.has-bid{color:#f0d69c;border-color:#dec08680;background:#31462ccf}.trump-picker{padding:15px;border-radius:14px;background:linear-gradient(135deg,#071d1599,#314b321c);border:1px solid #b49d5b40}.suit-choice span{font-size:40px}.seventh-choice{background:linear-gradient(120deg,#38533988,#5d563122)}
@media(max-width:430px){.trump-picker{padding:12px}.suit-choice span{font-size:34px}.dealer-badge{width:17px;height:17px;right:-7px;font-size:9px}.seat .seat-call{padding:3px 5px;font-size:6px}.table-wrap[data-phase=bid] .seat small,.table-wrap[data-phase=trump] .seat small{margin-top:3px}.table-wrap[data-phase=bid] .center,.table-wrap[data-phase=trump] .center{width:57%}}
