/* Live integration additions; original approved Stage-1 stylesheet remains intact. */
.live-stack{display:grid;gap:16px;max-width:1500px;margin:auto}.live-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr))}
.live-field{display:grid;gap:5px;margin:10px 0;min-width:0}.live-field label{font-weight:600;font-size:.88rem}.live-field input,.live-field select,.live-field textarea{width:100%;max-width:100%;border:1px solid #536071;border-radius:9px;background:#101b27;color:#fff;padding:10px;font:inherit}
.live-field textarea{min-height:80px;resize:vertical}.live-field small{color:#bac2cb}.live-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.live-actions button{min-height:40px}.live-muted{color:#b4bec8}.live-alert{background:#422828;border:1px solid #9e5656;padding:13px 16px;border-radius:10px}.live-note{background:#192b3a;border:1px solid #39546b;padding:12px 15px;border-radius:10px}.live-secret{overflow-wrap:anywhere;white-space:pre-wrap;user-select:all}.live-secret-row{padding:8px 0;border-bottom:1px solid #3e4650}.live-card-group{display:flex;flex-wrap:wrap;gap:6px}.live-card-mini{border:1px solid #465362;border-radius:10px;padding:6px 8px;background:#1a2734;color:#fff;display:inline-flex;gap:6px;align-items:center;font-size:.89rem}.live-card-mini img{width:28px;height:28px;object-fit:contain}.live-choices{padding:8px 0}.live-choices details{border-top:1px solid #394b59;padding:12px 0}.live-outcome{width:100%;border-collapse:collapse}.live-outcome th,.live-outcome td{padding:9px 7px;border-bottom:1px solid #455361;text-align:left}.live-outcome th{white-space:nowrap}.live-chart{width:100%;height:190px;border:1px solid #3b4b5b;border-radius:10px;background:#151e2a;overflow:visible}.live-chart text{fill:#cdd4df;font-size:11px}.live-flag{font-size:.85rem;color:#ffe1ac}.live-no-auth{max-width:810px;margin:20px auto}.live-divider{margin:20px 0;border:0;border-top:1px solid #394b59}.live-code{background:#101720;border:1px solid #374554;border-radius:7px;padding:5px 8px;word-break:break-all}.live-badge{display:inline-block;padding:4px 9px;border-radius:30px;background:#233f4f;color:#e1f0f6}.live-spacer{height:8px}.live-panel-body{padding:20px}.live-warn{color:#ffdc86}.live-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.live-check{display:flex;align-items:center;gap:9px;margin:10px 0}.live-check input{width:18px;height:18px}.live-label{font-weight:700}.live-privacy{font-size:.89rem}.live-busy{opacity:.65;pointer-events:none}.live-number{font-variant-numeric:tabular-nums}.live-search{max-width:380px}.live-history-scroll{overflow-x:auto}.live-compact details{margin:8px 0}
@media(max-width:650px){.live-two{grid-template-columns:1fr}.live-panel-body{padding:12px}.live-stack{gap:11px}.live-field{margin:8px 0}.live-actions button{flex-grow:1}}

.live-discard-item{display:flex;align-items:center;gap:10px;padding:9px 10px;margin:5px 0;border:1px solid #465362;border-radius:9px;background:#14212c;cursor:pointer}.live-discard-item input{width:19px;height:19px;accent-color:#a1d4f5}.live-discard-item:focus-within{outline:2px solid #85c6ff;outline-offset:1px}
/* Shared spectator screen: identical information for Player and Projector modes. */
.presentation{max-width:1600px;margin:auto;display:grid;gap:18px}
.presentation-banner{text-align:center;padding:18px 12px;border:1px solid #82663f;background:linear-gradient(115deg,#302b33,#222e32);border-radius:15px}
.presentation-banner>span{color:#f7d995;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.presentation-banner h2{font-size:clamp(22px,3vw,41px);margin:5px 0;color:#fff6df}
.presentation-banner p{color:#cbd6df;margin:0}
.presentation-teams{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}
.presentation-team{border:1px solid #526174;border-radius:14px;padding:16px;background:#15212d;min-width:0}
.presentation-team.mario{border-top:5px solid #f27a70}.presentation-team.luigi{border-top:5px solid #65d496}
.presentation-team h3{font-size:clamp(18px,2vw,27px);margin:0 0 13px;text-align:center}
.presentation-cards{display:flex;justify-content:center;gap:clamp(5px,1vw,14px);align-items:start;flex-wrap:wrap;min-height:100px}
.presentation-card{background:none;border:0;color:inherit;width:clamp(92px,11vw,205px);padding:0;display:grid;gap:7px;justify-items:center;font-weight:700}
.presentation-card .game-card{box-shadow:0 8px 16px #0007}
.presentation-card span{text-align:center;font-size:clamp(12px,1.25vw,17px)}
.presentation-placeholder{color:#b8c6d6;align-self:center}
.presentation-result{text-align:center;padding:14px;border:1px solid #9b7d48;background:#43352866;border-radius:13px}
.presentation-result strong{font-size:clamp(18px,2vw,27px)}
.presentation-balances,.presentation-positions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 24px;margin-top:12px}
.presentation-positions span{background:#243747;padding:8px 13px;border-radius:9px}
.presentation-hands>summary{cursor:pointer;font-weight:700;padding:8px}
.projector .presentation-card{width:clamp(110px,14vw,240px)}
.projector .presentation-banner{padding:24px}
@media(max-width:650px){.presentation-teams{gap:8px}.presentation-team{padding:9px}.presentation-team h3{font-size:18px}.presentation-card{width:clamp(65px,18vw,120px)}.presentation-card span{font-size:12px}.presentation-banner{padding:12px 8px}.presentation{gap:10px}}

/* Final delivery: public final-score ceremony and resilient Host editing. */
.sync-alert:not([hidden]){display:block;margin:12px auto;max-width:1500px;padding:11px 16px;border:1px solid #b67c2b;border-radius:10px;background:#4a341c;color:#fff0c6}
.finale{padding:18px;border:2px solid #d3b46c;border-radius:16px;background:linear-gradient(135deg,#382d36,#1b3340);text-align:center;box-shadow:0 8px 20px #0006}
.finale h2{color:#ffdf94;font-size:clamp(22px,2.9vw,37px);margin:0 0 8px}
.finale-teams{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}
.finale-team{display:grid;gap:7px;padding:16px 8px;border:1px solid #738492;border-radius:12px;background:#14212c}
.finale-team.mario{border-top:5px solid #f27a70}.finale-team.luigi{border-top:5px solid #65d496}
.finale-team h3{margin:0;font-size:clamp(17px,2vw,26px)}
.finale-team strong{font-size:clamp(23px,3.5vw,42px)}.finale-team span{font-size:clamp(14px,1.8vw,22px);font-weight:700}
@media(max-width:480px){.finale{padding:10px}.finale-team{padding:12px 5px}}

/* Fast party entrance: two decisions, four digits, one scan. */
body.guest .mode-buttons,body.guest #fullscreen{display:none}
.welcome-shell{width:min(740px,100%);margin:clamp(12px,4vh,52px) auto}.welcome-hero{padding:clamp(22px,5vw,46px);border:1px solid #5b6475;border-radius:24px;text-align:center;background:radial-gradient(circle at 50% 0,#3b3545,#19242f 65%);box-shadow:0 14px 40px #0007}
.welcome-star{display:block;font-size:clamp(40px,7vw,70px);color:#f4cf6f;line-height:1.15}.welcome-hero h1{font-size:clamp(29px,5vw,48px);margin:8px 0}.welcome-hero>p{color:#d3dde8;font-size:clamp(16px,2vw,19px);margin:4px 0 26px}.welcome-choices{display:grid;grid-template-columns:1fr 1fr;gap:18px}.choice-button{width:100%;border:2px solid #ffffff80;border-radius:20px;min-height:136px;padding:18px 10px;color:white;cursor:pointer;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;font:inherit;box-shadow:0 7px 14px #0006;transition:transform .12s,border-color .12s}.choice-button:hover{transform:translateY(-2px);border-color:#fff}.choice-button:focus-visible{outline:3px solid #ffe49b;outline-offset:3px}.choice-button strong,.primary-choice{font-size:clamp(26px,4vw,36px);font-weight:900;letter-spacing:.04em}.choice-button span{font-size:clamp(13px,1.8vw,16px);font-weight:600}.host-choice{background:linear-gradient(145deg,#a52c2e,#62212d)}.join-choice{background:linear-gradient(145deg,#2b957b,#155952)}.resume-choice{background:#34465c;border:1px solid #758ca1;margin-top:12px;min-height:76px;font-size:20px}.welcome-narrow{max-width:600px;margin:auto}.welcome-narrow form{display:grid;gap:12px;max-width:380px;margin:auto}.welcome-narrow form label{font-size:16px;font-weight:700}.pin-input{width:100%;box-sizing:border-box;border:2px solid #d3a954;border-radius:18px;background:#fff;color:#172331;text-align:center;font-size:clamp(42px,8vw,66px);font-weight:800;letter-spacing:.2em;min-height:96px;font-variant-numeric:tabular-nums;outline-offset:3px}.pin-input::placeholder{color:#88949f}.welcome-narrow .primary-choice{min-height:82px;max-width:380px;margin:4px auto 0}.back-link{display:block;color:#e9d9a4;background:transparent;border:0;text-decoration:underline;cursor:pointer;font-size:16px;padding:8px}.pin-help{font-size:14px!important;margin:16px 0 0!important}.host-recovery{border:1px solid #596273;border-radius:12px;margin-top:22px;padding:12px;text-align:left}.host-recovery>summary{cursor:pointer;font-weight:700}.host-recovery p{font-size:13px;color:#d5dde7}.host-recovery form{max-width:100%;display:grid;gap:9px}.host-recovery .live-field input{font-size:15px}.invite-layout{display:grid;grid-template-columns:1fr minmax(170px,260px);gap:18px;align-items:center;justify-items:center;background:#11232c;border:1px solid #576d75;border-radius:16px;padding:18px}.invite-code{text-align:center}.invite-code>span{display:block;font-weight:800;letter-spacing:.12em;color:#f6d995}.invite-code strong{display:block;font-size:clamp(52px,9vw,112px);font-weight:900;line-height:1.08;letter-spacing:.085em;color:#fff;font-variant-numeric:tabular-nums}.invite-code p{color:#f2f4f5;overflow-wrap:anywhere}.invite-qr{width:min(100%,245px);display:grid;gap:6px;text-align:center;font-weight:750;color:#f5e4b6}.invite-qr svg{display:block;width:100%;border-radius:8px}.projector-invite{padding:20px;text-align:center;border:2px solid #d6bc80;border-radius:20px;background:#1c2735}.projector-invite h2{margin:0 0 12px;font-size:clamp(24px,3vw,39px)}.projector .invite-code strong{font-size:clamp(72px,10vw,136px)}.end-game-btn{border-color:#d96565!important;color:#ffd2d2!important}
@media(max-width:520px){.welcome-choices{gap:10px}.choice-button{min-height:122px;padding:14px 6px}.choice-button strong{font-size:27px}.welcome-hero{padding:20px 12px}.invite-layout{grid-template-columns:1fr}.invite-code strong{font-size:65px}.invite-qr{max-width:205px}}

/* UI feedback round 1: simple entrance; approved gameplay screens retain original styling. */
body.guest .site-footer,body.guest #connection-badge,body.guest #score-header,body.guest #main-nav,body.guest #sync-alert,body.guest .brand-icon{display:none!important}
body.guest .sticky-top{margin-bottom:0}body.guest .site-header{margin-bottom:0}
.app-shell{max-width:none;width:100%}.live-stack,.presentation{max-width:none;width:100%}
.entry-screen{width:min(1100px,100%);margin:clamp(20px,5vh,64px) auto 20px}
.entry-columns{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2vw,26px);align-items:stretch}
.entry-panel{padding:clamp(20px,3vw,38px);border:1px solid #5b6475;border-radius:18px;background:linear-gradient(150deg,#26313d,#151e2a);display:flex;flex-direction:column;gap:14px;box-shadow:0 12px 28px #0005;min-width:0}
.entry-panel h1{font-size:clamp(25px,3vw,36px);line-height:1.2;margin:0 0 8px}
.entry-panel form{display:grid;gap:13px}.entry-panel form label{font-size:14px;font-weight:750;color:#e1e7ee}
.entry-panel .pin-input{width:100%;height:82px;min-height:82px;font-size:clamp(34px,4.2vw,52px);letter-spacing:.16em;border-radius:12px}
.entry-action{width:100%;border:1px solid #ffffff75;border-radius:12px;color:white;font-size:clamp(17px,2vw,22px);font-weight:800;min-height:60px;padding:14px 12px}
.entry-join-action{background:linear-gradient(130deg,#21836f,#16584f)}
.entry-host-action{background:linear-gradient(130deg,#aa343c,#68212d)}
.entry-cohost-action{background:#394d68}
.entry-separator{color:#9bb1c3;font-size:13px;text-align:center;letter-spacing:.08em;text-transform:uppercase;margin:4px 0}
.entry-resume{margin-top:auto;background:none;border:0;border-top:1px solid #4c5969;padding:14px 6px 0;text-align:left;color:#f7d38a;text-decoration:underline}
.presentation-header{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:12px}
.projector .presentation-header{grid-template-columns:minmax(0,2.5fr) minmax(210px,.8fr)}
.invite-mini{display:flex;align-items:center;gap:10px;background:#142733;border:1px solid #627586;border-radius:12px;padding:10px 15px;min-width:0}
.invite-mini-code{flex:1;min-width:0;text-align:center}.invite-mini-code span{display:block;font-size:11px;letter-spacing:.12em;color:#e6c782;font-weight:850}
.invite-mini-code strong{display:block;color:white;font-size:clamp(29px,3vw,48px);letter-spacing:.055em;font-weight:900;font-variant-numeric:tabular-nums}
.invite-mini-qr{flex:0 0 clamp(76px,8vw,118px);min-width:0}.invite-mini-qr svg{width:100%;height:auto;display:block;background:white;border-radius:5px}
.invite-player{max-width:410px;width:100%;margin:16px auto 0}
.cohost-footer{border:1px solid #5d6f83;background:#1b2a38;border-radius:13px;padding:18px;display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:9px 18px;margin-top:8px}
.cohost-footer>span{font-size:15px;font-weight:800}.cohost-footer>strong{font-size:32px;font-weight:950;letter-spacing:.1em;color:#ffdc94;white-space:nowrap}.cohost-footer small{color:#c2d0dd}.cohost-footer details{grid-column:1/-1;border-top:1px solid #435467;padding-top:8px}
@media(max-width:720px){.entry-columns{grid-template-columns:1fr}.entry-screen{margin:14px auto}.entry-panel{padding:19px}.entry-panel .pin-input{height:72px;min-height:72px}.projector .presentation-header{grid-template-columns:1fr}.cohost-footer{grid-template-columns:auto auto}.cohost-footer small{grid-column:1/-1}}
@media(min-width:1261px){.score-header{grid-template-columns:minmax(0,1fr) minmax(95px,125px) minmax(135px,160px) minmax(0,1fr);justify-content:stretch}.team-score{min-width:0}}

/* UI Feedback 02 — keep gameplay layouts, move navigation utilities into sticky header. */
.header-game-controls{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-right:6px}
.header-game-controls button{font:inherit;font-size:clamp(10px,.82vw,13px);font-weight:750;border:1px solid #56697b;border-radius:8px;background:#203044;color:#ecf2f8;padding:7px 9px;cursor:pointer;min-height:32px}
.header-game-controls button:hover{background:#304b65;border-color:#d2bb80}
.header-game-controls .header-end-game{color:#ffd6d6;border-color:#a75656;background:#472732}
.header-join-pin{font-size:clamp(12px,1.2vw,17px);font-weight:750;color:#f4e0ab;white-space:nowrap}
.header-join-pin strong{font-size:clamp(19px,2vw,27px);letter-spacing:.12em;color:white}
.header-actions{flex-wrap:wrap;justify-content:flex-end}
.live-coin-unit{font-size:.35em;font-weight:750;white-space:nowrap;vertical-align:middle;letter-spacing:normal;color:#e7e9ee}
.round-center .round-total{font-size:.52em;color:#e0c8a3}
.timer-top.timer-active{border-color:#a9e1c3;box-shadow:inset 0 0 12px #2a685e50,0 0 16px #6bc6a145;transition:box-shadow .3s ease,border-color .3s ease}
.timer-top.timer-active .timer-top-count{color:#d0ffe9;text-shadow:0 0 8px #71c9a36b}
.presentation-banner{display:flex;align-items:center;justify-content:center;min-height:76px}
.presentation-banner h2{font-size:clamp(17px,2.35vw,29px);line-height:1.3;max-width:900px;margin:0 auto}
body.player-view:not(.projector) .site-footer{display:none}
.join-qr-overlay{position:fixed;inset:0;z-index:120;background:#0b1520f5;display:flex;align-items:center;justify-content:center;padding:clamp(8px,3vw,30px);box-sizing:border-box}
.join-qr-inner{display:flex;flex-direction:column;align-items:center;gap:14px;max-height:95dvh;text-align:center;overflow:auto;width:100%}
.join-qr-inner>strong{font-size:clamp(24px,5vw,45px);color:#fff1b6}
.join-qr-inner p{font-size:clamp(20px,4vw,36px);font-weight:750;margin:0;color:white}
.join-qr-inner>span{color:#d7e1e9;font-size:15px;overflow-wrap:anywhere}
.join-qr-big{width:min(70vw,65dvh,520px);min-width:160px;background:white;border-radius:14px;padding:14px;box-sizing:border-box}
.join-qr-big svg{display:block;width:100%;height:auto}
.join-qr-close{position:absolute;right:clamp(14px,4vw,38px);top:clamp(8px,3vw,26px);font-size:44px;color:white;background:#34495b;border:1px solid #7d91a3;border-radius:12px;width:58px;height:58px;cursor:pointer}
@media(max-width:780px){
 body.player-view .score-header{grid-template-areas:'round timer' 'mario luigi'}
 body.player-view .header-actions{width:100%;justify-content:flex-end}
 .header-game-controls{gap:4px;margin-right:0}
 .header-game-controls button{font-size:10px;padding:5px 6px;min-height:30px}
 .header-join-pin{font-size:12px}
 .header-join-pin strong{font-size:20px}
 .team-numbers .live-coin-unit{font-size:.38em}
}
@media(max-width:500px){
 body.player-view .site-header{display:flex;flex-wrap:wrap}
 body.player-view .header-actions{width:100%;justify-content:space-between}
 body.player-view .header-game-controls{flex:1;justify-content:space-between}
 body:not(.guest):not(.player-view) .header-actions{gap:3px}
 body:not(.guest):not(.player-view) .header-game-controls{justify-content:flex-end}
}
/* Connection failures still use the unobtrusive sync warning; routine connected status is not shown. */
#connection-badge{display:none!important}
.mode-buttons[hidden],.mode-button[hidden]{display:none!important}

/* UI feedback 03 — compact approved v3-style horizontal composition. */
.score-header {
  width: min(100%, 940px);
  max-width: 100%;
  grid-template-columns: minmax(0, 1fr) 116px 172px minmax(0, 1fr);
  grid-template-areas: 'mario round timer luigi';
  margin: 0 auto 9px;
  justify-content: center;
  gap: 9px;
}
.team-score {min-width:0;padding:11px 15px;min-height:83px}
.team-score .team-emblem {display:none!important}
.team-numbers {font-size:clamp(24px,2.2vw,36px);letter-spacing:-.035em;white-space:nowrap}
.team-numbers .live-coin-unit {font-size:1em;font-weight:900;color:inherit;vertical-align:baseline;letter-spacing:-.035em}
.team-note {font-size:clamp(13px,1.06vw,16px);font-weight:600;color:#d0d8e2}
.round-center {min-width:0;min-height:83px;padding:8px}
.round-center .round-n {font-size:clamp(24px,2.4vw,33px);white-space:nowrap}
.round-center .round-prefix {font-size:.43em;font-weight:900;vertical-align:middle}
.round-center .round-total {font-size:.57em}
.timer-top {min-width:0;min-height:83px;padding:7px 10px}
.timer-top .timer-bar {display:block;width:100%;height:4px;margin:4px 0 3px;border-radius:5px;overflow:hidden;background:#40515d;border:1px solid #536879}
.timer-top .timer-bar span {height:100%;display:block;background:linear-gradient(90deg,#69d9a3,#f3d67d,#f49272);border-radius:3px;transition:width .45s linear}
.timer-top.timer-active .timer-bar span {box-shadow:0 0 6px #ffc88088}
.main-nav {width:max-content;max-width:100%;margin:0 auto 10px;justify-content:center;flex:0 0 auto}
.main-nav .nav-btn {flex:0 0 auto}
.header-host-pin {font-variant-numeric:tabular-nums;color:#ffdc94;letter-spacing:.1em;font-size:clamp(17px,1.5vw,23px);padding:1px 6px;white-space:nowrap}
/* The live stage retains the approved v3 three-column proportions. Cards and
   guidance remain compact companion panels rather than full-width rows. */
.host-board {display:grid;grid-template-columns:minmax(0,1.42fr) minmax(0,.95fr) minmax(0,.95fr);align-items:start;gap:12px;width:100%}
.host-board>div {min-width:0;display:grid;gap:12px;align-content:start}
.host-board .panel {min-width:0;margin:0}
.host-board .panel>.panel-head {padding:12px 15px 7px}
.host-board .panel .live-panel-body {padding:9px 15px 14px}
.host-board h3 {font-size:clamp(14px,1.1vw,17px);margin:5px 0}
.host-board .live-field {margin:6px 0}
.host-board .live-field input,.host-board .live-field select,.host-board .live-field textarea {padding:7px 9px}
.host-board .live-choices {padding:2px 0}
.host-board .live-card-group {gap:5px}
.host-board .live-grid {gap:10px}
/* Wide phase-specific forms occupy two columns, with companion cards and
   contextual instructions down the third column. */
.host-board:is(.phase-choose,.phase-revealed,.phase-ranked,.phase-settled) .host-primary {grid-column:1 / span 2;grid-row:1 / span 2}
.host-board:is(.phase-choose,.phase-revealed,.phase-ranked,.phase-settled) .host-secondary {grid-column:3;grid-row:1}
.host-board:is(.phase-choose,.phase-revealed,.phase-ranked,.phase-settled) .host-tertiary {grid-column:3;grid-row:2}
.host-board.phase-choose .host-primary .live-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
.host-board.initial-round {grid-template-columns:minmax(230px,.55fr) minmax(360px,1.25fr);max-width:1350px}
.host-board.initial-round .host-tertiary {display:none}
.start-game-form {display:flex;justify-content:flex-start;padding:4px 0}
.start-game-button {min-width:160px;min-height:48px;font-size:18px}
@media(max-width:1260px){
 .host-board {grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
 .host-board .host-primary {grid-column:1;grid-row:1}
 .host-board .host-secondary {grid-column:2;grid-row:1}
 .host-board .host-tertiary {grid-column:1 / -1;grid-row:2}
 .host-board:is(.phase-choose,.phase-revealed,.phase-ranked,.phase-settled) .host-primary {grid-column:1;grid-row:1 / span 2}
 .host-board:is(.phase-choose,.phase-revealed,.phase-ranked,.phase-settled) .host-secondary {grid-column:2;grid-row:1}
 .host-board:is(.phase-choose,.phase-revealed,.phase-ranked,.phase-settled) .host-tertiary {grid-column:2;grid-row:2}
 .host-board.phase-choose .host-primary .live-grid {grid-template-columns:1fr}
 .host-board.initial-round {grid-template-columns:minmax(220px,.55fr) minmax(0,1fr)}
}
@media(max-width:940px){
 .score-header {width:min(100%,620px);grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:'round timer' 'mario luigi';gap:6px}
 .team-score {padding:8px 11px;min-height:63px}
 .round-center,.timer-top {min-height:60px}
 .team-numbers {font-size:clamp(17px,3.4vw,27px)}
 .team-note {font-size:clamp(12px,1.7vw,14px)}
 .timer-top .timer-bar {display:block;width:95px;max-width:100%}
 .main-nav {margin-bottom:8px}
}
@media(max-width:760px){
 .host-board,.host-board.initial-round {grid-template-columns:minmax(0,1fr);max-width:none;gap:10px}
 .host-board .host-primary,.host-board .host-secondary,.host-board .host-tertiary,
 .host-board:is(.phase-choose,.phase-revealed,.phase-ranked,.phase-settled) .host-primary,
 .host-board:is(.phase-choose,.phase-revealed,.phase-ranked,.phase-settled) .host-secondary,
 .host-board:is(.phase-choose,.phase-revealed,.phase-ranked,.phase-settled) .host-tertiary {grid-column:1;grid-row:auto}
 .host-board .host-primary {order:0}.host-board .host-secondary {order:1}.host-board .host-tertiary {order:2}
 .host-board .panel .live-panel-body {padding:7px 12px 12px}
 .team-numbers {font-size:clamp(17px,4vw,27px)}
 .main-nav {width:100%;justify-content:flex-start;overflow-x:auto}
}
@media(max-width:460px){
 .score-header {width:100%;gap:5px}
 .team-score {padding:7px 7px 7px 11px}
 .team-score .team-numbers {font-size:clamp(15px,4vw,20px)}
 .team-note {font-size:12px}
 .round-center .round-n {font-size:24px}
 .timer-top {flex-direction:column;gap:2px}
 .timer-top .eyebrow {display:block;font-size:9px}
 .timer-top .timer-bar {height:3px;margin:2px 0}
}

/* UI feedback 04 — selectable full-art hands and a single Host checklist. */
.gameplay-two-col{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(280px,.92fr);gap:14px;align-items:start;width:100%}
.gameplay-two-col>.gameplay-powerups,.gameplay-two-col>.gameplay-checklist{min-width:0}
.gameplay-two-col .panel,.player-powerup-page .panel{margin:0;min-width:0}
.gameplay-two-col .panel>.panel-head,.player-powerup-page .panel>.panel-head{padding:12px 15px 7px}
.gameplay-two-col .live-panel-body,.player-powerup-page .live-panel-body{padding:9px 14px 14px}
.hand-teams{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;align-items:start}
.hand-team{min-width:0;border:1px solid #526170;border-radius:12px;padding:10px;background:#12202b}
.hand-team.mario{border-top:4px solid #ef796e}.hand-team.luigi{border-top:4px solid #68d4a0}
.hand-team h3{margin:0 0 9px;font-size:clamp(16px,1.5vw,21px)}
.hand-team h4{margin:10px 0 7px;color:#e2eaf2;font-weight:700;font-size:clamp(13px,1vw,15px)}
.hand-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(125px,100%),1fr));gap:10px;align-items:start}
.hand-card-tile{min-width:0;position:relative;background:#1d2e3a;border:2px solid #526575;border-radius:10px;padding:5px;transition:border-color .16s,box-shadow .16s,background-color .16s}
.hand-card-tile.is-selected{border-color:#ffd36b;background:#3a3429;box-shadow:0 0 0 2px #e9bd5550,0 0 17px #e9bd5540}
.hand-card-tile.can-choose:hover{border-color:#eed39b}
.hand-card-choice{display:grid;gap:5px;width:100%;padding:0;border:0;background:none;color:#fff;text-align:center;cursor:pointer}
.hand-card-static{display:grid;gap:5px;text-align:center}
.hand-card-tile .game-card{width:100%;max-width:100%;aspect-ratio:5/7;overflow:hidden;border-radius:6px}
.hand-card-tile .card-avif{width:100%;height:100%;object-fit:contain;display:block}
.hand-card-tile .hand-card-name{font-size:clamp(12px,.95vw,15px);line-height:1.22;font-weight:750;min-height:2.5em;display:grid;place-content:center;padding:0 3px}
.hand-selected-tag{display:block;background:#d7aa44;color:#211b0e;border-radius:5px;font-size:11px;letter-spacing:.07em;padding:3px 5px}
.hand-card-zoom{position:absolute;top:8px;right:8px;border:1px solid #b6c6d5;border-radius:50%;width:30px;height:30px;padding:0;color:#fff;background:#1a2837ed;font-size:23px;line-height:25px;display:grid;place-items:center}
.hand-card-tile.is-disabled{opacity:.65}.hand-card-tile.is-disabled .hand-card-zoom{opacity:1}
.hand-choice-options{margin-top:10px}.hand-choice-options details{border:1px solid #435565;border-radius:8px;padding:9px;background:#172836}
.hand-choice-options summary{cursor:pointer;font-size:12px;font-weight:750;color:#f4dba6}
.hand-choice-options .live-field{margin:8px 0}.hand-choice-options select,.hand-choice-options input{padding:7px 9px}
.hand-pick-footer{margin-top:15px;padding-top:13px;border-top:1px solid #465b6a;display:grid;gap:8px}
.hand-pick-footer>button{justify-self:start;min-height:46px;font-size:15px}
.hand-pick-footer p{margin:0;font-size:12px}.hand-error{color:#ffb4b4;font-weight:750}
.host-checklist-scroll{max-height:min(60vh,590px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#6f869d #1a2935;padding:0 3px 0 0}
.host-task-list{list-style:none;padding:0;margin:0;display:grid;gap:7px}
.host-task{display:flex;align-items:flex-start;gap:11px;cursor:pointer;background:#152432;border:1px solid #435568;border-radius:8px;padding:10px;font-size:13px;line-height:1.4}
.host-task input{flex:none;width:20px;height:20px;accent-color:#6cd4a2;margin:0}
.host-task.task-done{background:#203b34;border-color:#478c71;color:#bbddcf}.host-task.task-done>span{text-decoration:line-through}
.host-checklist-actions{border-top:1px solid #405466;margin-top:13px;padding-top:12px}
.host-checklist-actions .panel{background:none;border:0;box-shadow:none}
.host-checklist-actions .panel-head{padding:6px 0!important}.host-checklist-actions .live-panel-body{padding:7px 0!important}
.host-checklist-actions .live-grid{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}
.player-powerup-page{width:100%;display:grid;gap:14px}
.player-powerup-page .hand-card-grid{grid-template-columns:repeat(auto-fill,minmax(min(145px,100%),1fr))}
.player-powerup-page .hand-card-tile{background:#192a36}
.catalog-card.is-used{border:2px solid #e65358!important;border-radius:10px;padding:5px;background:#381d25}
.catalog-card.is-used .card-used-label{font-weight:850;color:#ff7777;font-size:13px;text-align:center;padding:4px 0}
@media(max-width:1100px){.gameplay-two-col{grid-template-columns:minmax(0,1.6fr) minmax(255px,.85fr)}.hand-teams{grid-template-columns:1fr}.hand-card-grid{grid-template-columns:repeat(auto-fill,minmax(min(145px,100%),1fr))}}
@media(max-width:740px){.gameplay-two-col{grid-template-columns:minmax(0,1fr)}.hand-teams{grid-template-columns:1fr}.host-checklist-scroll{max-height:340px}.hand-card-grid,.player-powerup-page .hand-card-grid{grid-template-columns:repeat(auto-fill,minmax(min(138px,100%),1fr))}}
@media(max-width:410px){.hand-card-grid,.player-powerup-page .hand-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.hand-team{padding:8px}.gameplay-two-col{gap:9px}}
