/* Reference-led table composition. Game data and cards remain interactive DOM. */
.game-screen .game-wrap:has(.heritage-game){max-width:1100px;padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:#280a12}
.game-screen .game-wrap main.heritage-game{position:relative;isolation:isolate;padding:6px 12px 10px;display:grid;grid-template-columns:1fr;grid-template-rows:58px minmax(130px,1fr) minmax(150px,1fr) 60px;gap:4px;background:linear-gradient(#18070b33,#18070b11),url('/assets/table-heritage.png') center/100% 100% no-repeat}
.heritage-game .table-title{display:flex;align-items:center;gap:8px;min-width:0;padding:0 5px;border-bottom:1px solid #d4a34c70;color:#f5d294}
.table-title>div:first-child{flex:1;min-width:0}.table-title b{font:700 clamp(18px,5vw,30px) Georgia;letter-spacing:2px}.table-title small{display:block;font:12px Georgia;color:#f3ddad}
.game-screen .heritage-game .game-nav{flex:0 0 36px;width:36px;margin:0}.game-screen .heritage-game .game-nav button{width:36px;color:#f4d08b}
.game-screen .heritage-game .trump-display{display:flex;flex-direction:row;gap:5px;width:auto;align-items:center;background:#f3e5be;color:#511521;padding:4px 6px;border:1px solid #b4853e;border-radius:4px 4px 12px 12px;box-shadow:0 3px 8px #0008}
.heritage-game .trump-caption small{font:bold 9px Georgia;color:#6f1720;letter-spacing:1px}.game-screen .heritage-game .trump-caption strong{font:bold 12px Georgia;color:#241921}.game-screen .heritage-game .trump-display .playing-card{width:24px;min-width:24px;height:36px}.heritage-game .trump-display .card-corner{font-size:7px!important}.heritage-game .trump-display .card-corner b{font-size:9px!important}.heritage-game .trump-display .card-corner.bottom{display:none}
.game-screen .heritage-game .table-arena{grid-row:2;grid-column:1;max-width:none;width:100%;height:100%;padding:4px 0;gap:3px;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,1fr);grid-template-rows:repeat(3,minmax(0,1fr))}
.game-screen .heritage-game .table-arena:before{display:none}
.game-screen .heritage-game .opponent{position:relative;border:1px solid #d5a654;border-radius:14px;background:linear-gradient(#191512,#090c0d);color:#ffe7b5;box-shadow:0 4px 8px #0008;display:flex;align-items:center;gap:4px;padding:5px;min-height:44px;height:auto;max-height:100%;overflow:visible}
.game-screen .heritage-game .opponent .profile-picture{display:grid;place-items:center;width:30px;height:36px;flex:0 0 30px;border:2px solid #d3a456;border-radius:50%;background:radial-gradient(#835431,#2d2024);font:22px Georgia;color:#ffe1a5;overflow:hidden}
.heritage-game .profile-picture img{width:100%;height:100%;object-fit:cover}
.game-screen .heritage-game .seat-number{position:absolute;top:-6px;left:-3px;width:15px;height:15px;min-width:15px;font:bold 9px Arial!important;background:#e0b56c;border:1px solid #201716;color:#271b18!important;border-radius:50%;display:grid;place-items:center}
.game-screen .heritage-game .seat-details{min-width:0;width:auto;flex:1;text-align:left}
.game-screen .heritage-game .seat-details strong{font:bold 12px Georgia;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.game-screen .heritage-game .seat-stats{display:block!important;font:9px Arial!important;line-height:13px;color:#f4e5c5;white-space:normal}
.heritage-game .seat-score{display:block;font:700 12px Georgia;color:#f4ce79}.heritage-game .seat-score small{font:7px Arial}.game-screen .heritage-game .bid-progress{font-size:9px;margin:0 2px 0 0}.game-screen .heritage-game .seat-roles{font-size:9px;line-height:10px;gap:3px;display:inline-flex}
.game-screen .heritage-game .opponent.active-turn{background:linear-gradient(#243a25,#101d15);border:2px solid #9eeb71;color:#fff1c9;box-shadow:0 0 12px #a5ed6566}
.game-screen .heritage-game .opponent.active-turn .turn-label{color:#bafa8b!important;font-size:8px}.game-screen .heritage-game .opponent.active-turn .profile-picture{border-color:#a5ed65}
.game-screen .heritage-game .felt-table{grid-column:2;grid-row:2/4;display:flex;align-items:center;justify-content:center;background:none;border:0;box-shadow:none;padding:0;margin:0;width:100%;height:100%;overflow:visible}
.game-screen .heritage-game .trick-cards{display:flex;flex-wrap:wrap;gap:3px;justify-content:center;align-items:center;max-height:100%;width:100%;overflow:visible}
.game-screen .heritage-game .trick-cards .playing-card{width:clamp(34px,11vw,60px);min-width:0;height:auto;aspect-ratio:2/3;border-radius:4px;box-shadow:0 4px 8px #0007}
.game-screen .heritage-game .played-card>small{font:8px Arial;color:#ffedc8;max-width:60px;margin-top:2px}.heritage-game .played-card:nth-child(odd){transform:rotate(-5deg)}.heritage-game .played-card:nth-child(even){transform:rotate(5deg)}
.game-screen .heritage-game .trump-reason{position:absolute;bottom:0;left:0;right:0;max-width:100%;font-size:9px;line-height:11px;text-align:center;color:#ffe5ac;background:#180b10dd;padding:3px;border:0;border-radius:8px;z-index:4}
.game-screen .heritage-game .hand-panel{grid-row:3;grid-column:1;display:flex;flex-direction:column;gap:3px;overflow:visible;margin:0;padding:0;background:none;border:0;min-height:0}
.game-screen .heritage-game .hand-heading{height:auto;min-height:28px;flex-shrink:0;border:1px solid #c69c50;border-radius:12px;background:linear-gradient(#211b14,#100e0c);justify-content:center;padding:4px 8px;box-shadow:0 3px 6px #0006}
.game-screen .heritage-game .turn-summary{font:700 13px Georgia;line-height:17px;text-align:center;color:#ffe9ba;margin:0;padding:0;background:none;border:0;min-height:0}
.game-screen .heritage-game .hand-panel .hand-cards{position:relative;display:block;flex:1;height:0;min-height:0;padding:0;margin:0;overflow:visible;isolation:isolate}
.game-screen .heritage-game .hand-panel .arrange-card{position:absolute;width:var(--hand-card-width);height:calc(var(--hand-card-width)*1.5);margin:0;transform-origin:50% 80%;transition:none}
.game-screen .heritage-game .hand-panel .playing-card{box-shadow:0 3px 7px #0008;border:1px solid #c9b888;border-radius:6px;opacity:1;filter:none}
.game-screen .heritage-game .hand-panel .card-corner{font-size:12px!important;left:2px;top:3px;padding:0 1px}.game-screen .heritage-game .hand-panel .card-corner b{font-size:18px!important}.game-screen .heritage-game .hand-panel .card-corner.bottom{display:none}
.game-screen .heritage-game .play-ready .playing-card:not(:disabled){border:2px solid #b7fa72;box-shadow:0 0 0 1px #d9ffad,0 0 12px #9bee63}
.game-screen .heritage-game .hand-panel .arrange-card.dragging{z-index:100!important;opacity:.75}.game-screen .heritage-game .hand-instruction,.game-screen .heritage-game .bid-panel.waiting-line{display:none}
.game-screen .heritage-game .self-seat{grid-row:4!important;grid-column:1!important;justify-self:center;min-width:180px;width:max-content;max-width:92%;height:100%;padding:4px 16px;gap:10px;border-radius:16px}
.game-screen .heritage-game .self-seat .profile-picture{width:44px;flex-basis:44px;height:44px}.game-screen .heritage-game .self-seat .seat-details strong{font-size:16px}.game-screen .heritage-game .self-seat .seat-stats{display:inline!important;font-size:11px!important}.heritage-game .self-seat .seat-score{display:inline;margin-left:8px}.game-screen .heritage-game .self-seat .seat-number{left:2px;top:1px}
.game-screen .heritage-game:has(.bid-picker){grid-template-rows:52px minmax(100px,.65fr) minmax(0,1.35fr) 48px}
.game-screen .heritage-game .bid-picker{padding:2px 4px;border:0;background:#120d0bcc;border-radius:10px}.heritage-game .bid-picker-label{font-size:10px;line-height:12px;margin:0 0 3px}.heritage-game .bid-options{gap:3px}.heritage-game .bid-options button{min-height:36px;font-size:14px}.heritage-game .bid-options button:first-child{font-size:10px}
@media(orientation:landscape){
 .game-screen .game-wrap main.heritage-game{grid-template-rows:42px minmax(90px,1fr) minmax(80px,1fr) 38px;padding:3px 20px 5px;gap:2px;background-size:100% 160%;background-position:center}
 .game-screen .heritage-game:has(.bid-picker){grid-template-rows:40px minmax(75px,.65fr) minmax(100px,1.35fr) 34px}
 .game-screen .heritage-game .table-arena{grid-template-rows:repeat(3,minmax(0,1fr));grid-template-columns:1fr 2fr 1fr;padding:0}
 .game-screen .heritage-game .opponent{padding:2px 4px;min-height:26px;gap:5px}.game-screen .heritage-game .opponent .profile-picture{width:26px;flex-basis:26px;height:28px}
 .game-screen .heritage-game .seat-stats{font-size:8px!important;line-height:10px}.heritage-game .seat-score{font-size:10px}.game-screen .heritage-game .seat-details strong{font-size:11px}
 .game-screen .heritage-game .felt-table{grid-row:2/4}.game-screen .heritage-game .trick-cards{flex-wrap:nowrap}.game-screen .heritage-game .trick-cards .playing-card{width:36px}
 .game-screen .heritage-game .hand-heading{min-height:22px;padding:2px 8px;align-self:center;max-width:80%}.game-screen .heritage-game .turn-summary{font-size:11px;line-height:14px}
 .game-screen .heritage-game .self-seat{padding:2px 16px}.game-screen .heritage-game .self-seat .profile-picture{height:30px;width:30px;flex-basis:30px}.game-screen .heritage-game .self-seat .seat-details strong{font-size:12px}
 .game-screen .heritage-game .self-seat .seat-stats{font-size:9px!important}.heritage-game .self-seat .seat-score{font-size:10px}
 .game-screen .heritage-game .bid-picker-label{display:none}.heritage-game .bid-options button{min-height:30px}
 .game-screen .heritage-game .table-title b{font-size:21px}.table-title small{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.heritage-game *{animation:none!important}}
.game-screen .heritage-game .opponent{flex-direction:row}
.game-screen .heritage-game .self-seat .seat-details{width:auto;text-align:left}
.game-screen .heritage-game .seat-details strong{font-size:14px}
.game-screen .heritage-game .seat-stats{font-size:10px!important}
@media(orientation:landscape){.game-screen .heritage-game .seat-details strong{font-size:11px}.game-screen .heritage-game .seat-stats{font-size:8px!important}}
.game-screen .game-wrap main.heritage-game:has(.bid-picker){grid-template-rows:52px 125px minmax(0,1fr) 48px}
@media(orientation:landscape){.game-screen .game-wrap main.heritage-game:has(.bid-picker){grid-template-rows:40px 75px minmax(0,1fr) 34px}}
.game-screen .heritage-game .seat-details{display:flex;flex-direction:column;justify-content:center;line-height:12px;gap:1px}
.game-screen .heritage-game .seat-details strong{line-height:15px}
.game-screen .heritage-game .seat-roles{position:absolute;right:5px;top:-7px;line-height:10px;background:#182117;border-radius:4px}
.game-screen .heritage-game .seat-roles:empty{display:none}
.game-screen .heritage-game .seat-details .bid-progress{position:absolute;right:4px;bottom:2px}
.heritage-game .seat-score{line-height:12px}
@media(orientation:portrait){.game-screen .heritage-game .table-arena .opponent{min-height:55px;max-height:none}}
@media(orientation:landscape){.game-screen .heritage-game .seat-details strong{line-height:12px}.game-screen .heritage-game .seat-stats{line-height:10px}.heritage-game .seat-score{line-height:10px}.game-screen .heritage-game .self-seat .seat-details{display:block}.game-screen .heritage-game .table-arena .opponent{min-height:38px;max-height:none}}
@media(orientation:portrait){.game-screen .game-wrap main.heritage-game[data-players="7"]:has(.bid-picker),.game-screen .game-wrap main.heritage-game[data-players="6"]:has(.bid-picker){grid-template-rows:52px 175px minmax(0,1fr) 48px}}
.game-screen .heritage-game .trick-cards{display:grid;grid-template-columns:repeat(var(--trick-cols,2),minmax(0,1fr));gap:3px;align-content:center;justify-items:center}
.game-screen .heritage-game .trick-cards .playing-card{width:var(--trick-size,36px);height:calc(var(--trick-size,36px)*1.5)}
.game-screen .heritage-game .played-card{transform:none;min-width:0}
.game-screen .heritage-game .played-card>small{max-width:var(--trick-size,36px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:10px;font-size:7px}
@media(orientation:portrait){.game-screen .heritage-game[data-players="7"] .table-arena .profile-picture,.game-screen .heritage-game[data-players="6"] .table-arena .profile-picture{display:none}.game-screen .heritage-game[data-players="7"] .seat-stats,.game-screen .heritage-game[data-players="6"] .seat-stats{font-size:9px!important}}
/* Bidding gives the complete hand priority for every player. */
.game-screen .game-wrap main.heritage-game.bidding-layout{grid-template-rows:52px auto minmax(0,1fr);gap:5px}
.game-screen .heritage-game.bidding-layout .self-seat{display:none}
.game-screen .heritage-game.bidding-layout .table-arena{display:block;padding:0;min-height:0}
.bidding-order{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
.bidding-order li{display:flex;align-items:center;gap:5px;min-width:0;padding:4px 6px;border:1px solid #92754b;border-radius:9px;background:#161a17eb;color:#fff0ce}
.bidding-order li.calling-now{border:2px solid #9cff89;background:#23472d;box-shadow:0 0 10px #91ff7160}
.bidding-order li>div{display:flex;flex-direction:column;min-width:0;flex:1}
.bidding-order strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bidding-order small{font-size:9px}.bidding-order b{font-size:11px}.call-number{color:#f8ca76;font-weight:bold}
.game-screen .heritage-game.bidding-layout .trump-reason{position:static;font-size:10px;margin:3px 0;text-align:center}
.game-screen .heritage-game.bidding-layout .hand-cards{overflow:visible}
.arrange-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.reorder-ghost{opacity:.95;transform:rotate(-3deg) scale(1.07);filter:drop-shadow(0 12px 8px #0008)}
.reorder-ghost .playing-card{width:100%;height:100%}
.game-screen .heritage-game .arrange-card.dragging{opacity:.22}
.game-screen .heritage-game .arrange-card.drop-target{outline:3px solid #8ef7b3;outline-offset:2px;transition:translate .15s}
.game-screen .heritage-game .arrange-card.drop-target:before{content:'';position:absolute;left:-5px;top:0;bottom:0;width:4px;background:#8ef7b3;z-index:5;border-radius:4px}
.captured-count{font:inherit;color:inherit;background:transparent;border:0;border-bottom:1px dotted #edc17b;padding:2px;cursor:pointer}
.captured-filter{display:flex;flex-wrap:wrap;gap:6px}.captured-filter button{min-height:40px;border:1px solid #a98b59;border-radius:8px;padding:7px;background:#242c29;color:#fff0ce}
.captured-filter button[aria-pressed=true]{background:#365d42;border-color:#9fe9ae}
.captured-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.captured-cards .playing-card{width:100%;height:auto;aspect-ratio:2/3}
.captured-cards small{display:block;font-size:11px;overflow-wrap:anywhere}
.captured-trick{border-top:1px solid #997c4b;padding:8px 0}.captured-trick h3{font-size:15px;margin:3px 0 8px}
@media(orientation:landscape){.game-screen .game-wrap main.heritage-game.bidding-layout{grid-template-rows:40px auto minmax(0,1fr)}.bidding-order{grid-template-columns:repeat(4,minmax(0,1fr))}.bidding-order li{padding:2px 5px}.captured-cards{grid-template-columns:repeat(7,minmax(0,1fr))}}
.profile-picture.illustrated-avatar{overflow:hidden;position:relative;background:#ead6ad}
.profile-picture.illustrated-avatar img{width:220%!important;height:330%!important;max-width:none;object-fit:cover!important;position:absolute;left:-60%;top:-4%}
.avatar-picker{display:flex;gap:12px;border:0;padding:12px 0}.avatar-picker button{border:2px solid #9b8154;border-radius:50%;padding:3px;background:#212b24}.avatar-picker button[aria-pressed=true]{border-color:#a4f4ac;box-shadow:0 0 8px #8aff8790}.avatar-picker .profile-picture{display:block;width:48px;height:48px;border-radius:50%}
@media(orientation:portrait){.game-screen .heritage-game[data-players="7"] .table-arena .profile-picture,.game-screen .heritage-game[data-players="6"] .table-arena .profile-picture{display:block;width:20px;height:28px;flex-basis:20px}}
.captured-cards>div{min-width:0}.captured-cards .playing-card{min-width:0;min-height:0;overflow:hidden}.captured-cards .card-corner{font-size:15px}.captured-cards .card-corner.bottom{display:none}
.game-screen .game-wrap main.heritage-game.bidding-layout[data-players]{grid-template-rows:52px auto minmax(0,1fr)}
@media(orientation:landscape){.game-screen .game-wrap main.heritage-game.bidding-layout[data-players]{grid-template-rows:40px auto minmax(0,1fr)}}
/* Seven deliberate character choices, shared by entry, lobby and settings. */
.avatar-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0;min-width:0}
.avatar-picker legend{font-size:14px;font-weight:600;padding-bottom:5px}
.avatar-picker button{border-radius:10px;min-width:0;padding:6px 2px;display:flex;flex-direction:column;align-items:center;gap:4px;color:#f5e6c6;position:relative}
.avatar-picker button>span:last-child{font-size:10px;line-height:13px;overflow-wrap:anywhere}
.avatar-picker button[aria-pressed=true]:after{content:'✓';position:absolute;right:2px;top:0;background:#255f35;color:white;border-radius:50%;padding:1px 4px}
.avatar-picker .profile-picture{width:44px;height:44px;flex-shrink:0}
.profile-picture.portrait-avatar img{width:100%;height:100%;object-fit:cover}
.avatar-required{font-size:12px;color:#d8bd81;margin:3px 0 14px}
.roster-row>.profile-picture{display:block;width:42px;height:42px;flex:0 0 42px;border-radius:50%;overflow:hidden}
.game-screen .heritage-game .trick-cards{display:block;position:relative;width:100%;max-height:none;margin:0;align-self:center}
.game-screen .heritage-game .played-card{position:absolute;margin:0;display:block;width:var(--trick-size);transform:none;transition:top .18s ease}
.game-screen .heritage-game .played-card .card-corner:not(.bottom){display:flex;flex-direction:row;align-items:center;gap:2px;top:2px;left:3px;font-size:13px;line-height:14px}
.game-screen .heritage-game .played-card .card-corner:not(.bottom) span{font-size:12px;line-height:14px}
.game-screen .heritage-game .played-card>small{position:absolute;left:calc(100% + 4px);top:0;max-width:65px;width:65px;margin:0;color:#fff1ca;text-align:left;font-size:9px;line-height:16px;text-shadow:0 1px 3px #000;background:#161b16dd;border-radius:3px;padding:0 2px}
.game-screen .heritage-game .played-card .card-corner.bottom{display:none}
@media(prefers-reduced-motion:reduce){.game-screen .heritage-game .played-card{transition:none}}

.game-screen .heritage-game .played-card>small{width:var(--trick-label-width,45px);max-width:var(--trick-label-width,45px)}
.game-screen .heritage-game .trick-cards{margin-inline:auto}
.game-screen .heritage-game button.trump-display{min-height:44px;min-width:44px;cursor:pointer;font-family:inherit;text-align:left;touch-action:manipulation}
.trump-preview{display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:16px}
.trump-preview .playing-card{width:min(240px,60vw,calc((100dvh - 200px)/1.5));height:auto;min-width:0;aspect-ratio:2/3;flex-shrink:0}
.trump-preview p{text-align:center;font-size:16px;color:#f5eee1}
.trump-preview .card-corner{font-size:24px}.trump-preview .card-corner b{font-size:28px}
.trump-preview .no-trump-symbol{font-size:72px;color:#e4c68b}
@media(orientation:landscape) and (max-height:500px){.trump-preview{flex-direction:row;justify-content:center}.trump-preview .playing-card{width:110px}.trump-preview p{max-width:220px}}
.modal.tally-sheet{width:min(100%,1000px);max-width:1000px;padding:24px 16px}
.tally-intro{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin:15px 0 6px}.tally-intro span,.tally-key{font-size:12px;color:#d0c5bc}.tally-key{margin-bottom:12px;line-height:1.45}
.tally-scroll{max-height:65dvh;overflow:auto;border:1px solid #a28c634f;border-radius:10px;overscroll-behavior:contain}
.tally-table{border-collapse:separate;border-spacing:0;width:100%;font-size:12px;text-align:center;font-variant-numeric:tabular-nums}
.tally-table th,.tally-table td{min-width:105px;border-right:1px solid #a28c6329;border-bottom:1px solid #a28c6329;padding:9px 6px;background:#24262bf5}
.tally-table thead th{position:sticky;top:0;z-index:3;background:#1e2836;color:#efcf8a}.tally-table thead th>span{display:block;max-width:135px;overflow-wrap:anywhere}
.tally-table th:first-child{position:sticky;left:0;z-index:2;min-width:75px;max-width:95px;background:#20252e}.tally-table thead th:first-child{z-index:4}
.tally-table .profile-picture{display:block;width:32px;height:32px;border-radius:50%;overflow:hidden;margin:0 auto 5px}
.tally-table small,.tally-running{display:block;font-size:10px;line-height:15px;color:#d0c5bc}.tally-table strong{font-size:18px}.tally-table .tally-positive{color:#b3e4b8}.tally-table .tally-negative{color:#ffb0ab}.tally-table .tally-running{color:#edcf8b}
.tally-table .tally-current td,.tally-table .tally-current th{background:#263b46;border-top:1px solid #69abb7;border-bottom:1px solid #69abb7}.tally-table .tally-upcoming td{color:#8c8d91}
.tally-table tfoot td,.tally-table tfoot th{position:sticky;bottom:0;z-index:3;background:#28251f;color:#f6d991;border-top:2px solid #be9c53}.tally-table tfoot th:first-child{z-index:4}
@media(max-width:430px){.modal.tally-sheet{padding:20px 10px}.tally-scroll{max-height:60dvh}}
@media(max-width:600px){.tally-table[data-players="2"],.tally-table[data-players="3"],.tally-table[data-players="4"]{table-layout:fixed}.tally-table[data-players="2"] :is(th,td),.tally-table[data-players="3"] :is(th,td),.tally-table[data-players="4"] :is(th,td){min-width:0;padding:8px 3px;overflow-wrap:anywhere}.tally-table[data-players="2"] th:first-child,.tally-table[data-players="3"] th:first-child,.tally-table[data-players="4"] th:first-child{width:54px}.tally-table th span{font-size:10px}.tally-table strong{font-size:16px}.tally-table small,.tally-running{font-size:9px}}

/* Keep both indices readable; overlapping cards still expose the upper index. */
.game-screen .heritage-game :is(.hand-panel,.played-card) .card-corner.bottom,.captured-cards .card-corner.bottom{display:flex;top:auto!important;left:auto!important;right:3px;bottom:3px;transform:rotate(180deg)}
/* Disabled play buttons must not swallow the wrapper's arrangement gestures. */
.arrange-card>.playing-card:disabled{pointer-events:none}
.played-six-mode{display:block;border:1px solid #efcf86;border-radius:3px;padding:1px 2px;background:#f7e4af;color:#30220f;font:bold 10px/12px Georgia;white-space:normal;text-shadow:none}
.played-six-mode.weak{background:#d8e9f3;border-color:#9fc9e2;color:#142f42}
.game-screen .heritage-game .played-card:has(.played-six-mode)>small{z-index:20}
.ace-emblem{position:absolute;inset:10%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #a9824180;border-radius:45%;background:radial-gradient(ellipse,#e9ce8735,transparent 70%);font-size:42px;line-height:1}
.ace-emblem>span:nth-child(2){font-size:1em;text-shadow:0 1px #fff}
.ace-emblem .ace-flourish{font:18px/1 Georgia;color:#9a742f}
.game-screen .hand-panel .ace-emblem{font-size:clamp(22px,5vw,42px)}
.trump-display .ace-emblem,.seat-played .ace-emblem{font-size:15px}.trump-display .ace-flourish,.seat-played .ace-flourish{font-size:7px}

.game-screen .heritage-game .played-card .mode-label{display:none}
.game-screen .heritage-game .played-six-mode{font-size:8px;line-height:13px;white-space:nowrap;padding:0;border:0}

.game-screen .hand-panel .ace-emblem{font-size:calc(var(--hand-card-width,90px)*.65)}
.ace-card .card-center:before,.ace-card .card-center:after{display:none}

/* Explain no-trump without hiding the actual exposed card. */
.game-screen .heritage-game .trump-display .playing-card{width:30px;min-width:30px;height:45px}
.game-screen .heritage-game .trump-caption .no-trump-cause{max-width:70px;white-space:normal;font-size:10px;line-height:12px}


/* Movable menu remains outside the title's layout, above the table and below dialogs. */
.game-screen .game-nav.floating-game-nav{position:fixed;inset:auto;right:auto;bottom:auto;z-index:40;width:52px;height:52px;margin:0;padding:0;display:block;transform:none}
.game-screen .floating-game-nav button{width:52px;height:52px;min-width:52px;border-radius:50%;border:1px solid #e8c780;background:radial-gradient(circle at 35% 20%,#345b4c,#10291f 75%);color:#f8dfaa;box-shadow:0 7px 20px #0008,inset 0 1px 0 #fff4;touch-action:none;user-select:none;cursor:grab;font-size:24px}
.game-screen .floating-game-nav button:active{cursor:grabbing}
.bidding-order li{grid-template-columns:20px 38px minmax(0,1fr) auto;gap:8px}
.bidding-order li .profile-picture{display:block;width:38px;height:38px;min-width:38px;border:2px solid #b39b66;border-radius:50%;overflow:hidden;box-shadow:0 3px 9px #0005}
.bidding-order li .profile-picture img{width:100%;height:100%;object-fit:cover}
.bidding-order li.calling-now .profile-picture{border-color:#f5d786;box-shadow:0 0 0 3px #eac56e25}
.bidding-order li>div{min-width:0}
.bidding-order li strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-height:540px){.bidding-order li .profile-picture{width:28px;height:28px;min-width:28px}.bidding-order li{grid-template-columns:16px 28px minmax(0,1fr) auto;gap:5px}}
.game-screen .heritage-game .table-arena .bidding-order .profile-picture{display:block;flex-shrink:0}
.bidding-order li{display:grid;grid-template-columns:14px 32px minmax(0,1fr);gap:3px 6px}
.bidding-order li .profile-picture{width:32px;height:32px;min-width:32px;grid-column:2;grid-row:1 / span 2}
.bidding-order li .call-number{grid-column:1;grid-row:1 / span 2;font-size:10px}
.bidding-order li>div{grid-column:3}.bidding-order li>b{grid-column:3;font-size:10px}
