/* Amber instrument tray. Native dialog owns focus and Escape. */
#mobile-options-sheet.instrument-menu {
 --amber:#ffd083; width:min(420px,calc(100% - 20px)); max-height:calc(100dvh - 24px - env(safe-area-inset-top));
 margin:auto auto calc(10px + env(safe-area-inset-bottom)); padding:17px;
 color:#f4dfbf; border:1px solid #667785; border-radius:22px;
 background:linear-gradient(145deg,#283442 0%,#131e2b 16%,#111b28 85%,#263341);
 box-shadow:inset 0 1px #b5c6ce88,inset 0 0 0 4px #0a131d,inset 0 0 0 5px #52637366,0 16px 50px #050b14b3;
 overflow:hidden;
}
#mobile-options-sheet.instrument-menu[open] { display:flex; flex-direction:column; gap:13px; animation:instrument-arrive .24s cubic-bezier(.2,.8,.2,1) both; }
#mobile-options-sheet.instrument-menu::backdrop { background:#08101dba; }
#mobile-options-sheet.instrument-menu header { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-shrink:0; padding:0 3px 4px; }
#mobile-options-sheet.instrument-menu header small { color:#99afb9; font:10px 'IBM Plex Mono',monospace; letter-spacing:.12em; }
#mobile-options-sheet.instrument-menu h2 { margin:0; color:var(--amber); font:500 12px 'IBM Plex Mono',monospace; letter-spacing:.15em; text-transform:uppercase; }
#mobile-options-sheet.instrument-menu button { min-height:48px; border:1px solid #5b6c7b; border-radius:9px; background:linear-gradient(#2b3745,#16212e 50%,#111c29); color:#ecdfc8; box-shadow:inset 0 1px #a9b8c544,inset 0 -2px #080f19,0 2px 0 #090f19; font:500 13px var(--font-sans-premium); transition:transform .14s,background .14s; }
#mobile-options-sheet.instrument-menu [data-close] { display:flex; align-items:center; justify-content:center; gap:13px; flex-shrink:0; width:100%; min-height:54px; border:1px solid #f3bd64; background:linear-gradient(135deg,#66401c,#352718 65%,#473119); color:#ffdc96; box-shadow:inset 0 1px #ffe4a4aa,inset 0 0 0 3px #161719,inset 0 -4px #9b6527,0 2px 0 #080f19; font:600 13px 'IBM Plex Mono',monospace; letter-spacing:.1em; text-transform:uppercase; }
#mobile-options-sheet.instrument-menu svg { width:22px; height:22px; flex-shrink:0; color:var(--amber); }
#mobile-options-sheet.instrument-menu .instrument-scroll { min-height:0; overflow:auto; overscroll-behavior:contain; padding:2px; }
#mobile-options-sheet.instrument-menu .mobile-settings-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin:0; padding:0; }
#mobile-options-sheet.instrument-menu .instrument-action:not(.hidden) { position:static!important; display:flex; align-items:center; justify-content:flex-start; flex-direction:row; gap:10px; width:100%!important; min-height:52px; height:auto; padding:11px 12px; margin:0; }
#mobile-options-sheet.instrument-menu #fullscreen-btn { bottom:auto; right:auto; }
#mobile-options-sheet.instrument-menu .instrument-action[aria-pressed=true] { border-color:#b8955b; background:linear-gradient(#3c352b,#26271f); color:#ffe0a2; }
#mobile-options-sheet.instrument-menu .instrument-more { margin-top:12px; border-top:1px solid #ac875344; }
#mobile-options-sheet.instrument-menu .instrument-more > summary { display:flex; align-items:center; justify-content:space-between; min-height:44px; padding:0 3px; color:#b2bdc6; cursor:pointer; font:12px var(--font-sans-premium); list-style:none; }
#mobile-options-sheet.instrument-menu .instrument-more > summary::after { content:'+'; font:20px 'IBM Plex Mono',monospace; color:var(--amber); }
#mobile-options-sheet.instrument-menu .instrument-more[open] > summary::after { content:'−'; }
#mobile-options-sheet.instrument-menu summary::-webkit-details-marker { display:none; }
#mobile-options-sheet.instrument-menu .instrument-secondary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding:2px; }
#mobile-options-sheet.instrument-menu #graphics-panel { width:100%; grid-column:1/-1; border:1px solid #526273; border-radius:8px; color:#ccd7dc; padding:10px; background:#101b28; }
#mobile-options-sheet.instrument-menu #graphics-panel summary { min-height:32px; cursor:pointer; }
#mobile-options-sheet.instrument-menu #mode-exit-btn { display:none!important; }
body.mode-visualizer #mobile-options-sheet.instrument-menu #clear-btn,
body.mode-visualizer #mobile-options-sheet.instrument-menu #discoveries-btn { display:none!important; }
#mobile-options-sheet.instrument-menu #camera-motion-btn { grid-column:1/-1; order:1; }
body:not(.mode-visualizer) #mobile-options-sheet.instrument-menu #camera-motion-btn { display:none; }
#mobile-options-sheet.instrument-menu footer { flex-shrink:0; border-top:1px solid #ac875344; padding-top:12px; }
#mobile-options-sheet.instrument-menu #mobile-lobby { display:flex; align-items:center; justify-content:center; gap:10px; width:100%; min-height:52px; margin:0; border:1px solid #8e8290; border-left:3px solid #ec92ac; background:linear-gradient(#30333d,#1a2230); color:#f1e9dc; font:500 12px 'IBM Plex Mono',monospace; letter-spacing:.05em; text-transform:uppercase; }
#mobile-options-sheet.instrument-menu #mobile-lobby svg { color:#eed9b5; }
#mobile-options-sheet.instrument-menu #mobile-lobby span:last-child { margin-left:auto; color:#f2a1bb; font-size:23px; }
#mobile-options-sheet.instrument-menu #lobby-exit-warning { color:#f5c5c7; font:13px/1.4 var(--font-sans-premium); margin:0 0 12px; }
#mobile-options-sheet.instrument-menu.confirming-exit .lobby-exit-actions { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
#mobile-options-sheet.instrument-menu #mobile-stay { color:#b9f0e9; border-color:#7bafb6; }
#mobile-options-sheet.instrument-menu button[hidden],#mobile-options-sheet.instrument-menu p[hidden] { display:none!important; }
#mobile-options-sheet.instrument-menu button:focus-visible,#mobile-options-sheet.instrument-menu summary:focus-visible { outline:2px solid #9ceaf5; outline-offset:2px; }
#mobile-options-sheet.instrument-menu button:hover { filter:brightness(1.1); }
#mobile-options-sheet.instrument-menu button:active { transform:translateY(2px); }
@keyframes instrument-arrive { from { transform:translateY(16px); opacity:0; } to { transform:translateY(0); opacity:1; } }
@media(max-height:560px){#mobile-options-sheet.instrument-menu { gap:8px; padding:13px; } #mobile-options-sheet.instrument-menu header { padding:0; } #mobile-options-sheet.instrument-menu footer { padding-top:8px; }}
@media(prefers-reduced-motion:reduce){#mobile-options-sheet.instrument-menu,#mobile-options-sheet.instrument-menu * { animation:none!important; transition:none!important; }}
