:root{--glass: rgba(18, 24, 38, .42);--glass-strong: rgba(18, 24, 38, .72);--edge: rgba(255, 255, 255, .18);--text: #f6f8ff;--muted: rgba(246, 248, 255, .7);--sprite: hsl(200 80% 60%);--gap: 8px;font-family:ui-rounded,SF Pro Rounded,Nunito,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--text)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;background:#1b2433;overscroll-behavior:none;touch-action:manipulation;user-select:none;-webkit-user-select:none}#view{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}#hud{position:fixed;top:0;left:0;right:0;padding:calc(env(safe-area-inset-top) + 10px) calc(env(safe-area-inset-right) + 12px) 0 calc(env(safe-area-inset-left) + 12px);display:flex;flex-direction:column;gap:var(--gap);pointer-events:none;max-width:640px;margin:0 auto}.actions{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--gap);pointer-events:auto}.act{position:relative;overflow:hidden;min-height:60px;border:1px solid var(--edge);border-radius:16px;background:var(--glass);backdrop-filter:blur(10px) saturate(1.3);-webkit-backdrop-filter:blur(10px) saturate(1.3);color:var(--text);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font:inherit;cursor:pointer;transition:transform .12s ease,background .2s ease}.act:active{transform:scale(.93)}.act .ico{font-size:24px;line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}.act .lbl{font-size:12px;font-weight:700;letter-spacing:.02em}.act .cd{position:absolute;left:0;right:0;bottom:0;height:calc(var(--cd, 0) * 100%);background:#00000073;pointer-events:none}.act[disabled]{cursor:default}.act[disabled] .ico,.act[disabled] .lbl{opacity:.55}.act.spark .ico{filter:drop-shadow(0 0 6px rgba(255,230,80,.8))}.act.pulse{animation:pulse 1.2s ease-in-out infinite;border-color:#fff0a0cc}@keyframes pulse{50%{background:#ffdc7859}}.stats{display:grid;grid-template-columns:1fr 1fr;gap:6px var(--gap);padding:8px 12px;border-radius:14px;background:var(--glass);border:1px solid var(--edge);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.meter{display:flex;align-items:center;gap:6px}.meter .mi{font-size:16px;width:20px;text-align:center}.bar{flex:1;height:9px;border-radius:9px;background:#ffffff29;overflow:hidden}.bar b{display:block;height:100%;width:50%;border-radius:9px;background:var(--sprite);transition:width .3s ease,background .6s ease}#moodMeter .bar b{background:linear-gradient(90deg,#ff8a6a,#ffd36a)}.nums{grid-column:1 / -1;display:flex;justify-content:space-between;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--muted)}.nums #score{color:#ffe28a}#biomeToast{position:fixed;left:50%;top:max(27%,calc(env(safe-area-inset-top) + 215px));transform:translate(-50%,-50%);font-size:clamp(22px,6vw,40px);font-weight:800;letter-spacing:.06em;text-shadow:0 2px 18px rgba(0,0,0,.45);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity 1.2s ease}#biomeToast.show{opacity:1}#biomeToast small{display:block;text-align:center;font-size:.4em;font-weight:600;letter-spacing:.2em;text-transform:uppercase;opacity:.8}#notice{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom) + 26px);transform:translate(-50%);padding:10px 16px;border-radius:999px;background:var(--glass-strong);border:1px solid var(--edge);font-size:14px;font-weight:700;opacity:0;pointer-events:none;transition:opacity .4s ease;white-space:nowrap}#notice.show{opacity:1}#floaters span{position:fixed;transform:translate(-50%,-100%);font-weight:800;font-size:18px;text-shadow:0 2px 6px rgba(0,0,0,.5);pointer-events:none;animation:floatUp 1.4s ease-out forwards;white-space:nowrap}@keyframes floatUp{0%{opacity:1;margin-top:0}to{opacity:0;margin-top:-60px}}#menuBtn{position:fixed;right:calc(env(safe-area-inset-right) + 12px);bottom:calc(env(safe-area-inset-bottom) + 14px);width:46px;height:46px;border-radius:50%;border:1px solid var(--edge);background:var(--glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text);font-size:22px;cursor:pointer}#volume{position:fixed;left:calc(env(safe-area-inset-left) + 12px);bottom:calc(env(safe-area-inset-bottom) + 14px);width:46px}#volume .vi{width:46px;height:46px;border-radius:50%;border:1px solid var(--edge);background:var(--glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text);font-size:22px;cursor:pointer}#volume.off .vi{opacity:.6}#volume.pulse .vi{animation:volumePulse 1.8s ease-in-out infinite}@keyframes volumePulse{50%{opacity:1;transform:scale(1.08);border-color:#fff0a0bf;box-shadow:0 0 14px #ffe27a73}}#volume .panel{position:absolute;left:0;bottom:56px;width:46px;padding:14px 0;border-radius:23px;border:1px solid var(--edge);background:var(--glass-strong);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;visibility:hidden;transform:translateY(8px) scale(.96);transform-origin:bottom center;transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s}#volume.open .panel{opacity:1;visibility:visible;transform:none;transition:opacity .18s ease,transform .18s ease}#volume .track{position:relative;width:100%;height:140px;cursor:pointer;touch-action:none;outline:none}#volume .track:before,#volume .track b{content:"";position:absolute;left:50%;bottom:0;width:6px;margin-left:-3px;border-radius:3px}#volume .track:before{top:0;background:#ffffff2e}#volume .track b{height:calc(var(--v, 0) * 100%);background:linear-gradient(0deg,#8fd3ff,#ffe27a)}#volume .track i{position:absolute;left:50%;bottom:calc(var(--v, 0) * 100%);width:20px;height:20px;margin:0 0 -10px -10px;border-radius:50%;background:var(--text);box-shadow:0 1px 4px #0006;transition:transform .12s ease}#volume .track:focus-visible i,#volume.dragging .track i{transform:scale(1.2)}#menu{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom) + 72px);transform:translate(-50%);width:min(92vw,360px);padding:14px;border-radius:18px;background:var(--glass-strong);border:1px solid var(--edge);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);display:flex;flex-direction:column;gap:8px}#menu[hidden]{display:none}#menu button{min-height:46px;border-radius:12px;border:1px solid var(--edge);background:#ffffff14;color:var(--text);font:inherit;font-weight:700;cursor:pointer}#menu .hint{margin:4px 2px 0;font-size:12px;color:var(--muted);line-height:1.4}@media (min-width: 700px){.act{min-height:68px}.act .ico{font-size:28px}}
