/* Club pages reuse the salon shell. Table cards stay on the same 3D surface. */
.home-menu:has(.club-catalog){width:min(660px,48vw)}
.club-catalog{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:20px 0}
.home-menu .club-tile{display:flex;flex-direction:column;align-items:flex-start;gap:5px;text-align:left;padding:14px 16px;border:1px solid #b3975a48;border-radius:6px;background:#14271cd9;min-height:98px;color:#ead8ae}
.club-tile strong{font:23px "Literata", Georgia,serif}.club-tile span{font:13px/1.3 "Literata", Georgia,serif;color:#ccc5ad}.club-tile small{font:11px/1.3 "Golos Text", system-ui;color:#a6ae97}.home-menu .club-tile:hover{background:#263b28;border-color:#c8af72}
.club-intro{font:19px/1.45 "Literata", Georgia,serif;color:#e2d4b8;margin:4px 0 12px}.club-create-actions{display:grid;gap:8px;margin-top:20px}.club-rules-link{margin-bottom:18px}
.club-table{--club-ink:#eadcbc;--club-muted:#c2c4ad}
.club-table button:not(.card):not(.game-menu){color:var(--club-ink);border:1px solid #a88f595f;border-radius:5px;background:linear-gradient(145deg,#2c3f2c,#15251b);font:clamp(12px,1.08cqw,18px)/1.2 "Literata", Georgia,serif;box-shadow:inset 0 1px #d9c29522,0 2px 4px #0004;padding:.65cqw .8cqw;min-height:34px}
.club-table button:not(.card):hover{background:#314631;border-color:#bca779}.club-table button:disabled{opacity:.42;cursor:default}.club-table button.club-primary{background:linear-gradient(145deg,#654237,#3b251f);border-color:#c3a9779c}
.club-heading{position:absolute;left:4.5%;top:5%;z-index:9;display:flex;flex-direction:column;gap:.35cqw;max-width:22%}.club-heading span{color:var(--club-muted);font:clamp(10px,.88cqw,15px) "Literata", Georgia,serif}.club-table .club-heading button{border:0;box-shadow:none;background:none;padding:0;text-align:left;font:clamp(20px,2cqw,32px) "Literata", Georgia,serif}
.game.club-table .game-menu{position:absolute!important;left:auto!important;top:5.4%!important;right:4.5%!important;z-index:15}.club-game #sound{right:8.7%!important}
.game.club-table .opponents,.game.club-table:has(.opponent:only-child) .opponents{left:28%!important;right:17%!important;top:5.8%!important;height:24%;display:grid!important;grid-template-columns:repeat(var(--opponents),minmax(0,1fr));gap:1cqw!important;align-items:start}
.game.club-table .opponent,.game.club-table .opponent:only-child{width:auto!important;max-width:none!important;min-width:0;position:relative;display:flex;align-items:center;flex-direction:column}
.game.club-table .opponent-cards{width:100%;height:6cqw;margin:0}.game.club-table .mini-back{width:3.3cqw;height:4.95cqw;left:calc(50% - 1.65cqw + (var(--i) - (var(--count) - 1)/2)*.9cqw);top:0;background-image:url('/decks/karazin-club-v55/back.webp')}
.game.club-table .opponent .portrait{width:5.83cqw;height:5.83cqw;margin:-2.6cqw 0 0;flex-shrink:0;border:1px solid #b69c63}.game.club-table .opponent-count{right:calc(50% - 3.6cqw);bottom:-1.3cqw;width:1.8cqw;height:1.8cqw;min-width:19px;min-height:19px;font-size:1.25cqw;z-index:2}
.game.club-table .opponent.active .portrait{box-shadow:0 0 0 2px #e8cf88,0 0 15px #ead18977,0 3px 6px #0009}
.game.club-table .opponent .name{font:clamp(12px,1.15cqw,20px)/1.2 "Literata", Georgia,serif;max-width:100%;padding:.6cqw 0 .2cqw;min-height:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game.club-table .opponent .status{font:clamp(10px,.88cqw,15px)/1.35 "Literata", Georgia,serif;min-height:1.4em;margin:0;max-width:100%;white-space:normal;text-align:center}
.club-op-score{font:clamp(10px,.76cqw,13px)/1.4 "Golos Text", system-ui;color:#adb59e;text-align:center}.game.club-table .club-exposed{font-size:.8cqw;padding:.2cqw .4cqw;min-height:22px;margin-top:.2cqw}.club-folded{opacity:.6}
.club-supply{position:absolute;left:4.5%;top:17%;display:flex;align-items:center;gap:1.2cqw;z-index:7;max-width:22%;font:1.2cqw "Literata", Georgia,serif}.club-supply>div{display:flex;flex-direction:column;gap:.5cqw}.club-supply small{font-size:.95cqw;color:var(--club-muted)}.club-trump{display:flex;gap:.4cqw;align-items:center}.club-trump .ui-icon{width:1.7cqw;height:1.7cqw}
.game.club-table .supply-cards{position:relative;display:block;flex:none;width:6.3cqw;height:9cqw;transform:none;margin:0}.game.club-table .supply-cards .card{position:absolute;width:5cqw!important;height:7.5cqw!important;top:0;left:0;transform:rotate(-5deg);background-image:url('/decks/karazin-club-v55/back.webp');background-size:cover}.game.club-table .supply-cards .trump{left:1.3cqw;top:.5cqw;transform:rotate(4deg)}
.club-last-action{position:absolute;left:4.5%;top:39%;width:20%;display:flex;align-items:start;gap:.65cqw;color:#c8c9b2;z-index:8;font:1cqw/1.4 "Literata", Georgia,serif}.club-last-action .portrait{width:2.97cqw;height:2.97cqw;min-width:33px;min-height:33px;flex:none;border:1px solid #b199675e;border-radius:50%}.club-last-action p{margin:.25cqw 0;line-height:1.4}.club-last-action strong{font-weight:normal;color:#dfd4b8}
.club-play-area{position:absolute;left:28%;right:8%;top:34%;bottom:33%;z-index:5;display:flex;align-items:center;justify-content:center;flex-direction:column}
.club-trick{display:flex;align-items:center;justify-content:center;gap:1.5cqw;width:100%}.game.club-table .club-trick .battle{width:min(9cqw,calc((64cqw - 9cqw)/var(--plays)))!important;height:14cqw!important;flex:none;position:relative}.game.club-table .battle .card{width:100%!important;height:auto!important;aspect-ratio:2/3;left:0!important;top:0!important;transform:rotate(-3deg);z-index:var(--z)}.game.club-table .battle:nth-child(even) .card{transform:rotate(3deg)}
.club-card-owner{position:absolute;top:14cqw;left:-10%;width:120%;text-align:center;color:#c8c9b3;font:clamp(10px,.85cqw,15px)/1.3 "Literata", Georgia,serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.club-trick-caption{font:1cqw "Literata", Georgia,serif;color:#bfc0a9;margin-top:2.1cqw}
.club-stage-copy{text-align:center;color:#cbc9b1;font:1.2cqw/1.5 "Literata", Georgia,serif;max-width:90%}.club-stage-copy h2{font-size:2cqw;margin:0 0 1cqw;font-weight:normal}.club-auction-log{display:flex;flex-wrap:wrap;justify-content:center;gap:.5cqw 1cqw;max-width:40cqw;margin:auto}
.club-turn-copy{position:absolute;left:4.5%;bottom:6%;width:21%;z-index:9;color:var(--club-ink)}.club-phase{font:clamp(11px,.9cqw,15px) "Literata", Georgia,serif;color:#babc9f}.club-turn-copy h2{font:clamp(20px,2.1cqw,36px)/1.12 "Literata", Georgia,serif;margin:.5cqw 0 .8cqw}.club-turn-copy p{font:clamp(12px,1.08cqw,18px)/1.4 "Literata", Georgia,serif;margin:0 0 1cqw;text-wrap:pretty}.club-self{display:flex;gap:.65cqw;align-items:center;color:var(--club-muted);font:clamp(11px,.96cqw,17px)/1.4 "Literata", Georgia,serif}.club-self .portrait{width:3.85cqw;height:3.85cqw;border:1px solid #a69062;border-radius:50%;min-width:35.2px;min-height:35.2px}.club-self small{display:block}
.game.club-table .club-controls{position:absolute;right:4.5%;bottom:6%;width:21%;display:flex;flex-direction:column;gap:.6cqw;z-index:10;max-height:40%;margin:0;align-self:auto}.club-sort{display:grid;grid-template-columns:1fr 1fr;gap:.4cqw}.club-phase-actions{display:flex;flex-direction:column;gap:.45cqw;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#88764b transparent;padding:1px;max-height:100%}.club-phase-actions button{flex-shrink:0}.club-wait{font:1.05cqw/1.4 "Literata", Georgia,serif;color:#b3b99f;margin:.6cqw 0}
.club-bid-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.4cqw}.club-bid-row select{padding:.5cqw;color:#eadcbc;background:#17291d;min-width:0;font:clamp(12px,1cqw,17px) "Literata", Georgia,serif;border:1px solid #a68c5b;border-radius:4px;height:auto}.club-control-label,.club-selected-count{font:clamp(11px,.9cqw,15px)/1.3 "Literata", Georgia,serif;color:#bfc2a8;margin:.3cqw 0}.club-declare{border:0;padding:.4cqw 0;margin:0;display:flex;flex-wrap:wrap;gap:.5cqw;font:clamp(12px,1cqw,17px) "Literata", Georgia,serif}.club-declare label{display:flex;align-items:center;gap:.3cqw}.club-declare input{width:16px;height:16px;margin:0;accent-color:#ae985f}
.game.club-table .club-hand-area{inset:72% 27% 0!important}.game.club-table .hand-viewport{inset:0!important;overflow:visible!important}.game.club-table .hand{margin:0 auto!important}.game.club-table .hand .card{--card-w:11.5cqw;--card-h:calc(var(--card-w)*1.5);bottom:-7cqh;width:var(--card-w);height:var(--card-h)}
.club-rule-list{padding-left:1.2em;line-height:1.65}.club-rule-list li{margin-bottom:14px}.club-score-scroll{overflow-x:auto}.club-score-table{width:100%;border-collapse:collapse;font:15px/1.4 "Literata", Georgia,serif}.club-score-table td,.club-score-table th{padding:12px 8px;border-bottom:1px solid #ae97633b;text-align:right}.club-score-table td:first-child,.club-score-table th:first-child{text-align:left}.club-score-table .is-self{color:#f3da99}.club-menu-actions{display:grid;gap:9px}.club-menu-actions button{min-height:42px}.club-public-cards{display:flex;gap:5px;flex-wrap:wrap}.club-public-cards img{width:64px;height:96px;object-fit:contain;border-radius:4px}.club-journal{list-style:none;padding:0}.club-journal li{padding:14px 0;border-bottom:1px solid #aa945644}.club-journal small{display:block;color:#a8b296}.club-journal p{margin:4px 0 10px}
.game.club-table .club-heading button{border:0;box-shadow:none;background:none;padding:0;font-size:2cqw;min-height:0}.game.club-table .opponent-count{position:absolute;z-index:10;top:7.4cqw;bottom:auto!important;right:calc(50% - 3.9cqw)}
.game.club-table .club-turn-copy{width:20%}.game.club-table .club-hand-area{inset:72% 28% 0!important}
@media(max-width:900px) and (orientation:portrait){
 .home-menu:has(.club-catalog){width:100%}.club-catalog{gap:7px}.home-menu .club-tile{padding:11px;min-height:98px}.club-tile strong{font-size:20px}.club-tile span{font-size:12px}
 .club-heading{top:4%;left:6%;max-width:60%}.club-heading span{font-size:11px}.game.club-table .game-menu{top:4%!important;right:6%!important}.club-game #sound{right:20%!important}
 .game.club-table .opponents,.game.club-table:has(.opponent:only-child) .opponents{top:13%!important;left:6%!important;right:6%!important;height:auto;grid-template-columns:repeat(min(3,var(--opponents)),minmax(0,1fr));row-gap:10px!important;column-gap:7px!important}
 .game.club-table .opponent .portrait{width:13.2cqw;height:13.2cqw;margin:-7cqw 0 0}.game.club-table .opponent-cards{height:12cqw}.game.club-table .mini-back{width:7cqw;height:10.5cqw;left:calc(50% - 3.5cqw + (var(--i) - (var(--count) - 1)/2)*1.7cqw)}.game.club-table .opponent-count{width:21px;height:21px;font-size:13px;right:calc(50% - 9cqw);bottom:-4cqw}.game.club-table .opponent .name{font-size:13px;padding:7px 0 2px}.game.club-table .opponent .status{font-size:10px}.club-op-score{font-size:9px}.game.club-table .club-exposed{font-size:10px;min-height:22px;padding:2px 4px}
 .club-supply{top:34%;left:6%;max-width:88%;font-size:13px;gap:10px;align-items:center}.club-supply>div{flex-direction:row;align-items:center;gap:10px;flex-wrap:wrap}.game.club-table .supply-cards{display:none}.club-trump .ui-icon{width:18px;height:18px}.club-supply small{font-size:11px}.club-table button:not(.card):not(.game-menu){padding:8px;font-size:12px;min-height:36px}
 .club-last-action{left:6%;top:41%;width:88%;font-size:11px;gap:7px;align-items:center}.club-last-action .portrait{width:29.7px;height:29.7px;min-width:29.7px;min-height:29.7px}.club-last-action p{display:inline;margin-left:8px}.club-last-action strong{display:inline}
 .club-play-area{left:8%;right:8%;top:47%;bottom:34%}.club-stage-copy{font-size:13px}.club-stage-copy h2{font-size:20px}.club-auction-log{max-width:100%;gap:3px 10px;font-size:11px}.club-trick{gap:3cqw}.game.club-table .club-trick .battle{width:min(18cqw,calc(74cqw/var(--plays)))!important;height:27cqw!important}.club-card-owner{top:27cqw;font-size:10px}.club-trick-caption{font-size:11px;margin-top:20px}
 .club-turn-copy{left:6%;bottom:23%;width:40%}.club-phase{font-size:10px}.club-turn-copy h2{font-size:20px;margin:5px 0}.club-turn-copy p{font-size:11px;margin-bottom:7px;max-height:65px;overflow:auto}.club-self{font-size:11px;gap:6px}.club-self .portrait{width:31.9px;height:31.9px;min-width:31.9px;min-height:31.9px}.game.club-table .club-controls{right:6%;bottom:23%;width:46%;gap:5px;max-height:26%}.club-sort{gap:4px}.club-phase-actions{gap:4px}.club-wait{font-size:12px}.club-bid-row{gap:4px}.club-bid-row select{font-size:12px;padding:4px}.club-declare{font-size:11px;gap:5px}.club-control-label,.club-selected-count{font-size:11px}
 .game.club-table .club-heading button{font-size:22px}.game.club-table .opponent-count{top:13cqw;right:calc(50% - 9cqw)}.game.club-table .club-turn-copy{width:40%}
 .game.club-table .club-hand-area{inset:80% 6% 0!important}.game.club-table .hand .card{--card-w:26cqw;bottom:-3cqh}
 .game.club-table:has(.opponent:nth-child(4)) .opponents{top:11%!important;row-gap:8px!important}.game.club-table:has(.opponent:nth-child(4)) .opponent-cards{display:none}.game.club-table:has(.opponent:nth-child(4)) .opponent .portrait{width:9.9cqw;height:9.9cqw;margin:0}.game.club-table:has(.opponent:nth-child(4)) .opponent .name{font-size:11px;padding-top:4px}.game.club-table:has(.opponent:nth-child(4)) .opponent .status{font-size:9px}
}
@media(max-height:500px) and (orientation:landscape){.club-heading{top:5%;left:5%}.game.club-table .opponents{top:5%!important}.club-last-action{top:36%;font-size:11px}.club-turn-copy p{font-size:10px;max-height:68px;overflow:auto}.club-turn-copy h2{font-size:18px}.game.club-table .club-controls{max-height:48%;width:24%;right:4%}.club-table button:not(.card):not(.game-menu){min-height:30px;padding:5px;font-size:11px}.game.club-table .club-hand-area{inset:72% 30% 0!important}.club-phase-actions{gap:3px}.club-trick-caption{font-size:10px}.club-card-owner{font-size:10px}.club-op-score{font-size:9px}}
/* v56: card-led actions, persistent selection and guided practice. */
.club-card-strip{--thumb:54px;display:flex;align-items:center;justify-content:center;isolation:isolate;max-width:100%;gap:4px;line-height:0}
.club-mini{display:block;flex:0 1 var(--thumb);min-width:0;aspect-ratio:2/3;padding:0!important;border:0!important;border-radius:5%!important;background:none!important;box-shadow:none!important;min-height:0!important;position:relative}
.club-mini img{display:block;width:100%;height:auto;aspect-ratio:2/3;border-radius:5%;filter:drop-shadow(0 2px 2px #0005);object-fit:contain}.club-mini:focus-visible{outline:2px solid #aadbe3;outline-offset:3px}
.club-card-strip.is-compact{--thumb:33px;justify-content:flex-start;margin-top:6px;gap:3px}.club-public-cards{display:block}.club-public-cards .club-card-strip{--thumb:90px;flex-wrap:wrap;justify-content:flex-start;gap:9px}.club-public-cards .club-mini{flex-basis:90px}
.club-public-cards img{width:100%;height:auto}.club-card-inspector{text-align:center}.club-card-inspector>img{width:min(290px,65vw);height:auto;max-height:65dvh;object-fit:contain}
.game.club-table button.club-exposed{background:none;border:0;box-shadow:none;padding:2px 0;max-width:100%}.club-exposed .club-card-strip{--thumb:24px;margin:0 auto}.club-exposed>span:last-child{display:block;font:10px "Literata", Georgia,serif;margin-top:4px}
.club-phase-actions>button:has(.club-card-strip){display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left}.club-phase-actions>button .club-card-strip{--thumb:29px;flex:none;max-width:58%;margin:0}
.club-last-action .club-card-strip{--thumb:31px}.club-heading #club-lesson-open{font:clamp(11px,.85cqw,14px) "Literata", Georgia,serif;color:#b7c6ad;align-self:flex-start;margin-top:5px}
.club-eyebrow{font:10px/1.4 "Golos Text", system-ui,sans-serif;letter-spacing:.09em;text-transform:uppercase;color:#abc1b3}
.club-selection{width:min(100%,640px);padding:16px 20px;border:1px solid #9ab5a33a;border-radius:12px;background:linear-gradient(160deg,#12271fe8,#0c1a16b8);box-shadow:0 15px 35px #0003;color:#e6dbc0}
.club-selection .club-selection-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.club-selection h2{font:clamp(20px,1.6cqw,28px) "Literata", Georgia,serif;margin:2px 0}.club-selection .club-selection-header strong{font:22px "Literata", Georgia,serif;color:#a4d2d7}
.club-selection-slots{display:flex;justify-content:center;gap:8px;height:clamp(80px,8.8cqw,145px)}.club-selection-slot,.club-table .club-selection-card{width:clamp(42px,5.8cqw,96px);height:100%;min-width:0;min-height:0!important;flex:0 1 96px;position:relative;border:1px dashed #9cae9045!important;border-radius:6px!important;background:#203a2a33!important;padding:0!important;box-shadow:none!important}
.club-table .club-selection-card{border:1px solid #98d2d8!important}.club-selection-card img{height:100%;width:100%;object-fit:contain;border-radius:5px}.club-selection-card span{position:absolute;left:0;right:0;bottom:0;padding:4px 0;background:#15333be6;font:11px "Literata", Georgia,serif;color:#e0f2ee}
.club-selection .club-selection-footer{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:12px;position:static!important;padding:0!important;max-width:none!important;width:auto!important}.club-selection small{font:11px/1.4 "Literata", Georgia,serif;color:#aabdaf}.club-table .club-selection .club-selection-footer button{font-size:11px;min-height:28px;padding:5px 9px}
.club-selection+ .club-talon-preview{margin-top:10px}.club-talon-preview{display:flex;gap:14px;align-items:center;color:#c6ccb4;font:12px "Literata", Georgia,serif}.club-talon-preview .club-card-strip{--thumb:40px}
.club-declaration-board{border:0;padding:0;margin:0;width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;color:#e4d6b9;max-width:680px}.club-declaration-board legend{font:24px "Literata", Georgia,serif;text-align:center;margin-bottom:12px}.club-declaration-tile{border:1px solid #87998366;background:#11261cbd;border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:12px;cursor:pointer}.club-declaration-tile:has(input:checked){border-color:#b3c5a2;background:#2c432cd9}.club-declaration-tile>span{font:16px "Literata", Georgia,serif;display:flex;align-items:center;gap:7px}.club-declaration-tile input{width:17px;height:17px;margin:0;accent-color:#afc8a6}.club-declaration-tile .club-card-strip{--thumb:46px;min-height:70px}.club-declaration-tile small{font:12px "Literata", Georgia,serif;color:#a5b4a0}.club-declaration-board>small{grid-column:1/-1;text-align:center;font:12px "Literata", Georgia,serif;color:#b0b99e}
.webgl-table .game.club-table .hand .card.selected{transform:translate(var(--x),var(--y)) rotate(var(--r))!important}.game.club-table .hand .card.selected{outline:2px solid #e8b3c2;outline-offset:1px;box-shadow:0 0 0 2px #e8b3c2;transform:translate(var(--x),calc(var(--y) - 32px)) rotate(var(--r))}
.webgl-table .game.club-table .card:focus-visible{opacity:0!important}
.club-setup-links{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.club-setup-links .club-rules-link{margin:0}.club-training-start small{display:block;font:12px/1.5 "Literata", Georgia,serif;color:#a7c0b2;margin-top:4px}.club-step-note{font:11px "Literata", Georgia,serif;color:#9cac94;text-align:center;margin:4px}
.club-coach{position:absolute;left:4.5%;top:35%;width:20%;max-height:35%;overflow:auto;scrollbar-width:thin;z-index:12;padding:14px;border:1px solid #99b8a344;border-left:2px solid #a0c5af;border-radius:0 8px 8px 0;background:#10261eef;color:#ced8c4;box-sizing:border-box}.club-coach h3{font:clamp(15px,1.1cqw,20px)/1.25 "Literata", Georgia,serif;color:#ece0c1;margin:7px 0}.club-coach p{font:clamp(11px,.9cqw,15px)/1.5 "Literata", Georgia,serif;margin:0 0 12px}.club-table .club-coach button{font-size:11px;min-height:29px;padding:5px 7px;width:100%;margin-top:5px}.is-training .club-last-action{display:none}.club-coach-example .club-card-strip{--thumb:48px;margin-top:8px}.club-coach-example small{font:11px/1.3 "Literata", Georgia,serif;display:block;margin:7px 0;color:#afc1b1}
.club-lesson{max-width:640px}.club-lesson>p{min-height:110px}.club-lesson figure{margin:20px 0;min-height:155px;display:flex;flex-direction:column;justify-content:center;gap:12px}.club-lesson .club-card-strip{--thumb:84px}.club-lesson figcaption{font:12px "Literata", Georgia,serif;color:#a4b39b;text-align:center}.club-lesson-dots{display:flex;gap:8px;flex-wrap:wrap}.club-lesson-dots button{width:38px;height:34px;min-height:34px;padding:4px;border:1px solid #8b9d7866;border-radius:5px}.club-lesson-dots [aria-current=step]{background:#435939;border-color:#c0cca4}.club-lesson footer{position:static!important;display:flex!important;justify-content:space-between;align-items:center;margin:24px 0 16px;padding:0!important;width:100%!important;gap:12px}.club-lesson footer button{min-width:90px}.club-lesson>small{color:#95a58d;font:11px/1.4 "Literata", Georgia,serif;display:block}
@media(max-width:900px) and (orientation:portrait){
 .club-selection{padding:9px 10px}.club-selection .club-selection-header{margin-bottom:7px}.club-selection h2{font-size:18px}.club-selection .club-selection-header strong{font-size:17px}.club-selection-slots{height:66px;gap:5px}.club-selection .club-selection-footer{margin-top:7px}.club-selection .club-selection-footer small{font-size:9px}.club-selection .club-eyebrow{font-size:8px}.club-selection-card span{font-size:9px;padding:2px 0}.club-table .club-selection .club-selection-footer button{font-size:10px;min-height:24px;padding:3px 7px}
 .club-talon-preview{gap:7px;font-size:10px}.club-talon-preview .club-card-strip{--thumb:27px}.club-selection+.club-talon-preview{margin-top:4px}.club-declaration-board{gap:5px}.club-declaration-board legend{font-size:17px;margin-bottom:6px}.club-declaration-tile{padding:6px 4px;gap:7px}.club-declaration-tile>span{font-size:10px;gap:3px}.club-declaration-tile input{width:13px;height:13px}.club-declaration-tile .club-card-strip{--thumb:24px;min-height:40px;gap:1px}.club-declaration-board>small{font-size:9px}.club-declaration-tile small{font-size:9px}
 .club-last-action .club-card-strip{display:none}.club-coach{left:6%;top:35%;width:88%;max-height:11%;padding:8px 10px}.club-coach h3{font-size:13px;margin:3px 0}.club-coach p{font-size:11px;margin:0 0 4px}.club-coach .club-eyebrow{font-size:8px}.club-table .club-coach button{display:inline-block;width:auto;margin-right:5px;min-height:27px}.is-training .club-supply{top:30%}.is-training .club-play-area{top:49%}.club-coach-example .club-card-strip{--thumb:35px;display:inline-flex}
 .game.club-table .club-heading{gap:2px}.club-heading #club-lesson-open{font-size:11px;margin-top:2px}.club-table .club-phase-actions>button .club-card-strip{--thumb:21px}.club-exposed .club-card-strip{--thumb:14px}.club-exposed>span:last-child{font-size:9px}.club-lesson .club-card-strip{--thumb:53px}.club-lesson>p{min-height:0}.club-lesson figure{min-height:95px}.club-lesson footer{margin:16px 0}.club-lesson footer button{min-width:70px}.club-public-cards .club-mini{flex-basis:70px}
 .game.club-table:has(.opponent:nth-child(4)) .opponent-count{top:5cqw;right:calc(50% - 8cqw)}
}
@media(max-height:500px) and (orientation:landscape){.club-coach{top:32%;max-height:33%;padding:6px}.club-coach p{font-size:10px}.club-coach h3{font-size:13px}.club-selection{padding:7px 10px}.club-selection .club-selection-header{margin-bottom:5px}.club-selection-slots{height:57px}.club-selection .club-selection-footer{margin-top:5px}.club-selection h2{font-size:18px}.club-table .club-selection .club-selection-footer button{min-height:22px}.club-declaration-tile .club-card-strip{min-height:40px;--thumb:26px}.club-declaration-board legend{font-size:16px;margin-bottom:6px}.club-declaration-tile>span{font-size:11px}.club-declaration-tile{padding:5px;gap:5px}}

.is-training .club-turn-copy>p{display:none}.club-coach-last{font:11px/1.35 "Literata", Georgia,serif;color:#a8c1b2;border-bottom:1px solid #7f9b7f33;padding:5px 0 8px;margin-bottom:7px}.club-coach-last .club-card-strip{--thumb:25px}
/* The stage cannot be scrolled by focus on the intentionally cropped fan. */
html:has(body.club-game){overflow:clip;height:100%}body.club-game{overflow:clip;height:100dvh}
.club-coach #club-coach-expand,.club-supply-talon{display:none}
@media(max-width:900px) and (orientation:portrait){
 .club-heading #club-lesson-open{display:none}.is-training .club-coach{top:38%;height:34px;max-height:none;overflow:visible;padding:0;border-radius:5px;border:1px solid #97bda760;background:#172e25}
 .is-training .club-coach>*{display:none}.is-training .club-coach #club-coach-expand{display:block;width:100%;height:100%;min-height:30px;margin:0;text-align:left;border:0;background:none;padding:5px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}
 .is-training .club-play-area{top:45%;bottom:36%}.club-supply [data-club-command=scores]{display:none}.club-supply-talon{display:block}.club-supply-talon .club-card-strip{--thumb:22px}.club-talon-preview{display:none}
 .club-supply{min-height:34px}.club-heading{max-width:60%}.club-coach-dialog .club-card-strip{--thumb:58px}.club-declaration-board{min-height:0}.club-selected-count{display:none}
}
@media(max-width:900px) and (max-height:650px) and (orientation:portrait){
 .game.club-table .opponents,.game.club-table:has(.opponent:only-child) .opponents{top:14%!important}.game.club-table .opponent .portrait{width:9.9cqw;height:9.9cqw;margin-top:-5cqw}.game.club-table .opponent-cards{height:9cqw}.game.club-table .mini-back{width:6cqw;height:9cqw}.game.club-table .opponent .name{padding-top:5px;font-size:11px}.game.club-table .opponent .status{font-size:9px}.game.club-table .opponent-count{top:9cqw;right:calc(50% - 8cqw)}.club-op-score{font-size:8px}
 .club-supply,.is-training .club-supply{top:30%;font-size:11px}.club-supply small{font-size:9px}.is-training .club-coach{top:37%;height:28px}.is-training .club-coach #club-coach-expand{min-height:26px;font-size:11px}
 .club-play-area,.is-training .club-play-area{top:44%;bottom:39%}.club-selection{padding:6px 8px}.club-selection .club-selection-header{margin-bottom:4px}.club-selection h2{font-size:15px;margin:0}.club-selection header strong{font-size:14px}.club-selection-slots{height:45px}.club-selection .club-selection-footer{margin-top:4px}.club-table .club-selection .club-selection-footer button{min-height:23px;padding:2px 5px}.club-selection .club-selection-footer small{font-size:8px}
 .game.club-table .club-controls{bottom:24%;max-height:19%;gap:4px}.game.club-table .club-controls button{min-height:29px;padding:5px;font-size:11px}.club-turn-copy,.game.club-table .club-turn-copy{bottom:23%;}.club-turn-copy h2{font-size:18px}.club-turn-copy p{max-height:45px;font-size:10px}
 .game.club-table:has(.opponent:nth-child(4)) .opponents{top:13%!important;row-gap:4px!important}.game.club-table:has(.opponent:nth-child(4)) .opponent .portrait{width:7.7cqw;height:7.7cqw}.game.club-table:has(.opponent:nth-child(4)) .club-op-score{display:none}
}
.game.club-table{overflow:clip!important}
@media(max-width:900px) and (orientation:portrait){.game.club-table.is-training .club-coach>:not(#club-coach-expand){display:none!important}}
/* Aligned, compact controls; lessons teach one concept before introducing terms. */
.club-lesson-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}
.club-lesson [data-lesson-mode]{display:block;margin:16px 0 10px;font-size:13px;background:none;color:#b4c9b4;text-decoration:underline;border:0}
.club-lesson figure{margin:18px 0}.club-lesson figcaption{font-size:14px;line-height:1.5;color:#c5ceb9;margin-top:10px;text-align:center}
.club-lesson .club-card-strip{--thumb:74px;gap:10px}.club-lesson>p{font-size:18px;line-height:1.65}
.club-quiz{border:1px solid #8eaa8055;border-radius:8px;padding:14px;margin:18px 0;background:#081b1466}
.club-quiz legend{font-size:16px;padding:0 7px}.club-quiz button{display:block;width:100%;text-align:left;margin:7px 0;padding:10px 12px;background:#263d2d;color:#e4d8ba;border:1px solid #8d966066;border-radius:5px}
.club-quiz button[aria-pressed=true]{border-color:#b9c69a}.club-quiz-feedback{font-size:15px!important;line-height:1.5!important;margin:10px 0 0}.club-quiz-feedback:empty{display:none}.club-quiz-feedback[data-correct=true]{color:#c4dfad}
@media(max-width:600px){.club-lesson>p{font-size:16px}.club-lesson .club-card-strip{--thumb:55px}.club-lesson h2{font-size:24px}}
.club-bid-help{font:clamp(11px,.86cqw,14px)/1.45 "Literata", Georgia,serif;color:#cbd1b9;margin:3px 0 5px}
@media(max-width:900px) and (orientation:portrait){.club-bid-help{display:none}}
@media(max-width:900px) and (max-height:650px) and (orientation:portrait){.game.club-table:has(#club-bid) .club-controls{max-height:27%}.game.club-table:has(#club-bid) .club-stage-copy{display:none}}
.club-coach{overscroll-behavior:contain;overflow-anchor:none}@media(min-width:901px),(orientation:landscape){.club-coach{overflow-x:hidden;scrollbar-gutter:stable;padding-bottom:18px}}.club-coach-example .club-mini{aspect-ratio:2/3}.club-coach button{touch-action:manipulation}
.game.club-table .club-coach{pointer-events:auto}
