:root{color-scheme:dark;font-family:system-ui,sans-serif;background:#071525;color:#f2f7ff}*{box-sizing:border-box}body{margin:0}button,select{font:inherit}button{border:1px solid #48708d;background:#18354d;color:inherit;border-radius:12px;padding:12px 18px;font-weight:700;min-height:48px;cursor:pointer;touch-action:manipulation}button:hover,button.gesture-hover{background:#226681;border-color:#7ce9ff}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #ffe29b;outline-offset:3px}button.primary{background:#3be0e1;color:#06232b;border-color:#6bffff}button.danger{border-color:#f99e89}a{color:#8aeaff;text-underline-offset:3px}header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;border-bottom:1px solid #28415c}header>a{font-weight:900;letter-spacing:2px;text-decoration:none;color:#64eaff}header span{font-weight:500;color:#abc6db}nav{display:flex;gap:8px;flex-wrap:wrap}header button{font-size:13px;min-height:42px;padding:9px 12px}#arena{position:relative;width:100%;height:calc(100dvh - 170px);min-height:380px;max-height:900px;overflow:hidden;background:#0a1b30}#game{display:block;width:100%;height:100%}#hud{position:absolute;inset:20px 3% auto;display:flex;justify-content:space-between;gap:12px;pointer-events:none;text-shadow:0 2px 6px #000}#eyebrow,.tag{font-size:11px;letter-spacing:2px;color:#9ab6cc;font-weight:700}h1{font-size:clamp(23px,3.5vw,42px);margin:3px 0}#scores{display:flex;gap:18px;text-align:right;white-space:pre-line;font-size:clamp(14px,2vw,21px);font-weight:800}#scores .p2{color:#ffb797}#cue{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);max-width:90%;width:max-content;background:#071d31e8;border:1px solid #4a718d;border-radius:30px;padding:10px 22px;font-size:clamp(15px,2vw,22px);font-weight:750;text-align:center}#overlay{position:absolute;inset:0;background:#06111f99;display:grid;place-items:center;padding:14px}#overlay[hidden]{display:none}.sheet{background:linear-gradient(145deg,#17334b,#0e2338);border:1px solid #4d7892;border-radius:24px;max-width:800px;width:100%;padding:28px;max-height:100%;overflow:auto;box-shadow:0 24px 80px #0008}.sheet h2{font-size:clamp(26px,4vw,42px);margin:8px 0}.sheet p{line-height:1.5;color:#c1d9e9}#menuActions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}#menuActions button{min-height:90px;text-align:left}#menuActions small{display:block;font-weight:400;margin-top:8px;line-height:1.4;color:inherit}#cameraHelp{padding:10px 20px;background:#10273c;display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-size:13px}#cameraNotice{flex:1 1 560px;margin:0;line-height:1.45}#cameraHelp label{white-space:nowrap}select{background:#18364e;color:white;border:1px solid #587e98;border-radius:8px;padding:8px}#tracking{flex-basis:100%;margin:0;color:#a9ddf4}#camBox{flex-basis:100%}#bodyCanvas{max-width:320px;width:100%}#instructions{padding:16px 20px;line-height:1.6;color:#b8cfe0;font-size:14px}summary{cursor:pointer}footer{text-align:center;font-size:12px;color:#87a2b9;padding:14px}#cursor{display:none;position:fixed;z-index:20;width:34px;height:34px;border:3px solid #fff;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;background:conic-gradient(#42e9da var(--dwell,0%),#18334988 0)}@media(max-width:650px){header{padding:8px 12px;flex-wrap:wrap}header>a{font-size:14px}header nav{gap:5px}header button{font-size:12px;padding:7px 9px}#arena{height:65dvh;min-height:420px}#menuActions{grid-template-columns:1fr}.sheet{padding:20px}#menuActions button{min-height:65px}#hud{inset:14px 3% auto}#scores{gap:10px;font-size:14px}#cameraHelp{padding:10px 12px}}@media(orientation:landscape) and (max-height:600px){header{padding:5px 12px}#arena{height:calc(100dvh - 62px);min-height:250px}#menuActions button{min-height:62px}.sheet{padding:16px}.sheet h2{font-size:25px;margin:3px 0}.sheet p{font-size:13px;margin:6px 0}#hud{inset:10px 3% auto}#cue{bottom:10px;padding:7px 14px;font-size:15px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

#bowlingCard{padding:12px 20px;color:#c7e0ef}#scorecardTable{overflow-x:auto;max-width:100%}table{border-collapse:collapse;min-width:640px;width:100%;margin-top:12px;font-size:14px}th,td{border:1px solid #34536d;padding:9px;text-align:center}th{background:#18354d}td small{display:block;color:#93b4ca;margin-top:4px}



#menuActions:has(.card-art){grid-template-columns:repeat(2,minmax(0,1fr))}.card-art{display:block;width:100%;height:105px;margin-bottom:10px;border-radius:14px}#menuActions button:has(.card-art){text-align:center;padding:12px;font-size:20px}#menuActions button:has(.card-art) small{font-size:13px}#pairQR{display:block;width:min(220px,30vh);height:auto;margin:10px auto;background:white;border:10px solid white;border-radius:12px}#pairQR[hidden]{display:none}#pairStatus{text-align:center;font-size:15px}#menuButtons:has(.card-art){max-width:800px}#menuButtons:has(.card-art) h2{font-size:30px}#menuButtons:has(.card-art) p{margin:6px 0}#arena{height:calc(100dvh - 165px);max-height:none}#cameraHelp{flex-shrink:0}@media(max-width:650px){#menuActions:has(.card-art){grid-template-columns:repeat(2,minmax(0,1fr))}.card-art{height:70px}#menuActions button:has(.card-art){font-size:15px;padding:9px}#menuActions button:has(.card-art) small{font-size:11px}#menuButtons:has(.card-art) h2{font-size:23px}#menuButtons:has(.card-art){padding:14px}}@media(orientation:landscape) and (max-height:600px){.card-art{height:62px}#menuActions button:has(.card-art){font-size:15px;padding:8px}#arena{height:calc(100dvh - 58px)}}

#menuCameraSetup{margin:12px 0 18px;padding:14px;border:1px solid #50768c;border-radius:14px;background:#081f32}#menuCameraSetup[hidden]{display:none}.setupControls,.setupActions{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.setupControls{margin-bottom:10px}.setupControls label{display:grid;gap:5px;font-size:12px;flex:1 1 130px}.setupControls select{min-width:0;width:100%}.setupActions button{flex:1 1 160px;text-align:center;min-height:48px}#menuCameraSetup p{font-size:13px;margin:10px 0 0;line-height:1.45}#menuCameraSetup .cameraDisclosure{font-size:12px;color:#bdd4e4}@media(max-width:650px){#menuCameraSetup{padding:10px;margin-bottom:12px}.setupControls{gap:7px}.setupControls label{flex-basis:90px}.setupActions{gap:7px}.setupActions button{font-size:13px;padding:9px;flex-basis:130px}}

/* Shared game menus only. Homepage composition/branding stays untouched. */
body #menuActions[data-menu=pause],body.cube[data-cube-view=game] #menuActions[data-menu=pause]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
body #menuActions[data-menu=pause] .resume-game{grid-column:1/-1;min-height:132px;text-align:center;font-size:clamp(25px,3vw,36px)}
body #menuActions[data-menu=pause]>button:not(.resume-game){min-height:68px;text-align:center;font-size:20px}
body #menuActions[data-menu=assist]{display:grid;grid-template-columns:1fr 1fr}
body #menuActions[data-menu=assist]>button{white-space:normal;min-height:150px;text-align:left}
body #menuActions[data-menu=assist]>button small{font-size:15px;line-height:1.5;font-weight:400}
body #menuActions[data-menu=assist]>button.assist-selected{outline:3px solid #9bc6e4;outline-offset:2px}
body.cube[data-cube-view=game] #menuButtons[data-menu=pause],body.cube[data-cube-view=game] #menuButtons[data-menu=settings],body.cube[data-cube-view=game] #menuButtons[data-menu=assist]{background:#202a35;color:#edf3f8;border-color:#536576}
body.cube[data-cube-view=game] #menuButtons[data-menu=pause] #menuText,body.cube[data-cube-view=game] #menuButtons[data-menu=settings] #menuText,body.cube[data-cube-view=game] #menuButtons[data-menu=assist] #menuText{color:#c6d3df}
body.cube[data-cube-view=game] #menuButtons[data-menu=pause] button,body.cube[data-cube-view=game] #menuButtons[data-menu=settings] button,body.cube[data-cube-view=game] #menuButtons[data-menu=assist] button{background:#334252;border-color:#62788d;color:#edf3f8}
body.cube[data-cube-view=game] #menuActions[data-menu=pause] .resume-game{background:#add4ed;color:#152331}
body #menuActions button.gesture-hover{outline:4px solid #c0e7ff;outline-offset:2px}
@media(max-width:600px){body #menuActions[data-menu=assist]{grid-template-columns:1fr}body #menuActions[data-menu=assist]>button{min-height:115px}body #menuActions[data-menu=pause] .resume-game{min-height:120px}body #menuActions[data-menu=pause]>button:not(.resume-game){font-size:16px;min-height:64px}}
body #menuButtons[data-menu=pause]>.tag{display:none}
body #menuActions[data-menu=pause] .resume-game{min-height:160px}
body #menuActions[data-menu=pause]>button:not(.resume-game){min-height:72px}
body #menuActions[data-menu=pause]>button:not(.resume-game) small{font-size:13px;line-height:1.4}
@media(max-width:600px){body #menuActions[data-menu=pause] .resume-game{min-height:148px}}

body #menuActions[data-menu=assist]>button[data-action=settings]{grid-column:1/-1;min-height:52px;font-size:16px;text-align:center}
body #menuActions[data-menu=assist]>button[data-action^="assist-"]{font-size:18px}
.arcade-clock{position:absolute;z-index:3;top:18px;left:50%;transform:translateX(-50%);display:grid;text-align:center;min-width:100px;padding:10px 20px;border:1px solid #a1e8d7;border-radius:18px;background:#092d34ed;color:#fff;pointer-events:none;font-variant-numeric:tabular-nums}.arcade-clock strong{font-size:clamp(32px,4.5vw,60px);line-height:1}.arcade-clock span{font-size:11px;letter-spacing:.16em;margin-top:6px}.arcade-clock[hidden],.arcade-reward[hidden]{display:none}#scores>div{background:#082632e8;border:1px solid #5a898e;border-radius:16px;padding:10px 18px;min-width:104px;text-shadow:none}#scores .score-number{display:block;font-size:clamp(32px,4vw,56px);line-height:1.08;color:#fff;font-variant-numeric:tabular-nums}#scores small{display:block;font-size:12px;font-weight:600}.arcade-reward{position:absolute;z-index:4;left:50%;top:38%;transform:translate(-50%,-50%);display:flex;gap:20px;pointer-events:none;text-align:center;filter:drop-shadow(0 4px 8px #001c27)}.arcade-reward>div{display:grid;justify-items:center;background:#092d34f2;border:2px solid #ffdc85;border-radius:28px;padding:18px 28px;min-width:160px}.arcade-reward svg{width:42px;height:42px;fill:#ffdc85;stroke:#ffeec3;stroke-width:1}.arcade-reward strong{font-size:clamp(34px,5vw,68px);line-height:1.1;color:#ffdf90}.arcade-reward span{font-size:13px;letter-spacing:.12em;color:#fff;margin-top:7px}@media(max-width:700px){.arcade-clock{top:118px;padding:8px 14px;min-width:90px}.arcade-reward{gap:8px;top:43%;max-width:96%}.arcade-reward>div{padding:14px;min-width:120px}#scores>div{padding:8px 12px;min-width:80px}}

.arcade-reward[data-game=keeper]{left:18px;top:46%;transform:translateY(-50%)}.arcade-reward[data-game=keeper]>div{min-width:100px;padding:10px 16px}.arcade-reward[data-game=keeper] strong{font-size:36px}.arcade-reward[data-game=keeper] svg{width:24px;height:24px}@media(max-width:700px){.arcade-reward[data-game=keeper]{top:auto;bottom:80px;left:10px;transform:none}.arcade-reward[data-game=keeper]>div{padding:8px;min-width:86px}.arcade-reward[data-game=keeper] span{font-size:10px}}
/* Compact shared game flow. Scoped away from the approved homepage cards. */
body.cube[data-cube-view=game] #overlay,body:not(.cube) #overlay{position:fixed;inset:var(--binx-header-height,80px) 0 0;padding:12px max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));z-index:10}
body.cube.binx-scanning #overlay,body.binx-scanning #overlay{z-index:100}
body #cursor{z-index:150}
body #menuButtons:not([data-menu=games]){color-scheme:dark}
body.cube #menuButtons[data-menu]:not([data-menu=games]),body:not(.cube) #menuButtons{background:#182b3b;color:#f4f8fc;border-color:#71889c}
body #menuButtons[data-menu]:not([data-menu=games])>.tag{display:none}
body.cube #menuButtons[data-menu]:not([data-menu=games]) h2{color:#f4f8fc}
body #menuButtons[data-menu]:not([data-menu=games]) #menuText,body #menuHow{color:#d4e1eb;font-size:15px;line-height:1.45}
body #menuHow{margin:0 0 14px;text-align:left}
body #menuHow summary{min-height:44px;display:flex;align-items:center;color:#c5edff;font-weight:700;cursor:pointer}
body #menuHow[open] p{max-width:64ch;line-height:1.5}
body.cube #menuActions[data-menu]:not([data-menu=games]),body:is(.cube,:not(.cube)) #menuActions[data-menu]:not([data-menu=games]){grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
body.cube #menuActions[data-menu]:not([data-menu=games])>button,body:is(.cube,:not(.cube)) #menuActions[data-menu]:not([data-menu=games])>button{min-height:54px;font-size:17px;padding:12px;text-align:center;background:#30495d;color:#f4f8fc;border:1px solid #8298aa}
body:is(.cube,:not(.cube)) #menuActions[data-menu]:not([data-menu=games])>button small{font-size:13px;margin-top:4px}
body.cube #menuActions[data-menu]:not([data-menu=games])>.primary,body:is(.cube,:not(.cube)) #menuActions[data-menu]:not([data-menu=games])>.primary{background:#b9eddf;color:#102f32;border-color:#e3fff5}
body:is(.cube,:not(.cube)) #menuActions[data-menu]:not([data-menu=games])>.resume-game,body:is(.cube,:not(.cube)) #menuActions[data-menu]:not([data-menu=games])>.camera-entry{grid-column:1/-1;min-height:76px;font-size:25px}
body:is(.cube,:not(.cube)) #menuActions[data-menu]:not([data-menu=games])>button:disabled{opacity:1;background:#293d4e;color:#bdcbd6;border-style:dashed;cursor:default}
body #menuButtons[data-menu=camera-settings] #menuCameraSetup{background:#223b4e;color:#f4f8fc;border-color:#728ba0}
body #menuButtons[data-menu=camera-settings] #menuCameraSetup :is(p,label,summary){color:#d4e1eb}
body #menuButtons[data-menu=camera-settings] #menuCameraSetup select{background:#142b3c;color:#fff;border-color:#8da5b8}
body #menuButtons[data-menu=camera-settings] #menuCameraSetup a{color:#b9eddf}
body:is(.cube,:not(.cube)) #menuActions[data-menu=assist]>button{min-height:76px}
body:is(.cube,:not(.cube)) #menuActions[data-menu=assist]>button.assist-selected{border-color:#b9eddf;background:#3c5a6b;outline-color:#b9eddf}
body:is(.cube,:not(.cube)) #menuActions[data-menu=assist]>button[data-action=settings]{grid-column:1/-1}
body:is(.cube,:not(.cube)) #menuActions[data-menu]:not([data-menu=games])>button:is(:hover,:focus-visible,.gesture-hover){border-color:#fff;outline:3px solid #ffe29b;outline-offset:2px}
body .scan-header .scan-home{background:transparent;border:0;color:#f4f8fc;font-size:22px;font-weight:900;min-width:74px;min-height:44px}
@media(max-width:600px){body #menuButtons[data-menu]:not([data-menu=games]){padding:16px;max-height:100%;border-radius:18px}body #menuButtons[data-menu]:not([data-menu=games]) #menuTitle{font-size:27px;margin:0 0 7px}body #menuButtons[data-menu]:not([data-menu=games]) #menuText{font-size:14px;margin:0 0 8px}body:is(.cube,:not(.cube)) #menuActions[data-menu]:not([data-menu=games])>.resume-game,body:is(.cube,:not(.cube)) #menuActions[data-menu]:not([data-menu=games])>.camera-entry{min-height:68px;font-size:21px}}
@media(max-height:540px) and (orientation:landscape){body #menuButtons[data-menu]:not([data-menu=games]){max-width:760px;padding:12px}body #menuButtons[data-menu]:not([data-menu=games]) #menuTitle{font-size:23px;margin:0}body #menuHow{margin:0}body:is(.cube,:not(.cube)) #menuActions[data-menu]:not([data-menu=games]){gap:6px}body:is(.cube,:not(.cube)) #menuActions[data-menu]:not([data-menu=games])>button{min-height:44px;padding:7px}body:is(.cube,:not(.cube)) #menuActions[data-menu]:not([data-menu=games])>.resume-game,body:is(.cube,:not(.cube)) #menuActions[data-menu]:not([data-menu=games])>.camera-entry{min-height:50px;font-size:20px}}
@media(max-height:540px) and (orientation:landscape){body.cube #menuActions[data-menu]:not([data-menu=games]),body:is(.cube,:not(.cube)) #menuActions[data-menu]:not([data-menu=games]){grid-template-columns:repeat(6,minmax(0,1fr))}body:is(.cube,:not(.cube)) #menuActions[data-menu]:not([data-menu=games])>button{grid-column:span 2}body:is(.cube,:not(.cube)) #menuActions[data-menu]:not([data-menu=games])>.resume-game,body:is(.cube,:not(.cube)) #menuActions[data-menu]:not([data-menu=games])>.camera-entry{grid-column:span 3;min-height:52px;font-size:17px}body:is(.cube,:not(.cube)) #menuActions[data-menu=assist]>button{grid-column:span 3}body:is(.cube,:not(.cube)) #menuActions[data-menu=assist]>button[data-action=settings]{grid-column:1/-1}body #menuButtons[data-menu]:not([data-menu=games]) #menuText{margin-block:4px}}

/* The three-choice Pause keeps Resume above its equal secondary row, including short screens. */
body:is(.cube,:not(.cube)) #menuActions[data-menu=pause]:not(:has(>.camera-entry))>.resume-game{grid-column:1/-1;min-height:84px}
@media(max-height:540px) and (orientation:landscape){body:is(.cube,:not(.cube)) #menuActions[data-menu=pause]:not(:has(>.camera-entry))>button{grid-column:span 3}body:is(.cube,:not(.cube)) #menuActions[data-menu=pause]:not(:has(>.camera-entry))>.resume-game{grid-column:1/-1;min-height:70px}}
body #menuButtons[data-visual-setup=true] #menuCameraSetup{background:#223b4e;color:#f4f8fc;border-color:#728ba0}
body #menuButtons[data-visual-setup=true] #menuCameraSetup :is(p,label,summary){color:#d4e1eb}
body #menuButtons[data-visual-setup=true] #menuCameraSetup select{background:#142b3c;color:#fff;border-color:#8da5b8}
body #menuButtons[data-visual-setup=true] #menuCameraSetup .setupActions button{background:#30495d;color:#f4f8fc;border-color:#8298aa}
body #menuButtons[data-visual-setup=true] #menuCameraSetup a{color:#b9eddf}

/* Still, translucent game sheets. Existing artwork and hit-target geometry are reused. */
#menuArtwork,#menuGameLabel{display:none}
#menuButtons{--menu-accent:112,226,242}
body #menuButtons[data-game-theme]:not([data-game-theme=""]):not([data-visual-setup=true]){
 position:relative;isolation:isolate;
 background:radial-gradient(ellipse at 100% 0%,rgba(var(--menu-accent),.18),transparent 65%),linear-gradient(135deg,rgba(13,36,54,.91),rgba(8,24,40,.82));
 border:1px solid rgba(var(--menu-accent),.65);border-radius:24px;
 box-shadow:0 24px 80px #0008,inset 0 1px 0 #ffffff45,inset 0 -1px 0 rgba(var(--menu-accent),.12);
}
body #menuButtons[data-game-theme=keeper]{--menu-accent:131,244,178}
body #menuButtons[data-game-theme=basketball]{--menu-accent:255,183,100}
body #menuButtons[data-game-theme=bowling]{--menu-accent:211,166,255}
body #menuButtons[data-game-theme=rush]{--menu-accent:104,221,255}
body #menuButtons[data-game-theme=puddle]{--menu-accent:111,235,224}
body #menuButtons[data-game-theme]:not([data-game-theme=""]):not([data-visual-setup=true]) #menuArtwork{
 display:block;position:relative;float:right;margin:0 0 14px 20px;width:28%;max-width:190px;aspect-ratio:1.65;overflow:hidden;
 border-radius:16px 24px 16px 32px;border:1px solid rgba(var(--menu-accent),.55);box-shadow:0 8px 26px #0005;
 pointer-events:none;transform:rotate(3deg);opacity:.86;
}
#menuArtwork .card-art{display:block;width:100%;height:100%;margin:0;object-fit:cover}
body #menuButtons[data-game-theme]:not([data-game-theme=""]):not([data-visual-setup=true]) #menuGameLabel{
 display:block;color:rgb(var(--menu-accent));font-size:11px;line-height:1.4;font-weight:900;letter-spacing:1.4px;text-transform:uppercase;margin:0 0 9px;
}
body #menuButtons[data-game-theme]:not([data-game-theme=""]):not([data-visual-setup=true]) :is(#menuTitle,#menuText){text-shadow:0 2px 8px #00111e}
body #menuButtons[data-game-theme]:not([data-game-theme=""]):not([data-visual-setup=true]) :is(#menuHow,#menuActions){clear:both}
body #menuButtons[data-game-theme]:not([data-game-theme=""]):not([data-visual-setup=true]) #menuTitle{color:#f8fcff}
body #menuButtons[data-game-theme]:not([data-game-theme=""]):not([data-visual-setup=true]) #menuText{color:#d9e9f1}
body #menuButtons[data-game-theme]:not([data-game-theme=""]):not([data-visual-setup=true]) #menuHow{position:relative;margin-top:18px}
body #menuButtons[data-game-theme]:not([data-game-theme=""]):not([data-visual-setup=true]) #menuHow summary{color:rgb(var(--menu-accent))}
body #menuButtons[data-game-theme]:not([data-game-theme=""]):not([data-visual-setup=true]) #menuActions>button{
 background:linear-gradient(135deg,#ffffff19,#ffffff08);border-color:rgba(var(--menu-accent),.38);box-shadow:inset 0 1px 0 #ffffff18;color:#f4faff;
}
body #menuButtons[data-game-theme]:not([data-game-theme=""]):not([data-visual-setup=true]) #menuActions>button small{color:#d5e5ed}
body #menuButtons[data-game-theme]:not([data-game-theme=""]):not([data-visual-setup=true]) #menuActions>button:is(.primary,.resume-game){background:linear-gradient(120deg,rgb(var(--menu-accent)),#e7ffe8);border-color:#edfff9;color:#102737;box-shadow:0 4px 20px rgba(var(--menu-accent),.15)}
body #menuButtons[data-game-theme]:not([data-game-theme=""]):not([data-visual-setup=true]) #menuActions>button:is(.primary,.resume-game) small{color:#183b48}
body #menuButtons[data-game-theme]:not([data-game-theme=""]):not([data-visual-setup=true]) #menuActions>button[data-action=result-sign-up]{background:#dcff45;color:#102533;border-color:#e7ff8c}
body #menuButtons[data-game-theme]:not([data-game-theme=""]):not([data-visual-setup=true]) #menuActions>button[data-action=result-sign-up] small{color:#243b21}
body #menuButtons[data-game-theme]:not([data-game-theme=""]):not([data-visual-setup=true]) #menuActions>button:disabled{background:#ffffff05;color:#c2d0d9;border-style:dashed;box-shadow:none}
body #menuButtons[data-game-theme]:not([data-game-theme=""]):not([data-visual-setup=true]) #menuActions>button:is(:hover,:focus-visible,.gesture-hover){border-color:#fff;outline:3px solid #ffe29b;outline-offset:2px}
body.cube[data-cube-view=game] #overlay:not(:has([data-visual-setup=true])){background:#03112266}
@media(max-width:600px){
 body #menuButtons[data-game-theme]:not([data-game-theme=""]):not([data-visual-setup=true]) #menuArtwork{width:27%;margin-left:12px;border-radius:12px 18px 12px 22px}
 body #menuButtons[data-game-theme]:not([data-game-theme=""]):not([data-visual-setup=true]) #menuGameLabel{font-size:10px;letter-spacing:1px;margin-bottom:7px}
}
@media(max-height:540px) and (orientation:landscape){
 body #menuButtons[data-game-theme]:not([data-game-theme=""]):not([data-visual-setup=true]) #menuArtwork{width:100px;max-height:68px;margin-bottom:8px}
 body #menuButtons[data-game-theme]:not([data-game-theme=""]):not([data-visual-setup=true]) #menuGameLabel{font-size:9px;margin-bottom:4px}
 body #menuButtons[data-game-theme]:not([data-game-theme=""]):not([data-visual-setup=true]) #menuHow{margin-top:8px}
}
@media(prefers-contrast:more){body #menuButtons[data-game-theme]:not([data-game-theme=""]):not([data-visual-setup=true]){background:#102738}}

/* Manual play uses the game surface instead of an overlay pad. */
#game{touch-action:none}

/* Goalkeeper Art 3.0: readable, quiet HUD over the bright live stadium. */
body[data-arcade-game=keeper] #hud{gap:10px;align-items:flex-start}
body[data-arcade-game=keeper] #hud>div:first-child{background:#153f49f5;border:1px solid #f4d297;border-radius:18px;padding:12px 18px;max-width:min(55%,540px);text-shadow:none;color:#fff5df}
body[data-arcade-game=keeper] #hud h1{font-size:clamp(22px,2.7vw,36px);color:#fff5df!important;line-height:1.12}
body[data-arcade-game=keeper] #eyebrow{color:#efd5a1}
body[data-arcade-game=keeper] #scores>div{background:#153f49f5;border-color:#e1bf83;color:#fff5df}
body[data-arcade-game=keeper] .arcade-clock{background:#153f49f5;border-color:#efd5a1;color:#fff5df}
body[data-arcade-game=keeper] #cue{background:#153f49f5;border-color:#efd5a1;color:#fff5df;font-size:clamp(14px,1.7vw,19px)}
@media(max-width:600px){body[data-arcade-game=keeper] #hud>div:first-child{max-width:60%;padding:9px 11px;border-radius:12px}body[data-arcade-game=keeper] #hud h1{font-size:21px}body[data-arcade-game=keeper] #eyebrow{font-size:9px;letter-spacing:1px}body[data-arcade-game=keeper] #scores>div{min-width:74px;padding:9px}body[data-arcade-game=keeper] #scores .score-number{font-size:32px}}


/* Keep the destination visible; reuse the existing hand-menu target for Back. */
body.binx-launching #overlay{background:transparent;display:flex;align-items:flex-end;justify-content:center;pointer-events:none;padding-bottom:max(16px,env(safe-area-inset-bottom))}
body.binx-launching #menuButtons{pointer-events:auto;width:min(280px,100%);max-height:none;overflow:visible;padding:0;border:0;background:transparent!important;box-shadow:none}
body.binx-launching #menuButtons>:not(#menuActions),body.binx-launching #menuButtons::before,body.binx-launching #menuButtons::after{display:none!important}
body.binx-launching #menuActions{display:block;margin:0}
body.binx-launching #menuActions button{width:100%;min-height:54px;text-align:center;background:#18354df5;color:#fff;border:2px solid #a5e9de}
body.binx-launching #menuActions button small{display:block;font-size:12px}
body.binx-launching #cue{visibility:hidden}

#washCleanHint{position:absolute;z-index:4;transform:translate(-50%,-140%);padding:8px 12px;background:#ffdc68;color:#243637;border:3px solid white;border-radius:14px;box-shadow:0 2px 9px #2346;pointer-events:none;font:900 clamp(13px,2vw,20px) system-ui;white-space:nowrap}

body[data-arcade-game="pirate"] #hud #gameTitle{color:#0b3442;text-shadow:none}body[data-arcade-game="pirate"] #eyebrow{color:#124657;text-shadow:none}

body[data-arcade-game="bounce"] #hud #gameTitle{color:#123f48;text-shadow:none}body[data-arcade-game="bounce"] #eyebrow{color:#124657;text-shadow:none}

/* TV GPUs keep the artwork but avoid expensive compositing around every frame. */
html[data-graphics-quality=tv] #overlay,html[data-graphics-quality=tv] #menuButtons,html[data-graphics-quality=tv] .cube-header,html[data-graphics-quality=tv] .cube-game-card,html[data-graphics-quality=tv] .family-card-art{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;filter:none!important;box-shadow:none!important;transition:none!important}

.kart-item{padding:.65rem 1rem;border:2px solid #ffe266;border-radius:18px;background:#253450;color:#fff;text-align:center;box-shadow:0 3px 18px #0005}.kart-item-icon{display:block;font-size:2.6rem;line-height:1.15}.kart-item strong{display:block;font-size:1.3rem;letter-spacing:.08em}.kart-item small{display:block;color:#ffe266;font-weight:800;margin-top:.25rem}

/* Keep racing rewards at the edge and reserve room for the item reveal. */
body[data-arcade-game=kart] #scores{flex-direction:column;align-items:stretch;gap:6px}
body[data-arcade-game=kart] #scores .kart-item{display:grid;grid-template-columns:34px 1fr;align-items:center;column-gap:8px;padding:8px 12px;white-space:normal}
body[data-arcade-game=kart] .kart-item-icon{grid-row:1/3;font-size:28px}
body[data-arcade-game=kart] .kart-item strong{font-size:16px}
body[data-arcade-game=kart] .kart-item small{font-size:11px;margin-top:2px}
.arcade-reward[data-game=kart]{left:3%;top:auto;bottom:88px;transform:none;text-align:left}
.arcade-reward[data-game=kart]>div{min-width:0;max-width:145px;padding:8px 12px;border-radius:14px;grid-template-columns:20px 1fr;column-gap:6px}
.arcade-reward[data-game=kart] svg{width:20px;height:20px;align-self:center}
.arcade-reward[data-game=kart] strong{font-size:28px}
.arcade-reward[data-game=kart] span{grid-column:1/3;font-size:10px;letter-spacing:.04em;margin-top:3px}
@media(max-width:700px){
 body[data-arcade-game=kart] #hud>div:first-child{max-width:45%}
 body[data-arcade-game=kart] #hud #gameTitle{font-size:clamp(18px,4.8vw,24px);line-height:1.2}
 body[data-arcade-game=kart] #eyebrow{font-size:9px;line-height:1.5;letter-spacing:1px}
 body[data-arcade-game=kart] #scores{max-width:49%;flex-shrink:0}
 body[data-arcade-game=kart] #scores .kart-item{padding:6px 8px;grid-template-columns:26px 1fr;column-gap:5px}
 body[data-arcade-game=kart] .kart-item-icon{font-size:24px}
 body[data-arcade-game=kart] .kart-item strong{font-size:14px;letter-spacing:.04em}
 body[data-arcade-game=kart] .arcade-clock{left:3%;top:142px;transform:none;padding:6px 12px;min-width:72px}
}

/* Road Rush: cues stay by each player's score; rewards leave the road visible. */
body[data-arcade-game=rush] #scores .rush-action{color:#ffe29b;font-size:clamp(11px,1.4vw,17px);margin-top:5px}
.arcade-reward[data-game=rush]{top:auto;bottom:82px;transform:translateX(-50%);max-width:94%}
.arcade-reward[data-game=rush]>div{padding:8px 14px;border-radius:16px;min-width:0}
.arcade-reward[data-game=rush] svg{display:none}
.arcade-reward[data-game=rush] strong{font-size:clamp(18px,2.8vw,30px)}
.arcade-reward[data-game=rush] span{font-size:10px;letter-spacing:.05em}
@media(max-width:700px){body[data-arcade-game=rush] #hud>div:first-child{max-width:36%}body[data-arcade-game=rush] h1{font-size:20px}body[data-arcade-game=rush] #eyebrow{font-size:8px;letter-spacing:.5px}body[data-arcade-game=rush] #scores{gap:4px}body[data-arcade-game=rush] #scores>div{padding:6px;min-width:66px}body[data-arcade-game=rush] .arcade-clock{top:138px}}

/* Hoops rewards leave the rim and ball flight visible. */
.arcade-reward[data-game=basketball]{top:auto;bottom:82px;transform:translateX(-50%);max-width:94%}
.arcade-reward[data-game=basketball]>div{padding:8px 14px;border-radius:16px;min-width:100px}
.arcade-reward[data-game=basketball] svg{display:none}
.arcade-reward[data-game=basketball] strong{font-size:34px}
.arcade-reward[data-game=basketball] span{font-size:12px;letter-spacing:.04em}
@media(max-width:700px){body[data-arcade-game=basketball] #hud>div:first-child{max-width:36%}body[data-arcade-game=basketball] h1{font-size:20px}body[data-arcade-game=basketball] #eyebrow{font-size:8px;letter-spacing:.5px}body[data-arcade-game=basketball] #scores{gap:4px}body[data-arcade-game=basketball] #scores>div{padding:6px;min-width:66px}body[data-arcade-game=basketball] .arcade-clock{top:138px}}

/* Bowling keeps earned roll rewards below the pins and makes the active turn clear. */
body[data-arcade-game=bowling] #scores small:last-child{color:#ffe29b}
.arcade-reward[data-game=bowling]{top:auto;bottom:82px;transform:translateX(-50%);max-width:94%}
.arcade-reward[data-game=bowling]>div{padding:8px 14px;border-radius:16px;min-width:100px}
.arcade-reward[data-game=bowling] svg{display:none}
.arcade-reward[data-game=bowling] strong{font-size:clamp(28px,4vw,42px)}
.arcade-reward[data-game=bowling] span{font-size:11px;letter-spacing:.04em}
@media(max-width:700px){body[data-arcade-game=bowling] #hud>div:first-child{max-width:32%}body[data-arcade-game=bowling] h1{font-size:20px}body[data-arcade-game=bowling] #eyebrow{font-size:8px;letter-spacing:.5px}body[data-arcade-game=bowling] #scores{gap:4px}body[data-arcade-game=bowling] #scores>div{padding:6px;min-width:66px}body[data-arcade-game=bowling] #scores small{font-size:10px}body[data-arcade-game=bowling] .arcade-clock{top:158px}}

/* Keep save receipts below the contact area, including paired volleys. */
.arcade-reward[data-game=keeper]{left:50%;top:auto;bottom:82px;transform:translateX(-50%);max-width:94%}
.arcade-reward[data-game=keeper] svg{display:none}
.arcade-reward[data-game=keeper] strong{font-size:clamp(24px,3.4vw,36px)}
@media(max-width:700px){body[data-arcade-game=keeper] #hud>div:first-child{max-width:36%;padding:8px}body[data-arcade-game=keeper] #hud h1{font-size:19px}body[data-arcade-game=keeper] #eyebrow{font-size:8px;letter-spacing:.4px}body[data-arcade-game=keeper] #scores>div{padding:8px;min-width:90px}body[data-arcade-game=keeper] #scores small{font-size:10px}body[data-arcade-game=keeper] .arcade-clock{top:160px}}

/* Balloon receipts stay above the rail without covering the falling playfield. */
.arcade-reward[data-game=balloon]{left:50%;top:auto;bottom:24%;transform:translateX(-50%);max-width:94%}
.arcade-reward[data-game=balloon]>div{padding:7px 12px;min-width:90px}
.arcade-reward[data-game=balloon] svg{display:none}
.arcade-reward[data-game=balloon] strong{font-size:clamp(22px,3vw,34px)}
@media(max-width:700px){body[data-arcade-game=balloon] #hud>div:first-child{max-width:36%}body[data-arcade-game=balloon] h1{font-size:19px}body[data-arcade-game=balloon] #eyebrow{font-size:8px;letter-spacing:.4px}body[data-arcade-game=balloon] #scores>div{padding:7px;min-width:95px}body[data-arcade-game=balloon] #scores small{font-size:10px}body[data-arcade-game=balloon] .arcade-clock{top:140px}}

body[data-arcade-game=balloon] #hud>div:first-child{background:#103d49f5;border:1px solid #ffe2a0;border-radius:14px;padding:10px 13px;text-shadow:none;color:#fff8e6}
body[data-arcade-game=balloon] #eyebrow{color:#ffe2a0}
@media(max-width:700px){body[data-arcade-game=balloon] #hud>div:first-child{padding:7px}}
