/* Mobile app preparation: one clear task per screen. */
.quick-setup{display:none}.compact-game[data-game-state=idle] .quick-setup{display:grid;gap:9px;width:100%;max-width:420px;text-align:left}.setup-group>span{display:block;font:700 11px/1.4 system-ui;color:#cbc5de;margin-bottom:4px}.setup-options{display:flex;gap:6px}.compact-game .setup-options button{flex:1;min-width:0;min-height:44px;padding:7px 5px;font:700 12px system-ui;border:1px solid #75628c;border-radius:11px;background:#22233a;color:#eee}.compact-game .setup-options button[aria-pressed=true]{border-color:#ffce59;background:#ffce5926;color:#ffe099;box-shadow:inset 0 0 0 1px #ffce59}.quick-setup p{margin:0!important;font:400 12px/1.4 system-ui!important}.setup-mode-hint{color:#e2dcee}.setup-summary{color:#a9deef;text-align:center}.quick-setup input{width:100%;min-height:44px;border:1px solid #8b72ad;border-radius:9px;background:#191b34;color:white;font:16px system-ui;padding:8px;box-sizing:border-box}.quick-setup [hidden]{display:none!important}
.compact-game[data-game-state=idle] .start-overlay{inset:0!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:10px!important;padding:16px!important;background:radial-gradient(ellipse at top,#48305c77,transparent),#101126fa;overflow:auto}.compact-game[data-game-state=idle] .start-overlay h2{font:850 24px/1.1 system-ui!important;text-transform:none;font-style:normal;text-shadow:none}.compact-game[data-game-state=idle] #overlay-text{font-size:12px!important;max-width:38ch}.compact-game[data-game-state=idle] #overlay-caption,.compact-game[data-game-state=idle] .mini,.compact-game[data-game-state=idle] .studio-invitation{display:none!important}.compact-game[data-game-state=idle] #start{width:100%;max-width:420px;min-height:48px;font:800 15px system-ui}.compact-game[data-game-state=idle] #demo{display:block!important;width:auto;min-height:36px;padding:5px 12px;background:transparent;border:0;color:#bce9ff;font-size:12px}.compact-game .rhythm-shortcuts,.compact-game .training-setup{display:none!important}.compact-game[data-game-state=idle] .quick-controls #rhythm-select,.compact-game[data-game-state=idle] .quick-role{display:none}.compact-game[data-game-state=idle] .quick-controls{justify-content:flex-end}.compact-game[data-game-state=idle] .game-card{grid-template-rows:minmax(0,1fr)!important}.compact-game[data-game-state=idle] .game-card>.transport,.compact-game[data-game-state=idle] .game-card>.stats,.compact-game[data-game-state=idle] .game-card>.wave-panel,.compact-game[data-game-state=idle] .game-card>.touch-controls,.compact-game[data-game-state=idle] .game-card>.progress{display:none!important}.compact-game[data-game-state=idle] .arena{grid-row:1!important;height:100%;min-height:0}.compact-game[data-game-state=idle] .dance-stage{visibility:hidden}.compact-game #change-round{display:none}.compact-game[data-game-state=finished] #change-round{display:block;min-height:44px}.compact-game[data-game-state=playing] .studio-invitation{display:none}
@media(max-width:700px){.compact-game #game-settings{position:fixed;inset:auto 0 0;margin:0;width:100%;max-width:100%;max-height:92dvh;border-radius:22px 22px 0 0;padding-bottom:env(safe-area-inset-bottom)}.compact-game[data-game-state=idle] .sequence{display:none}.compact-game[data-game-state=idle]>main{grid-template-rows:auto 38px minmax(0,1fr)!important}.compact-game[data-game-state=idle] .session-summary{display:none}.compact-game[data-game-state=idle] .start-overlay{padding:12px!important;gap:8px!important}.compact-game[data-game-state=idle] .quick-setup{gap:7px}}
@media(max-height:650px){.compact-game[data-game-state=idle] #overlay-title,.compact-game[data-game-state=idle] #overlay-text{display:none}.compact-game[data-game-state=idle] .start-overlay{gap:6px!important}.compact-game[data-game-state=idle] .quick-setup{gap:5px}.setup-group>span{margin-bottom:2px}}
@media(max-height:480px) and (min-width:600px){.compact-game[data-game-state=idle] .quick-setup{grid-template-columns:1fr 1fr;max-width:680px;column-gap:16px}.setup-mode-hint,.setup-summary{grid-column:2}.compact-game[data-game-state=idle] .start-overlay{padding:8px!important}.compact-game[data-game-state=idle] #start{min-height:40px}}
/* Mode and duration live on preparation; settings keep the remaining controls. */
#game-settings label:has(#draft-sessionMode),#game-settings label:has(#draft-session-duration){display:none!important}
/* One arcade palette across every game dialog and menu. */
.compact-game dialog,.compact-game #game-settings,.compact-game #discard-dialog,.compact-game #share-dialog{color-scheme:dark;background:radial-gradient(ellipse at top left,#49306566,transparent 75%),#13152c;color:#f5f2ff;border:1px solid #9270be;border-radius:22px;box-shadow:0 24px 90px #0009;font-family:system-ui,sans-serif}
.compact-game dialog::backdrop{background:#08091dcc;backdrop-filter:blur(8px)}
.compact-game #game-settings .dialog-heading,.compact-game #game-settings .settings-actions{background:#191a33;border-color:#80639a66}
.compact-game #game-settings .dialog-heading h2,.compact-game dialog h2{font:850 23px/1.2 system-ui;color:#ffdc76;letter-spacing:-.03em;text-transform:none;font-style:normal;text-shadow:none}
.compact-game #game-settings select,.compact-game #game-settings input[type=number],.compact-game #share-dialog input{background:#22233d;border:1px solid #796090;color:#f6f0ff;border-radius:11px;min-height:44px;font:600 16px system-ui}
.compact-game #game-settings .round-settings-form>label,.compact-game #game-settings .settings-details,.compact-game #game-settings .paused-note{color:#dcd2ed}
.compact-game #game-settings .settings-details{border-color:#79609066;background:#a981ed08;border-radius:10px;padding:6px 10px}
.compact-game #game-settings summary{color:#93e7ff}
.compact-game #game-settings .dialog-heading button,.compact-game #game-settings .settings-actions button,.compact-game #discard-dialog button,.compact-game #share-dialog button{background:#302440;color:#eee0ff;border:1px solid #9471b2;border-radius:12px;min-height:44px;font:750 14px system-ui}
.compact-game #game-settings .settings-actions .primary,.compact-game #discard-confirm,.compact-game #share-dialog .primary{background:linear-gradient(110deg,#ffdc67,#ffad55);color:#21122d;border:1px solid #ffe4a0;border-radius:12px;box-shadow:0 3px 0 #925424}
.compact-game #game-settings .normal-speed{background:#ffce5914;border-color:#ffce5977;color:#ffe099}
.compact-game #game-settings input{accent-color:#ffce59}.compact-game #game-settings .paused-note{background:#ffce5910;border-color:#ffce5966;border-left-color:#ffce59}.compact-game #discard-dialog p{color:#d5c9e7}
.compact-game .player-menu{background:linear-gradient(145deg,#29203d,#15182f);border-color:#9471b2;color:#f5f2ff}
/* Wide screens frame the app with existing Finger Dance character art. */
@media(min-width:1200px){
 .compact-game>main{max-width:720px;position:relative;z-index:1;grid-template-rows:auto 44px minmax(0,1fr) 40px}
 .compact-game .play-layout{grid-template-columns:minmax(0,1fr)}
 .compact-game::before,.compact-game::after{content:'';position:fixed;pointer-events:none;top:16%;bottom:7%;width:calc((100vw - 760px)/2);max-width:380px;background-repeat:no-repeat;background-position:center;background-size:contain;filter:drop-shadow(0 0 26px #7654bc30);z-index:0}
 .compact-game::before{left:12px;background-image:url('./assets/selected-playing.webp')}
 .compact-game::after{right:12px;background-image:url('./assets/jose-celebrate-cartoon.webp')}
 .compact-game[data-game-state=playing]::before,.compact-game[data-game-state=playing]::after{opacity:.55}
 .compact-game[data-game-state=idle]>main{grid-template-rows:auto 44px minmax(0,1fr)!important}
 .compact-game[data-game-state=idle] .session-summary,.compact-game[data-game-state=idle] #training-status,.compact-game[data-game-state=idle] .sequence{display:none}
}
