:root{--bg:#07060f;--ink:#eef2fa;--ink-soft:#c7cee0;--muted:#9ea8c2;--hair:#ffffff1c;--accent:#7fe3ff;--neon:#ff3dce;--gold:#ffd27a;--display:"Plus Jakarta Sans","Outfit",sans-serif;--mono:"DM Mono",ui-monospace,Menlo,monospace;color:var(--ink);background:var(--bg);font-synthesis:none;font-family:Outfit,Arial,sans-serif}*{box-sizing:border-box}body{background:var(--bg);margin:0;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}:is(a,button):focus-visible{outline:2px solid var(--accent);outline-offset:2px}#app{isolation:isolate;-webkit-user-select:none;user-select:none;position:fixed;inset:0;overflow:hidden}#world{z-index:-3;position:absolute;inset:0}canvas{touch-action:none;cursor:grab;width:100%;height:100%;display:block}canvas:active{cursor:grabbing}.vignette{z-index:-1;pointer-events:none;background:radial-gradient(at 55%,#0000 55%,#04030ab8),linear-gradient(90deg,#05040cb0,#0000 26%);position:absolute;inset:0}#loading{text-align:center;width:100%;color:var(--muted);font-size:14px;position:absolute;top:47%}.gr-fallback{font:600 13px var(--display);color:#fff;position:absolute;top:56%;left:50%;transform:translate(-50%)}.side{z-index:4;left:calc(24px + env(safe-area-inset-left,0px));top:calc(22px + env(safe-area-inset-top,0px));pointer-events:none;position:absolute}.brand h1{text-transform:uppercase;margin:0;line-height:1}.brand h1 b{font:800 36px/1 var(--display);letter-spacing:.04em;color:#fff;text-shadow:0 0 18px var(--neon),0 0 4px #ff3dce99;display:block}.brand-role{white-space:nowrap;font:600 11px/1.3 var(--display);letter-spacing:.16em;text-transform:uppercase;color:#9fe6ff;margin-top:10px;display:block}#tip{z-index:7;pointer-events:none;white-space:nowrap;font:500 11px var(--mono);color:#fff0fb;opacity:0;background:#0c0816e6;border:1px solid #ff3dce66;border-radius:9px;padding:5px 9px;transition:opacity .15s;position:absolute;transform:translate(-50%,-150%)}#tip.on{opacity:1}.tags3d{z-index:3;pointer-events:none;position:absolute;inset:0;overflow:hidden}.tag3d{white-space:nowrap;-webkit-backdrop-filter:blur(6px);will-change:transform,opacity;background:#0a0816d6;border:1px solid #ffb04066;border-radius:999px;align-items:center;gap:8px;padding:5px 12px 5px 10px;transition:opacity .2s;display:flex;position:absolute;top:0;left:0}.tag3d i{border-radius:50%;flex:none;width:7px;height:7px}.tag3d b{color:#f2f6ff;font:600 13px/1 Outfit,sans-serif}.tag3d span{font:500 11.5px/1 var(--mono);color:var(--gold)}#boot{z-index:30;background:radial-gradient(ellipse 60% 50% at 50% 55%,#24113d,var(--bg) 70%);place-items:center;transition:opacity .6s,visibility 0s .6s;display:grid;position:fixed;inset:0}#boot.done{opacity:0;visibility:hidden;pointer-events:none}.boot-in{width:min(360px,80vw)}.boot-name{font:800 37px/.95 var(--display);letter-spacing:.04em;text-transform:uppercase;color:#fff;text-shadow:0 0 18px var(--neon);margin:0}.boot-role{letter-spacing:.02em;color:var(--ink-soft);margin:8px 0 22px;font-size:12.5px}.boot-bar{background:#ffffff1f;border-radius:2px;height:2px;position:relative}.boot-bar i{background:linear-gradient(90deg,#ff3dce40,var(--neon));border-radius:2px;transition:width .6s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0 auto 0 0;box-shadow:0 0 10px #ff3dce80}.boot-label{font:500 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#8d97b3;justify-content:space-between;margin:12px 0 0;display:flex}.boot-label span:last-child{color:#fff;font-variant-numeric:tabular-nums}.door-fade{z-index:40;pointer-events:none;opacity:0;background:radial-gradient(at 30%,#3a2414,#0b0f1a 70%);transition:opacity .6s .15s;position:fixed;inset:0}.door-fade.on{opacity:1;pointer-events:auto}@media (prefers-reduced-motion:reduce){#boot,.boot-bar i,.door-fade{transition:none}}@media (width<=900px){.side{top:14px;left:14px}.brand h1 b{font-size:24px}.brand-role{letter-spacing:.12em;font-size:9.5px}}.gr-hud{left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:6;-webkit-backdrop-filter:blur(10px);opacity:0;visibility:hidden;background:#0b0c1ad9;border:1px solid #ffffff1f;border-radius:18px;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;max-width:calc(100vw - 24px);padding:8px 10px;transition:opacity .35s,transform .45s cubic-bezier(.2,.8,.2,1),visibility 0s .35s;display:flex;position:absolute;transform:translate(-50%,16px);box-shadow:0 18px 50px -20px #000,0 0 30px -10px #8a5cff88}.gr-hud.on{opacity:1;visibility:visible;transition-delay:0s;transform:translate(-50%)}.gr-back{color:#eef1fa;background:0 0;border:1px solid #ffffff2e;border-radius:12px;height:34px;padding:0 12px;font:600 12.5px Plus Jakarta Sans,Outfit,sans-serif}.gr-back:hover{background:#ffffff14}.gr-title{flex-direction:column;padding:0 4px;line-height:1.1;display:flex}.gr-title b{letter-spacing:.14em;text-transform:uppercase;color:#fff;text-shadow:0 0 12px #35d7ff;font:800 14px Plus Jakarta Sans,Outfit,sans-serif}.gr-title small{font:500 10.5px var(--mono);color:#9fa8c8}
