html,body{color:#fff;-webkit-user-select:none;user-select:none;touch-action:none;background:#c7dbf2;height:100%;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}#view{outline:none;width:100%;height:100%;display:block;position:fixed;inset:0}#ui{pointer-events:none;position:fixed;inset:0}.overlay{background:radial-gradient(#0a101c59,#0a101cb3);justify-content:center;align-items:center;transition:opacity .25s;display:flex;position:absolute;inset:0}.overlay.hidden{opacity:0;visibility:hidden;transition:opacity .15s,visibility 0s linear .15s}.overlay .panel{-webkit-backdrop-filter:blur(6px);background:#121824d1;border-radius:12px;min-width:340px;padding:24px 28px;box-shadow:0 10px 40px #00000059}.overlay h1{letter-spacing:.02em;margin:0;font-size:26px}.overlay .sub{opacity:.7;margin:4px 0 16px;font-size:13px}.overlay .status{color:#9fd0ff;margin-bottom:16px;font-weight:600}.overlay.ready .status{color:#ffd479;animation:1.6s ease-in-out infinite pulse}.overlay.error .status{color:#ff8a80;animation:none}@keyframes pulse{50%{opacity:.55}}.overlay .controls{border-collapse:collapse;font-size:13px}.overlay .controls td{padding:3px 0}.overlay .controls td:first-child{color:#b9c6d8;white-space:nowrap;padding-right:18px}.als-overlay-menu{opacity:0;pointer-events:none;background:#080c14d1;border:1px solid #ffffff4d;border-radius:6px;min-width:200px;padding:8px 12px 12px;transition:opacity 90ms ease-out,transform 90ms ease-out;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.96);box-shadow:0 12px 32px #00000059}.als-overlay-menu--shown{opacity:1;transform:translate(-50%,-50%)scale(1)}.als-overlay-menu__title{color:#ffdb66;letter-spacing:.04em;text-align:center;text-transform:uppercase;padding:2px 8px 7px;font-size:15px;font-weight:700}.als-overlay-menu__row{color:#dce1e9d9;text-align:center;min-height:28px;padding:0 18px;font-size:14px;font-weight:500;line-height:28px}.als-overlay-menu__row--selected{color:#fff;font-size:16px;font-weight:750}.als-overlay-menu__row--current:before{content:"●";color:#ffdb66;margin-left:-14px;font-size:10px;position:absolute}.debug-hud{z-index:3;color:#fff;background:#080e18c7;border:1px solid #bcd8ff59;border-radius:4px;min-width:340px;padding:8px;font:13px/1.38 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;position:absolute;top:8px;left:8px;box-shadow:0 4px 18px #00000047}.debug-hud pre{white-space:pre;margin:0}.settings-panel{z-index:4;color:#fff;pointer-events:auto;background:#080e18d1;border:1px solid #bcd8ff59;border-radius:6px;width:248px;padding:12px;font-size:13px;position:absolute;top:12px;right:12px;box-shadow:0 4px 18px #00000047}.settings-panel h2{margin:0 0 9px;font-size:15px}.settings-panel label{grid-template-columns:104px 1fr auto;align-items:center;gap:7px;min-height:26px;display:grid}.settings-panel input[type=range]{width:100%;margin:0}.settings-panel input[type=checkbox]{justify-self:start;margin:0}.settings-panel output{color:#c6d9ee;font-variant-numeric:tabular-nums;text-align:right;min-width:34px}.settings-panel select{min-width:0}.touch{pointer-events:none;-webkit-tap-highlight-color:transparent;position:absolute;inset:0}.touch.hidden{display:none}.touch.paused .touch-buttons,.touch.paused .touch-pause{visibility:hidden}.touch-stick{opacity:0;background:#ffffff1f;border:2px solid #ffffff59;border-radius:50%;width:112px;height:112px;transition:opacity .12s;position:absolute;top:0;left:0}.touch-stick.active{opacity:1}.touch-knob{background:#ffffff8c;border-radius:50%;width:44px;height:44px;position:absolute;top:34px;left:34px}.touch-pause{top:max(10px, env(safe-area-inset-top));left:max(10px, env(safe-area-inset-left));pointer-events:auto;width:44px;height:44px;position:absolute}.touch-buttons{right:max(12px, env(safe-area-inset-right));bottom:max(12px, env(safe-area-inset-bottom));pointer-events:auto;grid-template-columns:repeat(3,58px);gap:8px;display:grid;position:absolute}.touch button{color:#fff;touch-action:none;-webkit-user-select:none;user-select:none;background:#12182473;border:1px solid #ffffff59;border-radius:10px;height:44px;font:600 12px system-ui,sans-serif}.touch button.big{grid-column:span 3;height:56px;font-size:15px}.touch button.on{background:#ffc45c99}@media (max-height:440px){.touch-buttons{grid-template-columns:repeat(3,50px);gap:6px}.touch button{height:36px;font-size:11px}.touch button.big{height:44px}}
