/* Mzansi club shell: clear destinations, comfortable reading, quiet play. */
:root { --ink:#f6f1e5; --muted:#bac5bc; --coral:#ffbc80; --mint:#9dd6be; --line:#d4e6d027; font-size:16px; }
body { background:radial-gradient(ellipse at 15% 0,#1d453b55,transparent 55%),#0f1916; }
.masthead { max-width:1600px; min-height:88px; margin:auto; padding:18px 28px; gap:24px; border-bottom:1px solid var(--line); }
.brand { font-size:30px; gap:10px; text-decoration:none; flex:none; }
.brand-symbol { font-size:38px; color:#ffb16d; }
.brand-club { color:#e6c07d; }
.club-search-launch { display:flex; align-items:center; gap:12px; width:min(440px,42vw); min-height:48px; margin-left:auto; padding:10px 16px; border:1px solid #a9c3b445; border-radius:12px; background:#d1e6c808; color:#c8d7cc; text-align:left; font-size:16px; }
.club-search-launch>span { font-size:25px; }
.club-search-launch kbd { margin-left:auto; font-size:13px; color:#b4c6b8; }
.club-menu-launch { min-height:48px; padding:10px 22px; border:1px solid #d8b36f66; border-radius:12px; background:#d1a55b18; font-size:17px; color:#f5ddaf; }
main { max-width:1600px; padding:22px 28px 12px; margin:auto; }
.club-navigation { margin:0 0 28px; padding:0 0 20px; gap:18px; }
.club-navigation>div { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.club-navigation button,.club-navigation .club-nav-home { min-height:44px; padding:10px 16px; border:1px solid #b4c9b52e; border-radius:9px; font:15px -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; color:#e4e9d9; background:#b5cdaa08; }
.club-navigation .club-nav-home { color:#f3cd8b; background:#b7944c14; }
.page-heading { margin:0 0 22px; align-items:flex-end; }
.page-heading h1 { font:42px/1.15 Georgia,serif; letter-spacing:-1.1px; margin:7px 0 0; }
.eyebrow { font-size:12px; letter-spacing:1.1px; color:#bacab9; }
.quiet-button,.icon-button,.text-button { font-size:15px; min-height:44px; padding:10px 15px; border:1px solid #a7bfa132; border-radius:8px; background:#d5e7c808; text-decoration:none; color:#dae3cd; }
.top-actions { gap:9px; }
.quiet-button span { font-size:14px; color:#e4c58f; margin-left:10px; }
.game-layout { grid-template-columns:minmax(0,1fr) 330px; gap:20px; }
.table-meta { font-size:13px; letter-spacing:.6px; padding:18px 20px; }
#phase-pill { font-size:11px; letter-spacing:.7px; padding:8px 12px; }
.companion { padding:22px; background:#1b2b21; border:1px solid #b6c99b3b; border-radius:17px; }
.companion-heading { margin-bottom:20px; }
.mini-suits { font-size:21px; letter-spacing:5px; color:#f2ead6; }.suit-red { color:#ff7c87; }
.score-team { padding:15px 0; font-size:17px; }.score-team small { font-size:12px; margin-top:6px; letter-spacing:.5px; }
.score-team>strong { font-size:36px; }.score-caption { font-size:12px; line-height:1.7; padding:10px 0; }
.score-caption>span { font-size:13px; }.contract-row { gap:12px; padding:18px 0; }.contract-row small { font-size:12px; }.contract-row strong { font-size:16px; margin-top:7px; }
.match-balls { padding:14px 0; font-size:14px; gap:6px; align-items:center; }.match-balls strong { font-size:23px; margin:0 5px; }.match-balls small { font-size:11px; text-align:center; }
.game-controls { padding:22px 0 12px; }.game-controls h2 { font-size:27px; line-height:1.2; margin:9px 0 13px; }.game-controls p { font-size:15px; line-height:1.65; color:#c7d4c0; }.game-controls .eyebrow { font-size:12px; }
.primary-button,.secondary-button { min-height:46px; font-size:15px; line-height:1.4; padding:12px 16px; border-radius:10px; }.primary-button { background:#d9b76c; color:#17251d; border-color:#e9cc8c; }.secondary-button { background:#cee0be0a; color:#dfebd4; }
.call-controls { display:flex; gap:8px; margin:7px 0 14px; }.call-controls button { min-height:42px; padding:10px 12px; font-size:14px; flex:1; }.round-progress { gap:8px; }.round-progress button { min-height:36px; font-size:14px; }
.last-story { margin-top:18px; padding-top:16px; }.last-story p { font:15px/1.7 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; color:#d5ddc7; }.section-mini-heading .eyebrow { font-size:12px; }.tiny-orbit { display:none; }
.companion-bottom { display:flex; gap:8px; flex-wrap:wrap; padding-top:20px; }.companion-bottom button { flex:1; font-size:13px; min-height:42px; margin:0; padding:10px; }
.seat-name strong { font-size:15px; }.seat-name small { font-size:11px; letter-spacing:.3px; margin-top:4px; }.avatar { font-size:20px; width:42px; height:42px; }.seat-badge { font-size:11px; }
.table-inscription { font-size:14px; letter-spacing:5px; opacity:.5; }.table-sub-inscription,.beam-word,.beam-foot,.table-stars { display:none; }.quantum-passage { opacity:.55; }
.hand-caption { font-size:13px; padding:18px 20px 12px; letter-spacing:.5px; }.hand-caption small { font-size:12px; }.hand-caption>span:last-child { font-size:13px; letter-spacing:0; color:#c7d2bd; }
.suit-order { font-size:15px; padding:16px 8px; }.suit-order span { font-size:11px; }.suit-order small { font-size:12px; margin-left:14px; }.table-footer { padding:12px 18px; font-size:11px; }.table-footer .text-button { font-size:13px; min-height:38px; }#seed-label { display:none; }
.page-footnote { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:20px 0; font-size:13px; color:#b9c6b6; }.page-footnote>span:first-child { font:16px Georgia,serif; color:#e8c88b; letter-spacing:0; }.page-footnote button { font-size:14px; min-height:40px; padding:9px 14px; color:#d8e1cc; border:1px solid #a4b99a40; background:#d2e6bf08; border-radius:8px; }
.club-dialog { width:1100px; background:radial-gradient(ellipse at 85% 5%,#ba875225,transparent 60%),#1b2c24; border-color:#bbaa7660; padding:36px; }.club-close { font-size:15px; }.club-arrival { min-height:290px; padding:20px 10px; }.club-arrival h2 { font-size:58px; }.club-arrival>div>p { font-size:22px; line-height:1.5; color:#d2dbc3; }.arrival-setup label,.arrival-setup select { font-size:16px; }.arrival-setup select { padding:11px; }
.arrival-options { grid-template-columns:1fr 1fr; gap:13px; }.arrival-options button { min-height:126px; padding:22px; background:#d4b66709; }.arrival-options strong { margin:0; font-size:25px; }.arrival-options p { font-size:15px; line-height:1.6; color:#c6d1b8; margin:12px 0 0; }.arrival-foot { font-size:13px; color:#c4cbb6; }
.club-menu-host { position:fixed; inset:0; margin:0; max-width:none; max-height:none; width:100%; height:100%; padding:0; border:0; background:transparent; overflow:visible; }.club-menu-host::backdrop { background:#09140fbb; backdrop-filter:blur(9px); }.club-menu-layer { background:transparent; }.club-menu-path,.club-menu-result-path,.club-menu-results-count,.club-menu-footer { font-size:13px; }
.club-lounge-host { width:calc(100vw - 32px); height:calc(100dvh - 32px); max-width:none; max-height:none; padding:0; background:#111d18; border:1px solid #d7b26766; border-radius:18px; overflow:hidden; }.club-lounge-host[open] { display:flex; flex-direction:column; }.club-lounge-top { display:flex; align-items:center; gap:20px; padding:13px 18px; background:#1c2b23; }.club-lounge-top strong { font-size:18px; color:#efd8a7; }.club-lounge-top span { font-size:14px; color:#b9cdb6; }.club-lounge-top button { margin-left:auto; font-size:15px; padding:10px 16px; background:#d6bc7712; border:1px solid #b6c49e4a; border-radius:8px; }#lounge-container { flex:1; min-height:0; }
dialog .dialog-top h2 { font-size:28px; }dialog p,dialog label { font-size:15px; line-height:1.65; }.consequence-dialog p { font-size:16px; }.risk-notice { font-size:14px; }.toast { font-size:15px; max-width:min(650px,90vw); line-height:1.6; }
.tc-panel-note,.tc-panel-empty,.tc-coach-note,.tc-progress-muted,.tc-progress-status,.table-life-settings p { font-size:14px!important; line-height:1.65!important; }.tc-panel-facts,.tc-panel-highlight,.tc-panel-rule-stack { font-size:15px; line-height:1.65; }
.table-dealing .hand-slot .pcard-foil,.table-dealing .hand-slot .pcard-glare,.table-dealing .hand-slot .pcard-halo,.deal-flight .pcard-foil,.deal-flight .pcard-glare,.deal-flight .pcard-halo { display:none; }
.club-menu-header>div>span { font-size:13px; }
.club-menu-breadcrumb,.club-menu-result-kind,.club-menu-section-label,.club-menu-results-heading,.club-menu-results-heading>span,.club-menu-footer { font-size:14px; }
.club-menu-result-copy>strong { font-size:18px; }
.table-welcome small { font-size:14px; line-height:1.6; }
.table-footer { font-size:12px; }
.call-controls button { flex:1 1 calc(50% - 4px); }
#courses-container { font-size:16px; }
.course-eyebrow,.course-card-top,.course-card-bottom,.course-privacy-note { font-size:13px!important; }
.course-rule-copy p,.course-copy p,.course-reflection p { font-size:16px!important; line-height:1.7; }
@media(max-width:1100px) { .game-layout { grid-template-columns:minmax(0,1fr) 300px; gap:14px; }.companion { padding:18px; }.club-navigation { align-items:flex-start; }.club-navigation button { font-size:14px; padding:9px 12px; }.page-heading h1 { font-size:36px; }.club-lounge-top span { display:none; } }
@media(max-width:850px) { .masthead { padding:15px 18px; gap:12px; }.brand { font-size:25px; }.brand-symbol { font-size:30px; }.club-menu-launch { padding:10px 14px; }.club-search-launch { width:auto; flex:1; font-size:14px; }.club-search-launch kbd { display:none; }main { padding:18px 16px 10px; }.club-navigation { margin-bottom:22px; }.club-navigation>div { justify-content:flex-end; gap:7px; }.game-layout { grid-template-columns:1fr; }.companion { display:grid; grid-template-columns:1fr 1fr; gap:0 22px; }.companion-heading { grid-column:1/-1; margin-bottom:4px; }.game-controls { grid-column:2; grid-row:2/6; padding-top:12px; }.scoreboard { grid-column:1; }.contract-row { grid-column:1; }.match-balls { grid-column:1; grid-row:auto; }.call-controls { grid-column:2; grid-row:auto; }.round-progress { grid-column:1; grid-row:auto; }.last-story { grid-column:1/-1; }.companion-bottom { grid-column:1/-1; }.page-heading { align-items:center; }.page-footnote { flex-wrap:wrap; }.page-footnote>span:nth-child(2) { display:none; } }
@media(max-width:540px) { .masthead { flex-wrap:wrap; gap:11px; }.brand { flex:1; }.club-menu-launch { font-size:15px; min-height:43px; }.club-search-launch { order:3; flex-basis:100%; min-height:44px; }.club-navigation { flex-wrap:nowrap; gap:8px; margin:0 0 20px; align-items:flex-start; }.club-navigation .club-nav-home { display:none; }.club-navigation>div { justify-content:flex-start; gap:7px; width:100%; border:0; margin:0; padding:0; }.club-navigation button { font-size:14px; min-height:42px; }.page-heading h1 { font-size:31px; }.page-heading .eyebrow { font-size:11px; letter-spacing:.5px; }.top-actions { flex-direction:column; gap:6px; }.quiet-button { font-size:13px; padding:8px 11px; min-height:38px; }.quiet-button span { display:none; }.table-meta { font-size:11px; padding:12px; }#phase-pill { font-size:10px; padding:6px 8px; }.seat-name strong { font-size:13px; }.seat-name small { font-size:10px; }.avatar { width:34px; height:34px; font-size:17px; }.hand-caption { flex-wrap:wrap; gap:8px; font-size:12px; padding:14px 12px 10px; }.hand-caption>span:last-child { font-size:12px; }.suit-order span { display:none; }.suit-order small { font-size:12px; }.companion { display:block; padding:20px; }.companion-heading { margin-bottom:14px; }.game-controls h2 { font-size:28px; }.game-controls p { font-size:16px; }.primary-button,.secondary-button { font-size:16px; }.score-team { padding:10px 0; }.contract-row { padding:14px 0; }.match-balls { font-size:14px; }.match-balls small { font-size:11px; }.call-controls button { font-size:14px; min-height:44px; }.club-dialog { padding:22px; }.club-arrival h2 { font-size:43px; }.club-arrival>div>p { font-size:20px; }.arrival-art { height:150px; }.arrival-options { grid-template-columns:1fr; }.arrival-options button { min-height:104px; padding:18px; }.arrival-options strong { font-size:23px; }.arrival-options p { font-size:15px; }.arrival-foot { font-size:13px; }.club-lounge-host { width:100vw; height:100dvh; border-radius:0; }.club-lounge-top { padding:10px; gap:10px; }.club-lounge-top strong { font-size:14px; }.club-lounge-top button { font-size:14px; padding:9px; } }

.footer-destinations { display:flex; flex-wrap:wrap; gap:10px; }
.club-tour-active .table-paused .stage:after,.club-tour-active.table-paused .stage:after { display:none; }
.club-tour-active #table-notice { display:none; }
#return-live { border-color:#dfba70; color:#f5d696; background:#d0ad4b19; }
#hand-0:empty:before { content:attr(data-empty-message); }
#hand-hint { font-size:13px; line-height:1.5; }
.page-footnote>span:nth-child(2) { font-size:13px; line-height:1.5; }

/* A quieter play view retains search, rules and review at every size. */
#table-view-toggle[aria-pressed="true"] { color:#f4d79e; border-color:#d8b36f88; background:#d1a55b20; }
.table-focused .club-navigation,.table-focused .page-footnote,.table-focused .page-heading .eyebrow { display:none; }
.table-focused .masthead { min-height:66px; height:auto; padding-top:9px; padding-bottom:9px; }
.table-focused main { max-width:1800px; padding-top:14px; }
.table-focused .page-heading { margin-bottom:14px; align-items:center; }
.table-focused .page-heading h1 { font-size:27px; margin:0; letter-spacing:-.5px; }
.table-focused .game-layout { align-items:start; }
.table-focused .companion { display:flex; flex-direction:column; padding:18px; position:sticky; top:16px; max-height:calc(100dvh - 32px); overflow:auto; }
.table-focused .companion-heading { order:0; margin-bottom:0; }
.table-focused .game-controls { order:1; padding-top:10px; border-bottom:1px solid var(--line); }
.table-focused .call-controls { order:2; }
.table-focused .scoreboard { order:3; }
.table-focused .contract-row { order:4; padding:12px 0; }
.table-focused .match-balls { order:5; }
.table-focused .round-progress { order:6; }
.table-focused .last-story { order:7; }
.table-focused .companion-bottom { order:8; }
.table-focused .score-team { padding:9px 0; }
.table-focused .stage { height:clamp(350px,calc(100dvh - 380px),600px); }
.table-focused .hand-zone { min-height:0; }
@media(max-width:850px) {
  .table-focused .companion { position:static; max-height:none; overflow:visible; }
  .table-focused .stage { height:400px; }
  .table-focused .page-heading { gap:12px; flex-wrap:wrap; }
  .table-focused .top-actions { flex-direction:row; flex-wrap:wrap; }
}
@media(max-width:540px) {
  .table-focused .stage { height:370px; }
  .table-focused .page-heading h1 { font-size:25px; }
}
