/* Keep the street, especially the performers' feet, free of stacked panels. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
#street-hud{position:fixed;z-index:7;left:auto;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));transform:none;width:min(248px,calc(100vw - 116px));height:44px;max-height:44px;padding:0;overflow:visible;pointer-events:none}
#street-hud>*{box-sizing:border-box;pointer-events:auto}#street-hud [hidden],#scene-chips [hidden]{display:none!important}
#scene-chips{position:fixed;z-index:6;top:82px;right:max(12px,env(safe-area-inset-right));width:min(280px,calc(100vw - 24px));max-height:118px;display:flex;flex-direction:column;align-items:flex-end;gap:4px;pointer-events:none}
#scene-chips>div{position:relative;inset:auto;transform:none;margin:0;width:auto;max-width:100%;height:34px;min-height:34px;box-sizing:border-box;display:flex;align-items:center;gap:8px;padding:3px 4px 3px 9px;background:#25283be6;border:1px solid #a7aaa1;box-shadow:2px 2px #111827;pointer-events:auto;white-space:nowrap;border-radius:0}
#scene-chips .performance-stop-bar{border-color:#bfa477}#scene-chips .listen-context{border-color:#77a9a8}#scene-chips .stage-dot,#scene-chips small,#scene-chips .animated-note{display:none}#scene-chips>div>div{min-width:0;flex:1}#scene-chips b,#scene-chips .performance-stop-bar>span{display:block;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--music-pixel-font);font-size:12px;line-height:18px;font-weight:400}
#scene-chips .pixel-button{min-height:26px;height:26px;max-width:120px;flex-shrink:0;padding:3px 8px;white-space:nowrap;font-family:var(--music-pixel-font);font-size:12px;line-height:18px;border-width:1px;border-radius:0;box-shadow:none}
#performance-like-bar,#band-live-status,#rest-hint{display:none!important}
#street-hud .reaction-dock{position:relative;inset:auto;transform:none;width:100%;height:44px;margin:0}
#street-hud .reaction-toolbar{display:grid;grid-template-columns:1.3fr repeat(4,1fr);height:44px;gap:3px}
#street-hud .reaction-toolbar button{position:relative;width:100%;height:44px;min-height:44px;min-width:0;padding:4px;display:flex;align-items:center;justify-content:center;gap:3px;border:1px solid #8c8195;border-radius:0;background:#2e2c40e8;box-shadow:2px 2px #101627;font-family:var(--music-pixel-font);font-size:12px;line-height:18px;color:#eee0cf}
#street-hud .reaction-main>span:first-child,#street-hud kbd{display:none}#street-hud #reaction-label{font-size:12px;line-height:18px;white-space:nowrap;color:inherit}
#street-hud #sit-button{font-size:0}#street-hud #sit-button:before{content:'';width:20px;height:24px;background:var(--hud-chair-icon) center/contain no-repeat;image-rendering:pixelated}#street-hud #sit-button[aria-pressed=true]{border-color:#dfbd7c;background-color:#554535}
#street-hud #heart-button:after{content:attr(data-pending);position:absolute;right:1px;top:1px;padding:0 2px;min-width:10px;background:#eac997;color:#292b3b;font:10px/13px var(--music-small-pixel-font)}#street-hud #heart-button:not([data-pending]):after,#street-hud #heart-button[data-pending=""]:after{display:none}
.pixel-emoji,.hud-dot-icon{display:inline-block;flex-shrink:0;object-fit:contain;image-rendering:pixelated;vertical-align:middle}#street-hud button:disabled{opacity:.5;cursor:not-allowed}
#street-hud .small-actions{position:fixed;top:122px;right:12px;bottom:auto;width:186px;max-height:calc(100dvh - 140px);overflow:auto;display:grid;grid-template-columns:1fr;gap:0;margin:0;padding:7px;background:#25283bf5;border:1px solid #a7aaa1;box-shadow:2px 2px #111827}#street-hud .small-actions button{min-height:34px;padding:6px 9px;text-align:left;font-family:var(--music-pixel-font);font-size:12px;line-height:18px;color:#e1d9c9}#street-hud .small-actions #connection-state{margin:0;padding:7px 9px;font:10px/14px var(--music-small-pixel-font);color:#aebda9}
#street-hud .reaction-peek{position:fixed;top:82px;left:12px;right:auto;bottom:auto;transform:none;max-width:min(260px,calc(100vw - 24px));display:none;align-items:center;gap:5px;margin:0;padding:5px 8px;background:#272b3ce6;border:1px solid #74788b;color:#eee0cf;font:12px/18px var(--music-pixel-font)}#street-hud .reaction-peek.visible{display:flex}.reaction-peek__name--self{font-family:system-ui,sans-serif!important}
#street-hud #reaction-menu{position:fixed;top:122px;right:12px;left:auto;bottom:auto;transform:none;width:min(300px,calc(100vw - 24px));max-height:calc(100dvh - 142px);overflow:auto;padding:12px;border-radius:0;margin:0}#street-hud .reaction-menu-heading b{font:12px/18px var(--music-pixel-font)}#street-hud .emoji-options{grid-template-columns:repeat(4,minmax(0,1fr))}#street-hud .emoji-options button{min-height:56px;border-radius:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}#street-hud .pixel-emoji-caption{font:10px/14px var(--music-small-pixel-font)}
#street-hud #toast{position:fixed;top:82px;left:50%;right:auto;bottom:auto;transform:translateX(-50%);width:max-content;max-width:min(360px,calc(100vw - 24px));padding:7px 10px;margin:0;font:12px/18px var(--music-pixel-font);white-space:normal;border:1px solid #bca57c;border-radius:0;background:#282a3cf5}
#street-hud .travel-hint{position:fixed;bottom:70px;left:18px;right:auto;transform:none;width:auto;max-width:180px;font:10px/14px var(--music-small-pixel-font)}#street-hud .travel-hint small{display:none}.performance-active .scene-caption,.performance-active #travel-hint,.performing-mode .scene-caption,.performing-mode #travel-hint{display:none!important}
/* Official player remains visible; only move its existing surface away from the ground. */
#player-dock{top:82px;left:12px;right:auto;bottom:auto;width:240px;z-index:5}#player-dock #youtube-player,#player-dock #youtube-wrap iframe{width:100%;height:135px}#player-dock .player-title{min-height:24px}#player-dock #playback-note{font-size:10px;line-height:14px;margin:4px 6px}#tempo-controls{display:flex;align-items:center;gap:4px;padding:3px 5px}#tempo-controls[hidden]{display:none}#tempo-status{font-size:10px;line-height:14px}#tap-tempo{min-height:28px;font:10px/14px var(--music-small-pixel-font);padding:3px 5px}
/* Three visual steps, a single primary action, compact identity/readiness. */
#stage-dialog.stage-console{width:440px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}#stage-dialog .console-titlebar{min-height:32px}#stage-dialog .console-heading{padding:8px 18px 0;min-height:18px}#stage-dialog #stage-dialog-code{font:12px/18px var(--music-pixel-font);letter-spacing:0;color:#785b4e;display:block;max-width:350px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#stage-dialog .wizard-steps{padding-top:8px;padding-bottom:8px}#stage-dialog .wizard-steps button{font-size:12px;line-height:18px}#stage-dialog .wizard-steps button:disabled{opacity:.5;cursor:not-allowed}
#stage-dialog .wizard-body{padding:12px 18px;min-height:0}#stage-dialog .wizard-footer{padding:10px 18px;flex-shrink:0}#stage-dialog label{font:12px/18px var(--music-pixel-font);margin:7px 0}#stage-dialog input{font-size:12px;line-height:18px}#stage-dialog .paper-button{font:12px/18px var(--music-pixel-font);min-height:34px}#stage-dialog .band-member-list{margin:3px 0}#stage-dialog .band-member{display:flex;flex-wrap:nowrap;min-height:34px;gap:8px;padding:4px 0}#stage-dialog .band-member>b{font-size:12px;line-height:18px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#745642}#stage-dialog .member-readiness{margin:0;display:flex;gap:7px;flex:0 0 auto}.ready-dot{width:7px;height:7px;display:inline-block;background:#d0bfaa;border:1px solid #b1987c}.ready-dot.is-ready{background:#5e998c;border-color:#386e65}.music-dot.is-ready{background:#d7ab4d;border-color:#a77c30}#stage-dialog .ticket-leave{font:10px/14px var(--music-small-pixel-font);padding:3px 0;margin:3px 0}#stage-dialog .person-row{min-height:34px}#stage-dialog .person-row>span{font-size:12px;line-height:18px}#stage-dialog .performance-title-fields{margin:8px 0}#stage-dialog .performance-title-fields.read-only{display:none}#stage-dialog .performance-title-fields>div{display:flex;gap:6px}#stage-dialog .performance-title-fields input{min-width:0;flex:1}#stage-dialog .performance-title-fields button{flex-shrink:0}#stage-dialog .instrument-button span{font-size:12px;line-height:18px}#stage-dialog .instrument-preview{display:none}#stage-dialog .track-copy b{font-size:12px;line-height:18px}#stage-dialog .track-copy small,#stage-dialog .track-duration{font-size:10px;line-height:14px}#stage-dialog .music-categories button{font-size:10px;line-height:14px}#stage-dialog .performance-control{padding:0;margin:0;border:0}#stage-dialog #performance-hint{font:12px/18px var(--music-pixel-font);margin:0 0 6px}#stage-dialog #performance-control .paper-button{margin:0 0 6px}#stage-dialog .stop-link{font-size:10px;line-height:14px;margin-top:6px}#stage-dialog .selected-song{margin:0 0 8px}#stage-dialog .selected-song b{font-size:12px;line-height:18px}#stage-dialog .selected-song small{font-size:10px;line-height:14px}#stage-dialog button:disabled{opacity:.6;cursor:not-allowed}
@media(max-width:800px){.hud-top{top:12px;left:12px;right:12px}.hud-top .scene-info,.hud-top .avatar-edit>span{display:none}.hud-top .top-actions{gap:5px}.hud-top .pixel-button{font-size:12px;min-height:34px}.controls{left:10px;bottom:max(12px,env(safe-area-inset-bottom))}.control-hint,.corner-map,.local-label{display:none}#scene-chips{top:66px}#player-dock{top:66px}#street-hud .small-actions,#street-hud #reaction-menu{top:106px}#street-hud .reaction-peek,#street-hud #toast{top:66px}}
@media(max-width:520px){.hud-top .identity{display:none}.hud-top .top-actions{width:100%;justify-content:space-between}.hud-top .pixel-button{padding:5px 7px}.hud-top .sound-button>span{display:none}#scene-chips{max-width:calc(100vw - 24px)}#player-dock{width:204px}#player-dock #youtube-player,#player-dock #youtube-wrap iframe{height:135px}#scene-chips:has(.listen-context:not([hidden])){width:calc(100vw - 236px);min-width:112px}#scene-chips .listen-context{gap:4px;padding-left:5px}#scene-chips .listen-context b{font-size:10px;max-width:56px}#scene-chips .listen-context .pixel-button{font-size:10px;padding:3px 5px}#street-hud .reaction-toolbar{gap:2px}#street-hud .reaction-main>span:first-child{display:none}#stage-dialog.stage-console{width:365px}#stage-dialog .wizard-body{padding:10px 14px}#stage-dialog .wizard-footer{padding:8px 14px}}
@media(max-height:520px){#scene-chips{top:58px;max-height:110px;gap:3px}#scene-chips>div{height:32px;min-height:32px}#player-dock{top:58px}#street-hud .small-actions,#street-hud #reaction-menu{top:96px;max-height:calc(100dvh - 112px)}#street-hud #toast,#street-hud .reaction-peek{top:58px}.scene-caption,#travel-hint{display:none!important}#stage-dialog .console-heading{padding-top:3px}#stage-dialog .wizard-steps{padding-top:4px;padding-bottom:4px}#stage-dialog .wizard-footer{padding-top:6px;padding-bottom:6px}}
@media(prefers-reduced-motion:reduce){#scene-chips *,#street-hud *{animation:none!important;transition:none!important}}

/* Overall performance length stays reachable in every preparation step. */
#stage-dialog .performance-duration-row{display:flex;flex-wrap:wrap;align-items:center;gap:5px 10px;margin:0 0 8px;padding:6px 0;border-bottom:1px solid #c9b69e}#stage-dialog .performance-duration-row label{margin:0;flex:1}#stage-dialog .performance-duration-row select{width:96px;min-height:32px;padding:4px 7px;border:1px solid #a88e73;border-radius:0;background:#f3e6d1;color:#745642;font:12px/18px var(--music-pixel-font)}#stage-dialog .performance-duration-row select:focus-visible{outline:2px solid #8d653e;outline-offset:2px}#stage-dialog .performance-duration-row select:disabled{opacity:.6;cursor:not-allowed}#stage-dialog .performance-duration-row output{font:12px/18px var(--music-pixel-font);color:#745642}#stage-dialog .performance-duration-row small{flex-basis:100%;font:10px/14px var(--music-small-pixel-font);color:#785b4e}#stage-dialog .performance-duration-row [hidden]{display:none!important}

/* Mobile game surfaces are controls, not selectable browser documents. */
#scene, #world-labels, .hud-top, .controls, #scene-chips, #street-hud,
#jam-controls, .scene-caption, .location-menu, #stage-dialog, #avatar-dialog, #help-dialog {
 -webkit-touch-callout:none;
 -webkit-user-select:none;
 user-select:none;
}
#scene canvas, #world-labels img, .hud-top canvas, #street-hud img,
#jam-controls img, #stage-dialog img, #avatar-dialog canvas {
 -webkit-user-drag:none;
}
#stage-dialog input, #stage-dialog textarea, #stage-dialog select,
#avatar-dialog input, #avatar-dialog textarea, #avatar-dialog select,
[contenteditable="true"], [contenteditable="plaintext-only"], [data-native-context] {
 -webkit-touch-callout:default;
 -webkit-user-select:text;
 user-select:text;
}
