:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--glass:#1218268c;--glass-hi:#28344ebf;--line:#ffffff29;--text:#f2f6ff;--accent:#57c7ff;--accent-2:#8af0d6;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body{height:100%;color:var(--text);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#20283a;margin:0;overflow:hidden}#app,#app canvas{width:100%;height:100%;display:block;position:fixed;inset:0}#hud{pointer-events:none;position:fixed;inset:0}#hud button,#intro button{pointer-events:auto}button{font:inherit;color:var(--text);background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);cursor:pointer;touch-action:none;border-radius:999px;min-height:44px;padding:10px 16px}button:hover{background:var(--glass-hi)}button.primary{background:linear-gradient(#4fc3ff,#2b8fe0);border-color:#ffffff59;font-weight:600}button.active{background:var(--accent);color:#062033}#topbar{top:max(10px, env(safe-area-inset-top));align-items:center;gap:12px;display:flex;position:absolute;left:12px;right:12px}#brand{letter-spacing:.02em;text-shadow:0 1px 6px #00000080;font-size:20px;font-weight:300}#brand b,#intro h1 b{color:var(--accent);font-weight:800}#status{opacity:.9;text-shadow:0 1px 4px #0009;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;overflow:hidden}.top-buttons{gap:8px;display:flex}.top-buttons button{min-height:40px;padding:8px 14px;font-size:14px}#actions{right:14px;bottom:max(16px, env(safe-area-inset-bottom));align-items:center;gap:10px;display:flex;position:absolute}#actions button{padding:12px 20px;font-size:16px}#crosshair{opacity:0;border:2px solid #ffffffd9;border-radius:50%;width:14px;height:14px;margin:-7px 0 0 -7px;transition:opacity .2s;position:absolute;top:50%;left:50%;box-shadow:0 0 0 1px #00000059}body:not(.touch).holding #crosshair{opacity:.8}#charge{right:14px;bottom:calc(max(16px, env(safe-area-inset-bottom)) + 64px);background:var(--glass);opacity:0;border-radius:4px;width:160px;height:8px;transition:opacity .15s;position:absolute;overflow:hidden}#charge.on{opacity:1}#charge div{background:linear-gradient(90deg, var(--accent-2), var(--accent), #ff7a59);width:0%;height:100%}#touch-move{left:18px;bottom:max(18px, env(safe-area-inset-bottom));display:none;position:absolute}#joystick{pointer-events:auto;border:1px solid var(--line);touch-action:none;background:radial-gradient(circle,#ffffff14,#ffffff05 70%);border-radius:50%;width:120px;height:120px;position:relative}#knob{background:#ffffff47;border:1px solid #fff6;border-radius:50%;width:50px;height:50px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#touch-vert{left:152px;bottom:max(26px, env(safe-area-inset-bottom));flex-direction:column;gap:10px;display:none;position:absolute}#touch-vert button{width:48px;height:48px;padding:0;font-size:16px}body.touch #touch-move{display:block}body.touch #touch-vert{display:flex}#toast{background:var(--glass-hi);opacity:0;white-space:nowrap;text-overflow:ellipsis;border-radius:999px;max-width:calc(100vw - 32px);padding:8px 16px;font-size:14px;transition:opacity .25s;position:absolute;top:64px;left:50%;overflow:hidden;transform:translate(-50%)}#toast.on{opacity:1}#intro{background:radial-gradient(#141a2a8c,#0a0e18d9);justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}#intro.hidden{display:none}#intro .card{border:1px solid var(--line);background:#161c2cd9;border-radius:22px;width:100%;max-width:460px;max-height:calc(100vh - 32px);padding:22px 22px 18px;overflow:auto;box-shadow:0 20px 60px #00000073}#intro h1{margin:0 0 4px;font-size:30px;font-weight:300}#intro .tag{opacity:.75;margin:0 0 12px;font-style:italic}#intro ul{margin:0 0 16px;padding-left:18px;font-size:15px;line-height:1.5}#intro li{margin:4px 0}#intro .touch{display:none}body.touch #intro .touch{display:list-item}body.touch #intro .desk{display:none}#intro #btn-start{width:100%;font-size:17px}@media (width<=560px){#brand{font-size:17px}#status{font-size:12px}#actions{gap:8px;right:10px}#actions button{padding:10px 14px;font-size:15px}body.touch #actions{flex-direction:column;align-items:flex-end}.top-buttons button{padding:6px 12px;font-size:13px}}@media (height<=500px){body.touch #actions{flex-direction:column;align-items:flex-end;gap:8px}body.touch #actions button{min-height:40px;padding:9px 16px;font-size:15px}#topbar{top:max(6px, env(safe-area-inset-top))}#touch-move{bottom:max(10px, env(safe-area-inset-bottom))}#touch-vert{bottom:max(14px, env(safe-area-inset-bottom))}}
