._notice_1x7kf_1{padding:1.25rem;border:1px solid var(--border);border-radius:12px;color:var(--text);background:var(--panel)}._notice_1x7kf_1 p{margin:0 0 .75rem}._notice_1x7kf_1 p:last-child{margin-bottom:0}._actions_1x7kf_11{display:flex;flex-wrap:wrap;gap:.75rem}.botOpponentsPicker{margin:1rem 0;padding:1rem;border:1px solid var(--border);border-radius:10px;background:var(--panel)}.botPickerHeading{display:flex;align-items:center;gap:.55rem}.botPickerHeading h4{margin:0}.botOpponentsPicker p{margin:.5rem 0 .8rem}.botPairChoices{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.5rem}.botPairChoices button{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;text-align:left}.botPairChoices small{font-weight:400}.botSelectedNames{display:flex;flex-wrap:wrap;gap:.45rem 1rem;margin:.85rem 0;font-size:.85rem}.botIndividualChoices{border-top:1px solid var(--border);margin:.8rem 0;padding-top:.7rem}.botIndividualChoices summary{display:flex;align-items:center;gap:.45rem;cursor:pointer}.botIndividualGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;padding-top:.8rem}.botIndividualGrid label{display:flex;flex-direction:column;gap:.45rem;min-width:0}.botIndividualGrid select{width:100%;min-width:0}.botStatsTable{width:100%;border-collapse:collapse;text-align:left}.botStatsTable th,.botStatsTable td{padding:.8rem .5rem;border-bottom:1px solid var(--border)}.botStatsTable td small,.botStatsTable th small{display:block;font-weight:400}.botStatsScroll{overflow-x:auto}.dealReview{border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem}.dealReview h4{margin:0 0 .35rem;font-size:.95rem}.dealReview p{margin:0;white-space:pre-line;line-height:1.65}.dealReviewHeading{display:flex;align-items:center;gap:.55rem}.dealReviewHeading h3{margin:0;font-size:1rem}.dealReview .dealReviewIntro{margin:.4rem 0 .9rem;font-size:.88rem}.dealReviewActions{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.dealReviewActions select,.dealReviewActions button{min-height:44px}.dealReview .dealReviewEmpty{margin-top:.85rem;color:var(--muted);font-size:.88rem}.dealReviewAnswer{display:grid;gap:1rem;min-width:0;overflow-wrap:anywhere;margin-top:1rem;padding:.25rem 0}.dealReviewSummary{font-weight:650}.dealReviewCoachExplanation{display:grid;gap:.4rem}.dealReviewSource{color:var(--muted);font-size:.8rem}.dealReview .dealReviewFallback{color:var(--muted);font-size:.85rem}.dealReviewSection p{font-size:.92rem}.dealReviewDetails{border-top:1px solid var(--border);padding-top:.8rem;color:var(--muted);font-size:.85rem}.dealReviewDetails summary{cursor:pointer;font-weight:600;padding-block:.65rem;min-height:44px;box-sizing:border-box}.dealReviewDetails summary:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.dealReviewDetails p{margin-top:.45rem}.dealReviewDetailSections{display:grid;gap:1rem;padding-block:.5rem}.dealReviewDiscussion{margin-top:1.35rem;padding-top:1rem;border-top:1px solid var(--border)}.dealReviewQuestionNote{font-size:.85rem}.dealReviewSuggestions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.dealReviewSuggestions button{min-height:44px;padding:.5rem .7rem;text-align:left;font-size:.84rem;font-weight:500;white-space:normal}.dealReviewConversation{display:grid;gap:1rem;list-style:none;margin:1rem 0;padding:0}.dealReviewConversation:empty{margin:0}.dealReviewConversation li{display:grid;gap:.65rem;min-width:0;overflow-wrap:anywhere}.dealReviewConversation small{display:block;color:var(--muted);font-size:.75rem;margin-bottom:.25rem}.dealReviewConversation p{font-size:.9rem}.dealReviewUserQuestion{background:var(--panel);border-radius:6px;padding:.7rem .8rem;margin-left:1rem}.dealReviewCoachReply{padding-left:.8rem;border-left:1px solid var(--primary)}.dealReviewQuestionForm{display:grid;gap:.5rem;margin-top:1rem}.dealReviewQuestionForm label{font-size:.85rem;font-weight:600}.dealReviewQuestionForm textarea{min-width:0;width:100%;resize:vertical;min-height:86px;box-sizing:border-box;font:inherit;font-size:.9rem;line-height:1.5;padding:10px 12px;color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:5px}.dealReviewQuestionForm textarea:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.dealReviewQuestionForm textarea::placeholder{color:var(--muted)}.dealReviewQuestionForm button{justify-self:start;min-height:44px}.dealReviewQuestionError{margin-top:.75rem}.dealReviewQuestionError button{margin-top:.5rem;min-height:44px}.dealReview .coachThinking:not(:empty){margin-top:.85rem}@media(max-width:520px){.botIndividualGrid,.botPairChoices{grid-template-columns:1fr}.botPairChoices button{flex-direction:row;justify-content:space-between;align-items:center}}.dealReview .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.botPairChoices button.primary small{color:inherit}.actionDock.contractActionDock,.clubTable .actionDock.contractActionDock{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px}.actionDock.contractActionDock .actions,.clubTable .actionDock.contractActionDock .actions{display:flex;flex-wrap:wrap;justify-content:flex-end;max-height:none;gap:8px}.bidPicker{--bid-accent: var(--primary);--bid-on-accent: var(--primary-contrast, #fff);--bid-text: var(--text);--bid-muted: var(--muted);--bid-line: var(--border);--bid-red: var(--card-red);min-width:0;display:grid;gap:14px}.clubTable .bidPicker{--bid-accent: var(--club-gold);--bid-on-accent: #18160f;--bid-text: var(--club-text);--bid-muted: var(--club-muted);--bid-line: #706149;--bid-red: #ff9186}.focusTable .bidPicker{--bid-accent: var(--focus-accent);--bid-on-accent: var(--focus-on-accent);--bid-text: var(--focus-ink);--bid-muted: var(--focus-muted);--bid-line: var(--focus-line);--bid-red: var(--card-red)}.bidLevelField{margin:0;padding:0;border:0;min-width:0}.bidLevelField legend{padding:0;margin-bottom:8px;color:var(--bid-text);font-weight:700}.bidLevels{display:flex;flex-wrap:wrap;gap:6px}.bidLevel{position:relative;flex:1 1 44px;cursor:pointer}.bidLevelMiser{flex-basis:78px}.bidLevel input{position:absolute;opacity:0;width:1px;height:1px;margin:0}.bidLevel>span{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;border:1px solid var(--bid-line);border-radius:6px;color:var(--bid-text);font-weight:700;font-variant-numeric:tabular-nums}.bidLevel input:checked+span{color:var(--bid-on-accent);background:var(--bid-accent);border-color:var(--bid-accent)}.bidLevel input:focus-visible+span{outline:3px solid var(--bid-accent);outline-offset:3px}.bidLevel input:disabled+span{opacity:.55;cursor:not-allowed}.bidChoiceLabel{font-size:14px;color:var(--bid-muted);margin-bottom:8px}.bidSuits{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.actionDock .bidSuit{min-width:0;min-height:48px;padding:10px 6px;display:flex;justify-content:center;flex-wrap:wrap;gap:4px 8px}.bidSuitMark{display:inline-flex;align-items:center;gap:5px;font-variant-numeric:tabular-nums;white-space:nowrap}.bidRedSuit{color:var(--bid-red)}.bidSuitName{font-size:13px}.bidMiserChoice{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px}.bidMiserChoice p{flex:1 1 180px;margin:0;color:var(--bid-muted);font-size:14px}.bidMiserChoice button{min-height:48px}@media(hover:hover){.bidLevel:hover input:not(:checked):not(:disabled)+span{border-color:var(--bid-accent)}}@media(max-width:600px){.bidLevels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.bidLevel>span{min-height:44px;padding-inline:8px}.bidSuitName{display:none}.bidPicker{gap:12px}}@media(min-width:1100px){.actionDock.contractActionDock,.clubTable .actionDock.contractActionDock{grid-template-columns:minmax(150px,.3fr) minmax(0,1fr) auto;gap:24px}.contractActionDock .actionPrompt{align-self:center}.actionDock.contractActionDock .actions,.clubTable .actionDock.contractActionDock .actions{flex-direction:column;align-self:end}}.trainingHistory{min-width:0;margin-top:24px;border-top:1px solid var(--border);color:var(--text)}.trainingHistory>summary{display:flex;align-items:center;flex-wrap:wrap;gap:10px;min-height:48px;padding:12px 0;font-weight:700;cursor:pointer;list-style:none}.trainingHistory>summary::-webkit-details-marker{display:none}.trainingHistory:not([open])>summary>svg{transform:rotate(-90deg)}.trainingHistory .historyContext{margin-left:auto;color:var(--muted);font-size:13px;font-weight:500}.historyHelp,.historyEmpty{margin:0 0 16px;font-size:13px;line-height:1.6;color:var(--muted)}.historyEmpty{padding:14px 0;color:var(--text)}.historyHead,.historyTrick{display:grid;grid-template-columns:40px minmax(0,3fr) minmax(120px,1fr);gap:12px;align-items:center}.historyHead{grid-template-columns:40px repeat(3,minmax(0,1fr)) minmax(120px,1fr);padding:10px 12px;color:var(--muted);font-size:12px;border-bottom:1px solid var(--border)}.historyScroll{max-height:320px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-color:var(--field-border) transparent}.historyScroll:focus-visible,.trainingHistory>summary:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.historyTricks,.historyPlays{list-style:none;padding:0;margin:0}.historyTrick{padding:12px;border-bottom:1px solid var(--border);font-size:13px}.historyTrick:last-child{border-bottom:0}.historyTrick[data-pending]{background:var(--panel-subtle)}.historyTrickNumber{align-self:start;padding-top:4px;color:var(--muted);font-variant-numeric:tabular-nums}.historyPlays{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.historyPlays>li{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;min-width:0}.historyPlayer{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.historyCard{display:inline-flex;align-items:center;gap:3px;white-space:nowrap;font-size:17px;font-weight:600;font-variant-numeric:tabular-nums}.historyCard[data-suit=D],.historyCard[data-suit=H]{color:var(--card-red)}.historyCard[data-winner]{font-weight:800}.historyWinningCard{margin-left:3px;color:var(--primary)}.historyWaiting{color:var(--muted)}.historyResult{display:flex;align-items:center;gap:6px;min-width:0;font-weight:600;overflow-wrap:anywhere}.historyResult>svg{flex-shrink:0;color:var(--primary)}.historyTrick[data-pending] .historyResult{color:var(--muted);font-weight:400}.historyWinnerLabel{display:none}.historyLatest{display:flex;align-items:center;gap:8px;margin:12px 0 0 auto;min-height:44px;font-size:13px}@media(max-width:700px){.trainingHistory .historyContext{margin-left:28px;width:calc(100% - 28px)}.historyHead{grid-template-columns:24px repeat(3,minmax(0,1fr));gap:8px;padding-inline:8px}.historyHead>:last-child{display:none}.historyTrick{grid-template-columns:24px minmax(0,1fr);gap:8px;padding:12px 8px}.historyPlays{gap:8px}.historyPlays>li{flex-direction:column;align-items:flex-start}.historyPlayer{font-size:12px}.historyResult{grid-column:2;font-size:12px}.historyWinnerLabel{display:inline;font-weight:400}}.clubTable{--club-gold: #f3cf83;--club-muted: #c2c3b8;--club-text: #f2eee4;--club-border: #706149;min-width:0}.clubScene{padding:18px clamp(12px,2.6vw,36px) 22px;border:1px solid #514532;border-radius:22px;background:linear-gradient(#0008,transparent 28%,#0004),url(/assets/table-environment-BxK-hkW2.webp) center / 100% 100% no-repeat,#073a28;color:var(--club-text);box-shadow:0 16px 48px #0004;container-type:inline-size;container-name:club-scene}.clubTopline{display:flex;align-items:center;justify-content:space-between;gap:12px}.clubWordmark{color:var(--club-gold);font-family:var(--display);letter-spacing:.2em;font-size:14px}.clubSound{display:flex;align-items:center;justify-content:center;gap:8px;min-width:48px;min-height:48px;padding:8px 12px;border:1px solid #706149;border-radius:9px;background:#08150fc9;color:var(--club-text)}.clubSound[aria-pressed=true]{color:var(--club-gold)}.clubTable .gameHeader{gap:12px;padding:8px 0 12px;flex-wrap:wrap}.clubTable .gameHeaderPrimary strong{font-size:24px;color:var(--club-gold)}.clubTable .gameHeaderPrimary small,.clubTable .gameHeaderStatus>span{color:var(--club-muted)}.clubTable .phaseBadge{background:#08150fd9;border:1px solid var(--club-border);color:var(--club-gold)}.clubTable .gameHeaderStatus{flex-wrap:wrap}.clubTable .gameMetaDetails{top:100%;color:var(--club-muted)}.clubTable .gameMetaDetails[open]>div{background:#08150f;color:var(--club-text);border-color:var(--club-border)}.clubTable .gameArena{min-height:530px;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}.clubTable .gameArena:before,.clubTable .gameArena:after{display:none}.clubTable .gameArena .players{inset:26px 3% auto;gap:24px;grid-template-columns:1fr 1fr}.clubTable .gameArena .player{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:8px 12px;min-width:0;width:min(100%,260px);padding:8px;border-color:transparent;background:linear-gradient(90deg,#06120fd9,#06120f22);border-radius:16px}.clubTable .gameArena .opponentSeatRight{justify-self:end}.clubTable .seatAvatar{display:grid;place-items:center;width:48px;height:48px;flex-shrink:0;border:2px solid #8d8c7f;border-radius:50%;background:linear-gradient(135deg,#353933,#0a0c0a);color:#aca99d}.clubTable .seatAvatar svg{width:30px;height:30px}.clubTable .seatIdentity{display:grid;min-width:0;gap:4px}.clubTable .seatIdentity strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.clubTable .seatIdentity span{font-size:11px}.clubTable .gameArena .seatIdentity .playerDeclaration{color:var(--club-text);font-size:13px;font-weight:650;line-height:1.3;overflow-wrap:anywhere}.clubTable .gameArena .playerDeclaration[data-declaration-kind=declarer],.clubTable .gameArena .playerDeclaration[data-declaration-kind=bid]{color:var(--club-gold)}.clubTable .gameArena .playerDeclaration[data-declaration-kind=pass],.clubTable .gameArena .playerDeclaration[data-declaration-kind=waiting],.clubTable .gameArena .playerDeclaration[data-declaration-kind=dealer]{color:var(--club-muted)}.clubTable .gameArena .player.activePlayer,.clubTable .gameArena .localHand.activePlayer{border-color:transparent;box-shadow:none}.clubTable .activePlayer .seatAvatar{border-color:var(--club-gold);box-shadow:0 0 0 3px #f3cf831a}.clubTable .gameArena .opponentCards{grid-column:1 / -1;overflow:visible;min-height:60px;justify-content:center}.clubTable .gameArena .opponentCards .playingCard{width:44px}.clubTable .opponentCards .playingCard+.playingCard{margin-left:-26px}.clubTable .decisionRing{top:45%;width:280px;min-height:175px;padding:12px;border-color:#c8a04a66}.clubTable .currentTrick{gap:12px}.clubTable .currentTrick .playingCard{width:78px;box-shadow:0 8px 16px #0005}.clubTable .currentTrick>div:first-child{rotate:-8deg}.clubTable .currentTrick>div:last-child{rotate:8deg}.clubTable .currentTrick small{font-size:10px}.clubTable .emptyTrick{color:var(--club-text);text-align:center}.clubTable .gameArena .localHand{left:3%;right:3%;bottom:10px;padding:12px 0 0;background:transparent;border:0;border-radius:0;gap:16px}.clubTable .localHandHeader{justify-content:center;align-items:center;gap:12px}.clubTable .localHandHeader .seatIdentity{min-width:90px}.clubTable .gameArena .actionableHand{grid-template-columns:repeat(5,minmax(48px,76px));gap:12px 8px;padding:8px 0}.clubTable .playingCard{border-radius:7px}.clubTable .actionableHand .playingCard{min-height:48px;touch-action:manipulation}.clubTable .playingCardSelected{transform:translateY(-8px);box-shadow:0 0 0 3px var(--club-gold),0 8px 16px #0007}.clubTable button.playingCard:disabled{opacity:.78}.clubTable .playingCard:focus-visible{outline-color:var(--club-gold)}.clubTable .actionDock{position:relative;bottom:auto;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:72px;margin:8px auto 0;padding:12px 16px;max-width:1020px;color:var(--club-text);border-color:var(--club-border);background:#08150fe8}.clubTable .actionDock .actions{display:flex;flex-wrap:wrap;max-height:none;overflow:visible}.clubTable .actionDock button{min-height:48px}.clubTable .actionDock .actions button{min-height:52px}.clubTable .actionDock .secondary,.clubTable .actionDock .utilityAction{color:var(--club-text);border-color:#706149;background:linear-gradient(#1b1e1b,#080c09)}.clubTable .actionDock .secondary:hover:not(:disabled){color:var(--club-gold);border-color:var(--club-gold)}.clubTable .actionDock .primary{background:linear-gradient(#f8de98,#e5ba62 45%,#a8752c);color:#18160f;border:1px solid #f3cf83}.clubTable .actionDock .primary:disabled{opacity:.55}.clubTable .actionDock .actionPrompt small{color:var(--club-muted)}.clubTable .selectedPlaySummary{font-size:12px;color:var(--club-gold)}.clubTable .gameArena .players:has(>:nth-child(3)){grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.clubTable .gameArena .players:has(>:nth-child(3)) .player{width:100%}.clubTable .gameArena .players:has(>:nth-child(3)) .opponentCards{overflow:hidden}.clubTable .gameTools{color:var(--text)}@container club-scene (min-width: 900px){.clubTable .gameArena .actionableHand{grid-template-columns:repeat(10,minmax(48px,96px));gap:8px}}@container club-scene (max-width: 899px){.clubTable .gameArena{display:grid;grid-template-areas:"opponents" "trick" "hand";grid-template-rows:auto auto auto;gap:10px;min-height:0;padding:16px 0 0}.clubTable .gameArena .playerHands{display:contents}.clubTable .gameArena .players{position:static;grid-area:opponents;gap:10px}.clubTable .gameArena .player{width:100%;grid-template-columns:36px minmax(0,1fr);gap:6px;padding:4px}.clubTable .seatAvatar{width:36px;height:36px}.clubTable .seatAvatar svg{width:24px;height:24px}.clubTable .seatIdentity strong{font-size:12px}.clubTable .seatIdentity span{font-size:10px}.clubTable .gameArena .seatIdentity .playerDeclaration{font-size:12px}.clubTable .gameArena .opponentCards{min-height:46px;padding:4px 0}.clubTable .gameArena .opponentCards .playingCard{width:32px}.clubTable .opponentCards .playingCard+.playingCard{margin-left:-22px}.clubTable .decisionRing{position:relative;top:auto;left:auto;grid-area:trick;transform:none;margin:4px auto;width:220px;min-height:116px}.clubTable .currentTrick .playingCard{width:60px}.clubTable .gameArena .localHand{position:static;grid-area:hand;width:100%;padding:0;gap:10px}.clubTable .localHandHeader .seatAvatar{width:40px;height:40px}.clubTable .gameArena .localHandHeader span{display:inline}.clubTable .gameArena .players:has(>:nth-child(3)){grid-template-columns:repeat(2,minmax(0,1fr))}.clubTable .gameArena .players:has(>:nth-child(3))>:last-child{grid-column:1 / -1;width:50%;justify-self:center}.clubTable .actionDock{grid-template-columns:1fr;gap:10px;padding:12px}.clubTable .actionDock .actions{justify-content:stretch}.clubTable .actionDock .primary{flex:1}.clubTable .actionDock:has(.confirmPlayButton) .actionPrompt>small{display:none}.clubTable .actionDock:has(.confirmPlayButton) .actionPrompt>strong{font-size:12px}}@container club-scene (min-width: 600px) and (max-width: 899px){.clubTable .gameArena .actionableHand{grid-template-columns:repeat(5,minmax(48px,92px))}.clubTable .gameArena .player{grid-template-columns:48px minmax(0,1fr)}.clubTable .seatAvatar{width:48px;height:48px}.clubTable .seatIdentity strong{font-size:15px}.clubTable .gameArena .opponentCards .playingCard{width:44px}.clubTable .opponentCards .playingCard+.playingCard{margin-left:-26px}.clubTable .decisionRing{min-height:155px;width:280px}.clubTable .currentTrick .playingCard{width:78px}}@container club-scene (max-width: 271px){.clubTable .gameArena .actionableHand{grid-template-columns:repeat(4,minmax(48px,1fr))}}@media(max-width:600px){.clubScene{padding:10px 8px 14px;border-radius:16px;background-size:auto,auto 100%}.clubWordmark{font-size:11px;letter-spacing:.13em}.clubSound{padding:6px 8px;font-size:11px}.clubTable .gameHeaderPrimary strong{font-size:20px}.clubTable .gameHeader{gap:8px}.clubTable .gameHeaderStatus{font-size:10px}.workspace-table .viewHeader{display:none}.app:has(.workspace-table .clubScene) .topbar{margin-bottom:4px}.app:has(.workspace-table .clubScene) .appWorkspace{margin-top:4px}.app:has(.workspace-table .clubScene){padding:max(4px,var(--app-safe-top, env(safe-area-inset-top, 0px))) 4px calc(82px + var(--app-safe-bottom, env(safe-area-inset-bottom, 0px)))}.app:has(.workspace-table .clubScene) .topbar{display:none}}@media(max-height:500px)and (orientation:landscape){.clubScene{padding:8px max(12px,var(--app-safe-right, env(safe-area-inset-right, 0px))) 10px max(12px,var(--app-safe-left, env(safe-area-inset-left, 0px)))}.clubTopline{position:absolute;right:30px;z-index:7}.clubWordmark,.clubSound span{display:none}.clubTable .gameHeader{padding-right:60px;min-height:48px}.clubTable .gameMetaDetails{display:none}.clubTable .gameArena{display:block;min-height:350px;padding:0}.clubTable .gameArena:has(.actionableHand>:nth-child(11)){min-height:414px}.clubTable .gameArena .playerHands{display:block}.clubTable .gameArena .players{position:absolute;inset:0 0 auto;grid-template-columns:1fr 1fr;gap:150px}.clubTable .gameArena .player{width:180px;grid-template-columns:32px 1fr;gap:4px;padding:4px}.clubTable .seatAvatar{width:32px;height:32px}.clubTable .seatAvatar svg{width:22px;height:22px}.clubTable .gameArena .opponentCards{min-height:32px}.clubTable .gameArena .opponentCards .playingCard{width:26px}.clubTable .opponentCards .playingCard+.playingCard{margin-left:-17px}.clubTable .decisionRing{position:absolute;top:50px;left:50%;transform:translate(-50%,-50%);width:160px;min-height:92px;margin:0;padding:6px}.clubTable .gameArena:has(.actionableHand>:nth-child(11)) .decisionRing{top:50px}.clubTable .currentTrick .playingCard{width:46px}.clubTable .currentTrick{gap:8px}.clubTable .currentTrick small{display:none}.clubTable .gameArena .localHand{position:absolute;left:0;right:0;bottom:0;gap:4px}.clubTable .localHandHeader{display:flex;gap:8px}.clubTable .gameArena .localHandHeader .seatAvatar,.clubTable .gameArena .localHandHeader .seatMeta{display:none}.clubTable .gameArena .actionableHand{grid-template-columns:repeat(5,minmax(48px,56px));gap:8px}.clubTable .actionDock{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:58px;margin-top:6px;padding:6px 10px}.clubTable .actionPrompt{font-size:12px}.workspace-table .viewHeader{display:none}.app:has(.workspace-table .clubScene) .appNavigation{position:relative;inset:auto;margin-bottom:6px}.app:has(.workspace-table .clubScene) .topbar{display:none}.app:has(.workspace-table .clubScene){padding-bottom:var(--app-safe-bottom, env(safe-area-inset-bottom, 0px))}}@media(min-width:740px)and (max-height:500px)and (orientation:landscape){.clubTable .gameArena{min-height:260px}.clubTable .gameArena .actionableHand{grid-template-columns:repeat(10,minmax(48px,64px))}.clubTable .gameArena:has(.actionableHand>:nth-child(11)){min-height:360px}}@media(prefers-reduced-motion:reduce){.clubTable *,.clubTable *:before{animation:none!important;transition:none!important}}.focusTable{--focus-bg: #f5f6f8;--focus-surface: #ffffff;--focus-board: #edf1f4;--focus-ink: #1d2530;--focus-muted: #626d80;--focus-line: #d7dce3;--focus-accent: #0066cc;--focus-on-accent: #ffffff;--focus-accent-wash: #e5effb;--focus-edge-light: rgb(255 255 255 / 86%);--focus-shadow: rgb(29 37 48 / 8%);--focus-card-shadow: 0 2px 5px rgb(29 37 48 / 14%);--body: -apple-system, BlinkMacSystemFont, "Segoe UI", "Manrope Variable", sans-serif;--display: var(--body);--bg: var(--focus-bg);--panel: var(--focus-surface);--panel-subtle: var(--focus-bg);--panel-muted: var(--focus-board);--text: var(--focus-ink);--label: var(--focus-ink);--muted: var(--focus-muted);--placeholder: var(--focus-muted);--border: var(--focus-line);--field-border: var(--focus-line);--divider: var(--focus-line);--primary: var(--focus-accent);--primary-contrast: var(--focus-on-accent);--secondary: var(--focus-bg);--secondary-contrast: var(--focus-ink);--selected-bg: var(--focus-accent-wash);--focus-ring: var(--focus-accent);--gold: var(--focus-accent);--turn-corona: transparent;--card-shadow: var(--focus-card-shadow);--talon-border: var(--focus-line);--coach-border: var(--focus-line);--coach-bg: var(--focus-surface);--club-gold: var(--focus-accent);--club-muted: var(--focus-muted);--club-text: var(--focus-ink);--club-border: var(--focus-line);color:var(--focus-ink);font-family:var(--body);color-scheme:light}:root[data-theme=dark] .focusTable{--focus-bg: #171a20;--focus-surface: #242831;--focus-board: #1d222b;--focus-ink: #f3f5f8;--focus-muted: #b0bac8;--focus-line: #465160;--focus-accent: #7ab1ff;--focus-on-accent: #11243c;--focus-accent-wash: #293c57;--focus-edge-light: rgb(255 255 255 / 7%);--focus-shadow: rgb(0 0 0 / 18%);--focus-card-shadow: 0 2px 6px rgb(0 0 0 / 24%);color-scheme:dark}.focusTable .clubScene{background:var(--focus-bg);border-color:var(--focus-line);color:var(--focus-ink);box-shadow:0 8px 24px var(--focus-shadow)}.focusTable .clubWordmark{color:var(--focus-ink);font-family:var(--body);font-weight:650;letter-spacing:.12em}.focusTable .clubSound{background:var(--focus-surface);border-color:var(--focus-line);color:var(--focus-muted);box-shadow:0 1px 2px var(--focus-shadow)}.focusTable .clubSound[aria-pressed=true]{color:var(--focus-accent);border-color:var(--focus-accent)}.focusTable .gameHeaderPrimary strong{color:var(--focus-ink);font-family:var(--body);font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:-.025em}.focusTable .gameHeaderPrimary small,.focusTable .gameHeaderStatus>span,.focusTable .gameMetaDetails{color:var(--focus-muted)}.focusTable .phaseBadge{background:var(--focus-surface);border-color:var(--focus-line);color:var(--focus-ink);font-weight:600}.focusTable .gameHeaderStatus>span{background:var(--focus-surface)}.focusTable .connectionState svg{color:var(--focus-accent)}.focusTable .gameMetaDetails[open]>div{background:var(--focus-surface);border-color:var(--focus-line);color:var(--focus-muted);box-shadow:0 6px 18px var(--focus-shadow)}.focusTable .gameArena{isolation:isolate;border-radius:28%/11%;background:var(--focus-board);box-shadow:inset 0 1px 0 var(--focus-edge-light),0 2px 5px var(--focus-shadow)}.focusTable .gameArena:before,.focusTable .gameArena:after{display:block;position:absolute;z-index:0;width:auto;height:auto;border-radius:inherit;background:none;box-shadow:none;content:"";pointer-events:none}.focusTable .gameArena:before{top:0;right:0;bottom:0;left:0;border:1px solid var(--focus-line)}.focusTable .gameArena:after{top:7px;right:7px;bottom:7px;left:7px;border:1px solid var(--focus-edge-light)}.focusTable .gameArena .player{background:transparent;border-color:transparent;color:var(--focus-ink)}.focusTable .gameArena .localHand{background:transparent;color:var(--focus-ink)}.focusTable .gameArena .player .seatIdentity .seatMeta,.focusTable .gameArena .localHand .seatIdentity .seatMeta{color:var(--focus-muted);font-variant-numeric:tabular-nums}.focusTable .seatAvatar{background:var(--focus-surface);border-color:var(--focus-line);color:var(--focus-muted)}.focusTable .activePlayer .seatAvatar{border-color:var(--focus-accent);color:var(--focus-accent);box-shadow:0 0 0 3px var(--focus-accent-wash)}.focusTable .gameArena .player.activePlayer,.focusTable .gameArena .localHand.activePlayer{border-color:transparent;box-shadow:none}.focusTable .decisionRing{background:transparent;border-color:var(--focus-line);box-shadow:none}.focusTable .decisionRing[data-active=self]{border-color:var(--focus-accent);box-shadow:none}.focusTable .decisionRing:before{display:none;background:none;box-shadow:none;animation:none;will-change:auto}.focusTable .emptyTrick,.focusTable .currentTrick,.focusTable .currentTrick small{color:var(--focus-muted)}.focusTable .decisionRing[data-active=self] .emptyTrick{color:var(--focus-accent)}.focusTable .currentTrick .playingCard{box-shadow:var(--focus-card-shadow)}.focusTable .gameArena .classicCardFace{color:var(--focus-ink)}.focusTable .playingCard:is([data-suit=H],[data-suit=D]) .classicCardFace{color:var(--card-red)}.focusTable .playingCardSelected{box-shadow:0 0 0 3px var(--focus-accent),0 4px 9px var(--focus-shadow)}.focusTable .playingCard:focus-visible{outline-color:var(--focus-accent)}.focusTable .playingCardPending:after{border-color:var(--focus-accent)}.focusTable .actionDock{background:var(--focus-surface);border-color:var(--focus-line);color:var(--focus-ink);box-shadow:0 3px 10px var(--focus-shadow)}.focusTable .actionDock .actionPrompt small{color:var(--focus-muted)}.focusTable .selectedPlaySummary{color:var(--focus-accent)}.focusTable .actionDock .primary{background:var(--focus-accent);border-color:var(--focus-accent);color:var(--focus-on-accent);box-shadow:0 1px 2px var(--focus-shadow)}.focusTable .actionDock .secondary,.focusTable .actionDock .utilityAction{background:var(--focus-bg);border-color:var(--focus-line);color:var(--focus-ink);box-shadow:none}.focusTable .utilitySheetPanel{background:var(--focus-surface);border-color:var(--focus-line);box-shadow:0 6px 18px var(--focus-shadow)}.focusTable .talonPanel{background:var(--focus-surface);border-color:var(--focus-line);color:var(--focus-ink)}.focusTable .gameTools{color:var(--focus-ink)}@container club-scene (max-width: 899px){.focusTable .gameArena{border-radius:24px}}@media(max-height:500px)and (orientation:landscape){.focusTable .gameArena:has(.actionableHand>:nth-child(11)) .decisionRing{top:50px}}@media(hover:hover)and (pointer:fine){.focusTable .clubSound:hover,.focusTable .actionDock .secondary:hover:not(:disabled),.focusTable .actionDock .utilityAction:hover:not(:disabled){border-color:var(--focus-accent);color:var(--focus-accent)}}.tableStyleControl{margin:0;padding:0;border:0;min-inline-size:0}.tableStyleLegend{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.tableStyleOptions{display:flex;padding:3px;gap:2px;background:#08150fbf;border:1px solid var(--club-border);border-radius:14px}.tableStyleOption{position:relative;display:flex;min-width:64px;min-height:48px;cursor:pointer}.tableStyleOption>input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}.tableStyleOption>span{display:flex;flex:1;align-items:center;justify-content:center;padding:0 14px;color:var(--club-text);border-radius:10px;font-size:13px;font-weight:600;pointer-events:none}.tableStyleOption>input:checked+span{background:#f3cf8329;color:var(--club-gold);box-shadow:inset 0 0 0 1px #f3cf8366}.tableStyleOption>input:focus-visible+span{outline:2px solid var(--club-gold);outline-offset:2px}.focusTable .tableStyleOptions{background:var(--focus-board);border-color:var(--focus-line)}.focusTable .tableStyleOption>span{color:var(--focus-muted)}.focusTable .tableStyleOption>input:checked+span{background:var(--focus-surface);color:var(--focus-ink);box-shadow:0 1px 3px #172b4d1a,inset 0 0 0 1px var(--focus-line)}.focusTable .tableStyleOption>input:focus-visible+span{outline-color:var(--focus-accent)}@container club-scene (max-width: 600px){.clubWordmark{display:none}.clubTopline{gap:8px}.clubSound{margin-left:auto}.tableStyleOption>span{padding-inline:12px}}@container club-scene (max-width: 340px){.clubSound span{display:none}}@media(max-height:500px)and (orientation:landscape){.clubScene{position:relative}.clubTopline{top:8px;right:max(12px,var(--app-safe-right, env(safe-area-inset-right, 0px)));gap:8px}.clubTable .gameHeader{padding-inline-end:212px}}@media(forced-colors:active){.clubTable .tableStyleOptions{background:Canvas;border-color:CanvasText}.clubTable .tableStyleOption>input+span{border:2px solid Canvas;outline:none}.clubTable .tableStyleOption>input:checked+span{outline:2px solid Highlight;outline-offset:-4px}.clubTable .tableStyleOption>input:focus-visible+span{border-color:CanvasText;border-style:dashed}}.app:not(.appWelcome):has(.workspace-table .clubScene) .topbar{max-width:2400px}.app:not(.appWelcome):has(.workspace-table .clubScene) .appWorkspace{width:min(2400px,100%);margin-top:16px}.workspace-table:has(.clubScene)>.viewHeader{display:none}.workspace-table .matchChatSheet{position:relative;bottom:auto}@media(min-width:901px){.app:not(.appWelcome):has(.workspace-table .clubScene){padding-inline:clamp(16px,1.25vw,40px)}.app:has(.workspace-table .clubScene) .appWorkspace{grid-template-columns:88px minmax(0,1fr);gap:24px}.app:has(.workspace-table .clubScene) .appNavigation{top:16px;min-height:0;height:auto;align-self:start}}@media(min-width:1100px)and (min-height:501px){.clubTable .clubScene{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:24px}.clubTable .clubTopline{grid-column:2;grid-row:1}.clubTable .clubWordmark{display:none}.clubTable .gameHeader{grid-column:1;grid-row:1;min-width:0}.clubTable .gameArena,.clubTable .actionDock,.clubTable .talonPanel{grid-column:1 / -1}}@media(min-height:501px){@container club-scene (min-width: 900px){.clubTable .gameArena{display:grid;grid-template-areas:"opponents" "hand";grid-template-rows:minmax(180px,1fr) auto;gap:12px;min-height:clamp(440px,calc(var(--app-viewport-height, 100dvh) - 310px),980px);padding:24px 0 8px}.clubTable .gameArena .playerHands{display:contents}.clubTable .gameArena .players{position:static;grid-area:opponents;width:94%;justify-self:center;align-self:start}.clubTable .gameArena .player{width:min(60%,320px)}.clubTable .seatAvatar{width:clamp(48px,3.2cqw,60px);height:clamp(48px,3.2cqw,60px)}.clubTable .gameArena .player{grid-template-columns:auto minmax(0,1fr)}.clubTable .gameArena .opponentCards .playingCard{width:clamp(40px,3cqw,56px)}.clubTable .opponentCards .playingCard+.playingCard{margin-left:clamp(-34px,-1.8cqw,-26px)}.clubTable .seatIdentity strong{font-size:clamp(15px,1cqw,18px)}.clubTable .seatIdentity span{font-size:12px}.clubTable .gameArena .decisionRing{position:relative;grid-area:opponents;top:auto;bottom:auto;left:auto;transform:none;align-self:center;justify-self:center;margin:0;width:clamp(260px,23cqw,420px);min-height:clamp(150px,18dvh,220px)}.clubTable .currentTrick .playingCard{width:clamp(66px,min(6.2cqw,11dvh),108px)}.clubTable .currentTrick small{max-width:108px;overflow-wrap:anywhere}.clubTable .gameArena .localHand{position:static;grid-area:hand;width:94%;justify-self:center;padding:0}.clubTable .gameArena .actionableHand{grid-template-columns:repeat(10,minmax(48px,clamp(76px,min(8cqw,14dvh),144px)));gap:8px}.clubTable .gameArena:has(.actionableHand>:nth-child(11)){min-height:clamp(440px,calc(var(--app-viewport-height, 100dvh) - 310px),980px)}.clubTable .gameArena .actionableHand:has(>:nth-child(11)){grid-template-columns:repeat(6,minmax(48px,96px))}.clubTable .gameArena:has(.players>:nth-child(3)){grid-template-areas:"opponents" "trick" "hand";grid-template-rows:auto minmax(150px,1fr) auto}.clubTable .gameArena:has(.players>:nth-child(3)) .decisionRing{grid-area:trick}.clubTable .actionDock{width:min(100%,1640px);max-width:none;grid-template-columns:minmax(220px,.6fr) minmax(0,1fr)}}@container club-scene (min-width: 1100px){.clubTable .gameArena .actionableHand:has(>:nth-child(11)){grid-template-columns:repeat(12,minmax(48px,clamp(76px,min(7.4cqw,14dvh),136px)))}}@container club-scene (min-width: 600px) and (max-width: 899px){.clubTable .gameArena .actionableHand:has(>:nth-child(11)){grid-template-columns:repeat(6,minmax(48px,88px))}}}@media(min-width:901px)and (min-height:501px)and (max-height:800px){.app:has(.workspace-table .clubScene){padding-top:0}.app:has(.workspace-table .clubScene) .topbar{min-height:62px;margin-bottom:0}.app:not(.appWelcome):has(.workspace-table .clubScene) .appWorkspace{margin-top:8px}.clubTable .clubScene{padding-block:10px 14px}.clubTable .gameHeader{padding-block:4px 8px}.clubTable .gameHeaderPrimary strong{font-size:20px;line-height:1.2}.clubTable .gameHeaderPrimary small{font-size:11px}@container club-scene (min-width: 900px){.clubTable .gameArena{min-height:clamp(340px,calc(var(--app-viewport-height, 100dvh) - 242px),558px);grid-template-rows:minmax(140px,1fr) auto;gap:8px;padding-top:16px}.clubTable .gameArena:has(.actionableHand>:nth-child(11)){min-height:clamp(340px,calc(var(--app-viewport-height, 100dvh) - 242px),558px)}.clubTable .seatAvatar{width:36px;height:36px}.clubTable .seatAvatar svg{width:24px;height:24px}.clubTable .gameArena .opponentCards{min-height:42px}.clubTable .gameArena .opponentCards .playingCard{width:30px}.clubTable .opponentCards .playingCard+.playingCard{margin-left:-18px}.clubTable .gameArena .decisionRing{min-height:116px;padding:8px}.clubTable .gameArena:has(.players>:nth-child(3)){grid-template-rows:auto minmax(116px,1fr) auto}.clubTable .currentTrick .playingCard{width:60px}.clubTable .gameArena .localHand{gap:8px}.clubTable .actionDock{padding:8px 12px}}}@media(min-height:501px)and (max-height:1100px){@container club-scene (min-width: 600px) and (max-width: 899px){.clubTable .gameArena .actionableHand:not(:has(>:nth-child(11))){grid-template-columns:repeat(10,minmax(48px,68px));gap:6px}}}@media(max-width:600px)and (min-height:501px){.app:not(.appWelcome):has(.workspace-table .clubScene) .appWorkspace{margin-top:4px}.clubTable .gameHeader{padding-block:4px 6px}.clubTable .gameArena .decisionRing{min-height:96px;margin-block:0}.clubTable .gameArena .localHand{gap:6px}.clubTable .localHandHeader .seatAvatar{width:32px;height:32px}.clubTable .localHandHeader .seatIdentity{display:grid;gap:2px}.clubTable .actionDock:has(.confirmPlayButton) .actionPrompt{display:flex;flex-wrap:wrap;gap:4px 8px}}@media(min-width:740px)and (max-height:500px)and (orientation:landscape){.app:not(.appWelcome):has(.workspace-table .clubScene) .appWorkspace{display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px;margin-top:4px}.app:has(.workspace-table .clubScene) .appNavigation{position:sticky;top:4px;align-self:start;flex-direction:column;width:64px;min-height:0;height:auto;padding:0;border:0}.app:has(.workspace-table .clubScene) .navigationItems{grid-template-columns:1fr}.app:has(.workspace-table .clubScene) .navigationItem{min-height:48px;padding:4px 0;font-size:10px}}.clubTable .trickPile{--trick-card-width: 32px;display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:48px;color:var(--club-text);pointer-events:none}.clubTable .player>.trickPile{grid-column:1 / -1}.clubTable .trickPileCards{position:relative;flex:0 0 80px;width:80px;height:48px}.clubTable .trickPacket{position:absolute;left:calc(3px + var(--packet-index) * 3px);bottom:calc(4px + var(--packet-index) * 1px);width:calc(var(--trick-card-width) * 1.4);height:var(--trick-card-width)}.clubTable .trickPacketFace{position:absolute;left:calc(50% + var(--card-layer) * .7px);top:calc(50% - var(--card-layer) * 1px);width:var(--trick-card-width);height:calc(var(--trick-card-width) * 1.4);transform:translate(-50%,-50%) rotate(var(--packet-angle))}.clubTable .gameArena .trickPacketFace .playingCard{display:block;width:100%;height:100%;min-height:0;margin:0;border-radius:3px;box-shadow:0 2px 3px #00000047}.clubTable .trickPileEmpty{position:absolute;left:3px;bottom:4px;width:calc(var(--trick-card-width) * 1.4);height:var(--trick-card-width);border:1px dashed var(--club-muted);border-radius:3px;opacity:.5}.clubTable .trickPileCount{min-width:1.5ch;color:var(--club-gold);font-size:16px;font-weight:700;font-variant-numeric:tabular-nums}.clubTable .trickPile[data-count="0"] .trickPileCount{color:var(--club-muted)}.clubTable .gameArena .trickPile .trickPileLabel{color:var(--club-muted);font-size:11px}.clubTable .localHandHeader>.trickPile{margin-left:18px}@container club-scene (max-width: 599px){.clubTable .trickPile{--trick-card-width: 24px;min-height:36px;gap:4px}.clubTable .trickPileCards{width:66px;flex-basis:66px;height:36px}.clubTable .trickPacket{left:calc(3px + var(--packet-index) * 2.5px);bottom:calc(3px + var(--packet-index) * .65px)}.clubTable .trickPileCount{font-size:13px}.clubTable .gameArena .trickPile .trickPileLabel{font-size:10px}.clubTable .localHandHeader>.trickPile{margin-left:0}}@media(max-height:500px)and (orientation:landscape){.clubTable .localHandHeader>.trickPile{margin:0}.clubTable .trickPile{--trick-card-width: 24px;min-height:36px;gap:4px}.clubTable .trickPileCards{width:62px;flex-basis:62px;height:36px}.clubTable .trickPacket{left:calc(3px + var(--packet-index) * 2px);bottom:calc(3px + var(--packet-index) * .65px)}.clubTable .gameArena .trickPile .trickPileLabel{display:none}.clubTable .trickPileCount{font-size:13px}.clubTable .gameArena .actionableHand{column-gap:4px}.clubTable .actionDock{padding-block:4px}}.learningView{min-width:0}.learningProfile a{color:var(--primary);text-underline-offset:.2em}.learningProfile{margin-top:24px;border-top:1px solid var(--border);padding-block:18px}.learningProfile summary{cursor:pointer;font-weight:650}.learningProfile .profileBox{margin-top:16px}.learningProfile .profileStats{flex-wrap:wrap}.tutorialInstructorCard{box-sizing:border-box;padding:22px;border:1px solid var(--border);border-radius:14px;background:var(--panel);color:var(--text)}.tutorialInstructorIdentity{display:flex;align-items:center;gap:10px;margin-bottom:20px;color:var(--primary);font-size:14px}.tutorialInstructorIdentity svg{flex-shrink:0}.tutorialInstructorCard h2{margin:0 0 14px;font-family:var(--display);font-size:clamp(22px,2vw,28px);line-height:1.28;text-wrap:balance}.tutorialInstructorCard>p{margin:0;line-height:1.65}.tutorialInstructorCard h2:focus{outline:none}.tutorialWelcome{position:fixed;top:0;right:0;bottom:0;left:0;margin:auto;width:min(440px,calc(100vw - 32px));max-width:none;max-height:calc(var(--app-viewport-height, 100dvh) - 32px);padding:28px;transform-origin:top left;overflow-y:auto}.tutorialWelcome::backdrop{background:#030f0b8f;transition:background .4s ease-out}.tutorialWelcome.isDocking::backdrop{background:transparent}.tutorialWelcome.isDocking{padding:22px;overflow:hidden;pointer-events:none;will-change:transform}.tutorialWelcome .tutorialWelcomeNote{margin-top:16px;font-size:14px;color:var(--muted)}.tutorialWelcome>button{display:inline-flex;justify-content:center;align-items:center;gap:10px;margin-top:24px;min-height:48px}.tutorialDockingHint{display:flex;align-items:center;gap:8px;color:var(--primary);font-size:14px;text-decoration:underline;text-underline-offset:4px;min-height:32px}@media(max-width:600px){.tutorialWelcome{padding:22px}.tutorialWelcome>button{width:100%}}@media(prefers-reduced-motion:reduce){.tutorialWelcome::backdrop{transition:none}}.interactiveTutorial{min-width:0;container-type:inline-size;container-name:tutorial}.tutorialHeader{display:flex;justify-content:space-between;align-items:start;gap:20px}.tutorialHeader h1{margin:0;font-family:var(--display);font-size:clamp(26px,2.8vw,42px);line-height:1.2;text-wrap:balance}.tutorialHeader p{max-width:65ch;margin:12px 0 0;color:var(--muted)}.tutorialHeaderActions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:12px 20px}.interactiveTutorial a{color:var(--primary);text-underline-offset:4px}.tutorialHeaderActions a,.tutorialHeaderActions button,.tutorialComplete button{display:inline-flex;align-items:center;justify-content:center;gap:8px}.tutorialHeaderActions button{white-space:nowrap;min-height:44px}.tutorialHeaderActions a{min-height:44px;white-space:nowrap}.tutorialProgress{display:flex;align-items:center;gap:16px;padding:22px 0;margin:0 0 4px;font-size:13px}.tutorialProgress>span{font-variant-numeric:tabular-nums;white-space:nowrap}.tutorialProgress small{color:var(--muted);margin-left:auto}.tutorialProgress progress{width:180px;max-width:22%;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:0;background:var(--border);accent-color:var(--primary)}.tutorialProgress progress::-webkit-progress-bar{background:var(--border)}.tutorialProgress progress::-webkit-progress-value{background:var(--primary)}.tutorialProgress progress::-moz-progress-bar{background:var(--primary)}.tutorialWorkspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,300px);grid-template-rows:auto 1fr;grid-template-areas:"table lesson" "table feedback";gap:24px clamp(20px,2vw,32px);align-items:start}.tutorialLesson{grid-area:lesson;min-width:0;padding:8px 0}.tutorialLesson h2{font-family:var(--display);font-size:clamp(22px,2vw,28px);line-height:1.28;margin:0 0 14px;text-wrap:balance}.tutorialLesson>p{margin:0;line-height:1.65;max-width:65ch}.tutorialLesson h2:focus,.tutorialComplete h2:focus{outline:none}.tutorialHint{border-top:1px solid var(--border);margin-top:24px;padding-top:16px}.tutorialHint summary{width:fit-content;display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--primary);min-height:32px;font-size:14px;text-decoration:underline;text-underline-offset:4px}.tutorialHint p{margin:8px 0 0;font-size:14px;line-height:1.6;color:var(--muted)}.tutorialFeedback{grid-area:feedback;padding-top:22px;border-top:1px solid var(--border)}.tutorialFeedback>strong{display:flex;align-items:center;gap:8px;font-size:17px}.tutorialFeedback.isAccepted>strong{color:var(--primary)}.tutorialFeedback p{margin:10px 0 20px;line-height:1.65}.tutorialFeedback button{display:inline-flex;gap:8px;justify-content:center;align-items:center;min-height:48px;width:100%}.tutorialRequestError{padding:14px 18px;border:1px solid var(--error-border);border-radius:12px;background:var(--error-bg)}.tutorialTable{--tutorial-gold: #f3cf83;--tutorial-table-text: #f2eee4;--tutorial-table-muted: #d3d5c7;--focus-ring: var(--tutorial-gold);grid-area:table;min-width:0;color:var(--tutorial-table-text);border-radius:18px;overflow:hidden;background:#082a21}.tutorialTableSurface{container-type:inline-size;container-name:tutorial-table;min-height:466px;padding:28px clamp(16px,3vw,36px) 24px;background:url(/assets/table-environment-BxK-hkW2.webp) center / 100% 100% no-repeat,var(--felt)}.tutorialOpponents{display:flex;justify-content:space-between;gap:20px}.tutorialOpponent{display:flex;flex-direction:column;gap:9px;min-width:0;align-items:center}.tutorialOpponent>span{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:12px;text-wrap:balance;text-align:center}.tutorialOpponent>span svg{flex-shrink:0}.tutorialOpponentCards{display:flex;padding:0 12px}.tutorialOpponentCards .playingCard{width:36px;box-shadow:none}.tutorialOpponentCards .playingCard+.playingCard{margin-left:-19px}.tutorialTableMiddle{position:relative;min-height:188px;display:grid;align-content:center;justify-items:center;gap:10px;padding:12px 0}.tutorialContract{color:var(--tutorial-table-muted);display:flex;flex-wrap:wrap;justify-content:center;gap:6px;font-size:12px}.tutorialContract strong{color:var(--tutorial-gold)}.tutorialTrick{display:flex;gap:16px;align-items:center;justify-content:center;min-height:118px;width:100%}.tutorialTrickCard{display:grid;gap:5px;justify-items:center}.tutorialTrickCard small,.tutorialTalon>small,.tutorialDiscarded>small{color:var(--tutorial-table-muted);font-size:11px;text-align:center}.tutorialTrickCard .playingCard,.tutorialTalon .playingCard,.tutorialDiscarded .playingCard{width:clamp(56px,9cqw,82px);box-shadow:0 7px 15px #0005}.tutorialTrickSeat0 .playingCard{animation:tutorial-card-play .32s cubic-bezier(.16,1,.3,1)}.tutorialTalon,.tutorialDiscarded{display:grid;gap:5px;justify-items:center}.tutorialTalon>div,.tutorialDiscarded>div{display:flex;gap:8px}.tutorialTablePrompt{font-family:var(--display);font-size:clamp(20px,3.5cqw,28px);color:var(--tutorial-gold)}.tutorialChosenAction{font-family:var(--display);font-size:22px;text-align:center;margin:0;color:var(--tutorial-gold)}.tutorialHandArea{padding:12px 0 0}.tutorialHandLabel{display:flex;align-items:center;justify-content:center;gap:7px;margin-bottom:14px;font-size:12px}.tutorialHand{display:grid;grid-template-columns:repeat(var(--tutorial-hand-columns),minmax(0,1fr));gap:8px;width:min(100%,calc(var(--tutorial-hand-columns) * 94px + (var(--tutorial-hand-columns) - 1) * 8px));margin:0 auto}.tutorialHand .playingCard{width:100%;min-height:44px;box-shadow:0 6px 14px #0006;touch-action:manipulation}.tutorialTable button.playingCard:disabled{opacity:1;cursor:default}.tutorialTable button.playingCard:hover:not(:disabled){transform:translateY(-7px)}.tutorialTable .playingCardSelected{transform:translateY(-7px);outline:2px solid var(--tutorial-gold);outline-offset:2px;box-shadow:0 9px 16px #0006}.tutorialTable .playingCardRejected{outline:2px solid #ffa397;outline-offset:2px}.tutorialTableControls{display:flex;justify-content:space-between;flex-wrap:wrap;align-items:center;gap:14px;padding:18px 22px;border-top:1px solid #365447;font-size:13px}.tutorialTableControls>span{max-width:40ch;color:var(--tutorial-table-muted)}.tutorialActionChoices,.tutorialDiscardActions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.tutorialDiscardActions small{color:var(--tutorial-table-muted);font-variant-numeric:tabular-nums}.tutorialTableControls button{min-height:44px}.tutorialTableControls .secondary{background:#163d30;color:var(--tutorial-table-text);border-color:#6c8c7b}.tutorialTableControls .secondary:hover:not(:disabled){background:#245541}.tutorialTableControls .secondary[aria-pressed=true]{border-color:var(--tutorial-gold);color:var(--tutorial-gold)}.tutorialTableControls .primary{background:var(--tutorial-gold);color:#18160f}.tutorialTableControls button:disabled{opacity:.5;cursor:default}.tutorialComplete{min-height:360px;padding:48px 24px;display:flex;flex-direction:column;align-items:center;text-align:center;border-top:1px solid var(--border)}.tutorialComplete>svg{color:var(--primary)}.tutorialComplete h2{font-family:var(--display);font-size:clamp(26px,3vw,36px);line-height:1.3;margin:18px 0 0;max-width:24ch;text-wrap:balance}.tutorialComplete p{max-width:60ch;margin:18px 0 28px;color:var(--muted)}.tutorialComplete button{min-height:48px}.tutorialComplete>a{margin-top:22px}.tutorialUnavailable{padding:32px 0}@container tutorial (max-width: 1000px){.tutorialWorkspace{grid-template-columns:1fr;grid-template-rows:auto;grid-template-areas:"lesson" "table" "feedback";gap:20px}.tutorialLesson{padding:0}.tutorialLesson h2{margin-bottom:10px}.tutorialHint{margin-top:12px;padding-top:8px}.tutorialFeedback{padding-top:14px}.tutorialFeedback p{margin-bottom:12px}.tutorialFeedback button{width:auto;min-width:200px}}@container tutorial (max-width: 680px){.tutorialHeader{flex-direction:column;gap:12px}.tutorialHeader p{font-size:14px;margin-top:8px}.tutorialHeaderActions{width:100%;justify-content:space-between;font-size:13px;gap:8px}.tutorialHeaderActions button{padding:9px 12px}.tutorialProgress{flex-wrap:wrap;gap:9px 12px;padding:14px 0 20px}.tutorialProgress progress{flex:1;max-width:none;width:auto}.tutorialProgress small{margin-left:0;flex-basis:100%}.tutorialLesson>p{font-size:14px}.tutorialFeedback p{font-size:14px}.tutorialTable{border-radius:14px}.tutorialTableSurface{min-height:390px;padding:20px 14px}.tutorialTableControls{padding:14px;gap:10px}.tutorialActionChoices{width:100%}.tutorialActionChoices button{flex:1}.tutorialDiscardActions{justify-content:space-between;width:100%}}@container tutorial-table (max-width: 630px){.tutorialHand{grid-template-columns:repeat(var(--tutorial-hand-mobile-columns),minmax(0,1fr));gap:14px 7px;width:min(100%,calc(var(--tutorial-hand-mobile-columns) * 76px + (var(--tutorial-hand-mobile-columns) - 1) * 7px))}.tutorialTableMiddle{min-height:167px}.tutorialTrick{gap:12px}.tutorialOpponent>span{font-size:11px}.tutorialOpponentCards .playingCard{width:29px}.tutorialOpponentCards .playingCard+.playingCard{margin-left:-16px}.tutorialTrickCard small{max-width:85px}}@container tutorial-table (max-width: 300px){.tutorialHand{grid-template-columns:repeat(4,minmax(0,1fr));width:100%}}@keyframes tutorial-card-play{0%{transform:translateY(24px) rotate(-6deg)}to{transform:translateY(0) rotate(0)}}@media(prefers-reduced-motion:reduce){.interactiveTutorial .playingCard{animation:none;transition:none}.tutorialTable button.playingCard:hover:not(:disabled){transform:none}}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-cyrillic-wght-normal-Dvxsihut.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-wght-normal-DHIcAJRg.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/lora-cyrillic-wght-normal-UWPuZLjM.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/lora-latin-wght-normal-BiLcIKcI.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #f3f5f2;--panel: #ffffff;--panel-subtle: #f7f9fb;--panel-muted: #f0f2f4;--text: #15231f;--muted: #66736f;--label: #34453f;--border: #d9dfdc;--field-border: #c9d2dc;--placeholder: #65736e;--card-border: #aeb9c4;--card-red: #b72c24;--primary: #0d5d4e;--primary-contrast: #ffffff;--secondary: #e7edf2;--secondary-contrast: #17202a;--success-border: #8fc8af;--success-bg: #f2f8f5;--error-border: #d6a5a5;--error-bg: #fff7f7;--coach-border: #cdd9e3;--coach-bg: #f8fbfd;--talon-border: #c8d7d1;--selected-bg: #dcefe8;--divider: #e4e9ee;--focus-ring: #0f7a5a;--card-shadow: 0 2px 6px rgb(23 32 42 / 18%);--sheet-overlay: rgb(10 16 20 / 42%);color:var(--text);background:var(--bg);--accent: #c3473f;--gold: #d3a548;--table: #124f42;--table-deep: #0b392f;--felt: var(--table);--felt-rail: var(--table-deep);--felt-lift: #17604f;--turn-corona: rgb(211 165 72 / 28%);--nav-active-wash: rgb(13 93 78 / 8%);--invite-code-track: .12em;--display: "Lora Variable", Georgia, serif;--body: "Manrope Variable", ui-sans-serif, system-ui, sans-serif;font-family:var(--body);font-size:16px;letter-spacing:0;color-scheme:light}:root[data-theme=dark]{--bg: #101715;--panel: #17201d;--panel-subtle: #1d2925;--panel-muted: #26312e;--text: #edf3f0;--muted: #a4b1ac;--label: #d6e0dc;--border: #34443e;--field-border: #60726c;--placeholder: #95a29d;--card-border: #657180;--card-red: #ff9b91;--primary: #42b883;--primary-contrast: #07140e;--secondary: #2d3640;--secondary-contrast: #edf2f7;--success-border: #4f9b74;--success-bg: #18291f;--error-border: #aa665f;--error-bg: #301f20;--coach-border: #3f5062;--coach-bg: #1e2630;--talon-border: #3e5a4f;--selected-bg: #1f4635;--divider: #303944;--focus-ring: #67d8aa;--card-shadow: 0 2px 8px rgb(0 0 0 / 46%);--sheet-overlay: rgb(0 0 0 / 62%);--accent: #e26a60;--gold: #e0ba62;--table: #12473c;--table-deep: #092e27;--felt: var(--table);--felt-rail: var(--table-deep);--felt-lift: #1a6b5a;--turn-corona: rgb(224 186 98 / 32%);--nav-active-wash: rgb(66 184 131 / 12%);color-scheme:dark}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--bg);color:var(--text);line-height:1.5}button,select,input{font:inherit}button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.app{position:relative;min-height:var(--app-viewport-height, 100dvh);padding:max(18px,var(--app-safe-top, env(safe-area-inset-top, 0px))) 18px max(18px,var(--app-safe-bottom, env(safe-area-inset-bottom, 0px)))}.errorBoundaryShell{min-height:var(--app-viewport-height, 100dvh);display:grid;place-items:center;padding:18px}.errorBoundaryPanel{width:min(100%,480px);display:grid;gap:16px;border-color:var(--error-border);background:var(--error-bg)}.errorBoundaryPanel .primary{padding:10px 16px}.privacyWatermark{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;pointer-events:none;display:grid;place-items:center;color:var(--muted);font-size:12px;font-weight:700;opacity:.09;transform:rotate(-24deg);-webkit-user-select:none;user-select:none}.appObscured>:not(.privacyWatermark){filter:blur(12px)}.topbar{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:1240px;margin:0 auto 18px}.topbarActions{display:flex;gap:8px}.appearanceSettings{position:relative;margin-left:auto}.settingsBackdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:29;border:0;background:transparent;cursor:default}.settingsPanel{position:absolute;z-index:30;top:calc(100% + 8px);right:0;display:grid;gap:10px;width:clamp(320px,34vw,360px);max-height:min(620px,calc(var(--app-viewport-height, 100dvh) - 90px));overflow:auto;padding:14px;border:1px solid var(--border);border-radius:8px;background:var(--panel);box-shadow:0 16px 40px #00000038}.settingsHeader,.preferenceStatus{display:flex;align-items:center;justify-content:space-between;gap:10px}.settingsFields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.settingsFields label{display:grid;gap:4px;color:var(--label);font-size:12px}.settingsFields label:nth-child(n+3){grid-column:1 / -1}.settingsFields select{width:100%;min-height:40px;padding:7px 9px}.settingsError{color:var(--text);border-left:3px solid var(--error-border);padding-left:8px}.deckPreview{display:flex;align-items:flex-end;justify-content:center;gap:8px;min-height:108px;padding:10px;border-block:1px solid var(--divider)}h1{margin:0;font-size:28px;line-height:1.1}p{margin:0}.topbar p,.muted,.status,small{color:var(--muted)}.grid{display:grid;grid-template-columns:340px minmax(280px,1fr);gap:14px;max-width:1240px;margin:0 auto}.panel{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:14px;min-width:0}.tablePanel{grid-column:span 2}.panelTitle{display:flex;align-items:center;gap:8px;font-weight:700;margin-bottom:12px}.controlPanel{display:flex;flex-direction:column;gap:12px}label{display:grid;gap:6px;font-size:14px;color:var(--label)}.inlineToggle{display:flex;align-items:center;gap:8px}.inlineToggle input{width:auto}.inlineActions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cabinetTabs{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:4px}.cabinetTabs>button{flex:0 0 auto;min-width:72px;scroll-snap-align:start}select{width:100%;border:1px solid var(--field-border);border-radius:6px;padding:10px;background:var(--panel);color:var(--text)}input::placeholder{color:var(--placeholder);opacity:1}input{width:100%;border:1px solid var(--field-border);border-radius:6px;padding:10px;min-width:0;background:var(--panel);color:var(--text)}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.primary,.secondary,.iconButton{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:6px;min-height:44px}.primary{background:var(--primary);color:var(--primary-contrast)}.secondary{background:var(--secondary);color:var(--secondary-contrast)}.iconButton{width:44px;background:var(--secondary)}.rulesetInfo{border-left:3px solid var(--primary);padding-left:10px;color:var(--label);font-size:14px}.roomList{display:grid;gap:8px}.roomRow{display:grid;gap:4px;width:100%;text-align:left;background:var(--panel-subtle);border:1px solid var(--border);border-radius:6px;padding:10px}.gameHeader{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;max-height:190px;overflow:auto;padding-right:4px}.actions .secondary{min-height:34px;padding:0 10px}.talonPanel{display:grid;gap:10px;border:1px solid var(--talon-border);border-radius:8px;padding:10px;margin-bottom:12px;background:var(--success-bg)}.talonPanel>div:first-child{display:grid;gap:4px}.coachPanel{display:grid;gap:10px;border:1px solid var(--coach-border);border-radius:8px;padding:10px;margin-bottom:12px;background:var(--coach-bg)}.coachHeader{display:flex;align-items:center;justify-content:space-between;gap:10px}.coachHeader>div:first-child,.coachAnswer{display:grid;gap:4px;min-width:0}.coachActions{display:flex;flex-wrap:wrap;gap:8px}.coachActions .secondary{min-height:34px;padding:0 10px}.coachAnswer{border-left:3px solid var(--primary);padding:8px 0 8px 10px;overflow-wrap:anywhere}.coachAnswerText{white-space:pre-line;line-height:1.65}.coachQuestionComposer{grid-template-columns:minmax(0,1fr) auto}.coachQuestionComposer textarea{min-width:0;width:100%;resize:vertical;min-height:70px;font:inherit;line-height:1.5;padding:10px 12px;color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:5px}.coachQuestionComposer textarea:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.coachQuestionComposer textarea::placeholder{color:var(--muted)}.coachQuestionComposer button{align-self:end}.coachThinking{display:flex;align-items:center;gap:12px;padding:12px;border-left:3px solid var(--primary);border-radius:0 5px 5px 0;background:var(--panel)}.coachThinking:empty{position:absolute;width:1px;height:1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.coachThinking>div{display:grid;gap:3px;min-width:0}.coachThinkingEmblem{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;color:var(--primary)}.coachThinkingIcon{animation:coachThinkingSpin 1.8s linear infinite}@keyframes coachThinkingSpin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.coachThinkingIcon{animation:none}}.coachAlternatives{display:grid;gap:6px}.coachError{border-left:3px solid var(--error-border);padding:8px 10px;background:var(--error-bg);overflow-wrap:anywhere}.gameHeader span{background:var(--secondary);border-radius:999px;padding:5px 9px;font-size:13px}.players{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.playerHands{display:grid;gap:12px}.player{border:1px solid var(--border);border-radius:8px;padding:10px;display:grid;gap:8px;min-width:0}.cards{display:flex;flex-wrap:wrap;gap:5px}.playingCard{position:relative;display:inline-grid;align-items:center;justify-content:center;flex:0 0 auto;width:48px;aspect-ratio:5 / 7;min-width:0;padding:0;overflow:hidden;border:1px solid var(--card-border);border-radius:6px;background:var(--panel);color:var(--text);font-size:12px;font-weight:700;box-shadow:var(--card-shadow);transition:transform .12s ease,box-shadow .12s ease}button.playingCard{cursor:pointer}button.playingCard:disabled{cursor:not-allowed;opacity:.52}.playingCard:focus-visible{z-index:3;outline:3px solid var(--focus-ring);outline-offset:2px}.playingCardSelected{z-index:2;box-shadow:0 0 0 3px var(--primary),var(--card-shadow);transform:translateY(-4px)}.playingCardPending:after{position:absolute;top:4px;right:4px;bottom:4px;left:4px;border:2px dashed var(--primary);border-radius:4px;content:""}.playingCardRejected{border-color:var(--error-border);box-shadow:0 0 0 2px var(--error-border)}.playingCardUnknown{border-style:dashed}.cardArtwork,.classicCardFace,.classicCardBack{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background-repeat:no-repeat}.classicCardFace{background:#fffdf8;color:#202830;font-size:14px}.classicCardGraphics{display:block;width:100%;height:100%;color:#202830;fill:currentColor;font-family:Georgia,Times New Roman,serif;text-anchor:middle}.playingCard:is([data-suit=H],[data-suit=D]) .classicCardGraphics{color:#b72c24}.classicCardCorner{font-size:19px;font-weight:700}.classicCardPip{font-size:21px;dominant-baseline:central}.classicCardAce{font-size:58px;dominant-baseline:central}.classicCardCourt rect{fill:none;stroke:currentColor;stroke-width:.8;opacity:.45}.classicCardCourtRank{font-size:35px;dominant-baseline:central}.classicCardCourtSuit{font-size:29px;dominant-baseline:central}.playingCard[data-suit=D] .classicCardFace,.playingCard[data-suit=H] .classicCardFace{color:var(--card-red)}:root[data-theme=dark] button.playingCard:disabled{opacity:.76}.classicCardBack{top:3px;right:3px;bottom:3px;left:3px;border:2px solid #b99a50;border-radius:4px;background-color:#102c49;background-image:repeating-linear-gradient(45deg,transparent 0 5px,rgb(185 154 80 / 36%) 5px 6px)}.opponentCards{flex-wrap:nowrap;min-height:68px;overflow:hidden;padding:2px}.opponentCards .playingCard+.playingCard{margin-left:-28px}.localHand{display:grid;gap:8px;width:100%;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--panel-subtle);container-type:inline-size}.localHandHeader{display:flex;justify-content:space-between;gap:8px}.actionableHand{display:grid;grid-template-columns:repeat(var(--hand-columns),minmax(44px,64px));justify-content:center;gap:6px}.actionableHand .playingCard{width:100%}.talonCards{margin-top:6px}.currentTrick{display:flex;align-items:end;justify-content:center;gap:12px;min-height:110px;margin-bottom:12px;padding:10px;border-block:1px solid var(--divider)}.currentTrick>div{display:grid;justify-items:center;gap:4px}.scoreEntry{display:grid;gap:3px;border-bottom:1px solid var(--divider);padding:8px 0}.scoreSheet{display:grid;gap:4px;border:1px solid var(--border);border-radius:6px;padding:10px;margin-bottom:10px}.issueList{display:grid;gap:2px;max-width:100%;overflow-wrap:anywhere}.profileBox{display:grid;gap:8px;border:1px solid var(--border);border-radius:6px;padding:10px;background:var(--panel-subtle);margin-bottom:12px}.profileBox>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.profileStats{display:flex;flex-wrap:wrap;gap:6px}.profileStats span{border:1px solid var(--border);border-radius:999px;padding:4px 8px;background:var(--panel);font-size:12px;font-weight:700}.historyList,.reportList,.chatList,.tournamentList{display:grid;gap:8px;margin-top:12px}.chatList{max-height:240px;overflow:auto}.roomControls{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--border);border-radius:6px;padding:10px;background:var(--panel-subtle)}.roomControls div:first-child{display:grid;gap:3px;min-width:0}.roomButtons{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.roomButtons .primary,.roomButtons .secondary{min-height:34px;padding:0 10px}.chatRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid var(--border);border-radius:6px;padding:10px;background:var(--panel-subtle)}.chatRow>div{display:grid;gap:3px;min-width:0}.chatRow span{overflow-wrap:anywhere}.chatRow.hidden,.chatRow.deleted{opacity:.62;background:var(--panel-muted)}.chatRow .secondary{min-height:32px;padding:0 9px}.chatComposer{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;margin-top:10px}.chatComposer .primary{padding:0 14px}.tableWithChat{display:grid;gap:12px;position:relative}.tableStage{position:relative;min-width:0}.stickerOverlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;display:grid;place-items:center;pointer-events:none}.stickerOverlayCard{display:grid;justify-items:center;gap:10px;padding:18px 22px;border-radius:18px;background:color-mix(in srgb,var(--panel-bg, rgba(0, 0, 0, .55)) 88%,transparent);border:1px solid var(--panel-border, rgba(255, 255, 255, .12));animation:stickerOverlayIn .35s ease-out both}.stickerOverlayGlyph{width:min(42vw,180px);height:min(42vw,180px);filter:drop-shadow(0 8px 18px rgba(0,0,0,.35))}.stickerOverlayMeta{display:grid;justify-items:center;gap:2px;text-align:center}.stickerOverlayMeta strong{font-family:Lora Variable,Georgia,serif;font-size:15px}.stickerOverlayMeta span{opacity:.85;font-size:13px}@keyframes stickerOverlayIn{0%{opacity:0;transform:translateY(10px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}.matchChatSheet{border:1px solid var(--panel-border, rgba(255, 255, 255, .08));border-radius:12px;padding:10px;background:var(--panel-bg, rgba(0, 0, 0, .2))}.matchChatToggle{width:100%}@media(max-width:900px){.matchChatSheet{position:sticky;bottom:8px;z-index:5}}.inlineCheck{align-items:center;display:inline-flex;gap:6px;min-height:38px}.quickEmotions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.quickEmotions .secondary{min-width:40px;padding:0 10px}.stickerPicker{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.stickerPickerBtn{display:grid;justify-items:center;gap:2px;min-width:0!important;padding:6px 4px!important;line-height:1.1}.stickerPickerGlyph{width:28px;height:28px}.stickerPickerLabel{font-size:10px;opacity:.85;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.chatStickerBubble{display:inline-flex;align-items:center;gap:8px;margin-top:4px}.chatStickerGlyph{width:36px;height:36px;flex:0 0 auto}.chatStickerLabel{font-size:13px}@media(max-width:640px){.stickerPicker{grid-template-columns:repeat(5,minmax(0,1fr))}.stickerPickerLabel{font-size:9px}}.tournamentRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid var(--border);border-radius:6px;padding:10px;background:var(--panel-subtle)}.tournamentRow>div:first-child{display:grid;gap:3px;min-width:0}.tournamentActions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.tournamentActions .secondary{min-height:32px;padding:0 9px}.standingList{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}.bracketList{display:grid;gap:5px;margin-top:6px}.bracketTable{display:grid;gap:2px;width:100%;text-align:left;border:1px solid var(--border);border-radius:6px;padding:7px 8px;background:var(--panel)}.bracketTable span{font-size:13px;color:var(--text)}.standingList span{border:1px solid var(--border);border-radius:999px;padding:4px 7px;background:var(--panel);color:var(--label);font-size:12px}.opsGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}.opsGrid>div{display:grid;gap:2px;border:1px solid var(--border);border-radius:6px;padding:10px;background:var(--panel-subtle)}.opsGrid strong{font-size:22px;line-height:1}.reportRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid var(--border);border-radius:6px;padding:10px}.reportRow>div:first-child{display:grid;gap:3px;min-width:0}.reportRow.ok{border-color:var(--success-border);background:var(--success-bg)}.reportRow.error{border-color:var(--error-border);background:var(--error-bg)}.reportActions{display:flex;gap:6px}.reportActions .secondary{min-height:32px;padding:0 9px;font-size:13px}@media(max-width:760px){.app{padding-left:10px;padding-right:10px}.topbar{align-items:stretch;flex-direction:column}.topbarActions{align-self:flex-start}.appearanceSettings{position:absolute;top:0;right:96px}.grid,.players,.opsGrid,.reportRow,.chatRow,.chatComposer,.coachHeader,.tournamentRow{grid-template-columns:1fr}.coachHeader{align-items:flex-start}.tablePanel{grid-column:auto}h1{font-size:24px}}@media(max-width:600px){.settingsBackdrop{background:var(--sheet-overlay)}.settingsPanel{position:fixed;inset:auto 0 0;width:100%;max-height:min(82vh,680px);padding:16px max(12px,var(--app-safe-right, env(safe-area-inset-right, 0px))) max(16px,var(--app-safe-bottom, env(safe-area-inset-bottom, 0px))) max(12px,var(--app-safe-left, env(safe-area-inset-left, 0px)));border-radius:8px 8px 0 0}.players{grid-template-columns:repeat(2,minmax(0,1fr))}.actionableHand{grid-template-columns:repeat(5,minmax(44px,1fr));gap:4px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.playingCardSelected{transform:none}.stickerOverlayCard{animation:none}.decisionRing[data-active=self]:before,.liveIndicator{animation:none!important}}@keyframes turnCorona{0%,to{transform:scale(.94);opacity:.55}50%{transform:scale(1.08);opacity:1}}@keyframes livePulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.25);opacity:.7}}.app{min-height:var(--app-viewport-height, 100dvh);padding:max(0px,var(--app-safe-top, env(safe-area-inset-top, 0px))) 24px calc(40px + var(--app-safe-bottom, env(safe-area-inset-bottom, 0px)))}.topbar{z-index:12;max-width:1440px;min-height:72px;margin:0 auto;border-bottom:1px solid var(--border)}.topbar:has(.settingsPanel){z-index:31}.brandBlock,.topbarUser{display:flex;align-items:center;gap:10px}.brandMark{display:block;flex:0 0 auto;width:40px;height:40px;border-radius:10px;object-fit:contain}.brandHome{flex:0 0 auto;padding:0;border:0;background:transparent;color:var(--text);text-align:left;cursor:pointer}.brandBlock h1,.brandTitle{display:block;font-family:var(--display);font-size:22px;font-weight:620}.brandBlock p,.brandSurface,.topbarUser small{font-size:11px;line-height:1.2}.brandSurface{display:block;color:var(--muted);font-weight:400}.topbarUser{margin-left:auto}.topbarUser>span{display:grid;width:34px;height:34px;place-items:center;border:1px solid var(--border);border-radius:50%;color:var(--primary);background:var(--panel);font-weight:800}.topbarUser>div{display:grid;line-height:1.2}.primary,.secondary,.iconButton{padding-inline:15px;font-weight:700;transition:background-color .14s ease,border-color .14s ease,transform .14s ease}.secondary,.iconButton{border:1px solid var(--border);background:var(--panel)}.primary:hover:not(:disabled),.secondary:hover:not(:disabled),.iconButton:hover:not(:disabled){transform:translateY(-1px)}.primary:active:not(:disabled),.secondary:active:not(:disabled),.iconButton:active:not(:disabled),.gameModeOption:active,.roomRow:active,.navigationItem:active{transform:translateY(0);filter:brightness(.94)}.secondary:hover:not(:disabled),.iconButton:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.iconButton{padding:0}.appWorkspace{display:grid;grid-template-columns:104px minmax(0,1fr);gap:36px;width:min(1440px,100%);margin:30px auto 0}.appNavigation{position:sticky;top:24px;display:flex;flex-direction:column;justify-content:space-between;height:calc(var(--app-viewport-height, 100dvh) - 48px);min-height:520px;padding:8px 0}.navigationItems{display:grid;gap:6px}.navigationItem{position:relative;display:grid;justify-items:center;gap:5px;min-height:64px;min-width:44px;padding:9px 6px;border:0;border-left:3px solid transparent;border-radius:10px;color:var(--muted);background:transparent;font-size:12px;font-weight:700;cursor:pointer;transition:color .14s ease,background-color .14s ease,border-color .14s ease}.navigationItem:hover,.navigationItem.active{color:var(--primary);background:var(--nav-active-wash)}.navigationItem.active{border-left-color:var(--accent)}.navigationItem:disabled{opacity:.4}.navigationIcon{position:relative;display:grid;place-items:center;width:28px;height:28px}.liveIndicator{position:absolute;top:-3px;right:-5px;width:8px;height:8px;border:2px solid var(--bg);border-radius:50%;background:var(--accent);animation:livePulse 1.8s ease-in-out infinite}.workspaceContent{min-width:0;padding-bottom:50px}.viewHeader{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,460px);align-items:end;gap:32px;margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid var(--border)}.viewHeader h2,.landingHero h2{margin:2px 0 0;font-family:var(--display);font-weight:570;letter-spacing:0}.viewHeader h2{font-size:46px;line-height:1.08}.viewHeader p,.sectionHeading p{color:var(--muted)}.sectionKicker{color:var(--accent);font-size:11px;font-weight:800;letter-spacing:0;text-transform:uppercase}.lobbyLayout{display:grid;grid-template-columns:minmax(430px,1.15fr) minmax(360px,.85fr);gap:38px;align-items:start}.lobbyPrimary,.lobbySecondary,.quickStartPanel,.availableTables{display:grid;gap:20px}.lobbySecondary{gap:28px}.sectionHeading{display:grid;gap:5px}.sectionHeading>div:first-child{display:flex;align-items:center;gap:8px}.sectionHeading h3{margin:0;font-family:var(--display);font-size:25px;font-weight:600}.gameModePicker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.gameModeOption{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;min-height:102px;padding:14px;border:1px solid var(--border);border-radius:7px;color:var(--muted);text-align:left;background:var(--panel)}.gameModeOption>span{display:grid;gap:4px}.gameModeOption strong{color:var(--text)}.gameModeOption small{line-height:1.35}.gameModeOption:hover,.gameModeOption.selected{border-color:var(--primary);color:var(--primary)}.gameModeOption.selected{box-shadow:inset 0 -3px 0 var(--primary);background:var(--success-bg)}.quickStartBar{display:grid;grid-template-columns:minmax(180px,.55fr) minmax(220px,1fr);gap:10px;align-items:end;padding:16px;border:1px solid var(--border);border-radius:10px;background:var(--panel);box-shadow:0 1px #15231f0a}.rulesetSelect>span,.privateTableActions label>span,.compactSelect>span{font-size:12px;font-weight:700}.startGameButton{min-height:48px;font-size:15px;letter-spacing:.01em}.rulesetSummary{margin-top:-10px;color:var(--muted);font-size:12px}.matchmakingNotice{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px;border-left:3px solid var(--gold);background:var(--panel-subtle)}.privateTableSection{display:grid;gap:14px;padding:18px 16px 16px;border:1px solid var(--border);border-radius:12px;background:linear-gradient(180deg,rgb(13 93 78 / 4%),transparent 42%),var(--panel-subtle)}.privateTableSection .sectionHeading.compact>div:first-child{color:var(--primary)}.inviteShareOverlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:end center;padding:max(16px,var(--app-safe-top, env(safe-area-inset-top, 0px))) 16px max(16px,var(--app-safe-bottom, env(safe-area-inset-bottom, 0px)));background:var(--sheet-overlay)}.inviteShareSheet{position:relative;width:min(480px,100%);max-height:min(85dvh,720px);overflow:auto;display:grid;gap:14px;padding:14px 18px 18px;border:1px solid var(--border);border-radius:18px 18px 12px 12px;background:var(--panel);box-shadow:0 18px 48px #00000047}.inviteSheetHandle{justify-self:center;width:42px;height:4px;border-radius:999px;background:var(--border)}.inviteShareHeader{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.inviteShareHeader h3{margin:0;font-family:var(--display);font-size:24px;font-weight:600}.inviteShareHeader p{margin:4px 0 0;color:var(--muted)}.inviteCodeBlock{display:grid;gap:8px;padding:16px 16px 18px;border-left:3px solid var(--gold);border-radius:0 10px 10px 0;background:radial-gradient(120% 90% at 0% 0%,rgb(211 165 72 / 12%),transparent 55%),var(--panel-subtle)}.inviteCodeBlock>span{font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.inviteCodeBlock strong{overflow-wrap:anywhere;font-family:var(--display);font-size:clamp(22px,6.2vw,30px);font-weight:650;letter-spacing:var(--invite-code-track);line-height:1.15;color:var(--text)}.inviteShareActions{display:grid;grid-template-columns:1fr;gap:8px}.inviteShareActions .primary{min-height:48px}.inviteFriendsBlock,.hostSettingsBody,.hostRoomSettings,.hostSeats,.hostBans{display:grid;gap:10px}.inviteFriendsBlock{padding-top:8px;border-top:1px solid var(--divider)}.inviteFriendRow,.checkboxRow{display:flex;gap:10px;align-items:center;min-height:44px;padding:4px 2px}.inviteFriendsBlock .inlineActions{grid-template-columns:minmax(0,1fr) auto;align-items:center}.inviteFriendsBlock .inlineActions>*{min-width:0}.sectionHeading.compact>div:first-child h3{font-size:20px}.privateTableActions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:8px;align-items:end}.createPrivateActions{grid-template-columns:minmax(0,1fr) auto}.advancedTableSettings,.gameTools,.gameMetaDetails{border-top:1px solid var(--border)}.advancedTableSettings>summary,.gameTools>summary,.gameMetaDetails>summary{display:flex;align-items:center;gap:8px;padding:13px 2px;color:var(--label);cursor:pointer;font-weight:700;list-style:none}details[open]>summary svg{transform:rotate(180deg)}.advancedSettingsGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px 0}.botPresetActions{display:flex;gap:8px;padding-bottom:12px}.lobbyStatus:empty{display:none}.tableListHeading{position:relative;padding-right:46px}.tableListHeading .iconButton{position:absolute;top:0;right:0}.roomFilters{display:flex;align-items:end;justify-content:space-between;gap:14px;padding-bottom:12px;border-bottom:1px solid var(--border)}.compactSelect{grid-template-columns:auto minmax(150px,1fr);align-items:center}.compactSelect select{min-height:38px;padding-block:7px}.roomRow{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 8px;border:0;border-bottom:1px solid var(--divider);border-radius:0;background:transparent}.roomRow:hover{background:var(--panel-subtle)}.roomModeMark{display:grid;width:36px;height:36px;place-items:center;border-radius:50%;color:var(--primary);background:var(--success-bg)}.roomModeMark[data-mode=ranked]{color:#8a6020;background:#fff7dc}:root[data-theme=dark] .roomModeMark[data-mode=ranked]{color:#f1ca75;background:#3d321d}.roomIdentity{display:grid;gap:2px;min-width:0}.roomIdentity strong,.roomIdentity small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roomOccupancy{display:flex;align-items:center;gap:6px;color:var(--muted)}.emptyState,.emptyGameState{display:grid;justify-items:center;gap:7px;min-height:180px;place-content:center;padding:24px;color:var(--muted);text-align:center;border:1px dashed var(--border)}.emptyState p{max-width:360px;font-size:13px}.lobbySecondary>.panel,.workspace-tournaments>.panel,.workspace-learn>.panel,.workspace-admin>.panel,.profileLayout>.panel{border-radius:7px}.profileLayout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:20px;align-items:start}.gameTableView{display:grid;gap:12px}.gameHeader{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0;padding:0 2px 10px}.gameHeaderPrimary,.gameHeaderStatus{display:flex;align-items:center;gap:10px}.gameHeaderPrimary>div{display:grid}.gameHeaderPrimary strong{font-family:var(--display);font-size:19px}.phaseBadge{padding:5px 9px;border-radius:999px;color:#fff;background:var(--primary);font-size:12px;font-weight:800}.gameHeaderStatus>span{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:12px}.connectionState svg{color:var(--primary)}.gameMetaDetails{position:absolute;top:100%;right:0;z-index:6;border:0}.gameMetaDetails>summary{padding:6px;font-size:12px}.gameMetaDetails[open]>div{display:grid;gap:5px;width:min(340px,80vw);padding:12px;border:1px solid var(--border);border-radius:7px;background:var(--panel);box-shadow:0 12px 30px #0000002e;color:var(--muted);font-size:12px}.gameArena{position:relative;min-height:clamp(470px,58vh,650px);overflow:hidden;border:8px solid var(--felt-rail);border-radius:38%/14%;background:radial-gradient(ellipse 70% 55% at 50% 42%,var(--felt-lift) 0%,transparent 62%),radial-gradient(ellipse 95% 90% at 50% 55%,transparent 48%,rgb(0 0 0 / 28%) 100%),var(--felt);box-shadow:inset 0 0 0 1px #ffffff1f,inset 0 24px 48px #0000002e,0 18px 44px #051f192e}.gameArena:before,.gameArena:after{position:absolute;content:"";pointer-events:none}.gameArena:before{top:30px;right:30px;bottom:30px;left:30px;border:1px solid rgb(255 255 255 / 16%);border-radius:38%/14%}.gameArena:after{top:50%;left:50%;width:2px;height:2px;box-shadow:-210px -90px 0 1px #ffffff1a,210px -90px 0 1px #ffffff1a,0 160px 0 1px #ffffff1a}.decisionRing{position:absolute;z-index:2;top:45%;left:50%;display:grid;width:230px;min-height:150px;place-items:center;padding:16px;transform:translate(-50%,-50%);border:1px solid rgb(255 255 255 / 20%);border-radius:50%}.decisionRing:before{position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;border-radius:50%;background:radial-gradient(ellipse at center,transparent 54%,rgb(211 165 72 / 30%) 61%,transparent 72%);box-shadow:0 0 28px 3px var(--turn-corona);content:"";pointer-events:none;opacity:0;transition:opacity .18s ease;will-change:opacity,transform}.decisionRing[data-active=self]{border-color:var(--gold);box-shadow:0 0 0 5px #d3a5481f}.decisionRing[data-active=self]:before{opacity:1;animation:turnCorona 2.4s ease-in-out infinite}.emptyTrick{display:grid;justify-items:center;gap:6px;color:#ffffffb3;font-size:12px;font-weight:700}.currentTrick{min-height:0;margin:0;padding:0;border:0}.currentTrick small{max-width:72px;overflow:hidden;color:#ffffffbf;text-overflow:ellipsis;white-space:nowrap}.gameArena .playerHands{position:absolute;z-index:3;top:0;right:0;bottom:0;left:0;display:block}.gameArena .players{position:absolute;inset:34px 55px auto;display:grid;grid-template-columns:1fr 1fr;gap:min(38vw,460px)}.gameArena .player{min-width:150px;padding:8px 10px;border:1px solid rgb(255 255 255 / 18%);color:#fff;background:#072a23b8}.gameArena .player span,.gameArena .player small{color:#ffffffad}.gameArena .player.activePlayer,.gameArena .localHand.activePlayer{border-color:var(--gold);box-shadow:0 0 0 3px #d3a54829}.gameArena .opponentSeatRight{justify-self:end}.gameArena .opponentCards{min-height:50px}.gameArena .opponentCards .playingCard{width:38px}.gameArena .localHand{position:absolute;right:max(30px,5%);bottom:22px;left:max(30px,5%);width:auto;padding:10px 12px;border:1px solid rgb(255 255 255 / 18%);color:#fff;background:#072a23d1}.gameArena .localHand span{color:#ffffffb3}.gameArena .actionableHand{grid-template-columns:repeat(var(--hand-columns),minmax(42px,68px))}.actionDock{position:sticky;z-index:5;bottom:10px;display:grid;grid-template-columns:minmax(150px,.35fr) minmax(0,1fr);gap:18px;align-items:center;min-height:72px;padding:12px 16px;border:1px solid var(--border);border-radius:8px;background:var(--panel);box-shadow:0 10px 28px #0f261f29}.actionPrompt{display:grid;gap:2px}.actionDock .actions{justify-content:flex-end;max-height:120px;margin:0}.actionDock .actions button{min-height:44px}.utilityMenu{display:contents}.utilityMenuToggle{display:none}.utilitySheetPanel{display:contents}.utilityAction{color:var(--muted)}.gameTools{margin-top:6px}.gameToolsGrid{display:grid;grid-template-columns:minmax(280px,.65fr) minmax(0,1.35fr);gap:12px;padding-top:8px}.gameToolsGrid>.panel,.gameToolsGrid>div{margin:0}.landingPage{width:min(1440px,100%);margin:0 auto}.app.appWelcome{padding-bottom:max(24px,var(--app-safe-bottom, env(safe-area-inset-bottom, 0px)))}.landingHeader,.landingBrand,.landingNavigation{display:flex;align-items:center}.landingHeader{min-height:84px;justify-content:space-between;gap:20px}.landingBrand{gap:11px;color:var(--text);font-family:var(--display);font-size:23px;font-weight:650;text-decoration:none}.landingBrand img{border-radius:10px}.landingNavigation{gap:28px}.landingLanguage{display:flex;gap:2px}.landingLanguage button{min-width:38px;min-height:44px;padding:8px;border:0;border-radius:6px;color:var(--muted);background:transparent}.landingLanguage button[aria-pressed=true]{color:var(--text);background:var(--panel);box-shadow:inset 0 -2px var(--accent)}.landingLanguage button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.landingHowLink{color:var(--muted);text-underline-offset:5px}.landingHowLink:hover{color:var(--text)}.landingLogin{min-height:44px;padding-inline:20px}.landingHero{position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(460px,1.1fr);align-items:center;min-height:660px;overflow:hidden;padding:clamp(36px,5vw,72px);color:#fff;background:#0f463a}.landingHero:before{position:absolute;top:22px;right:22px;bottom:22px;left:22px;border:1px solid rgb(255 255 255 / 13%);content:"";pointer-events:none}.landingHeroContent{position:relative;z-index:2;max-width:620px}.landingLogo{display:block;width:104px;height:auto;margin-bottom:24px;border:1px solid rgb(255 255 255 / 13%);border-radius:14px}.landingEyebrow{display:flex;align-items:center;gap:7px;color:#f1cf7f;font-size:12px;font-weight:800;text-transform:uppercase}.landingHero h1{max-width:680px;margin:18px 0;font-family:var(--display);font-size:clamp(44px,4.6vw,64px);font-weight:620;line-height:1.08;letter-spacing:-.025em;text-wrap:balance}.landingHero h1>span{display:block}.landingHeroContent>p{max-width:570px;color:#ffffffbf;font-size:17px}.landingActions{display:flex;align-items:center;gap:18px;margin-top:28px;flex-wrap:wrap}.landingPrimary{min-height:48px;color:#15231f;background:#f1cf7f}.landingPrimary:hover{background:#ffdfa0}.landingTextButton,.landingInlineButton{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 0;border:0;border-radius:4px;color:inherit;background:transparent;font-weight:700;cursor:pointer}.landingTextButton:hover,.landingInlineButton:hover{text-decoration:underline;text-underline-offset:5px}.landingTextButton svg,.landingInlineButton svg{flex:0 0 auto}.landingHeroContent>.landingGuestNote{margin-top:18px;font-size:13px;color:#c5ded6}.landingHeroContent>.landingConnection{font-size:13px;color:#f1cf7f}.landingConnectionError{margin-top:18px;color:#ffded7}.landingConnectionError p{margin:0}.landingFirstSteps{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(40px,8vw,120px);padding:76px clamp(24px,5vw,72px);scroll-margin-top:24px}.landingSectionIntro h2,.landingAccount h2{margin:0 0 16px;font-family:var(--display);font-size:clamp(28px,3vw,38px);line-height:1.2;font-weight:620;text-wrap:balance}.landingSectionIntro>p,.landingAccount p{max-width:58ch;margin:0 0 20px;color:var(--muted);line-height:1.65}.landingInlineButton{color:var(--primary);text-align:left}.landingSteps{display:grid;gap:26px;margin:0;padding:0;list-style:none;counter-reset:first-steps}.landingSteps li{display:flex;gap:20px;counter-increment:first-steps}.landingSteps li:before{content:counter(first-steps);flex:0 0 28px;color:var(--primary);font-family:var(--display);font-size:30px;line-height:1.15}.landingSteps li+li{padding-top:26px;border-top:1px solid var(--border)}.landingSteps h3{margin:0 0 9px;font-size:19px;font-weight:700}.landingSteps p{max-width:62ch;margin:0;color:var(--muted);font-size:15px;line-height:1.65}.landingSteps .landingInlineButton{margin-top:6px;font-size:14px}.landingAccount{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:40px clamp(24px,5vw,72px);border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--panel)}.landingAccount h2{font-size:clamp(25px,2.6vw,32px)}.landingAccount p{margin-bottom:0;font-size:15px}.landingAccount>button{flex:0 0 auto;min-height:48px;padding-inline:22px}.landingFooter{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;color:var(--muted);font-size:13px}.landingFooter>span{font-family:var(--display);font-size:19px}.landingTextLink{display:inline-flex;align-items:center;gap:6px;color:#fff;font-weight:700;text-decoration:none}.landingStatus{display:flex;align-items:center;gap:7px;margin-top:22px;color:#ffffff94;font-size:12px}.landingStatus>span{width:7px;height:7px;border-radius:50%;background:#6cc6a0}.landingTableScene{position:absolute;z-index:1;top:50%;right:6%;width:min(48vw,640px);aspect-ratio:1.45;transform:translateY(-50%) rotate(-5deg);border:14px solid #092f27;border-radius:48%;background:#17604f;box-shadow:0 35px 70px #00000047}.landingTableRing{position:absolute;top:10%;right:10%;bottom:10%;left:10%;border:1px solid rgb(255 255 255 / 18%);border-radius:50%}.landingCard{position:absolute;transform-origin:50% 120%}.landingCard .playingCard{width:clamp(62px,6vw,88px)}.landingCardOne{bottom:17%;left:35%;transform:rotate(-13deg)}.landingCardTwo{bottom:14%;left:46%;transform:rotate(-2deg)}.landingCardThree{bottom:17%;left:57%;transform:rotate(10deg)}.landingCardFour{top:16%;left:48%;transform:rotate(180deg);transform-origin:center}.landingModeRail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-right:1px solid var(--border);border-bottom:1px solid var(--border);border-left:1px solid var(--border);background:var(--panel)}.landingModeRail article{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;min-height:110px;padding:24px;border-right:1px solid var(--border);color:var(--primary)}.landingModeRail article:last-child{border-right:0}.landingModeRail article>div{display:grid;gap:3px}.landingModeRail strong{color:var(--text)}.landingModeRail span{color:var(--muted);font-size:12px}@media(max-width:1060px){.lobbyLayout,.profileLayout,.landingHero{grid-template-columns:1fr}.landingHeroContent{max-width:72%}}@media(min-width:761px)and (max-width:1024px){.gameArena .players{gap:min(120px,18vw)}}@media(min-width:901px){.actionDock{position:relative;bottom:auto}.actionDock .actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(64px,1fr));max-height:none;overflow:visible;padding-right:0}}@media(min-width:901px)and (max-height:800px){.app{padding-top:10px}.topbar{margin-bottom:8px}.appWorkspace{margin-top:12px}.workspace-table .viewHeader{grid-template-columns:minmax(0,1fr) minmax(280px,520px);gap:20px;margin-bottom:12px;padding-bottom:8px}.workspace-table .viewHeader h2{font-size:32px}.workspace-table .viewHeader p{margin:0;font-size:13px}.workspace-table .gameTableView:not(.clubTable) .gameArena{min-height:clamp(360px,50dvh,430px)}}@media(max-width:900px){.app{padding:max(0px,var(--app-safe-top, env(safe-area-inset-top, 0px))) 12px calc(86px + var(--app-safe-bottom, env(safe-area-inset-bottom, 0px)))}.topbar{min-height:62px;flex-direction:row;align-items:center}.brandBlock p,.brandSurface,.topbarUser{display:none}.topbarActions{display:flex}.topbarActions .iconButton:first-child{display:none}.appearanceSettings{position:static;margin-left:auto}.appWorkspace{display:block;margin-top:18px}.appNavigation{position:fixed;z-index:20;inset:auto 0 0;display:flex;flex-direction:row;width:100%;height:auto;min-height:0;padding:6px max(8px,var(--app-safe-right, env(safe-area-inset-right, 0px))) max(8px,var(--app-safe-bottom, env(safe-area-inset-bottom, 0px))) max(8px,var(--app-safe-left, env(safe-area-inset-left, 0px)));border-top:1px solid var(--border);background:color-mix(in srgb,var(--panel) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 -8px 24px #0f261f14}.navigationItems{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:100%;gap:2px}.navigationItem{min-height:56px;padding:8px 0;border-left:0;border-bottom:0;border-radius:12px;font-size:11px;letter-spacing:.01em}.navigationLabelCompact{display:none}.navigationItem.active{border-left-color:transparent;color:var(--primary);background:var(--nav-active-wash);box-shadow:inset 0 -3px 0 var(--accent)}.navigationItem:hover{background:var(--nav-active-wash)}.appNavigation>.navigationItem{flex:0 0 54px;display:grid}.liveIndicator{border-color:var(--panel)}.actionDock{position:relative;bottom:auto;grid-template-columns:1fr;gap:8px}.actionDock .actions{justify-content:flex-start;flex-wrap:wrap;max-height:none}.utilityMenu{position:relative;display:inline-block}.utilityMenuToggle{display:inline-flex;min-width:44px;min-height:44px}.utilitySheetPanel{position:absolute;z-index:8;right:0;bottom:calc(100% + 8px);display:none;gap:8px;min-width:220px;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--panel);box-shadow:0 12px 28px #0f261f2e}.utilitySheetPanel.is-open{display:grid}.matchChatSheet{bottom:calc(148px + var(--app-safe-bottom, env(safe-area-inset-bottom, 0px)))}}@media(max-width:360px){.navigationLabelFull:has(+.navigationLabelCompact){display:none}.navigationLabelCompact{display:inline}}@media(max-width:760px){.viewHeader{grid-template-columns:1fr;gap:8px;margin-bottom:20px}.viewHeader h2{font-size:31px}.viewHeader p{font-size:13px}.lobbyLayout{gap:34px}.gameModePicker,.landingModeRail{grid-template-columns:1fr}.gameModeOption{min-height:76px}.quickStartBar,.privateTableActions,.createPrivateActions,.advancedSettingsGrid{grid-template-columns:1fr}.roomFilters,.matchmakingNotice{align-items:stretch;flex-direction:column}.gameHeader{align-items:flex-start}.gameHeaderStatus .connectionState,.gameHeaderPrimary small{display:none}.gameArena{min-height:min(500px,58dvh);border-width:5px;border-color:var(--felt-rail)}.gameArena .player{min-width:0;padding:7px;overflow:hidden}.gameArena .player strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gameArena .localHandHeader span{display:none}.gameArena .actionableHand{grid-template-columns:repeat(5,minmax(44px,1fr));gap:4px}.gameToolsGrid{grid-template-columns:1fr}.landingPage{width:calc(100% + 24px);margin-left:-12px}.landingHero{min-height:calc(var(--app-viewport-height, 100dvh) - 86px);padding:42px 24px 230px}.landingHeroContent{max-width:none;align-self:start}.landingHero h1{font-size:44px}.landingHeroContent>p{font-size:15px}.landingTableScene{top:auto;right:-8%;bottom:30px;width:78vw;transform:rotate(-5deg)}.landingModeRail article{min-height:86px;padding:18px 24px;border-right:0;border-bottom:1px solid var(--border)}}@media(max-width:760px)and (orientation:portrait){.gameArena{display:grid;grid-template-areas:"opponents" "trick" "hand";grid-template-rows:auto minmax(120px,auto) auto;gap:10px;min-height:min(520px,58dvh);overflow:auto;border-radius:16px;padding:12px 10px 14px}.gameArena:before,.gameArena:after{display:none}.gameArena .playerHands{display:contents}.gameArena .players{grid-area:opponents;position:static;inset:auto;display:grid;grid-template-columns:1fr 1fr;gap:10px}.gameArena .opponentSeatRight{justify-self:stretch}.decisionRing{grid-area:trick;position:static;top:auto;left:auto;width:min(100%,220px);min-height:120px;margin:0 auto;transform:none}.gameArena .localHand{grid-area:hand;position:static;inset:auto;width:100%}.gameArena .opponentCards .playingCard{width:max(40px,9vw)}}@media(max-width:760px)and (orientation:landscape){.gameArena{min-height:min(420px,72dvh);overflow:auto;border-radius:28%/10%}.gameArena .players{inset:18px 14px auto;gap:12px}.gameArena .opponentCards .playingCard{width:max(36px,7vw)}.decisionRing{top:48%;width:160px;min-height:110px}.gameArena .localHand{right:10px;bottom:10px;left:10px}}@media(max-width:390px){.inviteShareOverlay{padding-right:8px;padding-left:8px}.inviteShareSheet{padding:12px 14px 16px;border-radius:16px 16px 10px 10px}.inviteCodeBlock strong{font-size:20px;letter-spacing:.08em}.inviteFriendsBlock .inlineActions{grid-template-columns:1fr}.inviteFriendsBlock .inlineActions button{width:100%}.navigationItem span:not(.navigationIcon):not(.liveIndicator){font-size:11px}.app{padding-bottom:calc(92px + var(--app-safe-bottom, env(safe-area-inset-bottom, 0px)))}.brandBlock h1,.brandTitle{font-size:19px}.landingActions{align-items:stretch;flex-direction:column}.landingTextLink{justify-content:center}.gameArena .actionableHand{grid-template-columns:repeat(5,minmax(44px,1fr))}}@media(max-width:1060px){.landingHeroContent{max-width:58%}.landingTableScene{right:2%;width:40vw}.landingHero{min-height:600px}}@media(max-width:760px){.landingHeader{min-height:76px;padding-inline:20px;gap:12px}.landingBrand{gap:9px;font-size:21px}.landingBrand img{width:36px;height:36px}.landingNavigation{gap:16px}.landingHowLink{font-size:13px}.landingLogin{padding-inline:14px}.landingHero{min-height:auto;padding:36px 24px 240px}.landingHeroContent{max-width:none}.landingLogo{width:88px;margin-bottom:20px}.landingHero h1{max-width:560px;font-size:clamp(38px,7.6vw,52px)}.landingHeroContent>p{max-width:45ch}.landingHero:before{top:14px;right:14px;bottom:14px;left:14px}.landingTableScene{width:min(78vw,420px);right:-4%;bottom:20px}.landingFirstSteps{grid-template-columns:1fr;gap:32px;padding:44px 24px}.landingSectionIntro h2{max-width:17ch}.landingSectionIntro>p{margin-bottom:10px}.landingAccount{flex-direction:column;align-items:stretch;gap:24px;padding:32px 24px}.landingAccount>button{align-self:flex-start}.landingFooter{padding:20px 24px}}@media(max-width:480px){.landingHeader{padding:12px 16px;flex-wrap:wrap}.landingNavigation{margin-left:auto;gap:8px}.landingBrand{font-size:19px}.landingLogin{padding-inline:10px}.landingHowLink{display:none}.landingHero h1{font-size:40px}.landingActions{flex-direction:column;align-items:stretch;gap:8px;margin-top:24px}.landingHeroContent>.landingGuestNote{max-width:30ch;margin-top:12px}.landingFooter{align-items:flex-start;flex-direction:column;gap:4px}.landingAccount>button{align-self:stretch}}.authEntry{white-space:nowrap}.authOverlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:20px;background:#09191494}.authDialog{width:min(100%,440px);max-height:calc(var(--app-viewport-height, 100dvh) - 40px);overflow-y:auto;padding:26px;border:1px solid var(--border);border-radius:20px;color:var(--text);background:var(--panel);box-shadow:0 24px 80px #00000040}.authDialog:focus{outline:none}.authDialogHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.authDialogHeader h2{margin:0;font-size:24px}.authDialog>p,.authSteps>p,.authProfileEntry p{color:var(--muted);line-height:1.55}.authSteps{display:grid;gap:12px;margin-top:22px}.authSteps h3,.authSteps p{margin:0}.authSteps input{width:100%;min-height:46px}.authSteps label{font-weight:650}.authProvider{display:flex;align-items:center;gap:13px;width:100%;min-height:76px;padding:14px 16px;text-align:left}.authProvider span{display:grid;flex:1;gap:5px}.authProvider small{font-size:12px;font-weight:400;color:var(--muted);word-break:break-word}.authProvider:disabled{opacity:.65}.authCode{font-size:26px;letter-spacing:.35em;text-align:center;font-variant-numeric:tabular-nums}.authBotInstructions{display:grid;gap:8px;margin:0;padding-left:24px;line-height:1.5}.authBotInstructions li{padding-left:3px}.authBotInstructions li::marker{color:var(--muted);font-weight:650}.authBotLink{padding:12px;text-align:center;text-decoration:none;font-weight:650}.authBotLink svg{flex-shrink:0}.authTelegram .authBotStatus,.authTelegram small{color:var(--muted);font-size:13px;line-height:1.5}.authBotCode{font-size:24px;letter-spacing:.22em;text-transform:uppercase}.authDialog .authError{padding:12px;border:1px solid var(--error-border);border-radius:10px;background:var(--error-bg);color:var(--text)}.authDialog .authNotice{display:flex;gap:9px;padding:12px;border:1px solid var(--success-border);border-radius:10px;background:var(--success-bg);color:var(--text)}.authNotice svg{flex-shrink:0;margin-top:3px}.authDialog .textButton{background:transparent;color:var(--primary);border:0;box-shadow:none}.authContinue{width:100%;margin-top:18px}.authProfileEntry{display:flex;align-items:center;justify-content:space-between;gap:20px;grid-column:1 / -1}.authProfileEntry h3{margin:0}.authProfileEntry p{margin:8px 0 0;max-width:650px}.authProfileEntry button{flex-shrink:0}@media(max-width:700px){.topbar{flex-wrap:wrap;padding-block:10px}.authEntry{order:5;flex:1 1 100%;width:100%}.authOverlay{padding:12px}.authDialog{padding:22px;max-height:calc(var(--app-viewport-height, 100dvh) - 24px)}.authProfileEntry{flex-direction:column;align-items:stretch}}
