#stage canvas.world-canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block;touch-action:none}#stage{touch-action:none}.joystick{position:absolute;width:112px;height:112px;left:24px;bottom:96px;border-radius:50%;border:2px solid rgba(255,255,255,.35);background:#ffffff0f;pointer-events:none;z-index:2}.joystick.active{border-color:#3ec7b6cc}.joystick-knob{position:absolute;left:36px;top:36px;width:40px;height:40px;border-radius:50%;background:#ffffff8c}.view-toggle{position:absolute;right:12px;top:112px;min-width:44px;min-height:44px;border-radius:22px;border:1px solid var(--line);background:var(--glass);color:var(--text);font-size:1.2rem;pointer-events:auto}.view-toggle[aria-pressed=true]{border-color:var(--accent)}.quality-toggle{position:absolute;right:12px;top:164px;min-height:36px;padding:0 .75rem;border-radius:18px;border:1px solid var(--line);background:var(--glass);color:var(--muted);font-size:.8rem;pointer-events:auto}body.panel-open .view-toggle,body.panel-open .quality-toggle{display:none}.start3d .head-tools{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem}.start3d .back-cema,.start3d a.account,.debrief3d .back-cema a,.unlock-button{display:inline-flex;align-items:center;min-height:44px;padding:0 .25rem}.start3d .areas{display:flex;flex-wrap:wrap;gap:.5rem}.start3d .area,.start3d .case-choice{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.25rem .5rem}.badge{display:inline-block;padding:.1rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600;line-height:1.4;white-space:nowrap}.badge.free{background:var(--accent);color:var(--accent-text)}.badge.locked{border:1px solid var(--line);color:var(--muted)}.start3d .empty-area{color:var(--muted)}.start3d [aria-pressed=true] .badge.locked{border-color:var(--accent-text);color:var(--accent-text)}.goto-chip{min-width:44px;min-height:44px;border-color:var(--accent)}#goto{max-height:calc(100vh - 1.5rem);max-height:calc(100dvh - 1.5rem)}#goto .goto-place h3{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem}#goto .goto-here{font-size:.8rem;font-weight:400;color:var(--muted)}#goto .goto-list{list-style:none;margin:.25rem 0 .75rem;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:.5rem}#goto .goto-dest{width:100%;min-width:44px;min-height:44px;text-align:start}
