:root{--focus-ring:#d49a2a;--suit-black:#17324d;--suit-red:#a3323b;--table-felt:#dfeee5;--table-felt-border:#9fb9aa;--surface:#fff;color:#172033;font-synthesis:none;text-rendering:optimizelegibility;background:#f4f6f2;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button,input,textarea,select{font:inherit}.table-shell{width:min(100%,1120px);margin:0 auto;padding:18px 14px 28px;overflow-x:clip}.table-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.eyebrow{color:#0f6b5b;text-transform:uppercase;margin:0 0 4px;font-size:.875rem;font-weight:700}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:2.25rem;line-height:1}h2{margin-bottom:8px;font-size:1.45rem;line-height:1.2}h3{margin-bottom:6px;font-size:1rem;line-height:1.25}.reset-button,.npc-button,.mode-button,.section-button,.info-tab{color:#fff;cursor:pointer;white-space:normal;background:#172033;border:2px solid #172033;border-radius:8px;min-width:128px;max-width:100%;min-height:44px;font-weight:700}.reset-button:focus-visible,.npc-button:focus-visible,.mode-button:focus-visible,.section-button:focus-visible,.info-tab:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.section-switcher{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.section-button{color:#172033;background:#fff;border-color:#87909f;min-width:104px}.section-button[aria-pressed=true]{color:#fff;background:#0f6b5b;border-color:#0f6b5b}.control-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.control-help{color:#59657c;flex:1;min-width:0;margin:0;font-size:.925rem;font-weight:650}.mode-control{gap:6px;display:flex}.mode-button{color:#172033;background:#fff;border-color:#87909f;min-width:112px}.mode-button[aria-pressed=true]{color:#fff;background:#0f6b5b;border-color:#0f6b5b}.contract-setup-panel{background:#fff;border:1px solid #c9cfbd;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(220px,.8fr) minmax(0,1fr);align-items:center;gap:10px;margin-bottom:10px;padding:10px;display:grid}.contract-setup-copy,.contract-setup-status{min-width:0}.contract-setup-copy p,.contract-setup-status p{color:#39465e;margin:4px 0 0;font-size:.86rem;font-weight:650}.contract-setup-copy strong,.contract-setup-status strong{margin-top:3px;display:block}.setup-pill-row{flex-wrap:wrap;gap:5px;margin-top:6px;display:flex}.setup-pill-row span{color:#39465e;text-transform:uppercase;background:#f8faf3;border:1px solid #87909f;border-radius:999px;padding:2px 7px;font-size:.72rem;font-weight:850}.contract-setup-form{grid-template-columns:minmax(76px,.55fr) minmax(122px,1fr);gap:8px;display:grid}.contract-setup-status{background:#f8faf3;border:1px solid #d9dece;border-radius:8px;padding:8px}.contract-setup-status span{color:#0f6b5b;text-transform:uppercase;border:1px solid #0f6b5b;border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:800;display:inline-block}.game-start-panel,.live-bidding-panel,.auction-hand-panel{background:#fff;border:1px solid #c9cfbd;border-radius:8px;margin-bottom:10px;padding:10px}.game-start-panel{justify-content:space-between;align-items:center;gap:12px;display:flex}.game-start-panel-compact{background:#f8faf3;padding:7px 10px}.game-start-panel p{color:#39465e;margin:4px 0 0;font-size:.88rem;font-weight:650}.game-start-panel-compact p{font-size:.82rem}.live-bidding-panel{background:#f8fbf2;border-color:#0f6b5b;gap:8px;display:grid}.live-bidding-heading{grid-template-columns:minmax(0,1.35fr) minmax(220px,.75fr);align-items:start;gap:8px;display:grid}.live-bidding-heading h2{margin-bottom:5px}.live-bidding-heading p,.live-bidding-status p{color:#39465e;margin:4px 0 0;font-size:.86rem;font-weight:650}.live-bidding-status{background:#fff;border:1px solid #d9dece;border-radius:8px;padding:7px}.live-bidding-status span{color:#0f6b5b;text-transform:uppercase;border:1px solid #0f6b5b;border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:850;display:inline-block}.live-bidding-status strong{margin-top:4px;display:block}.auction-hand-panel{background:#fff;margin-bottom:0}.auction-hand-panel .card-list{justify-content:start;margin-top:6px}.live-bidding-grid{grid-template-columns:minmax(180px,.75fr) minmax(0,1.25fr);gap:8px;display:grid}.live-bidding-grid article{background:#fff;border:1px solid #d9dece;border-radius:8px;min-width:0;padding:7px}.live-bidding-grid p,.auction-call-list{color:#39465e;margin:5px 0 0;font-size:.84rem;font-weight:650}.auction-call-list{grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:5px 12px;padding-left:18px;display:grid}.live-bidding-form{grid-template-columns:minmax(76px,.45fr) minmax(130px,.8fr) minmax(210px,1.2fr) minmax(260px,auto);align-items:end;gap:6px;display:grid}.live-bidding-boundary-note{color:#39465e;grid-column:1/-1;margin:0;font-size:.8rem;font-weight:700}.npc-button:disabled{color:#667085;cursor:default;background:#e7e9e1;border-color:#b9c0b6}.npc-button-secondary{color:#172033;background:#fff;border-color:#87909f}.game-focus-bar{grid-template-columns:minmax(170px,.8fr) minmax(260px,1.2fr) minmax(170px,.8fr);gap:8px;margin-bottom:10px;display:grid}.focus-card{background:var(--surface);border:1px solid #b9c0b6;border-radius:8px;min-width:0;padding:10px}.focus-card-primary{background:#eef7f3;border-color:#0f6b5b}.focus-card strong{margin-top:3px;font-size:1.08rem;line-height:1.2;display:block}.focus-card p{color:#39465e;margin:5px 0 0;font-size:.86rem;font-weight:700;line-height:1.28}.status-strip{grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:8px;margin-bottom:10px;display:grid}.status-detail{color:#39465e;margin-top:4px;font-size:.78rem;font-weight:650;line-height:1.25;display:block}.prototype-status{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;margin-bottom:10px;display:grid}.status-strip article,.prototype-status article,.feedback-panel,.hand-panel,.trick-panel,.table-flow-note,.hand-complete-panel,.action-log-panel,.played-card{background:#fff;border:1px solid #c9cfbd;border-radius:8px}.status-strip article{min-width:0;min-height:62px;padding:10px}.prototype-status article{min-width:0;padding:10px}.prototype-status p{color:#39465e;overflow-wrap:anywhere;margin:4px 0 0;font-size:.875rem}.table-flow-note{background:#eef7f3;border-color:#0f6b5b;gap:4px;margin-bottom:10px;padding:10px;display:grid}.table-flow-note strong{font-size:1rem}.table-flow-note p{color:#39465e;margin:0;font-size:.9rem;font-weight:650}.info-panel-shell{margin-bottom:10px}.secondary-section-shell{background:#fff;border:1px solid #c9cfbd;border-radius:8px;padding:12px}.info-tab-list{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.info-tab{color:#172033;background:#fff;border-color:#87909f;min-width:104px}.info-tab[aria-selected=true]{color:#fff;background:#0f6b5b;border-color:#0f6b5b}.info-panel{gap:12px;display:grid}.info-panel-heading{max-width:760px}.info-panel-heading p,.info-panel-card p{color:#39465e;margin-bottom:0}.preview-boundary-note{color:#172033;margin-top:8px;font-weight:800}.info-panel-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.info-panel-card{background:#fff;border:1px solid #c9cfbd;border-radius:8px;min-height:112px;padding:12px}.scoring-preview-form{grid-template-columns:repeat(auto-fit,minmax(156px,1fr));gap:10px;display:grid}.preview-field{color:#39465e;gap:6px;min-width:0;font-size:.875rem;font-weight:800;display:grid}.preview-field input,.preview-field select,.preview-field textarea{color:#172033;background:#fff;border:2px solid #87909f;border-radius:8px;width:100%;min-height:44px;padding:6px 8px;font-weight:700}.preview-field textarea{resize:vertical;min-height:130px}.preview-field input:focus-visible,.preview-field select:focus-visible,.preview-field textarea:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.scoring-preview-result{background:#eef7f3;border:1px solid #0f6b5b;border-radius:8px;padding:12px}.scoring-preview-result strong{margin-top:3px;font-size:1.2rem;display:block}.scoring-preview-result p{color:#39465e;margin:7px 0 0}.auction-preview-form{align-items:end}.auction-preview-selected-status{color:#39465e;overflow-wrap:anywhere;align-self:center;margin:0;font-size:.88rem;font-weight:750}.auction-preview-buttons{flex-wrap:wrap;gap:8px;display:flex}.auction-preview-buttons .npc-button{min-width:104px}.preview-warning{color:#8b1e29;margin:-2px 0 0;font-size:.9rem;font-weight:800}.auction-preview-history,.auction-preview-final{background:#fff;border:1px solid #c9cfbd;border-radius:8px;padding:12px}.auction-preview-history ol{gap:4px;margin:8px 0 0;padding-left:22px;display:grid}.auction-preview-history p,.auction-preview-final p{color:#39465e;margin:7px 0 0}.auction-preview-final{background:#eef7f3;border-color:#0f6b5b}.auction-preview-final strong{margin-top:3px;font-size:1.15rem;display:block}.auction-preview-metadata{grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:8px;margin:10px 0 0;display:grid}.auction-preview-metadata div{background:#fff;border:1px solid #b9c0b6;border-radius:8px;min-width:0;padding:8px}.auction-preview-metadata dt{color:#59657c;text-transform:uppercase;font-size:.74rem;font-weight:800}.auction-preview-metadata dd{color:#172033;margin:2px 0 0;font-weight:800}.inactive-status{color:#59657c;text-transform:uppercase;border:1px solid #87909f;border-radius:999px;margin-bottom:8px;padding:2px 8px;font-size:.75rem;font-weight:800;display:inline-block}.feedback-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px;margin-bottom:10px;display:grid}.feedback-panel{padding:12px}.hand-complete-panel,.action-log-panel{margin-bottom:10px;padding:10px}.hand-complete-panel{background:#eef7f3;border-color:#0f6b5b}.hand-complete-panel p,.action-log-panel p{margin:8px 0 0}.fixed-score-summary{border-top:1px solid #0f6b5b47;margin-top:10px;padding-top:9px}.fixed-score-summary strong{margin-top:3px;font-size:1.15rem;display:block}.fixed-score-summary p{margin-top:6px}.action-log-list{gap:6px;margin:10px 0 0;padding-left:22px;display:grid}.action-log-list li{padding-left:2px}.summary-label,.seat-label{color:#59657c;text-transform:uppercase;font-size:.875rem;font-weight:700;display:block}.status-strip strong,.feedback-panel strong,.hand-panel strong,.hand-heading strong{margin-top:3px;font-size:1.05rem;display:block}.seat-role{color:#59657c;margin-top:2px;font-size:.875rem;font-weight:600;display:block}.seat-profile-line{color:#39465e;margin-top:2px;font-size:.76rem;font-weight:700;display:block}.player-avatar{color:#fff;border:2px solid #ffffffd9;border-radius:50%;flex:none;place-items:center;width:46px;height:46px;font-size:1.1rem;font-weight:900;line-height:1;display:inline-grid;box-shadow:0 0 0 1px #1720332e}.player-avatar-compact{width:34px;height:34px;font-size:.9rem}.avatar-human{background:linear-gradient(135deg,#0f6b5b,#2f8a6f)}.avatar-partner{background:linear-gradient(135deg,#2d5f9f,#597ec9)}.avatar-left-opponent{background:linear-gradient(135deg,#8a5c12,#bf8b2f)}.avatar-right-opponent{background:linear-gradient(135deg,#9f3434,#cf5959)}.table-grid{border:1px solid var(--table-felt-border);background:var(--table-felt);border-radius:8px;grid-template-columns:minmax(148px,.9fr) minmax(340px,1.25fr) minmax(148px,.9fr);grid-template-areas:".north.""west trick east"".south.";align-items:start;gap:8px;margin-bottom:10px;padding:10px;display:grid;box-shadow:inset 0 0 0 2px #ffffff59}.hand-panel,.trick-panel{padding:10px}.seat-north{grid-area:north}.seat-west{grid-area:west}.seat-east{grid-area:east}.seat-south{grid-area:south}.hand-panel{min-height:112px;box-shadow:0 1px 2px #17203314}.active-hand{border-color:#0f6b5b;box-shadow:inset 0 0 0 2px #0f6b5b}.active-badge{color:#0f6b5b;text-transform:uppercase;border:1px solid #0f6b5b;border-radius:999px;align-self:flex-start;padding:2px 8px;font-size:.75rem;font-weight:800}.trick-stack{grid-area:trick;gap:8px;display:grid}.trick-panel{background:#eef7f3;box-shadow:0 1px 2px #17203314}.trick-panel p{color:#39465e;margin:8px 0 0}.current-trick-panel{transition:border-color .16s,box-shadow .16s,background-color .16s}.trick-panel-step-enabled{cursor:pointer;border-color:#0f6b5b;box-shadow:inset 0 0 0 2px #0f6b5b33}.trick-panel-step-enabled:hover,.trick-panel-step-enabled:focus-visible{box-shadow:inset 0 0 0 2px #0f6b5b, 0 0 0 3px var(--focus-ring);border-color:#0f6b5b;outline:none}.trick-step-hint{color:#0f6b5b;margin:4px 0 0;font-size:.78rem;font-weight:800}.table-action-panel{background:#f0f8f4;border:1px solid #0f6b5b;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:10px;display:flex}.table-action-panel p{color:#39465e;margin:4px 0 0;font-size:.875rem}.table-action-panel strong{margin-top:3px;display:block}.action-npc-button{flex:none}.npc-action-buttons{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.manual-action-pill{color:#59657c;text-transform:uppercase;border:1px solid #87909f;border-radius:999px;flex:none;padding:5px 10px;font-size:.8rem;font-weight:800}.last-trick-panel{background:#fffdfa}.hand-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.card-list{grid-template-columns:repeat(auto-fit,minmax(40px,50px));justify-content:center;gap:6px;margin:0;padding:0;list-style:none;display:grid}.card-face{aspect-ratio:5/7;color:#172033;background:#fffdfa;border:1px solid #aeb7aa;border-radius:7px;grid-template-rows:auto minmax(0,1fr) auto;place-items:center;width:100%;min-height:62px;padding:4px 5px;font-weight:800;display:grid;position:relative;overflow:hidden}.card-button{cursor:pointer}.card-state-playable{border-color:#0f6b5b;box-shadow:inset 0 0 0 2px #0f6b5b}.card-state-illegal{border-style:dashed;text-decoration:line-through}.card-button:disabled{color:#535e6f;cursor:default;opacity:.76;background:#f5f6f1;border-color:#aab4a8}.card-button:not(:disabled):hover{border-color:#0f6b5b;box-shadow:0 0 0 2px #0f6b5b}.card-button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.card-corner,.card-corner-part{line-height:1}.card-corner{align-items:baseline;gap:2px;display:flex;position:absolute}.card-corner-top-left{top:4px;left:5px}.card-corner-top-right{top:4px;right:5px}.card-corner-bottom-left{bottom:4px;left:5px}.card-corner-bottom-right{bottom:4px;right:5px}.card-corner-part{font-variant-numeric:tabular-nums;letter-spacing:0;white-space:nowrap;font-size:.78rem}.card-suit-letter{font-size:.72rem}.card-center-suit{font-size:1.65rem;line-height:1}.suit-hearts,.suit-diamonds{color:var(--suit-red)}.suit-clubs,.suit-spades{color:var(--suit-black)}.hidden-hand{justify-items:center;gap:8px;margin-top:10px;display:grid}.hidden-hand p{color:#39465e;text-align:center;margin:0;font-size:.925rem;font-weight:700}.hidden-card-backs{justify-content:center;min-height:58px;display:flex}.card-back{aspect-ratio:5/7;background:linear-gradient(135deg,#ffffff47 25%,#0000 25%) 0 0/10px 10px,#17324d;border:1px solid #59657c;border-radius:7px;width:42px;min-height:58px;margin-left:-14px;display:block;box-shadow:0 2px 4px #17203324}.card-back:first-child{margin-left:0}.trick-compass{grid-template-columns:minmax(76px,1fr) minmax(88px,1fr) minmax(76px,1fr);grid-template-areas:".north.""west center east"".south.";gap:6px;margin-top:8px;display:grid}.trick-slot{text-align:center;background:#fff;border:1px solid #c9cfbd;border-radius:8px;align-content:start;justify-items:center;gap:4px;min-height:104px;padding:6px;display:grid}.trick-slot-north{grid-area:north}.trick-slot-west{grid-area:west}.trick-slot-east{grid-area:east}.trick-slot-south{grid-area:south}.trick-slot-active{border-color:#0f6b5b;box-shadow:inset 0 0 0 2px #0f6b5b}.trick-slot-seat,.trick-slot-meta{color:#59657c;text-transform:uppercase;font-size:.72rem;font-weight:800;line-height:1.1}.trick-slot .card-face,.last-trick-card .card-face{width:44px;min-height:58px}.trick-empty-card{aspect-ratio:5/7;background:#f8faf3;border:1px dashed #aeb7aa;border-radius:7px;width:44px;min-height:58px;display:block}.trick-center-summary{color:#39465e;text-align:center;border:1px dashed #b9c0b6;border-radius:8px;grid-area:center;align-content:center;justify-items:center;gap:4px;min-height:78px;padding:6px;font-size:.78rem;font-weight:800;display:grid}.last-trick-summary{font-size:.875rem;font-weight:700}.last-trick-strip{flex-wrap:wrap;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.last-trick-card{color:#59657c;background:#fff;border:1px solid #d9dece;border-radius:8px;align-items:center;gap:5px;padding:5px 6px;font-size:.78rem;font-weight:800;display:flex}.settings-shell{gap:12px;margin-bottom:10px;display:grid}.settings-grid,.settings-deferred-grid,.player-profile-grid,.share-handoff-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;display:grid}.player-profile-card{background:#fff;border:1px solid #c9cfbd;border-radius:8px;align-items:flex-start;gap:10px;padding:10px;display:flex}.player-profile-card h4{color:#172033;margin:2px 0 5px;font-size:1rem}.player-profile-card p{font-size:.85rem;line-height:1.35}.model-seat-endpoints{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px;display:grid}.model-seat-endpoint{background:#fff;border:1px solid #c9cfbd;border-radius:8px;gap:8px;margin:0;padding:10px;display:grid}.model-seat-endpoint legend{color:#172033;padding:0 4px;font-weight:900}.model-seat-empty{color:#39465e;background:#fff;border:1px dashed #87909f;border-radius:8px;margin:0;padding:10px;font-weight:700}.settings-advanced-panel{background:#f8faf3;border:1px solid #c9cfbd;border-radius:8px;gap:10px;padding:10px;display:grid}.settings-advanced-panel p{color:#39465e;margin:0}.settings-field{background:#fff;border:1px solid #c9cfbd;border-radius:8px;padding:10px}.settings-field small{color:#59657c;font-size:.78rem;font-weight:700;line-height:1.3}.settings-status{background:#eef7f3;border:1px solid #0f6b5b;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:10px;display:flex}.settings-status p{color:#39465e;margin:5px 0 0}.settings-status code{background:#ffffffbf;border-radius:4px;padding:1px 4px}.settings-deferred-grid article{background:#fff;border:1px solid #c9cfbd;border-radius:8px;padding:10px}.settings-deferred-grid p{color:#39465e;margin:0}.live-scoring-panel,.session-scorecard-panel{background:#f8fbf2;border:1px solid #0f6b5b;border-radius:8px;margin-bottom:10px;padding:10px}.live-scoring-heading,.scorecard-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.live-scoring-heading p,.scorecard-empty,.scorecard-note{color:#39465e;margin:4px 0 0;font-size:.88rem;font-weight:650}.live-scoring-grid{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px;margin:10px 0 0;display:grid}.live-scoring-grid div{background:#fff;border:1px solid #d9dece;border-radius:8px;min-width:0;padding:8px}.live-scoring-grid dt{color:#59657c;text-transform:uppercase;font-size:.72rem;font-weight:800}.live-scoring-grid dd{color:#172033;margin:2px 0 0;font-weight:850}.scorecard-list{gap:6px;margin:10px 0 0;padding:0;list-style:none;display:grid}.scorecard-list li{color:#39465e;background:#fff;border:1px solid #d9dece;border-radius:8px;grid-template-columns:.58fr .9fr .75fr .9fr .72fr .68fr;align-items:center;gap:6px;padding:7px;font-size:.82rem;font-weight:750;display:grid}.scorecard-list strong{color:#172033}.scorecard-cell-label{color:#59657c;text-transform:uppercase;font-size:.68rem;font-weight:850;line-height:1.1;display:block}.scorecard-source{color:#59657c;grid-column:1/-1;font-size:.76rem}.scorecard-note{margin-top:8px}.action-preference-note{color:#0f6b5b;font-weight:800}.card-density-compact .card-list{grid-template-columns:repeat(auto-fit,minmax(44px,44px));gap:4px}.card-density-compact .card-face{max-width:42px;min-height:54px;padding:3px 4px}.card-density-compact .card-button{min-width:44px;max-width:44px;min-height:60px}.card-density-compact .card-center-suit{font-size:1.42rem}.card-density-large .card-list{grid-template-columns:repeat(auto-fit,minmax(50px,62px));gap:8px}.card-density-large .card-face{max-width:62px;min-height:78px}.card-density-large .card-center-suit{font-size:1.9rem}.theme-day-light{--focus-ring:#b35c13;--suit-black:#1f2937;--suit-red:#b42335;--table-felt:#edf7f1;--table-felt-border:#87a99b;--surface:#fff;color:#172033}.theme-night-dark{--focus-ring:#f1b852;--suit-black:#172033;--suit-red:#b42335;--table-felt:#183c3a;--table-felt-border:#80a5a1;--surface:#172033;color:#edf3f8}.theme-high-contrast{--focus-ring:#ffd400;--suit-black:#000;--suit-red:#b00020;--table-felt:#fff;--table-felt-border:#000;--surface:#fff;color:#000}.theme-night-dark .contract-setup-panel,.theme-night-dark .contract-setup-status,.theme-night-dark .game-start-panel,.theme-night-dark .live-bidding-panel,.theme-night-dark .live-bidding-status,.theme-night-dark .auction-hand-panel,.theme-night-dark .live-bidding-grid article,.theme-night-dark .focus-card,.theme-night-dark .status-strip article,.theme-night-dark .prototype-status article,.theme-night-dark .feedback-panel,.theme-night-dark .hand-panel,.theme-night-dark .trick-panel,.theme-night-dark .table-flow-note,.theme-night-dark .hand-complete-panel,.theme-night-dark .action-log-panel,.theme-night-dark .settings-shell,.theme-night-dark .settings-field,.theme-night-dark .settings-advanced-panel,.theme-night-dark .player-profile-card,.theme-night-dark .model-seat-endpoint,.theme-night-dark .model-seat-empty,.theme-night-dark .settings-status,.theme-night-dark .settings-deferred-grid article,.theme-night-dark .live-scoring-panel,.theme-night-dark .session-scorecard-panel,.theme-night-dark .live-scoring-grid div,.theme-night-dark .scorecard-list li,.theme-night-dark .trick-slot,.theme-night-dark .last-trick-card{color:#edf3f8;background:#172033;border-color:#80a5a1}.theme-night-dark p,.theme-night-dark .control-help,.theme-night-dark .status-detail,.theme-night-dark .game-start-panel p,.theme-night-dark .live-bidding-heading p,.theme-night-dark .live-bidding-status p,.theme-night-dark .live-bidding-boundary-note,.theme-night-dark .live-bidding-grid p,.theme-night-dark .auction-call-list,.theme-night-dark .focus-card p,.theme-night-dark .prototype-status p,.theme-night-dark .table-flow-note p,.theme-night-dark .settings-field small,.theme-night-dark .settings-advanced-panel p,.theme-night-dark .player-profile-card p,.theme-night-dark .model-seat-empty,.theme-night-dark .settings-status p,.theme-night-dark .settings-deferred-grid p,.theme-night-dark .live-scoring-heading p,.theme-night-dark .scorecard-empty,.theme-night-dark .scorecard-note,.theme-night-dark .live-scoring-grid dd,.theme-night-dark .scorecard-list strong,.theme-night-dark .seat-role,.theme-night-dark .seat-profile-line,.theme-night-dark .hidden-hand p,.theme-night-dark .trick-panel p{color:#edf3f8}.theme-night-dark .summary-label,.theme-night-dark .seat-label,.theme-night-dark .player-profile-card h4,.theme-night-dark .model-seat-endpoint legend,.theme-night-dark .live-bidding-status span,.theme-night-dark .trick-slot-seat,.theme-night-dark .trick-slot-meta,.theme-night-dark .live-scoring-grid dt{color:#b8c7d9}.theme-night-dark .section-button,.theme-night-dark .mode-button,.theme-night-dark .npc-button-secondary,.theme-night-dark .preview-field input,.theme-night-dark .preview-field select,.theme-night-dark .preview-field textarea{color:#edf3f8;background:#24344f;border-color:#b8c7d9}.theme-high-contrast .contract-setup-panel,.theme-high-contrast .contract-setup-status,.theme-high-contrast .game-start-panel,.theme-high-contrast .live-bidding-panel,.theme-high-contrast .live-bidding-status,.theme-high-contrast .auction-hand-panel,.theme-high-contrast .live-bidding-grid article,.theme-high-contrast .focus-card,.theme-high-contrast .status-strip article,.theme-high-contrast .prototype-status article,.theme-high-contrast .feedback-panel,.theme-high-contrast .hand-panel,.theme-high-contrast .trick-panel,.theme-high-contrast .table-flow-note,.theme-high-contrast .hand-complete-panel,.theme-high-contrast .action-log-panel,.theme-high-contrast .settings-field,.theme-high-contrast .settings-advanced-panel,.theme-high-contrast .player-profile-card,.theme-high-contrast .model-seat-endpoint,.theme-high-contrast .model-seat-empty,.theme-high-contrast .settings-status,.theme-high-contrast .settings-deferred-grid article,.theme-high-contrast .live-scoring-panel,.theme-high-contrast .session-scorecard-panel,.theme-high-contrast .live-scoring-grid div,.theme-high-contrast .scorecard-list li,.theme-high-contrast .trick-slot,.theme-high-contrast .last-trick-card{color:#000;background:#fff;border-color:#000}.theme-high-contrast .section-button[aria-pressed=true],.theme-high-contrast .mode-button[aria-pressed=true],.theme-high-contrast .reset-button,.theme-high-contrast .npc-button{color:#fff;background:#000;border-color:#000}@media (width<=760px){.table-shell{padding:12px 10px 24px}.table-header{align-items:center;gap:10px;margin-bottom:8px}h1{font-size:1.75rem}.reset-button{min-width:104px}.control-row{flex-direction:column;align-items:stretch;gap:8px;margin-bottom:8px}.contract-setup-panel{grid-template-columns:1fr;gap:8px;margin-bottom:8px;padding:8px}.contract-setup-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.contract-setup-copy p,.contract-setup-status p{font-size:.8rem}.game-start-panel{flex-direction:column;align-items:stretch;gap:8px;margin-bottom:8px;padding:8px}.game-start-panel p{font-size:.82rem}.live-bidding-panel,.auction-hand-panel{margin-bottom:8px;padding:8px}.live-bidding-heading,.live-bidding-grid,.live-bidding-form{grid-template-columns:1fr;gap:8px}.live-bidding-heading p,.live-bidding-status p,.live-bidding-boundary-note,.live-bidding-grid p{font-size:.82rem}.auction-hand-panel .card-list{justify-content:center}.auction-call-list{grid-template-columns:1fr 1fr;font-size:.82rem}.setup-pill-row span{padding:2px 6px;font-size:.66rem}.game-focus-bar{grid-template-columns:1fr;gap:6px;margin-bottom:8px}.focus-card{padding:8px}.focus-card p{font-size:.8rem}.mode-control,.control-help,.section-switcher,.info-tab-list{width:100%;min-width:0}.mode-control,.section-switcher{gap:6px;display:grid}.mode-control{grid-template-columns:repeat(2,minmax(0,1fr))}.section-switcher{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));margin-bottom:8px}.mode-button,.section-button{min-width:0;padding:6px;font-size:.9rem;line-height:1.15}.control-help{font-size:.85rem}.status-detail{font-size:.72rem}.table-flow-note{margin-bottom:8px;padding:8px}.table-flow-note p{font-size:.82rem}.info-tab-list{grid-template-columns:1fr;display:grid}.info-tab{min-width:0}.auction-preview-buttons{grid-template-columns:1fr;display:grid}.auction-preview-buttons .npc-button{min-width:0}.auction-preview-selected-status{font-size:.82rem}.auction-preview-metadata{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.auction-preview-metadata div{padding:6px}.settings-grid,.settings-deferred-grid,.player-profile-grid,.model-seat-endpoints,.share-handoff-grid{grid-template-columns:1fr;gap:8px}.settings-status,.live-scoring-heading,.scorecard-heading{flex-direction:column;align-items:stretch}.settings-status .npc-button,.settings-advanced-panel .npc-button,.scorecard-heading .npc-button{width:100%}.live-scoring-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.scorecard-list li{grid-template-columns:1fr 1fr;font-size:.78rem}.status-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:8px}.status-strip article{min-height:54px;padding:8px}.summary-label,.seat-label{font-size:.78rem}.status-strip strong,.feedback-panel strong,.hand-panel strong,.hand-heading strong{font-size:.98rem}.table-grid{flex-direction:column;padding:8px;display:flex}.trick-stack{order:0}.seat-south{order:2}.seat-north{order:3}.seat-west{order:4}.seat-east{order:5}.hand-panel.active-hand{order:1}.hand-panel,.trick-panel{min-height:auto;padding:8px}.hand-complete-panel,.action-log-panel{margin-bottom:10px}.hand-heading{flex-direction:column;align-items:flex-start;gap:6px}.card-list{grid-template-columns:repeat(auto-fit,minmax(42px,1fr));gap:6px}.card-face{justify-self:center;max-width:48px}.table-action-panel{flex-direction:column;align-items:stretch;gap:6px;padding:8px}.table-action-panel p{font-size:.82rem}.npc-action-buttons{justify-content:stretch;width:100%}.npc-action-buttons .npc-button{flex:140px}.action-npc-button,.manual-action-pill{text-align:center;width:100%}.npc-action-buttons .action-npc-button{width:auto}.trick-compass{grid-template-columns:minmax(66px,1fr) minmax(78px,1fr) minmax(66px,1fr);gap:4px;margin-top:6px}.trick-slot{gap:3px;min-height:78px;padding:4px}.trick-slot .card-face,.last-trick-card .card-face,.trick-empty-card{width:30px;min-height:42px}.trick-empty-card{width:26px;min-height:36px}.trick-center-summary{gap:2px;min-height:54px;padding:4px;font-size:.7rem}.trick-step-hint{margin-top:2px;font-size:.72rem}.last-trick-strip{display:none}.last-trick-summary{margin-top:4px;font-size:.8rem}}@media (width<=420px){.status-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.card-list{grid-template-columns:repeat(auto-fit,minmax(44px,1fr))}.card-face{max-width:52px}.card-density-compact .card-face{max-width:42px}.card-corner-part{font-size:.66rem}.card-suit-letter{font-size:.62rem}.card-center-suit{font-size:1.48rem}.trick-compass{grid-template-columns:minmax(50px,1fr) minmax(58px,1fr) minmax(50px,1fr);gap:3px;margin-top:4px}.trick-slot{min-height:58px;padding:3px}.trick-slot-seat,.trick-slot-meta{font-size:.62rem}.trick-center-summary{min-height:40px;padding:3px;font-size:.62rem}}@media (width<=350px){.status-strip{grid-template-columns:1fr}}
