.pwa-controls{position:fixed;bottom:0;left:0;right:0;z-index:1000;background:#f4f2eb;color:#174d39;border-top:2px solid #174d39;padding:.5rem max(.75rem,env(safe-area-inset-left)) max(.5rem,env(safe-area-inset-bottom));font-size:.9rem}.pwa-controls p{margin:.2rem 0}.pwa-controls button{margin-left:.6rem;padding:.5rem .8rem;min-height:44px}#root{padding-bottom:var(--black5-pwa-controls-height, 0px)}@media (min-width: 1025px){html[data-black5-pwa-controls] main.active-game-viewport{height:calc(100dvh - var(--black5-pwa-controls-height, 0px))}}@media (max-width: 600px){html[data-black5-pwa-controls] main.phone-game-viewport{height:calc(min(100dvh,var(--app-visible-height, 100dvh)) - var(--black5-pwa-controls-height, 0px))}}.hand-sort-control{display:inline-flex;align-items:center;gap:5px;margin-left:auto;font-size:.75rem;font-weight:600;color:var(--muted)}.hand-sort-control select{min-height:44px;width:auto;max-width:110px;padding:4px 7px;font-size:.75rem;background:#fffefa}.hand-sort-control select:focus-visible{outline:3px solid var(--gold);outline-offset:2px}@media (max-width: 600px){.phone-table .player-hand .hand-content>header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 6px;align-items:center}.phone-table .player-hand .hand-content>header h3{grid-column:1;grid-row:1}.phone-table .player-hand .hand-content>header>span{grid-column:1;grid-row:2}.phone-table .hand-sort-control{grid-column:2;grid-row:1 / 3;margin:0}.phone-table .hand-sort-control select{max-width:92px}}.online-match-heading{display:flex;align-items:center;gap:8px;min-width:0;margin:0}.online-match-heading h1{font-size:1rem;margin:0;flex:1}.online-match-heading>span{font-size:.75rem}.online-game-layout .online-choice-gate{border:0;padding:0;margin:0;min-width:0}.online-game-layout .online-opponents{display:flex;flex-direction:column;gap:8px;min-width:0}.online-game-layout .online-opponents .player-hand{padding:12px;min-height:0}.online-game-layout .online-opponents h3{overflow-wrap:anywhere}.online-game-layout .online-opponents p{font-size:.8rem;margin:5px 0 0}.online-game-layout .online-turn-tracker{display:block}.online-game-layout .online-results table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:.85rem}.online-game-layout .online-results th,.online-game-layout .online-results td{padding:8px 4px;overflow-wrap:anywhere;border-bottom:1px solid var(--line);text-align:left}.online-game-layout .online-results button{min-height:44px}@media (min-width: 601px){.online-match.active-game-viewport{display:flex;flex-direction:column}.online-game-layout.active-table-shell{display:grid;grid-template-rows:auto auto auto minmax(0,1fr);min-height:0;flex:1}.online-game-layout .hands{display:grid;grid-template-columns:minmax(0,2fr) minmax(180px,1fr);gap:12px}.online-game-layout .online-own-hand{grid-column:1;grid-row:1}.online-game-layout .online-opponents{grid-column:2;grid-row:1}.online-game-layout .online-own-hand{display:flex;flex-direction:column;min-height:0}.online-game-layout .hand-content{flex:1;min-height:0;overflow:auto}.online-game-layout .action-panel{flex:none}.online-game-layout .online-choice-gate .suit-picker{display:flex;flex-wrap:wrap;gap:6px}.online-game-layout .online-choice-gate .suit-picker button{flex:1;min-height:44px}}@media (max-width: 600px){.online-match.phone-game-viewport{padding-top:calc(4px + env(safe-area-inset-top))}.online-match-heading{min-height:22px}.online-match-heading h1{font-size:.7rem}.online-match-heading .eyebrow{font-size:.55rem;letter-spacing:.05em}.online-game-layout.phone-table{display:grid;grid-template-rows:auto minmax(56px,max-content) 30px minmax(0,1fr);gap:4px}.online-game-layout.phone-table .online-opponents{display:none}.online-game-layout.phone-table .table-status{padding:6px}.online-game-layout.phone-table .table-status h2{font-size:1rem}.online-game-layout.phone-table .online-own-hand{display:flex;flex-direction:column;gap:3px;padding:6px;min-height:0}.online-game-layout.phone-table .online-own-hand>.hand-content{flex:1;min-height:0;overflow:auto}.online-game-layout.phone-table .action-panel{flex:none;min-height:0;max-height:55cqh;overflow:auto;display:flex;flex-direction:column;gap:3px}.online-game-layout.phone-table .action-options{display:none}.online-game-layout.phone-table .action-buttons{flex-shrink:0;position:sticky;bottom:0;background:#f5f8f1;margin:0;min-height:calc(49px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}.online-game-layout.phone-table .declaration{display:flex;min-height:44px;margin:0;padding:4px 8px;flex-shrink:0}.online-game-layout.phone-table .online-choice-gate{flex-shrink:0}.online-game-layout.phone-table .online-choice-gate .required-suit-choice{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));min-height:0;padding:0;gap:3px}.online-game-layout.phone-table .online-choice-gate .suit-picker button{min-height:44px}.online-game-layout.phone-table .suit-selection{display:none}.online-game-layout.phone-table .online-own-hand .human-cards{height:116px;max-height:116px;grid-template-rows:110px;grid-auto-flow:column;grid-template-columns:none;overflow-x:auto;overflow-y:hidden}@container phone-game (min-height:652px){.online-game-layout.phone-table .online-own-hand:not(:has(.required-suit-choice,.declaration)) .human-cards:has(.hand-card:nth-child(6)){height:236px;max-height:236px;grid-template-rows:repeat(2,110px)}}.online-game-layout.phone-table .online-own-hand .hand-scroll-help{margin:0;font-size:.65rem}}.online-game-layout .online-turn-tracker .online-seat-name{display:block;overflow-wrap:anywhere;white-space:normal;text-align:center;line-height:12px;font-size:.6rem;max-width:100%;min-width:0}.online-game-layout .online-turn-tracker .turn-seat{gap:0}.online-match-heading button{min-height:44px;padding:4px 8px;font-size:.75rem}.online-game-layout .online-turn-tracker ol{display:grid;list-style:none;margin:0;padding:0;gap:4px}.online-game-layout .online-turn-tracker .turn-seat{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:8px;min-width:0;min-height:54px;font-size:.75rem}.online-game-layout .online-turn-tracker .turn-seat[data-current=true]{background:var(--green);color:#fff}.online-game-layout .online-turn-tracker .turn-seat[data-next=true]{background:#fff4d7}.online-game-layout .online-turn-tracker .turn-seat[data-eliminated=true]{opacity:.6}@media (min-width: 601px){.online-game-layout .online-opponents{min-height:0;overflow:auto}.online-game-layout .online-opponents .player-hand{flex:0 0 auto;height:auto;min-height:76px;max-height:none;overflow:visible}.online-game-layout .online-own-hand{max-height:none}.online-game-layout .online-turn-tracker{margin:0}}@media (min-width: 601px){.online-game-layout .hands{grid-template-rows:minmax(0,1fr);grid-auto-rows:auto}.online-game-layout .online-opponents{grid-row:1 / -1;align-self:stretch;height:100%}}@media (min-width: 601px){main.online-match.active-game-viewport{height:100dvh;min-height:0;max-height:100dvh;box-sizing:border-box;overflow:hidden;padding:12px}.online-game-layout .play-area,.online-game-layout .hands{min-height:0}}@media (min-width: 601px){.online-match.active-game-viewport .online-game-layout .hands[data-player-count]{grid-template-rows:minmax(0,1fr);height:100%;gap:12px}.online-match .online-game-layout .online-own-hand>.hand-content{display:flex;flex-direction:column;min-height:0}.online-match .online-game-layout .online-own-hand{height:100%;overflow:hidden}.online-match .online-game-layout .online-opponents{grid-row:1}}@media (max-width: 600px){.online-game-layout.phone-table .action-buttons{width:100%}}.online-forfeit{padding:10px;border:1px solid var(--gold);border-radius:8px;background:#fff4d7}@media (max-width: 600px){.online-match-heading{flex-wrap:wrap}.online-match-heading>.eyebrow{flex:1;min-width:0}.online-match-heading h1{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%)}}.online-match.results-game-viewport>.results-table-shell{order:0}.online-match .online-results .winner{color:var(--green)}.online-match-heading .online-menu-trigger{width:44px;min-width:44px;padding:0;font-size:1.5rem;flex:none}.online-leave-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:12px;background:#06281c99}.online-leave-dialog{width:min(100%,360px);max-height:calc(100dvh - 24px);overflow:auto;background:#fffdf4;border:2px solid var(--green);border-radius:12px;padding:16px;box-sizing:border-box}.online-leave-dialog h2{margin:0 0 12px}.online-leave-dialog>div{display:flex;flex-wrap:wrap;gap:8px}.online-leave-dialog button{min-height:44px}.online-game-layout .online-turn-tracker .countdown{display:block;margin:0;padding:0;background:none;border:0;font-size:.5rem;line-height:1}.online-host{font-size:.5rem}.online-game-layout .online-turn-tracker{height:auto;min-height:56px}.online-game-layout .online-turn-tracker .turn-seat>strong,.online-game-layout .online-turn-tracker .turn-card-count{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:2px;max-width:100%}.online-game-layout .online-turn-tracker .turn-card-count{font-size:.75rem;line-height:16px;font-weight:700}.online-game-layout .online-turn-tracker .online-seat-status,.online-game-layout .online-turn-tracker .online-seat-status .countdown{white-space:normal;overflow-wrap:anywhere;max-width:100%;text-align:center;font-size:.625rem;line-height:12px}.mobile-turn-tracker .turn-seat .turn-last{display:inline-flex;align-items:center;flex:0 0 auto;min-height:16px;margin:0;padding:0 4px;border:1px solid #8a5a0a;border-radius:8px;background:#fff1cc;color:#513604;font-size:.625rem;font-weight:800;line-height:14px;white-space:nowrap}.tournament-online{max-width:72rem;margin:0 auto;padding:1rem;color:#153e31;overflow-wrap:anywhere}.tournament-online *{box-sizing:border-box;min-width:0}.tournament-online h1{font-size:clamp(1.5rem,4vw,2.4rem)}.tournament-online section,.tournament-online form{background:#fff9ed;border:1px solid #b7a57e;border-radius:.65rem;padding:1rem;margin:1rem 0}.tournament-online label{display:flex;flex-direction:column;gap:.4rem;margin:.75rem 0;font-weight:600}.tournament-online input,.tournament-online select{font:inherit;padding:.6rem;min-height:44px;max-width:100%;width:100%}.tournament-online button{min-height:44px;padding:.6rem .85rem;margin:.25rem;border:1px solid #456b59;border-radius:.4rem;background:#f4e3ac;color:#153e31;font:inherit}.tournament-online button:disabled{opacity:.55}.tournament-online button:focus-visible,.tournament-online input:focus-visible,.tournament-online select:focus-visible{outline:3px solid #ba772b;outline-offset:2px}.tournament-online ol{list-style:none;padding:0;display:grid;gap:.6rem}.tournament-online li{border:1px solid #c7b99a;padding:.7rem;border-radius:.4rem;display:flex;flex-direction:column;gap:.4rem}.tournament-online [role=dialog]{border:3px solid #886520}.tournament-online [role=alert]{border-left:4px solid #963327;padding:.75rem}.tournament-actions{display:flex;flex-wrap:wrap;gap:.4rem}@media (min-width: 900px){.tournament-participants,.tournament-standings,.tournament-fixtures{grid-template-columns:repeat(2,minmax(0,1fr))}.tournament-online form{max-width:38rem}}.tournament-code-row{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.tournament-online .tournament-code-row input{flex:0 1 12ch;width:12ch;max-width:100%;letter-spacing:.1em}.tournament-online .tournament-code-row button{margin:0}.leaderboard-panel{margin-top:1rem;padding:1rem;border:1px solid #998154;border-radius:12px;background:#fff9eb;color:#25251e;max-width:100%;overflow-wrap:anywhere;text-align:left}.leaderboard-panel h2{font-size:1.2rem;letter-spacing:.04em}.leaderboard-panel p{line-height:1.5}.leaderboard-panel button,.leaderboard-panel select{min-height:48px;max-width:100%;padding:.6rem .8rem;font:inherit;white-space:normal}.leaderboard-panel label{display:grid;gap:.4rem;font-weight:700}.leaderboard-actions{display:flex;gap:.5rem;flex-wrap:wrap}.leaderboard-own,.leaderboard-join{border:1px solid #ac925f;border-radius:8px;padding:.8rem;margin:1rem 0}.leaderboard-rows{list-style:none;padding:0;display:grid;gap:.7rem}.leaderboard-rows li{display:grid;gap:.35rem;padding:.8rem;border:1px solid #b6a789;border-radius:8px;min-width:0}.leaderboard-panel :focus-visible{outline:3px solid #285dc0;outline-offset:3px}.player-profile{margin:20px auto 0;padding:14px;max-width:580px;border:1px solid #a6bfa9;border-radius:12px;background:#fffbed;color:#18392d;text-align:left;overflow-wrap:anywhere}.profile-summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}.profile-summary>div:first-child{flex:1;min-width:0}.profile-eyebrow{display:block;font-size:.65rem;letter-spacing:.1em;color:#526759}.profile-display-name{display:block;font-size:1.1rem;line-height:1.4}.profile-actions{display:flex;flex-wrap:wrap;gap:6px}.player-profile button{min-height:44px;padding:8px 12px;font-size:.8rem}.player-profile button[hidden]{display:none}.player-profile p{margin:8px 0 0;font-size:.75rem;line-height:1.45}.player-profile form{margin-top:12px}.player-profile label{display:block;margin-bottom:5px;font-weight:700}.player-profile input{width:100%;min-width:0;min-height:44px;background:#fff;color:#18392d}.player-profile form .profile-actions{margin-top:10px}.player-profile .profile-error{color:#8a2118;font-weight:700}.profile-statistics{margin-top:12px}.profile-statistics .statistics-panel{margin:8px 0 0;padding:10px}.profile-local-default{overflow-wrap:anywhere}@media (max-width: 600px){main.onboarding-welcome:has(.player-profile){padding:24px 16px max(24px,env(safe-area-inset-bottom))}.onboarding-welcome:has(.player-profile) .welcome-card-motif{margin-bottom:18px;height:84px}.onboarding-welcome:has(.player-profile) .welcome-tagline{margin-bottom:24px}.player-profile{padding:12px;margin-top:16px}.profile-summary{gap:8px}.profile-summary>div:first-child{flex-basis:100%}}.game-mode-navigation,.setup-screen nav.game-mode-navigation,.online-shell nav.game-mode-navigation,.tournament-shell nav.game-mode-navigation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 16px;padding:0;border:0;background:none}.game-mode-navigation .mode-card{display:grid;align-content:start;gap:6px;width:100%;min-width:0;min-height:92px;padding:12px 14px;border:2px solid #91a58f;border-radius:12px;background:#fffefa;color:#18392d;text-align:left;font:inherit;line-height:1.4;white-space:normal;overflow-wrap:anywhere;cursor:pointer}.game-mode-navigation .mode-card-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 8px}.game-mode-navigation .mode-card-description{font-size:.82rem;font-weight:400}.game-mode-navigation .mode-card-status{padding:1px 6px;border:1px solid currentColor;border-radius:6px;font-size:.7rem;font-weight:700}.game-mode-navigation .mode-card[aria-current=page]{background:#174d39;border-color:#174d39;color:#fff}.game-mode-navigation .mode-card:not(:disabled):hover{border-color:#a66c12;box-shadow:0 0 0 1px #a66c12}.game-mode-navigation .mode-card:focus-visible{outline:3px solid #a66c12;outline-offset:3px}.game-mode-navigation .mode-card:disabled{background:#e9eee5;border-style:dashed;border-color:#91a58f;color:#425548;opacity:1;cursor:not-allowed}@media (max-width: 600px){.game-mode-navigation,.setup-screen nav.game-mode-navigation,.online-shell nav.game-mode-navigation,.tournament-shell nav.game-mode-navigation{grid-template-columns:minmax(0,1fr);gap:8px;margin-bottom:12px}.game-mode-navigation .mode-card{min-height:76px;padding:10px 12px}}.online-shell{box-sizing:border-box;width:min(100%,48rem);margin:0 auto;padding:clamp(1rem,3vw,2rem);padding-bottom:max(2rem,env(safe-area-inset-bottom));color:#103e32;overflow-wrap:anywhere}.online-shell *{box-sizing:border-box}.online-heading{text-align:center;margin-bottom:1rem}.online-brand{font-weight:800;letter-spacing:.14em;font-size:.8rem}.online-heading h1{font-size:clamp(1.7rem,5vw,2.3rem);margin:.5rem 0}.online-shell button,.online-shell input,.online-shell select{min-height:48px;font:inherit;max-width:100%;border-radius:.6rem}.online-shell button{padding:.6rem 1rem;border:1px solid #72947c;color:#103e32;background:#fffdf5;font-weight:700;cursor:pointer}.online-shell button:disabled{opacity:.55;cursor:default}.online-shell .online-primary{background:#12533f;color:#fff;border-color:#12533f}.online-shell :focus-visible{outline:3px solid #ba882c;outline-offset:3px}.online-entry-actions,.online-entry-form{display:grid;gap:1rem;background:#fffef9;border:1px solid #cad8c6;border-radius:1rem;padding:clamp(.9rem,3vw,1.5rem)}.online-shell label{display:grid;gap:.4rem;font-weight:700;min-width:0}.online-shell input,.online-shell select{width:100%;padding:.5rem .7rem;border:1px solid #8da993;color:#103e32;background:#fff}.online-config{display:grid;gap:1rem}.online-announcement:empty{display:none}.online-announcement{border-left:3px solid #94a975;padding:.6rem;background:#e8edde}.online-error{border:1px solid #a44232;background:#fff0e9;padding:.8rem;border-radius:.6rem}.online-room,.online-roster,.online-settings,.online-handoff{margin:1rem 0;padding:clamp(.8rem,3vw,1.3rem);background:#fffef9;border:1px solid #cad8c6;border-radius:1rem}.online-room>div{display:flex;gap:.7rem;margin:.5rem 0;flex-wrap:wrap}.online-room input{flex:1;min-width:8rem;max-width:14rem;font-family:monospace;font-size:1.7rem;letter-spacing:.16em;font-weight:800}.online-roster h2,.online-settings h2{font-size:1.2rem;margin:0 0 .8rem}.online-roster ol{list-style:none;padding:0;margin:0;display:grid;gap:.6rem}.online-roster li{display:flex;align-items:center;gap:.8rem;padding:.7rem;border-radius:.6rem;background:#f0f2e8;min-width:0}.online-roster li>div{min-width:0}.online-roster strong{word-break:break-word}.online-seat{font-weight:800;flex:0 0 2rem}.online-roster .online-own{box-shadow:inset 3px 0 #12533f}.online-tags{display:flex;gap:.4rem .65rem;flex-wrap:wrap;font-size:.75rem;margin-top:.3rem}.online-tags span{white-space:nowrap}.online-lobby-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin:1rem 0}.online-lobby-actions button{flex:1;min-width:7rem}.online-lobby-actions p{flex-basis:100%;margin:0}.online-exit{margin-top:1rem}.online-exit [role=group]{display:flex;gap:.7rem;flex-wrap:wrap}.online-exit [role=group] p{flex-basis:100%}.online-settings form>button{margin-top:1rem}.online-settings p,.online-entry-actions p{font-size:.9rem;margin:.4rem 0}.online-handoff{text-align:center}@media (min-width: 600px){.online-config{grid-template-columns:repeat(2,minmax(0,1fr))}.online-entry-actions{grid-template-columns:1fr 1fr}.online-entry-actions p{grid-column:1/-1}.online-entry-actions>button:last-child{grid-column:1/-1}}.onboarding-welcome .welcome-online-entry{width:min(100%,36.25rem);margin:.8rem auto 0}.onboarding-welcome .welcome-online-entry>button{width:100%;min-height:48px}.online-lobby-wait{margin:1rem 0;padding:.8rem;border:1px solid #cad8c6;border-radius:.6rem;background:#f0f2e8}.online-lobby-wait p{margin:.35rem 0;font-size:.9rem}.online-lobby-wait button{width:100%;margin:.4rem 0}.tournament-rewards{border:1px solid #cad4bf;border-radius:14px;padding:14px;margin:14px 0;background:#fffdf5;color:#123f35;min-width:0;overflow-wrap:anywhere}.tournament-rewards summary{cursor:pointer;min-height:44px;align-content:center;font-weight:700}.tournament-rewards select{display:block;width:100%;max-width:100%;min-height:44px;margin:8px 0}.reward-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.reward-totals dd{margin:6px 0;font-weight:700}.reward-history{padding-left:20px}.reward-history li{margin-bottom:12px}.tournament-prize{font-size:1.2rem;font-weight:700}.tournament-payouts{padding-left:20px}@media (max-width: 600px){.reward-totals{grid-template-columns:minmax(0,1fr);gap:6px}}.tournament-shell{width:min(100% - 24px,1040px);margin:24px auto;color:#123f35;padding-bottom:24px}.tournament-shell *,.tournament-dialog *{box-sizing:border-box}.tournament-shell h1,.tournament-shell h2,.tournament-shell h3{overflow-wrap:anywhere}.tournament-shell h1{font-size:clamp(1.5rem,4vw,2.2rem)}.tournament-shell p{overflow-wrap:anywhere}.tournament-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0;align-items:start}.tournament-preset{min-width:0;background:#fffdf5;border:1px solid #93aa91;border-radius:14px;color:#123f35}.tournament-preset-header{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-width:0;min-height:64px;padding:12px 14px;border:0;border-radius:13px;background:transparent;color:inherit;text-align:left}.tournament-preset-header:focus-visible{outline:3px solid #a66c12;outline-offset:2px}.tournament-preset-copy{display:grid;min-width:0;gap:3px;overflow-wrap:anywhere}.tournament-preset .tournament-chevron{flex:0 0 auto;font-size:1.5rem;font-weight:700}.tournament-preset-detail{padding:0 14px 14px}.tournament-preset-detail p{margin:0 0 10px}.tournament-preset-detail button{width:100%}main.tournament-selection{padding:20px}@media (max-width: 600px){main.tournament-selection{padding:12px}.tournament-selection .tournament-preset strong{font-size:1rem}.tournament-selection .tournament-preset-copy>span{font-size:.85rem;line-height:1.4}}.tournament-preset strong{font-size:1.15rem}.tournament-preset span{font-weight:400;line-height:1.5}.tournament-card{background:#fffdf5;border:1px solid #cad4bf;border-radius:14px;padding:16px;margin:12px 0;min-width:0}.tournament-card h2,.tournament-card h3{margin:0 0 8px}.tournament-card p{margin:6px 0}.tournament-fixtures{list-style:none;padding:0}.tournament-fixtures [data-status=COMPLETE]{border-left:5px solid #27674b}.tournament-fixtures [data-status=READY]{border-left:5px solid #b18a35}.tournament-bracket{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tournament-bracket li{margin:0}.tournament-bracket li:only-child{grid-column:1 / -1}.tournament-bracket-round{min-width:0}.tournament-standings{width:100%;border-collapse:collapse;font-size:.9rem;table-layout:fixed}.tournament-standings th,.tournament-standings td{padding:10px 3px;border-bottom:1px solid #d5dfce;overflow-wrap:anywhere;text-align:center}.tournament-standings th:nth-child(2),.tournament-standings tbody th{width:38%;text-align:left}.tournament-champion{font-size:1.5rem;font-weight:700}.tournament-shell button,.tournament-dialog button{min-height:44px;max-width:100%;white-space:normal}.tournament-shell nav{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.tournament-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0008;display:grid;place-items:center;padding:16px}.tournament-dialog{width:min(100%,400px);padding:24px;background:#fffdf5;border-radius:16px;color:#123f35}.tournament-dialog button{margin:6px}.tournament-result-context{margin-bottom:8px}@media (max-width: 600px){.tournament-shell{margin:16px auto}.tournament-presets,.tournament-bracket{grid-template-columns:minmax(0,1fr)}.tournament-card{padding:12px}.tournament-standings{font-size:.78rem}}.tournament-menu-context{display:grid;gap:10px;margin-bottom:10px}.tournament-menu-context strong{display:block;overflow-wrap:anywhere}.tournament-standings abbr{text-decoration:none}.tournament-overview{padding-bottom:calc(var(--overview-action-height, calc(104px + env(safe-area-inset-bottom, 0px)) ) + 24px)}.tournament-overview .tournament-overview-action{position:fixed;inset-inline:0;bottom:0;z-index:30;padding:8px max(12px,env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));border-top:1px solid #cad4bf;background:#fffdf5;box-shadow:0 -3px 12px #173b2312}.tournament-overview .tournament-overview-action-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;max-width:1040px;margin-inline:auto;min-width:0}.tournament-overview .tournament-overview-context{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-width:0}.tournament-overview .tournament-overview-context strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}.tournament-overview .tournament-overview-context span{flex:0 0 auto;font-size:.75rem}.tournament-overview .tournament-overview-action button{min-height:48px;min-width:220px}.tournament-overview .tournament-overview-action button:focus-visible{outline:3px solid #a66c12;outline-offset:2px}.tournament-overview nav button{scroll-margin-bottom:calc(var(--overview-action-height, 104px) + 16px)}@media (max-width: 600px){.tournament-overview .tournament-overview-action-inner{grid-template-columns:minmax(0,1fr);gap:6px}.tournament-overview .tournament-overview-action button{width:100%;min-width:0}.tournament-overview .tournament-overview-context strong{font-size:.85rem}.tournament-overview .tournament-overview-context span{font-size:.7rem}}@media (max-height: 480px){.tournament-overview .tournament-overview-action-inner{grid-template-columns:minmax(0,1fr) auto;gap:8px}.tournament-overview .tournament-overview-context span{display:none}.tournament-overview .tournament-overview-action button{width:auto;min-width:0;padding-inline:12px}}:root{font-family:Inter,Segoe UI,system-ui,sans-serif;color:#18392d;background:#f4f2eb;font-synthesis:none;--green: #174d39;--ink: #18392d;--muted: #526759;--gold: #a66c12;--line: #d9e1d6}*{box-sizing:border-box}body{margin:0}main{max-width:1240px;margin:0 auto;padding:32px}h1{margin:6px 0 10px;font-size:clamp(1.6rem,3.2vw,2.5rem);letter-spacing:-.045em;line-height:1.1}h2,h3,p{margin:0 0 12px}h2{font-size:1.5rem;line-height:1.25}h3{font-size:1.05rem}.eyebrow{display:block;margin-bottom:6px;font-size:.7rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#476552}.app-header{margin-bottom:24px}.app-header p{color:var(--muted);max-width:650px;margin-bottom:7px;font-size:.95rem}.app-header p:last-child{font-size:.8rem}button,select,input{font:inherit}button{min-height:44px;border:1px solid #b1c2b3;border-radius:9px;background:#fffefa;color:var(--ink);padding:11px 16px;font-weight:700;cursor:pointer}button:hover:not(:disabled){background:#e9f1e7;border-color:#668570}button.primary{background:var(--green);color:#fff;border-color:var(--green)}button.primary:hover:not(:disabled){background:#0f392b}button:disabled{opacity:.48;cursor:not-allowed;border-style:dashed}button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #b5750d;outline-offset:4px}select,input[type=number]{min-height:44px;border:1px solid #b7c6b6;border-radius:8px;padding:9px;background:#fffefa;color:var(--ink);max-width:100%}input[type=number]{width:115px}.setup{display:flex;flex-wrap:wrap;align-items:end;gap:16px;margin-bottom:24px;padding:24px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 5px 18px #243c2510}.setup label{display:grid;gap:7px;font-size:.85rem;font-weight:700}.mode-help{flex-basis:100%;margin:0;font-size:.85rem;color:var(--muted);line-height:1.5}.setup-active{padding:16px 20px;gap:12px 18px}.table-status{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;justify-content:space-between;gap:28px;background:#123e30;color:#fdf9eb;border:1px solid #0c3024;border-radius:20px;padding:28px;box-shadow:0 7px 22px #173b2320}.table-status>div:first-child{flex:1;min-width:0}.table-status .eyebrow,.table-status small{color:#d5e3d5}.table-status h2{font-size:clamp(1.7rem,3vw,2.1rem)}.table-status h2:focus-visible{outline-color:#edd289}.round-meta{font-size:.78rem;color:#c6d8c9;line-height:1.5}.direction{display:inline-block;padding:8px 12px;border:1px solid #ffffff38;border-radius:30px;background:#ffffff0d;font-size:.85rem;font-weight:700;margin-right:8px}.countdown{display:inline-block;font-size:.9rem;font-weight:800;color:#173929;background:#f5eac8;padding:9px 13px;border-radius:8px;font-variant-numeric:tabular-nums}.countdown.urgent{color:#8b251d;background:#ffe1d5;border:2px solid #dc9179;padding:7px 11px}.countdown-help{font-size:.82rem;color:#d5e3d5;line-height:1.5}.next-starter{font-size:.9rem;font-weight:700}.winner{font-size:1.2rem;color:#f2d795;font-weight:750;margin:8px 0 0}.piles{grid-column:2;justify-self:center;max-width:100%;display:flex;justify-content:center;gap:28px;flex-shrink:0;padding:22px;background:#ffffff08;border:1px solid #ffffff1c;border-radius:16px}.pile{display:grid;align-content:start;justify-items:center;gap:9px;max-width:160px;text-align:center;font-size:.8rem}.pile strong{font-size:.85rem}.pile small{font-size:.72rem;line-height:1.4}.piles .card-face,.piles .card-back{width:84px;height:120px}.active-suit{padding:6px 8px;border-radius:6px;background:#fff7dc;color:#153a28!important;font-weight:750}.active-suit.red-suit{color:#9c2935!important}.card-face,.card-back{position:relative;display:block;width:74px;height:108px;border-radius:9px;border:1px solid #c4cabc;background:#fffef7;color:#16382b;box-shadow:0 3px 6px #18362615}.card-corner{position:absolute;top:6px;left:7px;display:grid;justify-items:center;font-size:1.12rem;font-weight:850;line-height:1;gap:2px}.card-corner>span:last-child{font-size:.85rem}.card-corner-bottom{top:auto;left:auto;bottom:6px;right:7px;transform:rotate(180deg)}.suit-symbol{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:2.25rem;line-height:1}.red-card,.red-suit{color:#aa2c3a}.black-suit{color:#193a2c}.card-back{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff7da;font-size:.85rem;font-weight:800;letter-spacing:.1em;text-align:center;background:repeating-linear-gradient(45deg,#285940 0,#285940 3px,#214c37 3px,#214c37 7px);border-color:#d5c891;padding:9px}.card-back:after{content:"";position:absolute;top:5px;right:5px;bottom:5px;left:5px;border:1px solid #e1d99c85;border-radius:5px;pointer-events:none}.special-status{color:#402e10;background:#f9e6b0;border-left:4px solid #d3ab42;padding:12px 14px;margin-top:6px;border-radius:8px;font-size:.87rem;font-weight:650;line-height:1.5}.notice{color:#365841;padding:12px 15px;border-left:3px solid #8bad8d;background:#e8eee3;border-radius:0 8px 8px 0;margin:16px 0;font-size:.86rem;line-height:1.5}.error{color:#792a26;background:#ffebe5;padding:14px 16px;border:1px solid #e4b7aa;border-left:4px solid #ab4538;border-radius:8px;font-size:.9rem;line-height:1.5}.play-area{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start}.play-area.can-interact{grid-template-columns:minmax(0,1fr)}.hands{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.hands:has([data-controller=HUMAN])>[data-controller=HUMAN]{grid-column:1;grid-row:1 / span 4}.hands:has([data-controller=HUMAN])>[data-controller=AI]{grid-column:2;grid-row:auto}.player-hand{min-width:0;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fffefa}.current-hand{border:2px solid #457957;background:#fff}.can-interact .current-hand{box-shadow:0 4px 18px #2c542e12}.player-hand header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.player-hand header h3{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:0;font-size:.98rem}.player-hand header>span{font-size:.8rem;color:#4b6551;font-weight:650}.seat-marker{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#e7ece1;color:#385844;font-size:.75rem}.current-hand .seat-marker{background:#1d583e;color:#fff}.player-hand[data-eliminated=true]{background:#eeece6;border-style:dashed;color:#596157}.player-hand[data-winner=true]{border-color:#b59238;background:#fff5d6}.hand-cards{display:flex;flex-wrap:wrap;gap:10px;align-items:start}.hand-card{position:relative;display:block;padding:0;border:2px solid transparent;border-radius:11px;background:transparent;min-height:0}.hand-card:hover:not(:disabled){background:#e9f1e7;border-color:#7ca485}.hand-card.legal-card:not(.selected){border-bottom:3px solid #488557}.hand-card.selected{border:2px solid #ab741b;box-shadow:0 0 0 3px #f1d993}.hand-card.selected .card-face{background:#fff9df}.hand-card:disabled{opacity:1;border-style:dashed;cursor:not-allowed}.selection-number{position:absolute;top:-8px;right:-8px;display:flex;align-items:center;justify-content:center;background:#925d0e;color:#fff;border:2px solid #fffdf4;border-radius:50%;width:27px;height:27px;font-size:.8rem;font-weight:800}.player-hand:not(.current-hand) .hidden-card{width:42px;height:60px;font-size:.54rem;letter-spacing:.05em;padding:5px}.player-hand:not(.current-hand) .hidden-card:after{top:3px;right:3px;bottom:3px;left:3px}.action-panel{min-width:0;padding:20px;background:#fff;border:1px solid var(--line);border-radius:14px}.action-panel{grid-column:1;grid-row:2;margin:0}.action-panel h3{margin-bottom:14px}.hint,small{color:var(--muted)}.hint{font-size:.82rem;line-height:1.5}.selected-order{display:grid;list-style:none;counter-reset:selected-cards;gap:8px;margin:0 0 15px;padding:0}.selected-order li{display:flex;align-items:center;gap:4px;background:#f1f3e9;border:1px solid #e1e7d8;border-radius:8px;padding:7px}.selected-order li:before{counter-increment:selected-cards;content:counter(selected-cards) ".";color:#5e705d;font-size:.8rem}.selected-order strong{margin-right:auto;padding:0 6px}.selected-order button{min-height:40px;min-width:40px;padding:5px}.action-buttons{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}.action-buttons button{flex:1 1 auto;font-size:.88rem}.action-buttons .primary{flex-grow:2}.suit-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border:1px solid #ceddcb;border-radius:10px;padding:12px;margin:16px 0;min-width:0}.suit-picker legend{padding:0 5px;font-weight:700;font-size:.9rem}.suit-picker button{display:flex;align-items:center;justify-content:space-between;gap:5px;padding:10px;font-size:.87rem;min-width:0}.suit-picker button[aria-pressed=true]{background:#e4ecd7;border:2px solid #426941;padding:9px}.suit-check{width:12px;flex-shrink:0;font-weight:850;color:#264d30}.suit-selection{grid-column:1 / -1;font-size:.78rem;margin:3px 0 0;line-height:1.5;color:#3d5945}.declaration{display:flex;align-items:center;gap:12px;margin-top:14px;padding:13px;border-radius:10px;border:1px solid #d6d3bc;background:#f8f4e8;cursor:pointer;font-size:.9rem}.declaration[data-armed=true]{border:2px solid #578255;background:#ebf1dd;padding:12px}.declaration input{flex:0 0 auto;width:22px;height:22px;accent-color:#275d3e;margin:0}.declaration strong,.declaration small{display:block}.declaration small{font-weight:400;font-size:.77rem;margin-top:5px;line-height:1.4}.handover{margin:18px 0;padding:28px;border:2px solid #68866a;background:#fffdf4;border-radius:16px;text-align:center}.handover h2{margin-top:9px;font-size:clamp(1.4rem,3vw,1.9rem)}.handover p{font-size:.86rem;color:var(--muted)}.handover-instruction{font-weight:750}.handover button{min-width:240px;max-width:100%;margin-top:5px}.round-results{min-width:0;margin:18px 0;padding:24px;background:#fffefa;border:1px solid #dddecf;border-radius:16px;color:var(--ink)}.round-results>p{font-size:.88rem;line-height:1.5}.result-champion{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:16px;margin:16px 0;border-radius:10px;background:#e7eddb}.result-champion span{font-size:.74rem;text-transform:uppercase;font-weight:750;letter-spacing:.08em;color:#456145}.result-champion strong{font-size:1.6rem}.results-scroll{overflow-x:auto;border:1px solid #dce2d5;border-radius:10px;margin:16px 0}.results-scroll table{width:100%;min-width:680px;border-collapse:collapse;text-align:left}.results-scroll th,.results-scroll td{padding:13px 12px;border-bottom:1px solid #e1e5d9;vertical-align:middle}.results-scroll thead{background:#edf0e5;font-size:.76rem;color:#475d48}.results-scroll tbody{font-size:.9rem}.results-scroll .winner-result{background:#f6efd1}.results-scroll .eliminated-result{color:#62685b;background:#f0eee8}.results-scroll .result-total{font-size:1.15rem;font-weight:800;color:#284d33}.results-scroll tr:last-child>*{border-bottom:0}.results-scroll-help{display:none;color:var(--muted)}.round-results details{border-top:1px solid var(--line);margin-top:12px;padding-top:7px}.round-results details .hand-cards{margin:10px 0}summary{cursor:pointer;min-height:44px;padding:10px 0;font-size:.9rem}.debug{margin:24px 0;padding:12px 18px;border:1px dashed #adb8aa;border-radius:10px;color:#546350;font-size:.85rem;background:#eeeee6}.debug summary:before{content:"DEV";font-size:.62rem;font-weight:800;letter-spacing:.1em;padding:4px 6px;border-radius:4px;margin-right:8px;background:#d9dfd3;color:#40503b}.debug pre{overflow-wrap:anywhere;white-space:pre-wrap;font-size:.75rem;background:#e1e5d9;padding:14px;border-radius:8px}.debug p{font-size:.8rem;line-height:1.5;margin-top:12px}.debug label{display:flex;gap:10px;align-items:center;padding:8px 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.seat-controls{display:flex;flex-wrap:wrap;gap:.75rem;border:1px solid var(--border, #cbd5c5);border-radius:.6rem;padding:.75rem}.seat-controls>.difficulty-help{flex-basis:100%}.seat-controls legend{font-weight:700}.seat-controls{flex:1 1 100%;min-width:0}.seat-setup{flex:1 1 160px;min-width:0;max-width:100%;border:1px solid var(--line);border-radius:12px;padding:12px;display:grid;gap:12px;align-content:start}.seat-setup select{width:100%;min-width:0}.difficulty-help{margin:0;color:var(--muted);font-size:.85rem;line-height:1.5;font-weight:400}.ai-badge{display:inline-block;margin-inline-start:.5rem;padding:.15rem .45rem;border-radius:1rem;background:var(--ivory, #f1f2e8);font-size:.75rem;font-weight:600;white-space:nowrap}.turn-guidance{font-weight:650;max-width:54ch;line-height:1.6}.player-hand[data-current=true]{outline:2px solid var(--green);outline-offset:2px;background:#f5faf4}.player-hand[data-eliminated=true]{border-style:dashed;background:#eeeee8}.piles .pile:has(.active-suit){padding:14px;border:2px solid #8b9f85;border-radius:14px;background:#fffdf5}.active-suit{font-size:1rem;font-weight:750}.special-status{border-inline-start:5px solid #95641b;background:#fff1cc;padding:14px;font-weight:700;line-height:1.6}.recent-action{border-radius:8px;line-height:1.7;overflow-wrap:anywhere}.hand-card:disabled{background:#eeeee8;border-color:#9baba1}.hand-card:disabled .card-face{background:#f7f7f1}.hand-card.selected:after{content:"Selected";display:block;font-size:.7rem;font-weight:700}.declaration-reminder{border-inline-start:3px solid #95641b;padding-inline-start:10px;line-height:1.5}.piles .pile:has(.active-suit)>strong{color:#153a28}.setup-options{flex:1 1 100%;min-width:0}.setup-options>summary{font-weight:750}.setup-fields{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.setup-active{padding:10px 16px;gap:8px 16px;margin-bottom:12px}.setup-active .setup-options{flex:1 1 200px}.local-game-active .app-header{margin-bottom:12px}.local-game-active .app-header h1{font-size:1.5rem}.local-game-active .app-header p{display:none}.hands{align-items:start}.human-cards{display:grid;grid-auto-flow:column;grid-template-rows:repeat(2,132px);grid-auto-columns:78px;justify-content:start;gap:10px;overflow-x:auto;padding:12px;margin:-4px -6px 0;overscroll-behavior-inline:contain;scrollbar-color:#668570 #e8eee3}.human-cards:has(.hand-card:nth-child(-n+5):last-child){grid-template-rows:132px}.hand-scroll-help{font-size:.75rem;line-height:1.4;margin:6px 0;color:var(--muted)}.player-hand .action-panel{padding:12px 0 0;margin-top:8px;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent}.action-panel h3{margin-bottom:8px}.action-panel>p{font-size:.85rem}.selected-order{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));max-height:240px;overflow:auto;padding:8px}.selected-order button{min-width:44px;min-height:44px}.selected-order strong{padding:0}.player-hand[data-controller=AI] .hidden-card{width:32px;height:46px;padding:4px;font-size:.45rem;flex-shrink:0}.player-hand[data-controller=AI] .hand-cards{flex-wrap:nowrap;overflow:hidden}.player-hand[data-controller=AI]{padding:12px}.player-hand[data-controller=AI] header{margin-bottom:10px}.table-status{padding:18px;gap:18px}.table-status h2{font-size:clamp(1.3rem,2.5vw,1.8rem)}.piles{padding:10px;gap:12px}.piles .pile:has(.active-suit){padding:10px}.recent-action,.ai-thinking{margin:10px 0;padding:8px 12px;line-height:1.5}.results-scroll{padding:4px}@media (max-width: 1000px){.human-cards:has(.hand-card:nth-child(-n+5):last-child){grid-template-rows:repeat(2,132px)}.human-cards:has(.hand-card:nth-child(-n+3):last-child){grid-template-rows:132px}main{padding:20px}.table-status{grid-template-columns:minmax(0,1fr);gap:12px;padding:16px}.piles{grid-column:1;padding:8px;gap:8px}.player-hand{padding:12px}.seat-setup{flex-basis:140px}}@media (max-width: 760px){main{padding:14px}.app-header{margin-bottom:12px}.setup{padding:12px;gap:10px}.setup-fields{gap:10px}.setup label{min-width:0;flex:1 1 110px}.setup select{min-width:0;width:100%}.seat-setup{flex-basis:100%;grid-template-columns:repeat(2,minmax(0,1fr));padding:8px;gap:8px}.seat-setup .difficulty-help{grid-column:1 / -1;font-size:.75rem}.seat-controls{padding:8px;gap:8px}.difficulty-help{font-size:.78rem}.setup-active{padding:8px 12px}.setup-active .setup-options{flex:1 1 120px}.setup-active>button{font-size:.8rem;padding:10px}.setup-active .mode-help{font-size:.72rem}.local-game-active .app-header .eyebrow{display:none}.local-game-active .app-header h1{font-size:1.15rem;margin:0}.table-status{display:grid;grid-template-columns:minmax(0,1fr);padding:14px;gap:8px;border-radius:14px}.table-status h2{font-size:1.25rem;margin-bottom:6px}.table-status p{margin-bottom:6px}.round-meta{font-size:.7rem;line-height:1.35}.turn-guidance{font-size:.85rem;line-height:1.4}.direction,.countdown{padding:6px 8px;font-size:.75rem}.special-status{padding:8px 10px;font-size:.8rem;line-height:1.4}.piles{border:0;background:transparent;padding:0;justify-content:space-between;align-items:center}.piles>.pile:first-child{gap:4px;max-width:100px}.piles>.pile:first-child>.card-back{display:none}.piles .pile:has(.active-suit){grid-template-columns:58px minmax(0,1fr);max-width:210px;gap:4px 8px;padding:8px}.piles .card-face{width:58px;height:84px;grid-row:1 / 3}.piles .pile:has(.active-suit) strong{font-size:.72rem}.active-suit{font-size:.85rem;padding:4px}.play-area,.play-area.can-interact{display:block}.hands{display:flex;flex-direction:column;gap:12px}.player-hand{width:100%;padding:12px}.player-hand header{margin-bottom:8px;gap:6px}.player-hand header h3{font-size:.85rem;gap:4px}.player-hand header>span{font-size:.75rem}.player-hand[data-controller=AI]{padding:10px 12px}.player-hand[data-controller=AI] .hidden-card{width:22px;height:32px;padding:2px;font-size:.32rem}.player-hand[data-controller=AI] .hidden-card:after{top:2px;right:2px;bottom:2px;left:2px}.ai-badge{margin-inline-start:0;font-size:.7rem}.human-cards{grid-auto-columns:72px;grid-template-rows:repeat(2,120px);gap:8px}.human-cards:has(.hand-card:nth-child(-n+5):last-child){grid-template-rows:repeat(2,120px)}.human-cards:has(.hand-card:nth-child(-n+3):last-child){grid-template-rows:120px}.card-face,.card-back{width:68px;height:98px}.round-results{padding:14px;margin:12px 0}.results-scroll-help{display:block;font-size:.8rem}.result-champion{padding:12px}.recent-action,.ai-thinking{font-size:.78rem}.action-buttons{margin-top:10px}.suit-picker,.suit-picker button{padding:8px}}@media (max-width: 380px){main{padding:12px}.table-status{padding:10px}.piles{gap:6px}.piles .pile:has(.active-suit){max-width:180px;grid-template-columns:54px minmax(0,1fr);padding:6px}.piles .card-face{width:54px;height:80px}.active-suit{font-size:.78rem}.action-buttons button,.player-hand{padding:10px}}.last-card-badge{display:inline-flex;align-items:center;gap:4px;margin-inline-start:8px;padding:4px 8px;border:1px solid #a66c12;border-radius:20px;background:#fff1cc;color:#63400c;font-size:.7rem;font-weight:800;white-space:nowrap}.piles,.player-hand{position:relative}.player-hand{transition:border-color .18s ease-out,background-color .18s ease-out,box-shadow .18s ease-out}.game-feel{pointer-events:none;-webkit-user-select:none;user-select:none}.play-motion,.player-motion{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;border-radius:inherit;z-index:2}.motion-play-card{position:absolute;left:62%;top:12%;--travel: -32px;animation:card-play .34s ease-out var(--stagger) both;margin-inline-start:var(--stack)}.play-motion[data-source=AI] .motion-play-card{--travel: 32px}.turn-arrive,.play-source,.draw-source{position:absolute;top:3px;right:3px;bottom:3px;left:3px;border:2px solid #c5a047;border-radius:inherit;animation:turn-arrive .32s ease-out both}.play-source{border-color:#648e72;animation-duration:.26s}.draw-source{top:8px;right:52%;bottom:8px;left:8px;animation-duration:.3s}.draw-motion,.skip-resolve{position:absolute;bottom:8px;right:10px;display:flex;gap:5px;align-items:center;padding:4px 8px;border-radius:8px;background:#fff1cc;color:#63400c;font-size:.7rem;font-weight:800;--travel: -24px;animation:card-draw .36s ease-out both}.player-motion[data-source=HUMAN] .draw-motion{--travel: 24px}.motion-back{display:inline-grid;place-items:center;width:24px;height:34px;border:1px solid #d6c38a;border-radius:4px;background:#124f3d;color:#fff1cc;font-size:.35rem}.skip-resolve{animation:skip-resolve .42s ease-out both}.cancellation-motion{position:absolute;bottom:8px;left:8px;right:8px;z-index:3;padding:6px;border-radius:8px;background:#e5f2df;color:#174935;text-align:center;font-size:.75rem;font-weight:800;animation:skip-resolve .44s ease-out both}[data-motion=penalty-emphasis]{animation:penalty-emphasis .38s ease-out both}[data-motion=penalty-emphasis][data-penalty=BLACK_FIVE]{animation-duration:.44s}[data-motion=direction-change]{animation:direction-change .32s ease-out both}[data-motion=suit-change]{animation:suit-change .28s ease-out both}.last-card-badge{animation:last-card-enter .24s ease-out both}[data-motion=round-winner]{animation:round-winner .38s ease-out both}[data-motion=match-winner]{animation:match-winner .5s ease-out both}@keyframes card-play{0%{opacity:0;transform:translate(var(--travel)) scale(.96)}25%{opacity:1}75%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(0) scale(1)}}@keyframes card-draw{0%{opacity:0;transform:translate(var(--travel))}30%{opacity:1}75%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(0)}}@keyframes turn-arrive{0%{opacity:0}30%{opacity:1}to{opacity:0}}@keyframes penalty-emphasis{0%{box-shadow:inset 0 0 0 2px #e4b744}40%{box-shadow:inset 0 0 0 3px #e4b744}to{box-shadow:inset 0 0 0 0 transparent}}@keyframes direction-change{0%{transform:rotate(-4deg);background-color:#c5a04755}to{transform:rotate(0)}}@keyframes suit-change{0%{opacity:.65;box-shadow:0 0 0 2px #c5a047}to{opacity:1;box-shadow:0 0 0 0 transparent}}@keyframes skip-resolve{0%{opacity:0}25%,70%{opacity:1}to{opacity:0}}@keyframes last-card-enter{0%{opacity:.65;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes round-winner{0%{opacity:.7;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes match-winner{0%{opacity:.65;transform:translateY(8px);box-shadow:0 0 0 2px #c5a047}to{opacity:1;transform:translateY(0);box-shadow:0 0 0 0 transparent}}@media (max-width: 760px){.motion-play-card{--travel: -8px}.play-motion[data-source=AI] .motion-play-card,.draw-motion,.player-motion[data-source=HUMAN] .draw-motion{--travel: 8px}}@media (prefers-reduced-motion: reduce){.game-feel{display:none!important}.player-hand{transition:none!important}[data-motion],.last-card-badge{animation:none!important;transform:none!important}}.audio-controls{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem 1rem;width:fit-content;max-width:100%;padding:.5rem .75rem;margin:.5rem 0 0;border:1px solid #93aa9b;border-radius:.65rem;font-size:.85rem}.audio-controls legend{padding:0 .3rem;font-size:.75rem}.audio-controls label{display:flex;align-items:center;gap:.4rem;margin:0}.audio-controls input[type=checkbox]{width:1.2rem;height:1.2rem;min-height:0;margin:0}.audio-controls input[type=range]{width:6rem;min-height:2rem;padding:0;margin:0;accent-color:#c5a047}.audio-controls output{min-width:2.5rem;font-variant-numeric:tabular-nums}@media (max-width: 390px){.audio-controls{gap:.25rem;padding:.3rem .5rem}.audio-controls label{font-size:.8rem}.audio-controls input[type=range]{width:5rem}}.statistics-panel{min-width:0;margin-bottom:24px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fffefa;overflow-wrap:anywhere}.statistics-panel>details>summary{cursor:pointer;font-weight:700}.statistics-panel h2{margin-top:18px}.statistics-totals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.statistics-totals dd{margin:4px 0 0;font-size:1.3rem;font-weight:700}.statistics-modes,.statistics-history{padding-left:20px}.statistics-history>li{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--line)}.statistics-history time{display:block;color:var(--muted);margin-bottom:6px}.statistics-history summary{cursor:pointer}.statistics-panel button{max-width:100%;margin:4px 8px 4px 0;white-space:normal}.rules-help{margin-bottom:20px;min-width:0}#rules-help-panel{margin-top:12px;padding:20px;border:1px solid var(--line);border-radius:16px;background:#fffefa;overflow-wrap:anywhere}#rules-help-panel p,#rules-help-panel li{max-width:75ch;line-height:1.6}.help-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.help-toolbar h2{margin:0}.help-provenance{color:var(--muted);font-size:.85rem}.help-search{display:grid;gap:8px;font-weight:700;margin-bottom:12px}.help-search input{width:100%;min-width:0;min-height:44px;padding:10px;border:1px solid #b7c6b6;border-radius:8px}.help-scroll{max-height:65vh;overflow:auto;overscroll-behavior:contain;padding:6px;margin:12px 0}.help-scroll nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.help-scroll nav button{text-align:left;max-width:100%}.help-scroll details{border-top:1px solid var(--line);padding:12px 0}.help-scroll summary{cursor:pointer;font-weight:750;min-height:44px;padding:10px 0}.help-scroll h3{margin-top:12px}.help-quick ul{padding-left:20px}.help-quick li{margin-bottom:12px}.help-quick button{text-align:left}.help-scroll table{width:100%;border-collapse:collapse;margin:12px 0;table-layout:fixed}.help-scroll caption{text-align:left;font-weight:700;margin-bottom:8px}.help-scroll td,.help-scroll th{border:1px solid var(--line);padding:8px;text-align:left;overflow-wrap:anywhere}@media (max-width: 600px){#rules-help-panel{padding:12px}.help-scroll nav{display:grid;grid-template-columns:minmax(0,1fr)}}.table-status.active-status{grid-template-columns:minmax(0,1fr);justify-items:center;gap:13px;padding:20px;text-align:center}.active-status>div:first-child,.active-status .status-guidance{width:100%;max-width:760px;min-width:0}.active-status h2{margin:3px 0 10px}.active-status .eyebrow{font-size:.85rem;font-weight:850}.active-status .match-status-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 16px;min-width:0}.active-status .match-status-row p{margin:0}.active-status .direction{margin-right:0}.active-status .countdown{border:1px solid transparent}.active-status .countdown.warning{color:#654408;background:#ffefc3;border-color:#d9bc70}.active-status .countdown.urgent{color:#81271e;background:#ffe1d5;border:1px solid #dc9179;padding:9px 13px}.active-status .piles{grid-column:1;justify-content:center;align-items:center;width:fit-content;max-width:100%;gap:18px;padding:10px}.active-status .piles>.draw-pile{max-width:130px}.active-status .piles>.draw-pile>.card-back{display:block;width:80px;height:116px}.active-status .piles .active-card-pile{display:grid;grid-template-columns:minmax(0,1fr);max-width:190px;padding:12px;gap:8px}.active-status .active-card-pile>.card-face{grid-row:auto;width:92px;height:132px}.active-status .active-card-pile>strong{font-size:.85rem}.active-status .turn-guidance{margin:0}.active-status .draw-guidance{margin:4px 0 0;font-size:.85rem;color:#d5e3d5}@media (max-width: 600px){.table-status.active-status{padding:12px;gap:10px}.active-status .match-status-row{gap:8px}.active-status .match-status{flex-basis:100%}.active-status .piles{gap:12px;padding:0}.active-status .piles .active-card-pile{padding:8px}.active-status .active-card-pile>.card-face{width:78px;height:112px}.active-status .piles>.draw-pile>.card-back{width:72px;height:104px}.active-status .countdown.urgent{padding:6px 8px}}@media (max-width: 380px){.table-status.active-status{padding:10px}.active-status .piles{gap:12px}}.recent-action{padding:6px 12px;margin:10px 0;line-height:1.45;border-inline-start-width:2px}.player-hand .action-panel{padding-top:8px;margin-top:6px}.player-hand .action-panel .eyebrow{margin-bottom:4px}.player-hand .action-panel h3{margin:4px 0 6px}.player-hand .action-panel>p{margin:6px 0}.player-hand .selected-order{margin-bottom:10px;padding:6px}.player-hand .action-buttons{margin-top:10px}.action-buttons .clear-action:not(:disabled){background:transparent;color:var(--muted);border-color:var(--line)}.action-buttons .draw-action:not(:disabled){background:#edf3e8;color:#153a28;border-color:#668570;font-weight:750}.hand-card.legal-card:not(:disabled):not(.selected){border-style:solid;border-bottom-width:3px}.player-hand[data-controller=AI]{padding:14px}.player-hand[data-controller=AI]:not(.current-hand):not([data-winner=true]):not([data-eliminated=true]){border-color:#b8c9b8}.player-hand[data-controller=AI] header{margin-bottom:12px;gap:8px}.player-hand[data-controller=AI] .hand-cards{align-items:center;gap:8px}@media (max-width: 600px){.player-hand[data-controller=AI]{padding:12px}}@media (min-width: 1025px){main.active-game-viewport{height:100dvh;max-width:1440px;padding:12px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto minmax(0,1fr);gap:8px 16px}.active-game-viewport>.app-header{grid-column:1;grid-row:1;display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0;margin:0}.active-game-viewport .app-header .eyebrow{display:none}.active-game-viewport .app-header h1{margin:0;font-size:1.2rem}.active-game-viewport .audio-controls{margin:0;padding:2px 8px 4px;gap:8px}.active-game-viewport>.setup-active{grid-column:2;grid-row:1;padding:0;margin:0;border:0;background:transparent;box-shadow:none}.active-game-viewport .setup-active .mode-help{display:none}.active-game-viewport>.active-table-shell{grid-column:1 / -1;min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:8px}.active-game-viewport .table-status.active-status{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;padding:12px 18px;gap:16px}.active-game-viewport .active-status>div:first-child{justify-self:start;text-align:left}.active-game-viewport .active-status h2{font-size:1.5rem}.active-game-viewport .match-status-row{justify-content:flex-start;gap:8px}.active-game-viewport .match-status{flex-basis:100%}.active-game-viewport .active-status .piles{grid-column:2;padding:6px;gap:16px}.active-game-viewport .status-guidance{grid-column:3}.active-game-viewport .special-status{padding:8px;margin:10px 0 0;font-size:.85rem;line-height:1.4}.active-game-viewport .table-feedback{min-height:0;max-height:48px;overflow-y:auto}.active-game-viewport .table-feedback p{margin:0;padding:4px 10px;font-size:.8rem}.active-game-viewport .play-area{min-height:0;align-items:stretch}.active-game-viewport .hands{min-height:0;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-template-rows:repeat(3,minmax(0,1fr));gap:10px;align-items:stretch}.active-game-viewport .hands:has([data-controller=HUMAN]){grid-template-rows:repeat(4,minmax(0,1fr))}.active-game-viewport .hands[data-player-count="2"]:has([data-controller=HUMAN]){grid-template-rows:minmax(0,1fr)}.active-game-viewport .hands[data-player-count="3"]:has([data-controller=HUMAN]){grid-template-rows:repeat(2,minmax(0,1fr))}.active-game-viewport .hands[data-player-count="4"]:has([data-controller=HUMAN]){grid-template-rows:repeat(3,minmax(0,1fr))}.active-game-viewport .hands>.player-hand{min-height:0;padding:12px}.active-game-viewport .hands:has([data-controller=HUMAN])>[data-controller=HUMAN]{grid-row:1 / -1;display:flex;flex-direction:column}.active-game-viewport .hand-content>header{flex-shrink:0;margin-bottom:8px;gap:6px}.active-game-viewport .human-cards{flex:0 1 auto;min-height:156px;max-height:none;overflow-y:auto;margin-bottom:0}.active-game-viewport .hand-scroll-help{flex-shrink:0;margin:2px 0}.active-game-viewport .player-hand .action-panel{display:flex;flex-direction:column;flex:1;min-height:124px;margin-top:4px;padding-top:6px}.active-game-viewport .action-options{flex:1;min-height:0;overflow-y:auto;padding:4px 6px;scrollbar-gutter:stable}.active-game-viewport .action-options>p{margin:4px 0;font-size:.85rem}.active-game-viewport .action-buttons{flex:0 0 auto;margin-top:6px}.active-game-viewport .action-buttons button{min-height:44px}.active-game-viewport .player-hand[data-controller=AI]{max-height:144px;align-self:start;height:100%;display:flex;flex-direction:column}.active-game-viewport .player-hand[data-controller=AI] .hand-cards{min-height:0;flex-shrink:0}.active-game-viewport .last-card-badge{margin-inline-start:4px;padding:2px 6px}.active-game-viewport .debug{display:none}}@media (min-width: 1025px) and (max-height: 820px){main.active-game-viewport{padding:8px;gap:6px 12px}.active-game-viewport>.active-table-shell{gap:6px}.active-game-viewport .table-status.active-status{padding:8px 14px;gap:12px}.active-game-viewport .active-status .piles .active-card-pile{padding:8px;gap:6px}.active-game-viewport .hands{gap:6px}.active-game-viewport .player-hand[data-controller=AI]{padding:8px 10px;max-height:116px}.active-game-viewport .player-hand[data-controller=AI] .hidden-card{width:26px;height:38px;font-size:.36rem}}@media (min-width: 1025px) and (max-height: 740px){.active-game-viewport .table-status.active-status{padding:6px 12px}.active-game-viewport .active-status .piles{padding:4px}.active-game-viewport .player-hand[data-controller=AI]{padding:6px 8px}.active-game-viewport .player-hand[data-controller=AI] .hidden-card{width:24px;height:34px}}@media (min-width: 1025px){.active-game-viewport .action-panel:has(.selected-order){min-height:150px}.active-game-viewport .action-panel:has(.suit-picker){min-height:158px}.active-game-viewport .action-options:has(.suit-picker){display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-auto-rows:min-content;align-content:start;column-gap:10px}.active-game-viewport .action-options:has(.suit-picker)>*{grid-column:1}.active-game-viewport .action-options:has(.suit-picker)>.suit-picker{grid-column:2;grid-row:1 / span 5;align-self:start;margin:0;padding:4px;gap:6px}.active-game-viewport .action-options:has(.suit-picker) .selected-order{margin:0;padding:0}.active-game-viewport .action-options:has(.suit-picker) .selected-order li{padding:3px}.active-game-viewport .action-options:has(.suit-picker) .suit-picker button{min-height:44px;padding:6px}.active-game-viewport .action-options:has(.suit-picker)>.declaration,.active-game-viewport .action-options:has(.suit-picker)>.declaration-reminder{grid-column:1 / -1}}@media (min-width: 1025px){.active-game-viewport .action-options:has(.suit-picker)>.suit-picker{grid-template-columns:repeat(4,minmax(0,1fr))}.active-game-viewport .action-options:has(.suit-picker) .suit-picker button{flex-direction:column;justify-content:center;gap:0;font-size:.75rem;padding:4px 2px}.active-game-viewport .action-options:has(.suit-picker) .suit-check:empty{display:none}.active-game-viewport .action-options:has(.suit-picker) .suit-check{line-height:1}.active-game-viewport .action-options:has(.suit-picker) .suit-selection{margin:0;line-height:1.2;font-size:.7rem}}@media (min-width: 1025px){.active-game-viewport .action-options>.eyebrow,.active-game-viewport .hand-content>.hand-scroll-help{display:none}}@media (min-width: 1025px){.active-game-viewport .human-cards{padding-block:8px}.active-game-viewport .action-options>h3{margin:0 0 4px;font-size:1rem;line-height:1.2}.active-game-viewport .action-options>.selected-order{margin:0;padding:0}}main.results-game-viewport{max-width:760px;padding:12px;display:flex;flex-direction:column;gap:10px}.results-game-viewport>.results-table-shell{order:-1;display:block;min-width:0}.results-game-viewport [hidden]{display:none!important}.results-game-viewport .app-header{margin:0}.results-game-viewport .app-header>div{display:none}.results-game-viewport .setup-active{margin:0;padding:8px 12px}.results-game-viewport .setup-active .mode-help{display:none}.results-game-viewport .rules-help,.results-game-viewport .statistics-panel{margin:0;padding:8px 12px}.results-game-viewport .round-results{margin:0;padding:18px}.result-header{text-align:center;padding-bottom:10px;border-bottom:1px solid #d9e1d2}.result-header h2{margin:0;font-size:.8rem;text-transform:uppercase;letter-spacing:.12em}.result-header .result-winner{margin:8px 0 4px;color:#104d3d;font-size:clamp(1.5rem,5vw,2rem);font-weight:850;line-height:1.15}.result-header .result-winner-kind,.result-header .result-mode{margin:4px 0;font-size:.85rem}.result-summary h3{margin:12px 0 6px;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.result-standings{list-style:none;margin:0;padding:0}.result-standings li{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:44px;padding:6px 8px;border-bottom:1px solid #d9e1d2;font-size:.9rem}.result-standings li[data-human=true]{border-left:3px solid #547e67}.result-standings li[data-winner=true]{background:#e9eddd;border-radius:6px}.result-seat{font-weight:700}.result-identity{min-width:0;overflow-wrap:anywhere}.result-identity small{display:block;font-size:.65rem;letter-spacing:.06em;font-weight:750}.result-standings li[data-out=true] strong{color:#67726a;font-size:.8rem}.result-card,.result-target{margin:8px 0;font-size:.8rem}.result-disclosure{width:100%;min-height:44px;display:flex;justify-content:space-between;background:transparent;color:#164f40;border:1px solid #c5d1c2;padding:8px 10px;margin:8px 0}.result-next{margin-top:12px;text-align:center}.result-next .countdown{display:inline-block;margin:0;padding:10px 16px}.result-next-help{font-size:.75rem;margin:6px 0 0}.result-new-game{width:100%;min-height:44px;background:#154f3f;color:#fff;border-color:#154f3f}.result-tournament{width:100%;min-height:44px;margin-top:8px;background:transparent;color:#154f3f;border-color:#154f3f}.result-tournament:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.result-details{font-size:.8rem}.results-game-viewport .results-scroll table{min-width:0}@media (max-width: 600px){main.results-game-viewport{padding:8px;gap:8px}.results-game-viewport .round-results{padding:12px}.result-standings li{font-size:.8rem;gap:6px}.result-details .results-scroll{overflow:visible}.result-details table,.result-details tbody,.result-details tr,.result-details th,.result-details td{display:block;width:auto}.result-details thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.result-details tbody tr{padding:8px 0;border-bottom:1px solid #c5d1c2}.result-details td{display:flex;justify-content:space-between;padding:3px 6px}.result-details td:before{content:attr(data-label);font-weight:650;margin-right:12px}.result-details th{padding:6px}}.game-controls-menu:not(.phone-menu),.game-controls-menu:not(.phone-menu)>.game-controls-content{display:contents}.game-controls-menu:not(.phone-menu)>summary{display:none}@media (max-width: 600px){html:has(main.phone-game-viewport),body:has(main.phone-game-viewport),#root:has(>main.phone-game-viewport){height:min(100dvh,var(--app-visible-height, 100dvh));min-height:0}#root:has(>main.phone-game-viewport){overflow:hidden}main.phone-game-viewport{container:phone-game / size;transform:translateY(var(--app-visible-top, 0px));height:min(100dvh,var(--app-visible-height, 100dvh));min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:6px;padding:calc(8px + env(safe-area-inset-top)) 8px 0;min-width:0;overflow:hidden;overscroll-behavior-y:contain}.phone-game-viewport>.setup-active[hidden]{display:none}.phone-game-viewport>.app-header{display:flex;align-items:center;justify-content:space-between;margin:0;gap:8px}.phone-game-viewport .app-header h1{font-size:.85rem}.phone-menu{position:relative;z-index:20}.phone-menu>summary{min-height:44px;padding:10px 14px;border:1px solid var(--line);border-radius:9px;background:#fffefa;font-weight:750}.phone-menu>.game-controls-content{position:absolute;top:calc(100% + 4px);right:0;width:min(340px,calc(100vw - 16px));padding:12px;background:#fffefa;border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 24px #18392d30;max-height:calc(100dvh - 72px - env(safe-area-inset-top));overflow-y:auto;overscroll-behavior-y:contain}.phone-menu .audio-controls{display:flex;flex-direction:column;align-items:stretch;margin:0 0 8px;padding:8px;gap:8px}.phone-menu .audio-controls label{min-height:44px}.phone-menu .audio-controls input[type=range]{min-height:44px;min-width:0}.phone-menu .game-controls-content>button{width:100%;min-height:44px}.phone-table{display:grid;grid-template-rows:auto 56px 30px minmax(0,1fr);gap:4px;min-width:0;min-height:0}.phone-table .table-status.active-status{order:0;padding:4px;gap:4px;text-align:left}.phone-table .active-status>div:first-child{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 8px;max-width:none}.phone-table .active-status .eyebrow{grid-column:1;grid-row:1;margin:0;font-size:.65rem}.phone-table .active-status h2{grid-column:1;grid-row:1;margin:0;font-size:1rem;overflow-wrap:anywhere}.phone-table .phone-turn-label{font-size:.65rem;text-transform:uppercase;white-space:nowrap}.phone-table .active-status .match-status,.phone-table .active-status .direction{line-height:1.2}.phone-table .active-status .match-status-row{display:contents}.phone-table .active-status .countdown{grid-column:2;grid-row:1;align-self:center;font-size:.8rem;padding:4px 6px}.phone-table .active-status .match-status{grid-column:1;grid-row:2;font-size:.72rem}.phone-table .active-status .direction{grid-column:2;grid-row:2;padding:2px 0;border:0;background:transparent;font-size:.67rem}.phone-table .mobile-human-identity{grid-column:1 / -1;font-size:.72rem}.phone-table .special-status{grid-column:1 / -1;margin:3px 0 0;padding:6px;font-size:.75rem}.phone-table .active-status .piles{display:flex;justify-content:center;align-items:center;padding:0;gap:12px;border:0;background:transparent;max-width:100%}.phone-table .active-status .piles>.draw-pile{gap:4px;max-width:100px}.phone-table .active-status .piles>.draw-pile>.card-back{display:block;width:48px;height:70px;font-size:.65rem;letter-spacing:.02em}.phone-table .active-status .piles .active-card-pile{display:grid;grid-template-columns:70px minmax(0,1fr);grid-template-rows:1fr 1fr;align-items:center;padding:4px;gap:2px 6px;width:178px;max-width:100%}.phone-table .active-status .active-card-pile>.card-face{grid-column:1;grid-row:1 / -1;width:70px;height:100px}.phone-table .active-card-pile>strong{align-self:end}.phone-table .active-card-pile>.active-suit{align-self:start}.phone-table .piles strong{font-size:.72rem}.phone-table .active-suit{padding:3px 5px;font-size:.72rem}.phone-table .active-status .status-guidance{max-width:none;text-align:left}.phone-table .active-status .turn-guidance{font-size:.75rem;line-height:1.35;margin:0}.phone-table .active-status .draw-guidance{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.phone-table .table-feedback{order:3;min-height:0;overflow-y:auto;overscroll-behavior-y:contain}.phone-table .table-feedback p{margin:0;padding:1px 6px;font-size:.72rem;line-height:1.3}.phone-table .play-area{order:4;min-width:0;min-height:0;grid-template-rows:minmax(0,1fr);align-items:stretch}.phone-table .hands{display:block;min-width:0;min-height:0;height:100%}.phone-table .player-hand{display:grid;grid-template-rows:auto 120px auto minmax(0,1fr) auto auto;height:100%;min-height:0;padding:8px;min-width:0}.phone-table .hand-content>header{grid-row:1;gap:6px;margin:0 0 4px}.phone-table .hand-content>header h3{text-transform:uppercase;font-size:.72rem}.phone-table .hand-content>header>span{font-size:.7rem}.phone-table .human-cards,.phone-table .human-cards:has(.hand-card:last-child){grid-row:2;height:120px;min-height:0;max-height:120px;grid-template-rows:110px;grid-auto-flow:column;grid-auto-columns:66px;gap:8px;padding:5px 4px;margin:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior:contain;scrollbar-width:none;max-width:100%;scroll-padding-inline:8px;-webkit-overflow-scrolling:touch}.phone-table .human-cards::-webkit-scrollbar{display:none}.phone-table .human-cards .card-face{width:62px;height:90px}.phone-table .hand-scroll-help{grid-row:3;font-size:.65rem;margin:2px 0}.phone-table .player-hand .action-panel{display:contents}.phone-table .suit-picker{order:0;margin:0 0 4px;gap:4px;padding:4px;grid-template-columns:repeat(4,minmax(44px,1fr))}.phone-table .suit-picker .suit-check{min-width:0;width:auto;font-size:.75rem}.phone-table .suit-picker .suit-check:empty{display:none}.phone-table .suit-picker .suit-selection{grid-column:1 / -1;margin:0;font-size:.7rem}.phone-table .suit-picker button{justify-content:center;min-height:44px;min-width:44px;padding:4px;font-size:1.25rem}.phone-table .declaration{grid-row:5;padding:4px 6px;margin-top:4px;min-height:44px;font-size:.8rem}.phone-table .declaration small{margin-top:2px}.phone-table .action-buttons{grid-row:6;position:static;min-width:0;align-self:end;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr) minmax(0,1fr);gap:6px;margin:0;padding:8px 0 calc(8px + env(safe-area-inset-bottom));background:#f4f2eb;border-top:1px solid var(--line);box-shadow:0 -3px 12px #18392d15}.phone-table .action-buttons button{min-height:48px;padding:6px 4px;font-size:.75rem}.phone-table .debug{display:none}}@media (max-width: 600px) and (max-height: 740px){main.phone-game-viewport{padding-top:calc(4px + env(safe-area-inset-top));gap:4px}.phone-table{grid-template-rows:auto 56px 30px minmax(0,1fr);gap:0}.phone-table .table-status.active-status{padding:4px;gap:4px}.phone-table .player-hand{padding:2px 8px;grid-template-rows:auto 120px auto minmax(0,1fr) auto auto}.phone-table .human-cards,.phone-table .human-cards:has(.hand-card:last-child){height:120px;max-height:120px;padding-block:5px}.phone-table .suit-picker{order:-1}.phone-table .special-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);padding:0;margin:0}}@media (max-width: 600px){.mobile-turn-tracker{order:1;height:56px;min-width:0}.mobile-turn-tracker ol{display:grid;height:100%;gap:4px;list-style:none;margin:0;padding:0}.turn-seat{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;border:1px solid var(--line);border-radius:8px;background:#fffefa;color:#184438}.turn-seat strong{font-size:.8rem;line-height:16px}.turn-seat span{min-height:12px;font-size:.58rem;line-height:12px;white-space:nowrap}.turn-seat .turn-card-count{display:flex;align-items:center;gap:3px;min-height:16px;font-size:.75rem;line-height:16px;font-weight:700}.turn-seat .turn-last{min-height:0;padding:0 3px;border-radius:3px;background:#f6d785;color:#513604;font-size:.6rem;line-height:14px;font-weight:800}.turn-seat[data-next=true]{border-color:#9b751f;background:#fff4d5}.turn-seat[data-current=true]{border:2px solid #103e30;background:#14523f;color:#fffbed}.turn-seat[data-eliminated=true]{background:#eeeee6;color:#62685b}}@media (max-width: 600px) and (max-height: 740px){.phone-table .hand-scroll-help{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);margin:0}.phone-table .hand-content>header{margin-bottom:2px}}.hand-content{display:contents}@media (max-width: 600px){.phone-table .player-hand{grid-template-rows:minmax(0,1fr) auto auto auto}.phone-table .player-hand>.hand-content{display:block;grid-row:1;min-width:0;min-height:0;contain:size;overflow-y:auto;overscroll-behavior-y:contain}.phone-table .declaration{grid-row:3}.phone-table .action-buttons{grid-row:4}}@container phone-game (max-height: 740px){.phone-table{gap:0}.phone-table .player-hand{padding-block:2px}.phone-table .hand-scroll-help{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);margin:0}.phone-table .hand-content>header{margin-bottom:0}}@container phone-game (max-height: 640px){.phone-table{grid-template-rows:minmax(0,auto) 56px 30px minmax(min-content,1fr)}.phone-table .table-status{min-height:0;overflow:hidden}.phone-table .table-feedback{overflow:hidden}}@media (max-width: 600px){.card-face .card-corner>span:last-child,.card-face .card-corner-bottom{display:none}}@media (max-width: 600px){.phone-table .hand-content{display:contents}.phone-table .player-hand:has(.required-suit-choice){grid-template-rows:minmax(0,1fr) auto auto auto}.phone-table .player-hand:has(.required-suit-choice)>.hand-content{display:block;grid-row:1;min-width:0;min-height:0;overflow-y:auto;overscroll-behavior-y:contain}.phone-table .required-suit-choice{grid-row:2;order:0;min-width:0;margin:0;padding:2px 4px 4px;gap:4px;background:#f4f8ef}.phone-table .required-suit-choice legend{font-size:.75rem;line-height:16px}.phone-table .required-suit-choice .suit-selection{line-height:16px}.phone-table .player-hand:has(.required-suit-choice) .declaration{grid-row:3}.phone-table .player-hand:has(.required-suit-choice) .action-buttons{grid-row:4}}main.onboarding-shell{width:calc(100% - 32px);max-width:880px;margin:16px auto;border-radius:24px}main.onboarding-welcome{min-height:calc(100svh - 32px);padding:clamp(24px,5vw,64px);display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at top,#24654e,#103e30 65%);color:#fffbed;border:1px solid #49765e;box-shadow:0 12px 40px #18392d20;text-align:center}.welcome-content{width:100%;max-width:650px}.welcome-card-motif{height:100px;display:flex;justify-content:center;margin-bottom:30px}.welcome-card-motif span{width:64px;height:90px;padding-top:20px;border:1px solid #d1bd83;border-radius:9px;background:#fffbed;color:#123e30;font-family:Georgia,serif;font-size:2rem;box-shadow:0 6px 14px #0003;transform:rotate(-13deg)}.welcome-card-motif span+span{margin-left:-12px;transform:rotate(12deg) translateY(-4px)}.onboarding-welcome h1{font-size:clamp(3rem,9vw,5.5rem);letter-spacing:-.05em;margin:0 0 14px}.welcome-brand{display:block;font-size:clamp(1.125rem,1rem + .5vw,1.25rem);letter-spacing:.26em;margin-bottom:9px;color:#f0dca3}.welcome-tagline{color:#dbe8d9;line-height:1.55;margin-bottom:40px}.welcome-question{font-weight:700;font-size:1.15rem;margin-bottom:18px}.welcome-choices{display:grid;gap:12px;max-width:580px;margin:0 auto}.welcome-choices button{min-height:52px;font-size:.85rem;letter-spacing:.025em;padding:14px 12px}.welcome-experienced{background:#f0dca3;color:#123e30;border-color:#f0dca3}.welcome-new{color:#fffbed;background:#ffffff0a;border-color:#b7cfbd}.welcome-choices .welcome-new:hover{color:#123e30}.welcome-note{margin:30px 0 0;font-size:.8rem;color:#c7d9c9}main.onboarding-introduction{max-width:1120px;background:#fffefa;border:1px solid var(--line);padding:18px 20px;line-height:1.4;font-size:.9375rem}.intro-header{background:#103e30;color:#fffbed;padding:12px 16px;border-radius:12px;margin-bottom:14px}.intro-header .eyebrow{color:#f0dca3;line-height:1.4;margin-bottom:4px}.intro-header h1{font-size:1.9rem;margin:0 0 6px}.intro-header p{margin:0}.intro-basics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.intro-basics h2,.intro-specials h2,.intro-declarations h2{font-size:1rem;margin-bottom:6px}.intro-basics p{margin:0}.intro-specials{margin:14px 0}.intro-specials dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.intro-specials dl>div{background:#eff3e9;border:1px solid #d9e1d6;border-radius:9px;padding:10px 12px}.intro-specials dt{font-weight:800;margin-bottom:4px}.intro-specials dd{margin:0}.intro-declarations{padding:10px 12px;border-radius:9px;background:#fff3d3;border:1px solid #e7d4a1}.intro-calls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.intro-calls p,.intro-penalty{margin:0}.intro-calls strong,.intro-calls span{display:block}.intro-penalty{margin-top:8px;font-size:.875rem}.intro-footer{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:12px;align-items:start;margin-top:14px}.intro-footer .rules-help{margin:0}.intro-footer button{min-height:44px}.intro-footer>.primary{min-height:48px}.intro-footer:has(.rules-help>button[aria-expanded=true]) .rules-help{grid-column:1 / -1;grid-row:2}.intro-footer:has(.rules-help>button[aria-expanded=true])>.primary{grid-column:3}@media (max-width: 700px){main.onboarding-introduction{padding:14px;font-size:.875rem}.intro-header{padding:10px 12px}.intro-header h1{font-size:1.6rem}.intro-basics{grid-template-columns:minmax(0,1fr);gap:8px}.intro-basics h2{margin-bottom:2px}.intro-specials dl{grid-template-columns:repeat(2,minmax(0,1fr))}.intro-calls{grid-template-columns:minmax(0,1fr);gap:8px}.intro-footer{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.intro-footer button{width:100%;padding:10px 8px;font-size:.8rem}.intro-footer>.primary,.intro-footer:has(.rules-help>button[aria-expanded=true])>.primary{grid-column:1 / -1}.intro-footer:has(.rules-help>button[aria-expanded=true]) .rules-help{grid-row:3}}@media (max-width: 359px){.intro-specials dl{grid-template-columns:minmax(0,1fr)}}@media (min-width: 650px){.welcome-choices{grid-template-columns:1fr 1fr}}main.setup-screen{padding:16px 16px 4px}.setup-screen .app-header{display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:10px}.setup-screen .app-header h1{font-size:1.65rem;margin:4px 0 6px}.setup-screen .app-header p{font-size:.78rem;line-height:1.35;margin-bottom:4px}.setup-screen .app-header p:last-child{font-size:.72rem}.setup-screen .rules-help{margin-bottom:10px}.setup-screen .setup{padding:14px 16px;gap:8px;margin-bottom:12px}.setup-screen .setup-guidance{flex-basis:100%}.setup-screen .setup-guidance h2{font-size:1.2rem;margin-bottom:4px}.setup-screen .setup-guidance p{font-size:.85rem;line-height:1.4;margin:0}.setup-screen .setup-options>summary{padding:8px 0}.setup-screen .setup-fields{gap:10px}.setup-screen .setup-fields>label{flex:0 1 240px}.setup-screen .setup label{gap:4px;font-size:.8rem}.setup-screen .seat-controls{align-items:start;padding:6px 10px;gap:8px;margin:0}.setup-screen .seat-setup{flex:1 1 150px;gap:5px;padding:8px;margin:0}.setup-screen .seat-controls legend{font-size:.85rem;line-height:1.2}.setup-screen .difficulty-help{font-size:.75rem;line-height:1.35}.setup-screen .setup>.primary{min-height:48px}.setup-screen .mode-help{flex:1 1 300px;align-self:center;font-size:.8rem;line-height:1.4}.setup-screen .statistics-panel{padding:4px 14px;margin-bottom:0}@media (min-width: 761px) and (max-width: 1000px){.setup-screen .seat-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.setup-screen .seat-controls>.difficulty-help{grid-column:1 / -1}}@media (max-width: 760px){main.setup-screen{padding:12px}.setup-screen .app-header p{display:none}.setup-screen .app-header{flex-wrap:wrap;gap:6px}.setup-screen .setup{padding:10px;gap:8px}.setup-screen .setup-fields>label{flex:1 1 110px}.setup-screen .mode-help{flex-basis:100%}.setup-screen .seat-controls{padding:6px;gap:6px}.setup-screen .seat-setup{flex-basis:100%;padding:6px;gap:6px}}@media (max-width: 600px){.phone-table .player-hand>.hand-content,.phone-table .player-hand:has(.required-suit-choice)>.hand-content{display:flex;flex-direction:column;container:human-hand / size}.phone-table .hand-content>header,.phone-table .human-cards,.phone-table .hand-scroll-help{flex-shrink:0}.phone-table .human-cards,.phone-table .human-cards:has(.hand-card:last-child){width:100%;min-width:0;max-width:100%;align-content:start;grid-auto-columns:62px;gap:5px}.phone-table .table-feedback{min-width:0;overflow:clip;border-block:1px solid var(--line)}.phone-table .table-feedback p{height:28px;padding:4px 6px;font-size:.75rem;line-height:20px;white-space:nowrap;overflow:clip;text-overflow:ellipsis}.phone-table .table-feedback:has(.error) .recent-action{display:none}.phone-table .player-hand,.phone-table .player-hand:has(.required-suit-choice){border-width:2px;grid-template-rows:minmax(0,1fr) auto auto minmax(calc(65px + env(safe-area-inset-bottom)),auto)}@container phone-game (min-height: 652px) and (max-height: 695px){.phone-table .mobile-human-identity{position:absolute;width:1px;height:1px;overflow:clip;clip-path:inset(50%);margin:0;padding:0}.phone-table .player-hand:not(:has(.required-suit-choice,.declaration)) .human-cards:has(.hand-card:nth-child(6)){height:208px;max-height:208px;grid-template-columns:none;grid-template-rows:repeat(2,96px);grid-auto-flow:column;overflow-x:auto;overflow-y:hidden}.phone-table .player-hand:not(:has(.required-suit-choice,.declaration)) .human-cards:has(.hand-card:nth-child(6)) .hand-card.selected:after{display:none}}@container phone-game (min-height: 696px){.phone-table .player-hand:not(:has(.required-suit-choice,.declaration)) .human-cards:has(.hand-card:nth-child(6)){height:236px;max-height:236px;grid-template-columns:none;grid-template-rows:repeat(2,110px);grid-auto-flow:column;overflow-x:auto;overflow-y:hidden}}@container human-hand (min-height: 280px){.phone-table .player-hand:has(.required-suit-choice,.declaration) .human-cards:has(.hand-card:nth-child(6)){height:236px;max-height:236px;grid-template-columns:none;grid-template-rows:repeat(2,110px);grid-auto-flow:column;overflow-x:auto;overflow-y:hidden}}}@media (max-width: 600px){.phone-table .active-status .piles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;width:100%;max-width:320px;gap:8px}.phone-table .active-status .piles>.draw-pile{max-width:none;min-width:0}.phone-table .draw-pile>.status-guidance{margin-top:4px}.phone-table .active-status .piles .active-card-pile{grid-template-columns:minmax(0,1fr);grid-template-rows:12px 100px auto;width:100%;max-width:none;padding:0;border:0;background:transparent;gap:1px}.phone-table .active-status .active-card-pile>.card-face{grid-row:2}.phone-table .active-status .active-card-pile>strong{grid-column:1;grid-row:1;align-self:center;font-size:.65rem;line-height:12px;color:#e3ecd9}.phone-table .active-card-pile>.active-suit{grid-column:1;grid-row:3;padding:0 3px;white-space:nowrap}.phone-table .active-status .piles>.draw-pile{grid-template-columns:48px minmax(0,1fr);align-items:center}.phone-table .draw-pile>.card-back{grid-column:1;grid-row:1}.phone-table .draw-pile>strong{grid-column:2;grid-row:1}.phone-table .draw-pile>.status-guidance{grid-column:1 / -1}}@media (max-width: 600px){.setup-screen .setup-options>summary{display:none}.setup-screen .setup-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:10px}.setup-screen .setup-fields>label{min-width:0}.setup-screen .setup-fields select{width:100%;min-width:0}.setup-screen .setup-quick-start,.setup-screen .setup-player-disclosure{grid-column:1 / -1;min-width:0}.setup-screen .setup-quick-start>.primary{width:100%;min-height:48px}.setup-screen .setup-quick-start .mode-help{margin-top:6px}.setup-screen .setup-player-disclosure>summary{min-height:44px;padding:10px 0;cursor:pointer;font-weight:750}.setup-screen .setup-player-summary{display:block;margin-top:4px;font-size:.75rem;line-height:1.4;font-weight:400;overflow-wrap:anywhere}}main.setup-screen{max-width:1040px;padding:20px 24px 12px}.setup-screen .app-header{gap:12px;margin-bottom:8px}.setup-screen .app-header h1{font-size:clamp(1.65rem,3.2vw,2.25rem);margin:3px 0 6px;overflow-wrap:anywhere}.setup-screen .app-header .eyebrow{margin-bottom:3px}.setup-screen .app-header p{display:none}.setup-screen .audio-controls{border:0;border-radius:0;padding:0;margin:0;gap:0 10px}.setup-screen .audio-controls legend{padding:0;font-size:.72rem;color:var(--muted)}.setup-screen .audio-controls label{min-height:44px;font-size:.78rem}.setup-screen .audio-controls input[type=range]{width:5rem;min-height:44px}.setup-screen .rules-help{margin-bottom:8px}.setup-screen .rules-help>button{min-height:44px;padding:6px 12px;background:transparent;font-size:.8rem}.setup-screen .setup{padding:16px 18px;margin-bottom:8px;gap:8px}.setup-screen .setup-guidance h2{margin-bottom:3px}.setup-screen .setup-guidance p{color:var(--muted)}.setup-screen .setup-fields{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:start}.setup-screen .setup-fields>label{flex:1 1 210px;min-width:0}.setup-screen .setup-fields select{width:100%;min-width:0}.setup-screen .setup-player-disclosure{flex-basis:100%;min-width:0;border-top:1px solid var(--line)}.setup-screen .setup-player-disclosure>summary{min-height:44px;padding:8px 0;cursor:pointer;font-weight:700}.setup-screen .setup-player-summary{display:block;margin-top:2px;font-size:.75rem;line-height:1.4;font-weight:400;color:var(--muted);overflow-wrap:anywhere}.setup-screen .setup>.primary{width:100%;flex-basis:100%;min-height:48px}.setup-screen .mode-help{flex-basis:100%;font-size:.75rem;line-height:1.35;color:var(--muted)}.setup-screen .statistics-panel,.setup-screen .tournament-rewards{padding:0 12px;margin:6px 0;border:1px solid var(--line);border-radius:12px;background:#fffefa}.setup-screen .statistics-panel>details>summary,.setup-screen .tournament-rewards>summary{min-height:44px;padding:8px 0;align-content:center;cursor:pointer;font-size:.85rem;font-weight:700}.setup-screen .statistics-panel>details[open],.setup-screen .tournament-rewards[open]{padding-bottom:12px}@media (max-width: 760px){main.setup-screen{padding:12px}.setup-screen .app-header{gap:4px 12px}.setup-screen .setup{padding:12px}.setup-screen .setup-fields>label{flex-basis:140px}}@media (max-width: 600px){.setup-screen .setup-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.setup-screen .setup-player-disclosure>summary{padding:7px 0}.setup-screen .setup-quick-start .mode-help{margin-top:4px}}@media (max-width: 350px){.setup-screen .setup-fields{grid-template-columns:minmax(0,1fr)}}@media (max-width: 350px){.setup-screen .audio-controls{gap:0 6px}.setup-screen .audio-controls input[type=range]{width:4rem}.setup-screen .audio-controls output{min-width:2.3rem}}.setup-screen .audio-controls legend{float:left;line-height:44px;margin-right:6px}@media (max-width: 350px){.setup-screen .audio-controls legend{float:none;line-height:normal;margin-right:0}}
