:root{--ui-font:"Trebuchet MS", "Segoe UI", system-ui, -apple-system, sans-serif;--ui-fg:#fff;--ui-bg:#0e101cd1;--ui-bg-solid:#141727;--ui-accent:#ffd23f;--ui-accent-2:#5ce1a0;--ui-danger:#ff5c7a;--ui-radius:14px;--ui-shadow:0 10px 40px #00000073}*{box-sizing:border-box}html,body{height:100%;font-family:var(--ui-font);color:var(--ui-fg);-webkit-font-smoothing:antialiased;overscroll-behavior:none;touch-action:none;background:#0d0f18;margin:0;padding:0;overflow:hidden}#game canvas{display:block;position:fixed;inset:0}#ui{pointer-events:none;z-index:10;position:fixed;inset:0}.is-hidden{display:none!important}.hud{padding:max(14px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) 14px max(14px, env(safe-area-inset-left));position:absolute;inset:0}.hud.is-hurt:after{content:"";pointer-events:none;background:radial-gradient(circle,#0000 35%,#ff28468c 100%);animation:.45s ease-out forwards damage-flash;position:absolute;inset:0}@keyframes damage-flash{0%{opacity:1}to{opacity:0}}.hud-row{flex-wrap:wrap;gap:10px;display:flex}.hud-chip{background:var(--ui-bg);border-radius:var(--ui-radius);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);min-width:84px;box-shadow:var(--ui-shadow);border:1px solid #ffffff1f;flex-direction:column;gap:2px;padding:8px 14px;display:flex}.hud-label{letter-spacing:.14em;opacity:.6;font-size:10px}.hud-value{font-variant-numeric:tabular-nums;font-size:20px;font-weight:700;display:inline-block}.hud-chip.is-complete .hud-value{color:var(--ui-accent-2)}.hud-timer.is-urgent .hud-value{color:var(--ui-danger);animation:.6s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.45}}.hud-value.is-pop{animation:.28s ease-out value-pop}@keyframes value-pop{0%{transform:scale(1)}40%{color:var(--ui-accent);transform:scale(1.28)}to{transform:scale(1)}}.hud-effect{color:var(--ui-accent-2);letter-spacing:.08em;opacity:0;background:#5ce1a029;border:1px solid #5ce1a080;border-radius:999px;padding:6px 16px;font-size:13px;font-weight:700;transition:opacity .2s;position:absolute;top:78px;left:50%;transform:translate(-50%)}.hud-effect.is-active{opacity:1}.hud-hint{letter-spacing:.04em;opacity:0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0e101cb3;border:1px solid #ffffff24;border-radius:999px;padding:8px 18px;font-size:13px;transition:opacity .25s;position:absolute;bottom:42px;left:50%;transform:translate(-50%)}.hud-hint.is-active{opacity:.9;animation:2.4s ease-in-out infinite hint-breathe}@keyframes hint-breathe{50%{opacity:.55}}.hud-toasts{flex-direction:column-reverse;align-items:center;gap:2px;display:flex;position:absolute;bottom:24%;left:50%;transform:translate(-50%)}.hud-toast{text-shadow:0 2px 10px #000000b3;font-size:22px;font-weight:800;animation:1.2s ease-out forwards toast-rise}@keyframes toast-rise{0%{opacity:0;transform:translateY(14px)scale(.85)}20%{opacity:1;transform:translateY(0)scale(1.1)}to{opacity:0;transform:translateY(-46px)scale(1)}}.menu{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto;background:#080912b8;place-items:center;padding:20px;animation:.25s ease-out fade-in;display:grid;position:absolute;inset:0}.menu.is-intro{-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none;background:0 0;align-items:center}@keyframes fade-in{0%{opacity:0}}.menu-card{text-align:center;background:var(--ui-bg-solid);width:min(480px,100%);box-shadow:var(--ui-shadow);border:1px solid #ffffff1f;border-radius:22px;padding:32px 30px;animation:.3s cubic-bezier(.2,.9,.3,1.2) card-in}.menu.is-intro .menu-card{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0e101cb8;animation:.4s ease-out card-in,.4s ease-in 1.4s forwards fade-out}@keyframes card-in{0%{opacity:0;transform:translateY(18px)scale(.96)}}@keyframes fade-out{to{opacity:0}}.menu-eyebrow{letter-spacing:.22em;opacity:.6;margin:0 0 8px;font-size:11px}.menu-title{letter-spacing:-.01em;margin:0 0 12px;font-size:34px;line-height:1.1}.menu.is-win .menu-title{color:var(--ui-accent-2)}.menu.is-gameover .menu-title{color:var(--ui-danger)}.menu-body{opacity:.78;margin:0 0 20px;font-size:15px;line-height:1.55}.menu-stats{text-align:left;gap:6px;margin:0 0 22px;display:grid}.menu-stat{background:#ffffff0d;border-radius:10px;justify-content:space-between;padding:9px 14px;font-size:14px;display:flex}.menu-stat strong{font-variant-numeric:tabular-nums;color:var(--ui-accent)}.menu-buttons{gap:9px;display:grid}.menu-button{font:inherit;color:var(--ui-fg);cursor:pointer;background:#ffffff14;border:1px solid #ffffff24;border-radius:12px;padding:13px 18px;font-size:15px;font-weight:700;transition:transform .12s,background .12s}.menu-button:hover{background:#ffffff24}.menu-button:active{transform:scale(.97)}.menu-button.is-primary{color:#1a1408;background:var(--ui-accent);border-color:#0000}.menu-button.is-primary:hover{background:#ffdf6b}.menu-button:focus-visible{outline:3px solid var(--ui-accent-2);outline-offset:2px}.touch-look{pointer-events:auto;position:absolute;inset:0 0 0 45%}.touch-controls{pointer-events:none;height:190px;position:absolute;inset:auto 0 0}.touch-stick{left:max(26px, env(safe-area-inset-left));bottom:max(26px, env(safe-area-inset-bottom));pointer-events:auto;background:#ffffff12;border:2px solid #ffffff2e;border-radius:50%;width:132px;height:132px;position:absolute}.touch-stick-knob{background:#ffffff57;border-radius:50%;width:58px;height:58px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.touch-jump{right:max(26px, env(safe-area-inset-right));bottom:max(34px, env(safe-area-inset-bottom));width:108px;height:108px;font:inherit;letter-spacing:.08em;color:#1a1408;background:var(--ui-accent);pointer-events:auto;box-shadow:var(--ui-shadow);border:none;border-radius:50%;font-size:15px;font-weight:800;position:absolute}.touch-jump:active{transform:scale(.94)}@media (hover:hover) and (pointer:fine){.touch-controls,.touch-look{display:none}}
