:root{color:#17211b;background:#f4f0e8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px}*{box-sizing:border-box}body{min-width:320px;margin:0;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.entryScreen{background:linear-gradient(140deg,#194c432e,#0000 50%),#f4f0e8;place-items:center;min-height:100vh;padding:24px;display:grid}.entryPanel{background:#fffdf8;border:1px solid #d8d0c1;border-radius:8px;gap:16px;width:min(420px,100%);padding:24px;display:grid;box-shadow:0 18px 40px #241f161f}.entryPanel h1{margin:0 0 4px;font-size:34px}label{gap:6px;font-weight:650;display:grid}input,select{background:#fff;border:1px solid #c8bead;border-radius:6px;min-height:clamp(34px,4.8vh,42px);padding:0 10px}.appShell{grid-template-rows:auto auto minmax(0,1fr);height:100vh;display:grid;overflow:hidden}.topBar{background:#fffdf8;border-bottom:1px solid #d7cebf;justify-content:space-between;align-items:center;gap:clamp(10px,1.2vw,16px);min-height:58px;padding:10px clamp(12px,1.4vw,18px);display:flex}.roomCode{font-size:18px;font-weight:800}.statusLine,.muted{color:#786f62;font-size:14px}.topActions,.mediaState{gap:8px;display:flex}.soundControls{position:relative}.soundPanel{z-index:30;background:#fffdf8;border:1px solid #c8bead;border-radius:8px;gap:10px;width:220px;padding:12px;display:grid;position:absolute;top:50px;right:0;box-shadow:0 18px 42px #241f162e}.toggleLine{grid-template-columns:auto 1fr;align-items:center;gap:9px;font-size:14px}.toggleLine input{min-height:auto}.soundSlider{gap:8px;font-size:14px}.soundSlider input{min-height:auto;padding:0}.errorBar,.formError,.notice{color:#7e2b1b;background:#f9dfd7;padding:10px 14px}.lobbyLayout,.gameLayout{grid-template-columns:minmax(0,1fr);gap:clamp(10px,1.2vw,18px);height:100%;min-height:0;padding:clamp(10px,1.2vw,18px);display:grid;overflow:hidden}.playerGrid,.playerRing{grid-template-columns:repeat(auto-fit,minmax(clamp(118px,14vw,180px),1fr));justify-content:center;gap:clamp(7px,.8vw,12px);min-height:0;display:grid}.playerGrid.playerCount-2,.playerRing.playerCount-2{grid-template-columns:repeat(2,minmax(220px,360px))}.playerGrid.playerCount-3,.playerRing.playerCount-3{grid-template-columns:repeat(3,minmax(190px,320px))}.playerGrid.playerCount-4,.playerRing.playerCount-4{grid-template-columns:repeat(4,minmax(160px,280px))}.playerGrid.playerCount-5,.playerRing.playerCount-5{grid-template-columns:repeat(6,minmax(72px,150px))}.playerGrid.playerCount-5>.playerTile,.playerRing.playerCount-5>.playerTile{grid-column:span 2}.playerGrid.playerCount-5>.playerTile:nth-child(4),.playerRing.playerCount-5>.playerTile:nth-child(4){grid-column:2/span 2}.playerGrid.playerCount-6,.playerRing.playerCount-6{grid-template-columns:repeat(3,minmax(180px,300px))}.playerGrid.playerCount-7,.playerRing.playerCount-7{grid-template-columns:repeat(8,minmax(62px,140px))}.playerGrid.playerCount-7>.playerTile,.playerRing.playerCount-7>.playerTile{grid-column:span 2}.playerGrid.playerCount-7>.playerTile:nth-child(5),.playerRing.playerCount-7>.playerTile:nth-child(5){grid-column:2/span 2}.playerGrid.playerCount-8,.playerRing.playerCount-8{grid-template-columns:repeat(4,minmax(160px,280px))}.playerTile{background:#1c2724;border:2px solid #d7cebf;border-radius:8px;height:clamp(104px,15vh,172px);min-height:0;position:relative;overflow:hidden}.playerTile.active{border-color:#c33f2f;box-shadow:0 0 0 3px #c33f2f29}.playerTile.self{border-color:#194c43;box-shadow:0 0 0 3px #194c432e}.playerTile.threatened{border-color:#c33f2f;box-shadow:0 0 0 4px #c33f2f38}.playerTile.losing:after{content:"-1";color:#fff;background:#7e2b1bb8;place-items:center;font-size:48px;font-weight:950;animation:.9s both minusDie;display:grid;position:absolute;inset:0}.playerTile video{object-fit:contain;background:#17211b;width:100%;height:calc(100% - 36px);min-height:68px}.playerMeta{color:#fff;justify-content:space-between;align-items:center;gap:10px;height:36px;padding:8px;display:flex}.mediaState{color:#fff;background:#0000006b;border-radius:6px;padding:4px;position:absolute;top:8px;right:8px}.selfBadge{color:#194c43;background:#fff;border-radius:6px;padding:4px 8px;font-size:13px;font-weight:900;position:absolute;top:8px;left:8px}.seatBadge{color:#6f3429;background:#f4f0e8eb;border-radius:6px;padding:3px 7px;font-size:12px;font-weight:900;position:absolute;top:40px;left:8px}.playerGrid.seatShuffle .playerTile{animation:.85s cubic-bezier(.16,1,.3,1) both seatShuffle}.playerGrid.seatShuffle .playerTile:nth-child(2n){animation-delay:70ms}.playerGrid.seatShuffle .playerTile:nth-child(3n){animation-delay:.13s}.tableArea{background:radial-gradient(circle at 50% 40%,#194c4329,#0000 38%),linear-gradient(135deg,#e5efe9d1,#f4f0e8c7);border:1px solid #194c432e;border-radius:8px;grid-template-rows:auto minmax(0,1fr);gap:clamp(6px,.8vw,12px);min-height:0;padding:clamp(10px,1.2vw,18px);display:grid;overflow:hidden;box-shadow:inset 0 0 0 1px #fffdf8b8}.gameLayout.duelMode .playerRing{grid-template-columns:repeat(2,minmax(240px,1fr))}.gameLayout.duelMode .playerTile{height:clamp(112px,19vh,164px);min-height:0}.gameLayout.duelMode .playerTile video{height:calc(100% - 42px)}.gameLayout.revealMode .playerRing{grid-template-columns:repeat(8,minmax(0,1fr))}.gameLayout.revealMode .playerTile{height:clamp(56px,9vh,78px)}.gameLayout.revealMode .playerTile video{height:100%;min-height:0}.gameLayout.revealMode .playerMeta{background:linear-gradient(#0000,#000000b8);height:auto;min-height:22px;padding:3px 5px;font-size:11px;position:absolute;bottom:0;left:0;right:0}.gameLayout.revealMode .playerMeta strong,.gameLayout.revealMode .playerMeta span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.duelBanner{color:#7e2b1b;background:#f9dfd7;border-left:5px solid #c33f2f;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:clamp(7px,.9vh,10px) 12px;display:flex}.duelBanner strong{font-size:clamp(15px,1.4vw,18px)}.duelBanner span{font-weight:750}.centerBoard,.sidePanel{background:#fffdf8;border:1px solid #d7cebf;border-radius:8px;align-content:start;gap:clamp(6px,.8vh,10px);min-height:0;padding:clamp(8px,1vw,12px);display:grid}.centerBoard{scrollbar-width:thin;justify-self:center;width:min(100%,1060px);overflow:hidden;box-shadow:0 16px 36px #241f1614}.centerBoard.revealMode{grid-template-rows:auto auto minmax(0,1fr) auto;align-content:stretch;overflow:hidden}.centerBoard.revealMode h2{display:none}.centerBoard.revealMode .roundBadge{padding:3px 7px;font-size:12px}.sidePanel{overflow:hidden}.sidePanel.menuDrawer{z-index:34;opacity:0;pointer-events:none;width:clamp(300px,30vw,380px);max-width:calc(100vw - 24px);transition:transform .18s,opacity .18s;position:fixed;top:72px;bottom:clamp(10px,1.2vw,18px);right:clamp(10px,1.2vw,18px);transform:translate(calc(100% + 28px));box-shadow:0 24px 70px #17211b3d}.sidePanel.menuDrawer.open{opacity:1;pointer-events:auto;transform:translate(0)}.gameLayout>.sidePanel{grid-template-rows:auto minmax(0,1fr) auto}.lobbyLayout>.sidePanel{scrollbar-width:thin;overflow:auto}.centerBoard h2,.sidePanel h2,.logChat h3{margin:0}.drawerHeader,.centerHeader{align-items:center;gap:clamp(6px,.8vw,10px);display:grid}.drawerHeader{border-bottom:1px solid #d7cebf;grid-template-columns:minmax(0,1fr) auto;padding-bottom:8px}.drawerHeader strong{color:#17211b;font-size:16px;font-weight:900}.drawerCloseButton{min-height:34px;padding:0 10px}.drawerCloseButton svg{width:16px;height:16px}.centerHeader{grid-template-columns:minmax(150px,auto) minmax(0,1fr)}.turnTitle{align-content:center;gap:3px;display:grid}.centerBoard h2{font-size:clamp(20px,2vw,26px);line-height:1.08}.roundBadge{color:#194c43;background:#e5efe9;border-radius:6px;width:fit-content;padding:4px 7px;font-weight:700}.currentBid{background:#efe6d7;border-radius:8px;grid-template-columns:1fr auto;align-items:center;gap:2px 12px;padding:clamp(7px,.9vw,10px);font-weight:800;display:grid}.currentBid span,.currentBid em,.infoStrip span{color:#6d6355;font-size:clamp(11px,1vw,13px);font-style:normal;font-weight:650}.currentBid strong{color:#194c43;grid-row:span 2;font-size:clamp(22px,2.1vw,28px)}.infoStrip{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(5px,.6vw,7px);display:grid}.infoStrip div{background:#f4f0e8;border-radius:8px;gap:2px;min-height:42px;padding:clamp(5px,.7vw,7px);display:grid}.infoStrip strong{color:#17211b;font-size:clamp(14px,1.35vw,17px)}.bidStage{align-items:stretch;gap:clamp(6px,.7vw,8px);display:grid}.bidStage.withControls{grid-template-columns:clamp(150px,18vw,210px) minmax(0,1fr)}.bidStage.withControls .currentBid{align-content:center;min-height:100%}.bidHistory{background:#f4f0e8;border-radius:8px;gap:clamp(6px,.7vw,8px);min-height:38px;padding:clamp(5px,.7vw,7px);display:flex;overflow-x:auto}.bidHistory.empty{color:#786f62;align-items:center;font-weight:700}.bidHistoryItem{background:#fffdf8;border-left:4px solid #194c43;border-radius:8px;gap:1px;min-width:clamp(88px,9vw,108px);padding:5px 7px;display:grid}.bidHistoryItem span,.bidHistoryItem em,.dudoCard span{color:#6d6355;font-size:12px;font-style:normal;font-weight:800}.bidHistoryItem strong{color:#194c43;font-size:clamp(15px,1.5vw,18px)}.bidWithTooltip{cursor:help;position:relative}.bidWithTooltip:hover:after,.bidWithTooltip:focus-visible:after{content:attr(data-tooltip);z-index:20;color:#fffdf8;background:#17211b;border-radius:7px;width:max-content;max-width:220px;padding:7px 9px;font-size:13px;font-weight:850;line-height:1.25;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 8px 24px #17211b3d}.diceDock{background:#e5efe9;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-height:clamp(38px,5.8vh,50px);padding:5px 8px;display:grid}.diceDockLabel{color:#194c43;white-space:nowrap;font-size:13px;font-weight:900}.diceHand{flex-wrap:wrap;align-items:center;gap:clamp(5px,.6vw,8px);min-width:0;display:flex}.die{background:#fff;border:2px solid #17211b;border-radius:8px;place-items:center;width:clamp(34px,5vh,46px);height:clamp(34px,5vh,46px);font-size:clamp(18px,2.5vh,24px);font-weight:900;display:grid}.bidControls{--bid-square:clamp(40px, 5.8vh, 48px);background:#fffaf0;border:1px solid #d7cebf;border-radius:8px;grid-template-columns:minmax(188px,220px) minmax(318px,1fr) minmax(230px,260px);align-items:end;gap:clamp(6px,.7vw,8px) clamp(10px,1.1vw,14px);padding:clamp(8px,.9vw,10px);display:grid;box-shadow:0 12px 28px #241f161a}.bidControlsHeader{grid-area:1/1/auto/3;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(7px,.8vw,10px);display:grid}.bidHint{color:#5f564a;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(12px,1.1vw,14px);line-height:1.35;overflow:hidden}.bidPreview{color:#5f564a;justify-items:end;gap:2px;min-width:min(220px,100%);font-size:12px;display:grid}.bidPreview strong{color:#17211b;text-align:right;font-size:clamp(15px,1.4vw,19px);line-height:1.1}.bidStepperGroup,.bidFaceGroup{gap:6px;display:grid}.bidStepperGroup{grid-area:2/1}.bidFaceGroup{grid-area:2/2}.bidControlLabel{color:#473f34;font-size:13px;font-weight:850}.quantityStepper{grid-template-columns:var(--bid-square) minmax(66px, 86px) var(--bid-square);justify-content:start;align-items:center;gap:6px;display:grid}.stepperButton,.faceButton{width:var(--bid-square);height:var(--bid-square);color:#17211b;background:#fffdf8;border:2px solid #d7cebf;border-radius:7px;min-height:0;font-weight:900}.stepperButton{font-size:25px;line-height:1}.quantityInput{width:100%;min-height:var(--bid-square);text-align:center;padding:0 8px;font-size:clamp(22px,3vh,28px);font-weight:900}.faceButtons{grid-template-columns:repeat(6, var(--bid-square));justify-content:start;gap:6px;display:grid}.faceButton{aspect-ratio:1;padding:0;font-size:clamp(18px,2.5vh,22px)}.faceButton.selected{color:#194c43;background:#e5efe9;border-color:#194c43;box-shadow:inset 0 0 0 2px #194c4324}.stepperButton:hover:not(:disabled),.faceButton:hover:not(:disabled){background:#f1f7f3;border-color:#194c43}.stepperButton:focus-visible,.faceButton:focus-visible,.bidActionButton:focus-visible{outline-offset:2px;outline:3px solid #194c4342}.faceButton:disabled:not(.selected){opacity:.35}.bidActionRow{grid-area:2/3;grid-template-columns:1fr 1fr;gap:8px;display:grid}.bidActionButton{min-height:var(--bid-square);padding:0 clamp(8px,1vw,12px);font-size:clamp(13px,1.15vw,16px);line-height:1.15}.dudoActionButton{background:#b93427}.primaryButton,.dangerButton,.secondaryButton,.iconButton{border:0;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:clamp(36px,5vh,42px);padding:0 clamp(10px,1vw,14px);font-weight:800;display:inline-flex}.primaryButton{color:#fff;background:#194c43}.dangerButton{color:#fff;background:#c33f2f}.secondaryButton{color:#17211b;background:#efe6d7}.iconButton{color:#194c43;background:#e5efe9;width:clamp(36px,5vh,42px);padding:0}.iconButton.active{color:#fff;background:#194c43}.iconButton svg,.primaryButton svg{width:18px;height:18px}.logChat{grid-template-rows:auto minmax(72px,1fr) auto minmax(72px,1fr) auto;gap:clamp(7px,1vh,10px);min-height:0;display:grid}.logList,.chatList{background:#f4f0e8;border-radius:8px;align-content:start;gap:6px;min-height:0;max-height:none;padding:clamp(7px,.9vw,10px);font-size:clamp(12px,1vw,14px);display:grid;overflow:auto}.chatInput{grid-template-columns:1fr auto;gap:8px;min-width:0;display:grid}.revealBox{scrollbar-width:thin;background:#e5efe9;border-radius:8px;gap:clamp(7px,1vh,14px);min-height:0;padding:clamp(8px,1vw,14px);display:grid;overflow:auto}.dudoCard{grid-template-columns:1.4fr .8fr 1fr;gap:clamp(6px,.8vw,10px);display:grid}.dudoCard div{background:#fffdf8;border-radius:8px;gap:3px;padding:clamp(6px,.8vw,10px);display:grid}.dudoCard strong{color:#17211b;font-size:clamp(14px,1.3vw,17px)}.revealHeader{grid-template-columns:1fr auto;align-items:center;gap:clamp(8px,1vw,16px);display:grid}.revealHeader strong{color:#194c43;margin-top:4px;font-size:clamp(26px,3vw,36px);display:block}.revealHeader p{color:#4f5c54;margin:4px 0 0;font-weight:700}.eyebrow{color:#194c43;text-transform:uppercase;align-items:center;gap:6px;font-size:13px;font-weight:900;display:inline-flex}.bigCounter{background:#fffdf8;border:4px solid #194c43;border-radius:8px;place-items:center;width:clamp(86px,12vh,128px);height:clamp(86px,12vh,128px);display:grid;box-shadow:0 12px 30px #194c432e}.bigCounter span{color:#194c43;font-size:clamp(44px,7vh,64px);font-weight:950;line-height:.9;animation:.42s counterPulse}.bigCounter small{color:#6d6355;margin-top:-18px;font-weight:800}.bigCounter.done{border-color:#c33f2f}.countNarration{color:#17211b;background:#fffdf8;border-radius:8px;align-items:center;min-height:32px;padding:7px 9px;font-weight:800;display:flex}.revealPlayers{grid-template-columns:repeat(auto-fit,minmax(126px,1fr));gap:clamp(6px,.8vw,10px);display:grid}.revealPlayer{background:#fffdf8b8;border-radius:8px;grid-template-columns:1fr;align-items:start;gap:4px;padding:6px;display:grid}.revealPlayerName{color:#17211b;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:900;overflow:hidden}.revealDice{flex-wrap:nowrap;gap:4px;display:flex}.revealDie{color:#8a8174;opacity:.62;background:#f4f0e8;border:2px dashed #b8ad9c;border-radius:8px;place-items:center;width:clamp(20px,2.8vh,23px);height:clamp(20px,2.8vh,23px);font-weight:900;display:grid;transform:translateY(4px)scale(.92)}.revealDie.shown{color:#17211b;opacity:1;background:#fffdf8;border-style:solid;animation:.26s dieReveal;transform:translateY(0)scale(1)}.revealDie.counts{color:#194c43;background:#e5efe9;border-color:#194c43;box-shadow:0 0 0 3px #194c431f}.revealDie.paco{color:#7e2b1b;background:#f9dfd7;border-color:#c33f2f}.revealOutcome{background:#fffdf8;border-radius:8px;gap:clamp(8px,1vw,12px);padding:clamp(8px,1vw,12px);display:grid}.revealResultText{gap:2px;display:grid}.revealResultText strong{font-size:clamp(16px,1.5vw,20px)}.revealOutcome.bidMet .revealResultText strong{color:#194c43}.revealOutcome.bidMissed .revealResultText strong{color:#c33f2f}.probabilityPanel{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(6px,.8vw,10px);display:grid}.probabilityPanel div{background:#f4f0e8;border-radius:8px;gap:3px;padding:clamp(7px,.9vw,10px);display:grid}.probabilityPanel span,.probabilityPanel small{color:#6d6355;font-size:12px;font-weight:750}.probabilityPanel strong{color:#17211b;font-size:clamp(17px,1.7vw,22px);font-weight:950}.directorOverlay{z-index:25;pointer-events:none;background:#17211b2e;place-items:center;padding:24px;animation:.18s overlayFade;display:grid;position:fixed;inset:0}.directorOverlay.turn,.directorOverlay.bid{background:0 0}.directorCard{color:#17211b;text-align:center;background:#fffdf8f5;border:1px solid #fffdf8bf;border-radius:8px;justify-items:center;gap:8px;min-width:min(420px,100vw - 48px);padding:22px;animation:.22s directorIn;display:grid;box-shadow:0 26px 70px #17211b42}.directorCard strong{font-size:34px;line-height:1}.directorCard span{color:#5f564a;font-weight:800}.directorOverlay.dudo .directorCard,.directorOverlay.result .directorCard{color:#fff;background:#17211b}.directorOverlay.dudo .directorCard span,.directorOverlay.result .directorCard span{color:#f4f0e8}.roundCup{background:#194c43;border-radius:8px 8px 18px 18px;justify-content:center;align-items:end;gap:5px;width:92px;height:72px;padding:10px 12px;animation:.62s infinite cupShake;display:flex;position:relative}.roundCup:after{content:"";background:#ffffff3d;border-radius:8px;height:8px;position:absolute;inset:10px 10px auto}.cupDice{color:#17211b;background:#fffdf8;border-radius:6px;place-items:center;width:24px;height:24px;font-size:13px;font-weight:950;display:grid}.bidChipScene{color:#fff;background:#c33f2f;border:8px double #fffdf8;border-radius:50%;place-items:center;width:112px;height:112px;font-size:26px;font-weight:950;animation:.36s chipPop;display:grid}.winnerOverlay{z-index:40;background:#17211bbd;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.winnerCard{background:#fffdf8;border:1px solid #fffdf8b8;border-radius:8px;gap:18px;width:min(560px,100%);padding:26px;animation:.26s winnerIn;display:grid;box-shadow:0 30px 80px #00000052}.winnerKicker{color:#c33f2f;text-transform:uppercase;font-weight:950}.winnerCard h2{color:#194c43;margin:0;font-size:46px;line-height:1}.winnerStats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.winnerStats div{background:#f4f0e8;border-radius:8px;gap:4px;min-height:82px;padding:10px;display:grid}.winnerStats span{color:#6d6355;font-size:13px;font-weight:800}.winnerStats strong{color:#17211b;font-size:22px}.winnerActions{flex-wrap:wrap;gap:10px;display:flex}@keyframes dieReveal{0%{opacity:0;transform:translateY(8px)scale(.82)rotate(-4deg)}to{opacity:1;transform:translateY(0)scale(1)rotate(0)}}@keyframes overlayFade{0%{opacity:0}to{opacity:1}}@keyframes directorIn{0%{opacity:0;transform:translateY(14px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes cupShake{0%,to{transform:rotate(0)translate(0)}25%{transform:rotate(-7deg)translate(-3px)}50%{transform:rotate(5deg)translate(3px)}75%{transform:rotate(-4deg)translate(-2px)}}@keyframes chipPop{0%{opacity:0;transform:translateY(18px)scale(.65)rotate(-10deg)}70%{opacity:1;transform:translateY(-4px)scale(1.08)rotate(4deg)}to{transform:translateY(0)scale(1)rotate(0)}}@keyframes seatShuffle{0%{transform:translate(0)rotate(0)scale(1)}30%{transform:translate(-16px)rotate(-2deg)scale(.98)}62%{transform:translate(18px)rotate(2deg)scale(1.02)}to{transform:translate(0)rotate(0)scale(1)}}@keyframes minusDie{0%{opacity:0;transform:scale(.7)}35%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.08)}}@keyframes winnerIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes counterPulse{0%{transform:scale(.82)}65%{transform:scale(1.08)}to{transform:scale(1)}}.hostControls{gap:clamp(6px,.8vh,8px);min-height:0;display:grid;overflow:auto}@media (height<=760px){.centerBoard{gap:6px;padding:8px 10px}.centerBoard h2{font-size:19px}.infoStrip div{min-height:42px;padding:5px 6px}.currentBid{padding:7px 9px}.currentBid strong{font-size:24px}.bidHistory{min-height:36px;padding:4px 6px}.diceDock{min-height:38px;padding:4px 7px}.bidControls{--bid-square:40px;gap:6px;padding:7px}.bidControlsHeader{gap:5px}.quantityStepper{grid-template-columns:var(--bid-square) minmax(60px, 78px) var(--bid-square);gap:6px}.quantityInput{font-size:21px}}@media (width<=760px){.lobbyLayout,.gameLayout{grid-template-columns:1fr}.centerHeader{grid-template-columns:minmax(92px,auto) minmax(0,1fr)}.centerBoard h2{font-size:18px}.roundBadge{font-size:11px}.bidControlsHeader,.bidStage.withControls{grid-template-columns:1fr}.bidControls{--bid-square:clamp(37px, 10.4vw, 43px);grid-template-columns:minmax(132px,auto) minmax(0,1fr)}.bidPreview{justify-items:start}.bidStepperGroup{grid-area:2/1}.bidActionRow{grid-area:2/2;align-self:end}.bidFaceGroup{grid-area:3/1/auto/-1}.faceButtons{grid-template-columns:repeat(6, var(--bid-square))}.bidActionRow{grid-template-columns:1fr 1fr}.infoStrip{grid-template-columns:repeat(4,minmax(0,1fr))}.winnerStats{grid-template-columns:1fr}.gameLayout.duelMode .playerRing{grid-template-columns:repeat(2,minmax(0,1fr))}.gameLayout.duelMode .playerTile{height:clamp(84px,13vh,106px);min-height:0}.gameLayout.duelMode .playerTile video{height:calc(100% - 32px);min-height:0}.gameLayout.duelMode .playerMeta{height:32px;padding:6px;font-size:12px}.duelBanner,.winnerActions{flex-direction:column;align-items:stretch}.directorCard strong,.winnerCard h2{font-size:30px}.revealHeader,.revealPlayer,.dudoCard,.probabilityPanel{grid-template-columns:1fr}.bigCounter{width:100%;height:96px}}@media (width<=760px) and (height<=680px){.topBar{min-height:50px;padding:7px 10px}.roomCode{font-size:16px}.statusLine{font-size:12px}.gameLayout{padding:8px}.tableArea{gap:5px;padding:8px}.duelBanner{display:none}.centerBoard{gap:4px;padding:6px 8px}.centerHeader{gap:5px}.centerBoard h2{font-size:17px}.roundBadge,.infoStrip span,.currentBid span,.currentBid em{font-size:10px}.infoStrip{gap:4px}.infoStrip div{min-height:34px;padding:3px 4px}.infoStrip strong{font-size:13px}.diceDock{min-height:32px;padding:3px 6px}.diceDockLabel{font-size:12px}.die{width:30px;height:30px;font-size:16px}.currentBid{min-height:38px;padding:5px 7px}.currentBid strong{font-size:20px}.bidControls{--bid-square:34px;gap:5px;padding:6px}.bidHint{display:none}.bidControlsHeader{min-height:22px}.bidControlLabel{font-size:12px}.quantityStepper{grid-template-columns:var(--bid-square) minmax(52px, 62px) var(--bid-square);gap:5px}.quantityInput{font-size:19px}.faceButtons{gap:5px}.bidActionButton{padding:0 6px;font-size:12px}.bidHistory{min-height:30px;padding:3px 5px}.bidHistoryItem{min-width:82px;padding:3px 6px}}
