/* R37: thin, horizontally scrollable action rails keep the scene open. */
.map-shell{--tools-top:calc(var(--hud-top) + 56px);--rail-glass:#101a14b8}
.topbar{left:var(--rail-left);right:var(--rail-right)}.sidebar-open{left:var(--rail-left)}
.visitor-tools{left:calc(var(--rail-left) + 80px);width:120px;top:var(--tools-top)}
.room-music-toggle{top:var(--tools-top);font-size:10px;padding:0 8px}
.topbar .glass,.sidebar-open,.visitor-tools .glass,.room-music-toggle,body.night .topbar .glass,body.night .sidebar-open,body.night .visitor-tools .glass,body.night .room-music-toggle{background:var(--rail-glass);backdrop-filter:none;-webkit-backdrop-filter:none}
.player-actions{--unlock:#70c9ff;--unlock-soft:#5abaff48;--unlock-bg:#244652;top:auto;bottom:calc(var(--bottom-inset) + 94px);width:calc(100% - var(--rail-left) - var(--rail-right));height:52px;max-height:52px;display:flex;flex-direction:row;align-items:stretch;gap:0;padding:3px;border:1px solid #bdd7cb2e;border-radius:12px;background:var(--rail-glass);box-shadow:0 3px 12px #0001}
.alcohol-actions{--unlock:#ffa69b;--unlock-soft:#ff65554f;--unlock-bg:#50312d;bottom:calc(var(--bottom-inset) + 152px)}
.player-actions>.dance-power-meter{flex:0 0 70px;width:70px;min-height:0;padding:3px 6px;border-radius:8px;display:flex;flex-direction:column;justify-content:center;align-self:stretch;background:#1223305e}
.player-actions>.alcohol-power-meter{background:#32171d5e}
.player-actions .dance-power-copy{flex-direction:column;align-items:flex-start;justify-content:center;gap:0;font-size:9px;line-height:1.25}
.player-actions .dance-power-copy small{font-size:8px}
.player-actions .dance-power-track{height:3px;margin-top:3px}
.knockdown-stars{font-size:6px}.alcohol-meter-title{gap:1px}
.action-scroll{display:flex;flex:1 1 auto;align-items:center;min-width:0;gap:3px;padding:0 4px;overflow-x:auto;overflow-y:hidden;overscroll-behavior:contain;touch-action:pan-x;scrollbar-width:thin;scrollbar-color:#c8decd60 transparent;scroll-padding:6px;border-radius:8px}
.action-scroll::-webkit-scrollbar{height:2px}.action-scroll::-webkit-scrollbar-thumb{background:#c8decd60;border-radius:2px}
.player-actions .progression-actions,.player-actions .gesture-actions{display:contents}
.player-actions .action-choice,.player-actions .gesture-actions .player-action{flex:0 0 57px;width:57px;height:44px;min-height:44px;max-height:44px;padding:3px 2px;margin:0;border:1px solid transparent;border-radius:8px;box-shadow:none;background:transparent;font-size:10px;line-height:1.3;gap:2px;flex-direction:column;touch-action:pan-x;white-space:nowrap}
.player-actions .gesture-actions .player-action svg{width:16px;height:16px}
.player-actions .action-unlock{font-size:8px}
.player-actions .action-choice.locked{color:#b2bca8;opacity:.46}
.player-actions .action-choice.pressed,.player-actions .player-action.pressed{background:#e0f2d624;color:#fff;border-color:#ecf9e94d}
.player-actions .social-target-wrap{flex:0 0 92px;width:92px;align-self:center;margin:0 2px}
.player-actions .social-target-wrap select{min-height:44px;background:#16211780;font-size:9px}
.player-actions .action-choice.newly-unlocked,.player-actions .action-choice.newly-unlocked:disabled{opacity:1;color:#fff;border-color:var(--unlock);background:var(--unlock-bg);box-shadow:inset 0 0 10px var(--unlock-soft),0 0 8px var(--unlock-soft);animation:unlock-beacon 1.2s ease-in-out 5}
.player-actions .newly-unlocked .action-unlock{color:var(--unlock)}
.player-actions.has-unlock{border-color:var(--unlock);box-shadow:0 0 10px var(--unlock-soft)}
@keyframes unlock-beacon{50%{box-shadow:inset 0 0 18px var(--unlock-soft),0 0 12px var(--unlock-soft);border-color:#fff;text-shadow:0 0 6px var(--unlock)}}
body.walking .interaction-hint,body.walking.sidebar-expanded .interaction-hint,body.walking.sidebar-expanded.activity-tab .interaction-hint{left:50%;right:auto;bottom:calc(var(--bottom-inset) + 66px);width:calc(100% - 120px);max-width:550px;font-size:8px;opacity:.75}
body.walking #notice{bottom:calc(var(--bottom-inset) + 212px);min-width:0;padding:6px 12px;font-size:11px;background:#152019c9;border-radius:20px}
body.dj-operating .player-actions .action-scroll{display:none}body.dj-operating .player-actions{width:78px;height:52px}
body.dj-operating .alcohol-actions{bottom:calc(var(--bottom-inset) + 94px)}
@media(orientation:landscape){
 .map-shell{--tools-top:calc(var(--hud-top) + 52px)}
 .player-actions{width:calc((100% - var(--rail-left) - var(--rail-right) - 12px)/2);bottom:calc(var(--bottom-inset) + 88px)}
 .visitor-tools{width:132px}
 body.walking #notice{bottom:calc(var(--bottom-inset) + 148px)}
 body.dj-operating .alcohol-actions{bottom:calc(var(--bottom-inset) + 88px)}
}
@media(min-width:1000px) and (min-height:501px){.player-actions{max-width:580px}.visitor-tools{width:140px}.player-actions .action-choice,.player-actions .gesture-actions .player-action{flex-basis:61px;width:61px}}
/* Arrows and a compact caption, with no full-screen backdrop or input lock. */
.orientation-tip{position:absolute;left:50%;top:calc(var(--hud-top) + 108px);transform:translateX(-50%);max-width:calc(100% - 24px);display:flex;align-items:center;gap:7px;padding:0 5px 0 10px;min-height:36px;border:1px solid #d2e8db4d;border-radius:20px;background:#142018ad;font-size:10px;white-space:nowrap;z-index:35}
.rotate-phone{font-size:19px;color:#d7f2cf}.orientation-tip button{width:32px;height:36px;font-size:20px;color:#bed0b8}
.onboarding{position:absolute;inset:0;z-index:34;pointer-events:none}
.onboarding>svg{position:absolute;width:100%;height:100%;overflow:visible;fill:none;pointer-events:none}
#onboarding-ring{stroke:#daffbd;stroke-width:1.5;fill:#e3ffbe0a;filter:drop-shadow(0 0 3px #caff8880)}
#onboarding-arrow{stroke:#e2ffd5cc;stroke-width:2;fill:none;filter:drop-shadow(0 1px 2px #15201380)}
#coach-arrowhead path{fill:#e2ffd5cc}
.onboarding-card{position:absolute;width:min(300px,calc(100% - 24px));padding:7px 11px 10px;border:1px solid #e2efcc4d;border-radius:12px;background:#142118a8;box-shadow:0 3px 14px #0002;pointer-events:auto}
.coach-head{display:flex;align-items:center;justify-content:space-between;gap:6px;color:#d3e8c4;font-size:10px}
.coach-head>div{display:flex;gap:4px}.coach-head button{height:36px;min-width:44px;padding:0 8px;border-radius:8px;font-size:10px;color:#c0ceb7}
#onboarding-next{border:1px solid #d0efb955;background:#c0e8a81a;color:#edffe3}
#onboarding-caption{margin:4px 0 0;font-size:12px;line-height:1.6;color:#f2f7eb}
.coach-target{outline:1px solid #d6f4bd;outline-offset:-2px}
@media(orientation:landscape) and (max-height:350px){.onboarding-card{width:318px;padding:3px 8px 5px}.coach-head button{height:28px}.coach-head{font-size:9px}#onboarding-caption{margin-top:1px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.player-actions .action-choice.newly-unlocked{animation:none}}
