:root{--club-navy:#142e43;--club-ink:#19354a;--club-cream:#fff8e8;--club-coral:#ffac79;--club-muted:#496174;--club-line:#9cafb8;--club-control:46px;--club-pad:clamp(12px,2vw,22px)}
/* Shared controls and type hierarchy. Long names and instructions may wrap. */
:is(.game-shell,.club-options,dialog,.club-dialog) :is(input:not([type=checkbox]):not([type=range]):not([type=file]),select,textarea){
 box-sizing:border-box;width:100%;min-width:0;font:600 16px/1.25 system-ui;color:var(--club-ink);background:#fffdf7;border:1px solid var(--club-line);border-radius:8px;padding:10px 12px}
:is(.game-shell,.club-options,dialog) :is(input:not([type=checkbox]):not([type=range]):not([type=file]),select){height:var(--club-control)}
:is(.game-shell,.club-options,dialog) textarea{min-height:5rem;resize:vertical}
:is(.game-shell,.club-options,dialog) label{font:750 14px/1.35 system-ui}
:is(.game-shell,.club-options,dialog) :is(.fields,.entry-fields){align-items:start;gap:12px}
body.at-course .game-shell .game-screen[data-screen=setup] .fields{grid-template-columns:1fr}
:is(.game-shell,.club-options,dialog) :is(button,.mode-link):not(:disabled),.club-dialog button,.club-dialog a{cursor:pointer}
body.at-course .game-screen:not(.title-screen) :is(button,.mode-link),.club-options :is(button,.mode-link),dialog :is(button,.mode-link),.club-dialog :is(button,a){min-height:var(--club-control);border-radius:8px;font:800 15px/1.25 system-ui;padding:9px 14px}
body.at-course .game-screen:not(.title-screen) .card,.club-options .card{padding:var(--club-pad);border-radius:10px}
.club-choice{display:flex;flex-wrap:wrap;gap:6px}.club-choice button[role=radio]{flex:1 1 auto;border:1px solid #73909f;background:#eaf0ed;color:#19354a;box-shadow:none}
.club-choice button[aria-checked=true]{background:#ffb37f;color:#172f43;border:2px solid #713d23;box-shadow:inset 0 -3px #e78047}
.club-choice button[aria-checked=true]:before{content:'✓ ';font-weight:950}
dialog,.club-dialog{box-sizing:border-box;width:min(94vw,560px);max-height:92dvh;overflow:auto;background:var(--club-cream);color:var(--club-ink);border:0;border-top:5px solid var(--club-coral);border-radius:12px;padding:var(--club-pad);box-shadow:0 20px 70px #071a29aa}
dialog::backdrop{background:#0a1e32ba}dialog h2,.club-options h1{font:900 clamp(24px,4vw,36px)/1.1 system-ui;color:var(--club-ink);margin:4px 0 12px}
#photo{width:min(94vw,920px)}.club-dialog[open]{display:grid;gap:9px}.club-dialog a{color:var(--club-ink)}.club-dialog button{text-align:left;background:#f6f2e7;color:var(--club-ink);border:1px solid var(--club-line)}
.club-dialog button:first-of-type{background:var(--club-coral)}.club-dialog small{letter-spacing:.12em;font-weight:900}.club-dialog h2{margin:0}
.club-dialog.options-dialog[open]{display:flex;flex-direction:column;height:min(92dvh,760px);width:min(96vw,650px);padding:10px;overflow:hidden}.options-dialog iframe{width:100%;min-height:0;flex:1;border:0}.club-options{color:var(--club-ink)}.in-options-overlay .club-options{min-height:100dvh;box-shadow:none;border:0}.club-options summary{min-height:44px;padding-block:10px}
@media(prefers-reduced-motion:no-preference){dialog[open]{animation:club-appear .15s ease-out}@keyframes club-appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}}

.mode-cards .connection-required,.mode-cards button:disabled{opacity:.6;cursor:not-allowed}
