/* Match choices and feedback share the café's paper, chalk and terracotta palette. */
.match-tools{display:flex;align-items:center;justify-content:space-between;width:100%;gap:12px;margin-bottom:10px;font-size:12px}
.match-tools button,.coach button,.swipe-feedback button{min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:9px;background:#ffffff70;color:var(--ink);font:inherit}
#mode-summary{font-weight:700}.match-tools small{display:block;color:var(--muted);font-size:11px;margin-top:3px}
.set-progress{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#ffffff45;font-size:12px;line-height:1.5;margin-top:8px}
.set-progress strong{color:var(--orange)}.gate.needed{border-color:var(--orange);border-style:dashed}
.coach{width:100%;border-left:3px solid var(--orange);padding:10px 12px;background:#fff9ed;border-radius:0 9px 9px 0;margin-top:8px;display:flex;gap:12px;align-items:center}
.coach>div{flex:1}.coach strong{font-size:12px}.coach p{font-size:12px;line-height:1.5;margin:3px 0 0}.coach button{font-size:11px;flex-shrink:0}
.swipe-feedback{position:absolute;bottom:12px;left:12px;right:12px;border-radius:10px;background:#eeece5f5;box-shadow:0 3px 15px #0002;padding:8px 12px;display:flex;align-items:center;gap:12px;pointer-events:none;font-size:12px}
.swipe-feedback>div{flex:1}.swipe-feedback label{display:flex;justify-content:space-between;gap:8px}.swipe-feedback meter{display:block;width:100%;height:12px;accent-color:var(--orange)}.swipe-feedback button{pointer-events:auto;min-width:44px}
.mode-options{display:grid;gap:8px;border:0;padding:0;margin:20px 0}.mode-options label{display:flex;gap:12px;align-items:center;border:1px solid var(--line);padding:12px;border-radius:10px;min-height:56px;cursor:pointer}.mode-options label:has(input:checked){border-color:var(--orange);background:#c553310b}.mode-options input{accent-color:var(--orange);width:18px;height:18px}.mode-options strong{display:block;font-size:14px}.mode-options small{font-size:12px;color:#687267}
.player-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.player-fields label{font-size:12px}.player-fields input{display:block;width:100%;margin-top:6px;min-height:44px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fffaf1;color:var(--ink);font:inherit;font-size:16px}
#mode-dialog .text-button,#result-dialog .text-button{width:100%;min-height:44px}#mode-dialog h2{margin:10px 0}.result-players{list-style:none;padding:0;display:grid;gap:8px}.result-players li{display:flex;justify-content:space-between;background:#ffffff80;padding:12px;border-radius:8px;font-size:16px}.result-players b{color:var(--orange)}
.cafe-scoreboard.is-duo{visibility:visible!important;left:10px;transform:none}.is-duo .chalk-total{width:76px;height:70px}.is-duo .chalk-caption{font-size:12px;max-width:68px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.is-duo .chalk-total.active{border-color:#dca377}.is-duo output{font-size:26px}
@media(max-width:1100px) and (min-width:641px){.play-panel{flex-wrap:wrap}}
@media(max-width:640px){.match-tools{margin-bottom:6px}.intro{height:32px}.canvas-wrap{width:min(100%,calc((100svh - 330px)*.8));min-width:220px}.coach{padding:8px 10px}.coach p{font-size:11px}.coach strong{font-size:11px}.set-progress{font-size:11px;padding:8px 10px}.board-bottom{padding-bottom:0}.mobile-play-hint{font-size:11px}.swipe-feedback{left:8px;right:8px;bottom:8px;font-size:11px;padding:6px 8px}.swipe-feedback button{padding:6px;font-size:11px}.board-toast{top:30%}#mode-dialog{padding:24px}#mode-dialog h2{font-size:28px}.mode-options{margin:12px 0}}
@media(max-height:500px) and (min-width:641px) and (pointer:coarse){.canvas-wrap{width:calc((100svh - 200px)*.8);min-width:160px}.coach{max-width:420px}.match-tools{margin:0}.set-progress{padding:4px 8px}}

#mode-form{display:flex;flex-direction:column;max-height:calc(100svh - 112px)}.mode-content{overflow-y:auto;min-height:0;padding:0 2px}.mode-content .mode-options{margin-top:12px}#mode-form>.primary,#mode-form>.text-button{flex-shrink:0}#mode-form>.primary{min-height:52px;margin-top:12px}body:has(#coach:not([hidden])) .mobile-play-hint{display:none}
@media(max-width:640px){#mode-form{max-height:calc(100svh - 82px)}#mode-form>.text-button{padding:10px 0}#mode-form>.eyebrow{font-size:9px}#mode-form h2{font-size:25px}}

/* Keep the hand and release area unobstructed while swiping. */
.swipe-feedback{top:12px;bottom:auto;z-index:2}.board-toast{width:max-content;max-width:calc(100% - 16px)}
@media(max-width:640px){.swipe-feedback{top:8px;bottom:auto}}
@media(max-height:500px) and (min-width:641px) and (pointer:coarse){.canvas-wrap{width:calc((100svh - 150px)*.8);min-width:180px}.board-toast{font-size:11px;padding:8px 10px;border-radius:12px}}

/* Keep only the useful cancel action; no live swipe-strength prompt. */
.swipe-feedback{left:auto;background:transparent;box-shadow:none;padding:0;pointer-events:none}
.swipe-feedback button{background:var(--paper);box-shadow:0 2px 8px #0002}
.inspect-gates{position:absolute;right:8px;top:8px;z-index:3;min-height:44px;padding:8px 12px;border:1px solid #d3c7ad;border-radius:8px;background:#f4f0e6ee;color:#283c35;font:12px 'DM Sans',sans-serif;cursor:pointer}
.gate-inspection{position:absolute;inset:0;z-index:4;pointer-events:none;background:linear-gradient(#161d19a8,transparent 155px)}
.gate-inspection[hidden],.inspect-gates[hidden]{display:none}
.inspection-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;color:#fff;font-size:10px;letter-spacing:1px}
.inspection-heading button{pointer-events:auto;min-height:44px;padding:8px 12px;background:#f4f0e6;color:#283c35;border:0;border-radius:6px;font-size:12px}
.inspection-counts{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:0 10px}
.inspection-counts>div{text-align:center;background:#f4f0e6f5;color:#283c35;padding:10px 2px;border-radius:6px}
.inspection-counts span{display:block;font:10px 'DM Sans',sans-serif}.inspection-counts strong{display:block;font:bold 28px Georgia,serif;margin-top:4px}
.canvas-wrap:has(#gate-inspection:not([hidden])) .cafe-scoreboard{visibility:hidden!important}

/* A tiny café ovation: four golden pucks form one complete set. */

/* Reserve a separate count strip: cards never cover the rendered chambers. */
.canvas-wrap:has(#gate-inspection:not([hidden])) #board{position:absolute;top:106px;left:0;height:calc(100% - 106px)!important;border-radius:0}
.gate-inspection{inset:0 0 auto;height:106px;background:#263b32;pointer-events:none}
.inspection-heading{padding:2px 10px;height:48px}
.inspection-counts{gap:4px;padding:0 8px 8px;height:58px}
.inspection-counts>div{padding:4px 2px}.inspection-counts strong{font-size:23px;margin-top:0}

.leaderboard-section{max-width:760px;margin:20px auto 48px;padding:24px;background:#e4e6dc;border:1px solid #cbd0c0;border-radius:14px}.leaderboard-heading{display:flex;justify-content:space-between;gap:12px;align-items:center}.leaderboard-heading h2{margin:8px 0}.leaderboard-section select,#leaderboard-dialog select{padding:10px;border:1px solid #cbd0c0;border-radius:6px;background:var(--paper);color:var(--ink);max-width:100%}.player-profiles{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.player-profiles button{padding:10px 12px;border:1px solid #bac6b5;border-radius:6px;background:var(--paper);color:var(--ink);min-height:44px}.leaderboard-section p{font-size:12px}.leaderboard-rows{padding:0;list-style:none;margin:12px 0}.leaderboard-rows li{display:flex;gap:14px;align-items:center;padding:12px 4px;border-bottom:1px solid #cbd0c0;font-size:14px}.leaderboard-rows li>span{color:#7d8879;font-size:11px}.leaderboard-rows strong{flex:1;overflow-wrap:anywhere}.leaderboard-rows b{font:28px Georgia,serif;color:var(--orange)}#leaderboard-dialog{max-height:calc(100dvh - 32px);overflow:auto}#player-form{margin-top:16px}#player-form label{display:block;font-size:12px;margin-bottom:6px}#player-name{width:100%;padding:12px;border:1px solid #abb6a3;border-radius:6px;font:16px 'DM Sans',sans-serif}#player-status,#save-score-status{font-size:12px;line-height:1.4}body.focus-play>.leaderboard-section{display:none}button:disabled{opacity:.5;cursor:default}
@media(max-width:640px){.leaderboard-section{margin:16px 12px;padding:16px}.leaderboard-heading{align-items:flex-start;flex-direction:column}body.focus-play header nav{gap:14px}#highscores{font-size:10px}}

.background-choice{display:block;width:100%;font-size:11px;color:var(--muted);margin:8px 0}.background-choice select{display:block;width:100%;max-width:100%;min-height:44px;margin-top:5px;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font:12px 'DM Sans',sans-serif}
@media(max-width:640px){.background-choice{order:1;grid-column:1/-1;margin:0;display:flex;align-items:center;gap:12px}.background-choice select{flex:1;width:0;margin:0;font-size:16px}}

@media(max-width:360px){header nav button{padding-left:6px;padding-right:6px}}
.shot-replay-label{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);z-index:8;border:1px solid #e6cbb0;border-radius:20px;background:#261c16e8;color:#fff4df;padding:10px 18px;font:600 12px system-ui;white-space:nowrap;cursor:pointer}.shot-replay-label[hidden]{display:none}
.chalk-pass{display:block;font-size:10px;line-height:1.4;white-space:nowrap}.chalk-pass[hidden]{display:none}.cafe-scoreboard .chalk-total{height:96px}.next-on-board{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);z-index:6;width:auto;min-height:44px;padding:12px 22px;white-space:nowrap}.next-on-board[hidden]{display:none}
.canvas-wrap:has(#gate-inspection:not([hidden])) .next-on-board{display:none}
