:root{--fg:#f3f0ff;--dim:#a9a3c4;--glass:#0e0c1a8c;--line:#ffffff1f;--accent:#ff3fa4;--accent2:#38e8ff}*{box-sizing:border-box}html,body{height:100%;color:var(--fg);background:#07060d;margin:0;font:14px/1.4 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}#app,#app canvas{width:100%;height:100%;display:block;position:fixed;inset:0}#ui{pointer-events:none;position:fixed;inset:0}#ui>*{pointer-events:auto}#title{pointer-events:none;text-shadow:0 2px 12px #0009;position:absolute;top:16px;left:20px}.brand{letter-spacing:.32em;align-items:center;gap:10px;font-size:15px;font-weight:800;display:flex}.brand .dot{background:radial-gradient(circle at 35% 35%, var(--accent2), var(--accent));width:12px;height:12px;box-shadow:0 0 14px var(--accent);border-radius:50%}.sub{color:var(--dim);letter-spacing:.08em;margin-top:2px;font-size:12px}#worlds{background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:16px;gap:8px;max-width:calc(100vw - 32px);padding:6px;display:flex;position:absolute;bottom:22px;left:50%;overflow-x:auto;transform:translate(-50%)}#worlds button{all:unset;cursor:pointer;color:var(--dim);white-space:nowrap;border-radius:11px;padding:9px 14px;font-size:13px;font-weight:600;transition:background .2s,color .2s}#worlds button:hover{color:var(--fg);background:#ffffff0f}#worlds button.active{color:#0b0914;background:linear-gradient(135deg, var(--c1), var(--c2))}#worlds button kbd{opacity:.55;font:inherit;margin-right:6px;font-size:11px}#people{color:var(--dim);text-align:right;font-size:12px;position:absolute;top:16px;right:16px}#people .p{justify-content:flex-end;align-items:center;gap:6px;display:flex}#people .sw{border-radius:50%;width:9px;height:9px}#enter-vr{color:#fff;letter-spacing:.14em;cursor:pointer;background:linear-gradient(135deg,#ff3fa4,#7b5cff 55%,#38e8ff);border:1px solid #ffffff40;border-radius:14px;padding:12px 20px;font-size:13px;font-weight:800;position:absolute;bottom:22px;left:20px;box-shadow:0 6px 30px #ff3fa459}#enter-vr:disabled{background:var(--glass);color:var(--dim);box-shadow:none;cursor:default}#hint{color:var(--dim);text-align:center;pointer-events:none;text-shadow:0 1px 6px #000;width:max-content;max-width:calc(100vw - 32px);font-size:12px;position:absolute;bottom:82px;left:50%;transform:translate(-50%)}#crosshair{opacity:0;pointer-events:none;background:#fff;border-radius:50%;width:6px;height:6px;margin:-3px 0 0 -3px;transition:opacity .2s,transform .15s;position:absolute;top:50%;left:50%;box-shadow:0 0 0 2px #00000059}body.locked #crosshair{opacity:.85}body.locked #hint,body.xr #ui{opacity:0}#crosshair.hot{background:var(--accent2);transform:scale(2.2)}#dbg-toggle{background:var(--glass);border:1px solid var(--line);color:var(--dim);letter-spacing:.1em;cursor:pointer;border-radius:10px;padding:8px 12px;font:600 11px ui-monospace,monospace;position:absolute;bottom:22px;right:16px}#dbg-toggle.err{color:#ff6b8a;border-color:#ff6b8a}#debug{border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#080710db;border-radius:14px;flex-direction:column;width:min(560px,100vw - 32px);height:min(46vh,420px);display:flex;position:absolute;bottom:64px;right:16px}#debug[hidden]{display:none}#debug .bar{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:8px 12px;font-size:12px;display:flex}#debug .bar span{color:var(--dim);flex:1}#debug .bar button{border:1px solid var(--line);color:var(--dim);cursor:pointer;background:0 0;border-radius:6px;padding:2px 8px}#dbg-log{white-space:pre-wrap;word-break:break-word;flex:1;margin:0;padding:8px 12px;font:11px/1.45 ui-monospace,monospace;overflow:auto}#dbg-log .w{color:#ffd166}#dbg-log .e{color:#ff6b8a}#dbg-log .i{color:#9ad7ff}#dbg-log .t{color:#6d6790}#fade{opacity:1;pointer-events:none;background:#000;transition:opacity .45s;position:fixed;inset:0}@media (max-width:640px){#hint,#title .sub{display:none}#enter-vr{bottom:84px}}#worlds .height{border-left:1px solid var(--line);color:var(--dim);white-space:nowrap;cursor:default;align-items:center;gap:8px;margin-left:4px;padding:0 10px 0 14px;font-size:12px;font-weight:600;display:flex}#worlds .height input{accent-color:#ff3fa4;cursor:pointer;width:110px}#worlds .height output{color:var(--fg);min-width:52px;font:600 12px ui-monospace,monospace}@media (max-width:640px){#worlds .height span{display:none}#worlds .height input{width:70px}}#worlds button.reload{border-left:1px solid var(--line);border-radius:0 11px 11px 0;padding-left:14px}#worlds button.reload.armed{color:#fff;background:linear-gradient(135deg,#ff3fa4,#ff8a3d);border-radius:11px;animation:1s ease-in-out infinite fw-pulse;box-shadow:inset 0 0 0 2px #fff,0 0 18px #ff3fa48c}#worlds button.reload-cancel{color:var(--fg);background:#ffffff1a}#worlds button.reload-cancel[hidden]{display:none}@keyframes fw-pulse{50%{box-shadow:inset 0 0 0 2px #fff,0 0 28px #ff3fa4d9}}#stats{background:var(--glass);border:1px solid var(--line);white-space:pre;color:var(--dim);pointer-events:none;border-radius:10px;padding:6px 10px;font:12px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace;position:absolute;top:62px;left:20px}#stats[hidden]{display:none}#worlds button.stats-toggle{border-left:1px solid var(--line);border-radius:0;padding-left:14px}#worlds button.stats-toggle.on{color:#0b0914;background:linear-gradient(135deg,#38e8ff,#7b5cff);border-radius:11px}
