/* Shared by the real game and the isolated gameplay preview. */
.game-active .judgement{top:var(--judgment-position,47%)}.game-active .song-meta,.game-active .score,.game-active .accuracy{transform:scale(var(--hud-scale,1))}.game-active .song-meta{transform-origin:top left}.game-active .score,.game-active .accuracy{transform-origin:top right}body.hide-hud .song-meta,body.hide-hud .score,body.hide-hud .accuracy,body.hide-timing .timing-meter,body.hide-judgments .judgement{display:none!important}
.game-active .touch-controls{display:none;width:min(var(--playfield-width,440px),100vw);height:var(--touch-height,55px);padding:3px 4px;margin:auto}.game-active .touch-controls button{height:calc(var(--touch-height,55px) - 6px);min-height:44px;user-select:none;-webkit-user-select:none}.game-active[data-touch=on] .touch-controls{display:grid}.game-active[data-touch=off] .touch-controls{display:none}.game-active:not(.hide-keys) .lane-labels{display:grid}.game-active.hide-keys .lane-labels{display:none}.game-active .game-screen{height:100dvh;min-height:100dvh;grid-template-rows:1fr auto}
.customize-layout{grid-template-columns:minmax(0,1fr) 390px;align-items:start;max-width:1500px;margin:auto}.preview-panel{position:sticky;top:16px;padding:16px;min-width:0}.preview-toolbar,.preview-playback{display:flex;gap:12px;align-items:end}.preview-toolbar .field,.preview-playback .field{flex:1;min-width:0;margin:0}.preview-toolbar button{font-size:11px;min-height:40px}.preview-viewport{position:relative;height:480px;overflow:hidden;margin:14px 0;background:#07070a;border:1px solid var(--line)}#gameplayPreview{position:absolute;top:0;left:50%;border:0;transform-origin:top center;display:block;background:#09090b}#gameplayPreview:fullscreen{width:100vw!important;height:100dvh!important;left:0;top:0;transform:none!important}.preview-playback button{font-size:11px;white-space:nowrap}.preview-seek{margin-bottom:5px}.preview-seek input{width:100%;accent-color:var(--cyan)}.preview-panel .microcopy{font-size:10px;line-height:1.5;margin:7px 0}.custom-controls{display:block!important;padding:18px}.custom-controls details{border-top:1px solid var(--line);padding:14px 0}.custom-controls summary{cursor:pointer;font-size:13px;font-weight:700;list-style-position:inside}.custom-controls details .field{margin:14px 0}.custom-controls .field input,.custom-controls .field select{width:100%;max-width:100%}.custom-controls .field input[type=range]{padding:0;accent-color:var(--cyan);height:24px}.custom-controls .field input[type=color]{height:34px;padding:3px}.custom-controls .color-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.custom-controls .color-row .field{margin:8px 0}.custom-controls .check-field{margin:14px 0}.custom-controls .check-field input{accent-color:var(--cyan)}.custom-controls .microcopy{font-size:10px}.custom-controls output{font:10px monospace;color:var(--cyan)}
@media(max-width:1000px){.customize-layout{grid-template-columns:minmax(0,1fr) 330px;padding:16px;gap:14px}.preview-viewport{height:420px}.preview-toolbar{align-items:stretch;flex-direction:column}}
@media(max-width:760px),(pointer:coarse){.game-active[data-touch=auto] .touch-controls{display:grid}}
@media(max-width:760px){.customize-layout{grid-template-columns:1fr;padding:12px}.preview-panel{top:6px;z-index:10;padding:10px}.preview-toolbar{flex-direction:row;align-items:end;gap:8px}.preview-toolbar .field>span{font-size:9px}.preview-toolbar select{font-size:10px;height:34px}.preview-toolbar button{font-size:9px;padding:8px;min-height:34px}.preview-viewport{height:260px;margin:8px 0}.preview-playback .field>span{display:none}.preview-playback select,.preview-playback button{font-size:10px;padding:7px;min-height:32px}.preview-panel .microcopy:last-child{display:none}.preview-seek{margin:6px 0}.preview-seek>span{font-size:9px}.preview-panel #previewSizeLabel{font-size:9px}.custom-controls{padding:16px}}
@media(max-height:500px) and (max-width:1000px){.preview-panel{position:static}.preview-viewport{height:250px}}

.customize-layout{width:100%}body.preview-expanded{overflow:hidden}.preview-expanded .preview-panel{position:fixed;inset:0;z-index:1000;width:100vw;height:100dvh;padding:0;border:0}.preview-expanded .preview-viewport{position:absolute;inset:0;width:100%;height:100%;margin:0;border:0}.preview-expanded #gameplayPreview{width:100vw!important;height:100dvh!important;left:0;transform:none!important}.preview-expanded .preview-toolbar{position:absolute;top:8px;left:50%;transform:translateX(-50%);z-index:3}.preview-expanded .preview-toolbar .field,.preview-expanded .preview-playback,.preview-expanded .preview-seek,.preview-expanded .preview-panel .microcopy{display:none}.preview-expanded #fullscreenPreviewBtn{background:#111115;border:1px solid var(--line);white-space:nowrap}
