/* 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:10px;line-height:12px}#street-hud #sit-button:before{content:'';flex:0 0 auto;width:22px;height:22px;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:flex;flex:0 0 auto;max-width:none}.hud-top .top-actions{width:auto;flex:1;justify-content:flex-end;min-width:0;flex-wrap:wrap}.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, #jam-instrument-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;
}

/* First entry and settings can edit just the nickname, without wardrobe clutter. */
#avatar-dialog.nickname-only{width:min(360px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto}
#avatar-dialog.nickname-only .avatar-layout{display:block}
#avatar-dialog.nickname-only .avatar-preview,#avatar-dialog.nickname-only [data-avatar-only]{display:none!important}
#avatar-dialog .nickname-hint{font:11px/18px var(--music-pixel-font);color:var(--muted);margin:6px 0 16px}
#avatar-dialog #profile-submit{margin-top:14px}

/* Entry presets use the original avatar renderer, not wardrobe controls. */
#entry-avatar-picker[hidden]{display:none!important}
#entry-avatar-picker{border:0;padding:0;margin:8px 0 0;min-width:0}
#entry-avatar-picker legend{font:12px/18px var(--music-pixel-font);margin-bottom:6px}
.entry-avatar-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#entry-avatar-picker button{display:flex;flex-direction:column;align-items:center;min-width:0;min-height:132px;padding:4px;border:2px solid #887e9b;background:#29283b;color:#eee0cf;font:12px/18px var(--music-pixel-font)}
#entry-avatar-picker button[aria-pressed="true"]{border-color:#e5bd83;background:#40364b}
#entry-avatar-picker canvas{width:80px;height:94px;image-rendering:pixelated;-webkit-user-drag:none}
#entry-avatar-picker small{display:block;font:10px/16px var(--music-small-pixel-font);margin-top:7px;color:var(--muted)}
#entry-avatar-picker button:disabled{opacity:.6}
#jam-instrument-dialog{box-sizing:border-box;width:min(380px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:18px}
#jam-instrument-dialog h2{font:16px/24px var(--music-pixel-font)}
#jam-instrument-target{font:12px/18px var(--music-pixel-font);overflow-wrap:anywhere}
.jam-instrument-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.jam-instrument-options button{min-width:0;min-height:44px;padding:8px 4px;border:2px solid #a38c75;background:#eee1cb;color:#634c3e;font:12px/18px var(--music-pixel-font)}
.jam-instrument-options button[aria-pressed="true"]{background:#d8bf8c;border-color:#77573c}
#jam-instrument-hint{min-height:36px;font:12px/18px var(--music-pixel-font);overflow-wrap:anywhere}
.jam-instrument-actions{display:flex;justify-content:flex-end;gap:8px}
.jam-instrument-actions button{min-height:40px;font:12px/18px var(--music-pixel-font)}
#jam-instrument-dialog button:disabled{opacity:.6;cursor:not-allowed}
#jam-instrument-dialog button:focus-visible,#entry-avatar-picker button:focus-visible{outline:2px solid #ca9b5d;outline-offset:3px}

/* Keep BUSKY visible without replacing the existing pixel artwork. */
:root{--music-pixel-font:MusicStagePixel11,system-ui,-apple-system,BlinkMacSystemFont,'Noto Sans CJK JP','Noto Sans CJK SC','Noto Sans CJK TC','Apple SD Gothic Neo',sans-serif;--music-small-pixel-font:MusicStagePixel9,system-ui,-apple-system,BlinkMacSystemFont,'Noto Sans CJK JP','Noto Sans CJK SC','Noto Sans CJK TC',sans-serif}
.locale-choice{display:flex;align-items:center;gap:7px;padding:6px 9px;font:12px/18px var(--music-pixel-font)}.locale-choice select{min-width:0;max-width:140px;padding:5px;background:#f3e6d1;color:#503f3a;border:1px solid #a88e73;font:inherit}
@media(max-width:520px){.hud-top{display:flex;align-items:flex-start;gap:8px}.hud-top .brand{display:block;white-space:nowrap}.hud-top .brand i{display:none}.hud-top .pixel-button{min-height:30px}.hud-top .top-actions{gap:4px}.hud-top .avatar-edit{flex:0 0 30px}.hud-top .avatar-edit canvas{width:24px;height:24px}#scene-chips,#player-dock,#street-hud .reaction-peek,#street-hud #toast{top:100px}#street-hud .small-actions,#street-hud #reaction-menu{top:140px;max-height:calc(100dvh - 156px)}}

/* Small, visible official player on the right; listening range rules stay unchanged. */
#player-dock{left:auto;right:max(12px,env(safe-area-inset-right));top:82px;bottom:auto;width:202px}
#player-dock #youtube-player,#player-dock #youtube-wrap iframe{display:block;width:200px;height:200px;min-width:200px;min-height:200px}
#player-dock .player-title{min-height:28px;padding:2px 6px}
#player-dock .player-title span{max-width:calc(100% - 26px)}
#player-dock .player-title button{min-width:24px;min-height:24px}
#player-dock #playback-note{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#player-dock.collapsed{width:160px}
@media(max-width:800px){#player-dock{top:66px}}
@media(max-width:520px){#player-dock{top:100px}#scene-chips:has(.listen-context:not([hidden])){min-width:0}}
@media(max-width:380px){#scene-chips .listen-context{height:auto;min-height:36px;flex-wrap:wrap}#scene-chips .listen-context .animated-note{display:none}}
@media(max-height:520px){#player-dock{top:58px}#player-dock #playback-note{display:none}}
@media(max-height:340px){#player-dock{top:auto;bottom:max(8px,env(safe-area-inset-bottom))}#player-dock #tempo-controls{display:none}}

/* Remove the unnecessary walking instruction; retain its DOM hook for compatibility. */
#travel-hint{display:none!important}

/* State/actions occupy the LEFT column, never the right-hand official player. */
#scene-chips,#scene-chips:has(.listen-context:not([hidden])){left:max(8px,env(safe-area-inset-left));right:auto;align-items:flex-start;width:min(280px,calc(100vw - 230px));max-width:calc(100vw - 230px);min-width:0}
#scene-chips>div{flex-wrap:wrap;height:auto;min-height:34px;white-space:normal}
#scene-chips .performance-stop-bar>span{max-width:100%}
@media(max-width:600px) and (orientation:portrait){
 #scene-chips,#player-dock{top:var(--busky-hud-clearance,100px);bottom:auto}
 #player-dock{right:max(8px,env(safe-area-inset-right));width:202px}
 #player-dock .player-title{min-height:24px;padding:0 4px}
 #player-dock .player-title span{font-size:10px;line-height:14px}
 #player-dock #playback-note,#player-dock #tempo-status{display:none}
 #player-dock #tempo-controls{padding:0 4px;gap:0}
 #scene-chips .performance-stop-bar{flex-direction:column;align-items:stretch;gap:3px;padding:5px}
 #scene-chips .pixel-button{max-width:100%;height:auto;min-height:34px;padding:5px;white-space:normal;line-height:16px;overflow-wrap:anywhere}
 #scene-chips b{max-width:100%}
}

/* Clear hierarchy: place title left, performance and settings right. */
body.mobile-ui-v2 .hud-top{top:max(10px,env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));display:flex;align-items:flex-start;gap:8px}
body.mobile-ui-v2 .hud-top .identity{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;flex:1}
body.mobile-ui-v2 .hud-top .brand{font-size:11px;line-height:15px;letter-spacing:1px}
body.mobile-ui-v2 .hud-top .brand i,body.mobile-ui-v2 .hud-top .scene-info,body.mobile-ui-v2 .scene-caption{display:none!important}
body.mobile-ui-v2 .hud-top #location-button{min-height:28px;max-width:100%;padding:0 1px;border:0;box-shadow:none;background:none;backdrop-filter:none;gap:4px;font:16px/24px var(--music-pixel-font);white-space:nowrap}
body.mobile-ui-v2 .hud-top #location-name{min-width:0;overflow:hidden;text-overflow:ellipsis}
body.mobile-ui-v2 .hud-top .top-actions{width:auto;flex:0 1 auto;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:5px;max-width:62%}
body.mobile-ui-v2 .hud-top #stage-settings,body.mobile-ui-v2 .hud-top #sound-button,body.mobile-ui-v2 .hud-top #hud-settings{min-height:36px;padding:5px 8px;font:12px/18px var(--music-pixel-font)}
body.mobile-ui-v2 .hud-top #hud-settings{min-width:36px;display:inline-flex;align-items:center;justify-content:center}
body.mobile-ui-v2 #stage-context{display:none!important}
body.mobile-ui-v2 #street-hud .reaction-toolbar{grid-template-columns:1.25fr repeat(3,1fr)}
body.mobile-ui-v2 #street-hud{width:min(232px,calc(100vw - 136px))}
body.mobile-ui-v2 #street-hud #hud-settings-menu{top:var(--busky-hud-clearance,76px);max-height:calc(100dvh - var(--busky-hud-clearance,76px) - 12px);z-index:12;width:min(236px,calc(100vw - 24px))}
body.mobile-ui-v2 #street-hud #hud-settings-menu #profile-button{display:flex;align-items:center;gap:8px;width:100%;height:auto}
body.mobile-ui-v2 #street-hud #hud-settings-menu #profile-button canvas{flex:0 0 30px;width:30px;height:30px}
body.mobile-ui-v2 #street-hud #hud-settings-menu #profile-button>span{display:inline;font-size:12px}
body.mobile-ui-v2 #street-hud #hud-settings-menu #profile-button>span:after{display:none}
body.mobile-ui-v2 #street-hud #hud-settings-menu #band-button{display:block;width:100%}
body.mobile-ui-v2 #location-menu{left:max(10px,env(safe-area-inset-left));right:auto;top:var(--busky-hud-clearance,76px)}
body.mobile-ui-v2 #scene-chips,body.mobile-ui-v2 #player-dock{top:var(--busky-hud-clearance,76px)}
@media(max-width:380px){.hud-top .top-actions{max-width:64%;gap:4px}body.mobile-ui-v2 .hud-top #stage-settings,body.mobile-ui-v2 .hud-top #sound-button{padding:5px 6px;font-size:11px}body.mobile-ui-v2 .hud-top #location-button{font-size:14px}}

body.mobile-ui-v2 .hud-top #sound-button>span{display:inline}

/* One preparation sheet. Secondary features stay available in disclosures. */
#stage-dialog.simple-prep{width:390px;max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}
#stage-dialog.simple-prep .console-titlebar{min-height:36px}
#stage-dialog.simple-prep .console-heading,#stage-dialog.simple-prep .wizard-steps,#stage-dialog.simple-prep #prep-motion,#stage-dialog.simple-prep #selected-song,#stage-dialog.simple-prep #wizard-back{display:none!important}
#stage-dialog.simple-prep .wizard-body{padding:10px 14px}
#stage-dialog.simple-prep #youtube-link-form{margin:0 0 12px;padding:0;border:0;background:none}
#stage-dialog.simple-prep #youtube-link-form>label{margin:0 0 6px}
#stage-dialog.simple-prep #youtube-link-form:not(.has-status) #youtube-link-status{display:none}
#stage-dialog.simple-prep #youtube-link-choice{margin-top:6px}
#stage-dialog.simple-prep #youtube-link-choice small,#stage-dialog.simple-prep #youtube-link-choice span{display:none}
#stage-dialog.simple-prep #simple-instrument-label{margin:0 0 5px}
#stage-dialog.simple-prep #instrument-list{margin:0 0 10px;gap:4px}
#stage-dialog.simple-prep .instrument-button{padding:6px 0}
#stage-dialog.simple-prep .instrument-button canvas{width:30px;height:28px;margin-bottom:3px}
#stage-dialog.simple-prep .instrument-button span{font-size:11px;line-height:15px;white-space:normal}
#stage-dialog.simple-prep .performance-duration-row{margin:0;padding:6px 0 9px;border-bottom:0}
#stage-dialog.simple-prep .simple-prep-disclosure{margin:0;border-top:1px solid #ceb99b}
#stage-dialog.simple-prep .simple-prep-disclosure>summary{cursor:pointer;padding:9px 0;color:#785b4e;font:12px/18px var(--music-pixel-font)}
#stage-dialog.simple-prep .simple-prep-disclosure>section{padding:2px 0 10px}
#stage-dialog.simple-prep #simple-more>#youtube-link-help{display:block;margin:4px 0 8px;color:#8c7565;font:10px/15px var(--music-small-pixel-font)}
#stage-dialog.simple-prep .music-list{height:180px}
#stage-dialog.simple-prep .wizard-footer{padding:9px 14px 12px}
#stage-dialog.simple-prep .wizard-buttons{display:block}
#stage-dialog.simple-prep #wizard-next,#stage-dialog.simple-prep #queue-button{width:100%;min-height:42px;margin:0}
#stage-dialog.simple-prep #performance-hint{margin:0 0 6px;font-size:11px;line-height:16px}
#stage-dialog.simple-prep.prep-group:not(.prep-performing) #stage-stop{display:none!important}
#stage-dialog.simple-prep .stop-link{margin-top:8px}

#avatar-dialog #simple-avatar-options{margin-top:12px;border-top:1px solid #86758e}
#avatar-dialog #simple-avatar-options>summary{padding:10px 0;cursor:pointer;font:12px/18px var(--music-pixel-font)}


/* Mobile: match the top-right menu width, with the listening strip below. */
@media(pointer:coarse),(max-width:600px){
 body.mobile-ui-v2 #player-dock,body.mobile-ui-v2 #player-dock.collapsed{left:auto;right:var(--mobile-player-right,10px);top:var(--busky-hud-clearance,76px);bottom:auto;width:var(--mobile-player-width,150px);max-width:calc(100vw - 20px);height:auto;min-width:0;min-height:0;margin:0;padding:0;border:0;box-shadow:none;backdrop-filter:none;background:#242338}
 body.mobile-ui-v2 #player-dock .player-title,body.mobile-ui-v2 #player-dock #playback-note,body.mobile-ui-v2 #player-dock #tempo-controls{display:none!important}
 body.mobile-ui-v2 #player-dock #youtube-wrap{width:100%;height:auto;min-width:0;min-height:0;aspect-ratio:16/9}
 body.mobile-ui-v2 #player-dock #youtube-player,body.mobile-ui-v2 #player-dock #youtube-wrap iframe{display:block;width:100%!important;height:auto!important;min-width:0!important;min-height:0!important;aspect-ratio:16/9;border:0}
 body.mobile-ui-v2 #player-dock #listen-context{position:static;inset:auto;transform:none;display:flex;align-items:center;flex-wrap:nowrap;gap:5px;width:100%;max-width:100%;min-width:0;min-height:32px;height:auto;margin:0;padding:3px 4px 3px 6px;border:0;border-top:1px solid #6f7787;box-shadow:none;background:#24283bef;border-radius:0;white-space:normal}
 body.mobile-ui-v2 #player-dock #listen-context .animated-note,body.mobile-ui-v2 #player-dock #listen-description{display:none}
 body.mobile-ui-v2 #player-dock #listen-context>div{flex:1;min-width:0}
 body.mobile-ui-v2 #player-dock #listen-title{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:10px/14px var(--music-small-pixel-font);font-weight:400}
 body.mobile-ui-v2 #player-dock #listen-nearby{flex:0 1 auto;min-width:0;max-width:65%;min-height:26px;height:auto;padding:3px 5px;font:10px/14px var(--music-small-pixel-font);white-space:normal;border-radius:0;box-shadow:none}
 body.mobile-ui-v2 #scene-chips,body.mobile-ui-v2 #scene-chips:has(.listen-context:not([hidden])){width:min(280px,calc(100vw - var(--mobile-player-width,150px) - var(--mobile-player-right,10px) - 24px));max-width:calc(100vw - var(--mobile-player-width,150px) - var(--mobile-player-right,10px) - 24px)}
}

/* Party creation/invitations are replaced by the nearby public-jam bubble.
 * Keep the old IDs for state and legacy-client compatibility, never revive their UI. */
#band-button,#invitation-banner,#create-band-fields,#party-content,#nearby-people,#public-bands{display:none!important}
#jam-instrument-dialog .jam-instrument-actions button{min-height:44px;touch-action:manipulation}

/* Quick buttons read as icon + word so nobody has to guess (박수 / 하트 / 앉기). */
#street-hud #applause-button,#street-hud #heart-button,#street-hud #sit-button{flex-direction:column;gap:0;padding:2px}
#street-hud .quick-label,#street-hud #sit-button span{display:block;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:clip;font-size:10px;line-height:12px;color:#eee0cf}
#street-hud #applause-button .pixel-emoji,#street-hud #heart-button .hud-dot-icon{width:22px;height:22px}

/* Online counter: top centre, same chip language as the status chip. */
.hud-online{position:fixed;top:max(14px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:5;display:flex;align-items:center;gap:6px;min-height:28px;padding:4px 10px;background:#151a2ad9;border:1px solid #a98ca455;box-shadow:2px 2px 0 #0b0a1d99;color:#eadbdb;font:11px/14px var(--music-small-pixel-font,monospace);white-space:nowrap;pointer-events:none}
.hud-online[hidden]{display:none}
.hud-online-dot{width:6px;height:6px;background:#7ee787;box-shadow:0 0 6px #7ee787aa;flex:0 0 auto}
.hud-online[data-busy="1"] .hud-online-dot{background:#f3d595;box-shadow:0 0 6px #f3d595aa}
@media(max-width:520px){.hud-online{top:50px;min-height:22px;padding:3px 7px;font-size:10px;gap:4px}}
@media(max-height:520px){.hud-online{top:58px}}
/* Reaction peek: top centre under the online chip, so it never covers the minimap / status chip. */
#street-hud .reaction-peek{top:50px!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;max-width:min(320px,calc(100vw - 24px))}
@media(max-width:520px){#street-hud .reaction-peek{top:80px!important}}
@media(max-height:520px){#street-hud .reaction-peek{top:88px!important}}

.hud-status-streak{display:inline-flex;align-items:center;gap:2px;color:#ffcf8a;white-space:nowrap}
.hud-status-streak img{width:8px;height:8px;image-rendering:pixelated}

/* Live ticker: one rotating line under the online chip (shares the slot with the reaction peek). */
.live-ticker{position:fixed;top:50px;left:50%;transform:translateX(-50%);z-index:5;max-width:min(360px,calc(100vw - 24px));padding:4px 10px;background:#272b3ce0;border:1px solid #5d6176;color:#e9dcc6;font:11px/16px var(--music-pixel-font,monospace);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}
.live-ticker[hidden]{display:none}
.live-ticker__name{color:#ffd38a;font-weight:400}
.live-ticker__place{display:inline-block;margin-right:5px;padding:0 4px;background:#3f4560;color:#b9c6e6;font-size:10px}
.live-ticker--in{animation:live-ticker-in 260ms steps(3,end) 1}
@keyframes live-ticker-in{from{opacity:0;transform:translate(-50%,-4px)}to{opacity:1;transform:translate(-50%,0)}}
@media(max-width:520px){.live-ticker{top:78px;font-size:10px;line-height:14px;padding:3px 8px}}
@media(max-height:520px){.live-ticker{top:86px}}
@media(prefers-reduced-motion:reduce){.live-ticker--in{animation:none}}

/* Clock in the online chip; the old "실시간 연결" settings line is replaced by it. */
#connection-state{display:none!important}
.hud-clock-sep{width:1px;height:12px;background:#ffffff33;flex:0 0 auto}
.hud-clock{color:#cfd6ea;white-space:nowrap;font-variant-numeric:tabular-nums}
.hud-online[data-offline="1"] .hud-online-dot{background:#8a8f9e;box-shadow:none}
.hud-online[data-offline="1"] .hud-clock{color:#f3b8a0}
/* Bug report dialog */
.bug-report-dialog{width:min(420px,calc(100vw - 24px))}
.bug-report-form{display:grid;gap:10px;padding:4px 2px 2px}
.bug-report-kinds{display:flex;gap:6px}
.bug-report-kind{flex:1 1 0;min-height:34px;padding:4px 8px;background:#2c2f42;border:1px solid #5d6176;color:#e9dcc6;font:12px/16px var(--music-pixel-font,monospace);cursor:pointer}
.bug-report-kind[aria-checked="true"]{background:#f2c46d;border-color:#ffe2a0;color:#3a2a14}
.bug-report-form textarea{width:100%;min-height:120px;resize:vertical;padding:8px;background:#1c1e2b;border:1px solid #5d6176;color:#efe6d7;font:13px/1.5 var(--font,monospace)}
.bug-report-note{margin:0;color:#a59caa;font-size:11px;line-height:1.5}
.bug-report-status{margin:0;min-height:16px;color:#ffd38a;font-size:12px}
.bug-report-actions{display:flex;justify-content:flex-end;gap:8px}
.bug-report-actions>button{flex:0 0 auto;width:auto;min-width:96px}

/* Settings menu: every row the same height, left-aligned, one thin divider between rows.
   Toggles show their state with a small dot on the right instead of a boxed background. */
#street-hud #hud-settings-menu{padding:4px 0}
#street-hud #hud-settings-menu>button,#street-hud #hud-settings-menu>label{display:flex!important;align-items:center;justify-content:flex-start!important;gap:8px;width:100%;min-height:36px!important;height:auto;margin:0!important;padding:6px 12px!important;border:0!important;border-bottom:1px solid #ffffff14!important;border-radius:0;background:transparent!important;box-shadow:none;color:#e1d9c9!important;font:12px/16px var(--music-pixel-font)!important;text-align:left;white-space:nowrap}
#street-hud #hud-settings-menu>:last-child{border-bottom:0!important}
#street-hud #hud-settings-menu>button:hover,#street-hud #hud-settings-menu>button:focus-visible{background:#ffffff0f!important;outline:0}
#street-hud #hud-settings-menu .avatar-edit canvas,#street-hud #hud-settings-menu .avatar-edit img{width:24px;height:24px;flex:0 0 auto}
#street-hud #hud-settings-menu .locale-choice select{margin-left:auto;max-width:112px;min-height:24px;padding:3px 5px;font-size:11px}
#street-hud #hud-settings-menu>button[aria-pressed]::after{content:"";margin-left:auto;width:8px;height:8px;background:#5d6176;box-shadow:inset 0 0 0 1px #8a8f9e;flex:0 0 auto}
#street-hud #hud-settings-menu>button[aria-pressed="true"]::after{background:#7ee787;box-shadow:0 0 5px #7ee787aa}
#street-hud #hud-settings-menu>#weather-toggle::after{content:none}
#street-hud #hud-settings-menu>#band-button,#street-hud #hud-settings-menu>[hidden]{display:none!important}
