:root{--bg:#12303a;--fg:#f2f6f7;--accent:#f4b63f;--bar:#12303aeb;--btn:#2c5563;--btn-active:#3a6e80;--on-accent:#1a1a1a;--overlay:#12303ad9;--hud-bg:#0000009e;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--fg);overscroll-behavior:none;margin:0}html{background:#fff}body{touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;position:fixed;inset:0;overflow:hidden}#app,#stage{position:absolute;inset:0}#loading{background:var(--bg);color:var(--fg);letter-spacing:.01em;pointer-events:none;place-items:center;font-size:1.1rem;font-weight:600;transition:opacity .3s;display:grid;position:absolute;inset:0}#loading.done{opacity:0}.btn{background:var(--btn);min-width:44px;min-height:44px;color:var(--fg);font:inherit;touch-action:manipulation;cursor:pointer;border:0;border-radius:10px;justify-content:center;align-items:center;padding:0 14px;font-size:.95rem;text-decoration:none;display:inline-flex}.btn:active{background:var(--btn-active)}.btn[disabled]{opacity:.5}.btn.on{background:var(--accent);color:var(--on-accent)}.btn.round{border-radius:50%;width:48px;height:48px;padding:0;font-size:1.4rem}#controls{right:calc(12px + var(--safe-r));bottom:calc(12px + var(--safe-b));flex-direction:column;gap:8px;display:flex;position:absolute}.build-version{left:calc(8px + var(--safe-l));bottom:calc(3px + var(--safe-b));z-index:1;letter-spacing:.02em;max-width:40vw;color:var(--fg);opacity:.55;text-shadow:0 0 3px #0009;pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap;text-overflow:ellipsis;font:10px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;position:absolute;overflow:hidden}.banners{padding:calc(8px + var(--safe-t)) calc(8px + var(--safe-r)) 0 calc(8px + var(--safe-l));pointer-events:none;flex-direction:column;gap:6px;display:flex;position:absolute;top:0;left:0;right:0}.bar{pointer-events:auto;background:var(--bar);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:8px 8px 8px 14px;font-size:.9rem;display:flex;box-shadow:0 2px 10px #00000059}.overlay{background:var(--overlay);z-index:5;place-content:center;justify-items:center;gap:12px;font-size:1.1rem;display:grid;position:absolute;inset:0}.overlay[hidden]{display:none}#hud{left:calc(8px + var(--safe-l));bottom:calc(8px + var(--safe-b));flex-direction:column;gap:6px;max-width:460px;font-size:.75rem;display:flex;position:absolute;right:72px}[hidden]{display:none!important}#hud pre{background:var(--hud-bg);white-space:pre-wrap;border-radius:8px;margin:0;padding:6px 8px;font:11px/1.35 ui-monospace,Menlo,monospace}#hud .row{flex-wrap:wrap;gap:6px;display:flex}#hud textarea{-webkit-user-select:text;user-select:text;height:90px;font:10px ui-monospace,monospace}#topbar{left:calc(8px + var(--safe-l));right:calc(8px + var(--safe-r));top:calc(8px + var(--safe-t));background:var(--bar);pointer-events:none;z-index:2;border-radius:12px;flex-wrap:wrap;align-items:center;gap:4px 14px;padding:6px 12px;font-size:1rem;display:flex;position:absolute;box-shadow:0 2px 10px #00000059}#topbar .tb-cell{flex-direction:column;min-width:0;display:flex}#topbar .tb-label{opacity:.7;font-size:.7rem}#topbar .tb-value{font-variant-numeric:tabular-nums;font-weight:600}#topbar .tb-net{margin-left:auto;font-size:.8rem}#topbar .tb-net:empty{display:none}#topbar[data-status=reconnecting],#topbar[data-status=connecting]{outline:2px solid var(--accent)}#app:has(#topbar) .banners{top:calc(60px + var(--safe-t));padding-top:4px}
