:root{--sat:env(safe-area-inset-top,0px);--sar:env(safe-area-inset-right,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px);--ink:#fff8e6;--shadow:#1b1730;--accent:#ffd54f;--vh:100vh}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-text-size-adjust:100%;width:100%;height:100%;color:var(--ink);background:#1b1730;margin:0;padding:0;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;position:fixed;inset:0;overflow:hidden}#game{width:100vw;height:var(--vh);image-rendering:pixelated;display:block;position:fixed;inset:0}#ui{pointer-events:none;position:fixed;inset:0}#ui>*{pointer-events:auto}#boot{z-index:50;background:#1b1730;flex-direction:column;justify-content:center;align-items:center;gap:12px;transition:opacity .4s;display:flex;position:fixed;inset:0}#boot.hidden{opacity:0;pointer-events:none}.boot-title{letter-spacing:3px;color:var(--accent);text-shadow:3px 3px #b0442c;font-size:28px;font-weight:900}.boot-sub{opacity:.8;font-size:14px}.hud{text-shadow:2px 2px 0 var(--shadow);position:absolute;inset:0;pointer-events:none!important}.hud-left{top:calc(10px + var(--sat));left:calc(14px + var(--sal));flex-direction:column;gap:6px;display:flex;position:absolute}.hearts{gap:6px;display:flex}.heart{clip-path:polygon(50% 100%,0 40%,0 15%,15% 0,35% 0,50% 15%,65% 0,85% 0,100% 15%,100% 40%);width:20px;height:18px;filter:drop-shadow(2px 2px 0 var(--shadow));background:#ff4f6b;transition:transform .2s,background .2s}.heart.empty{background:#4a4060;transform:scale(.8)}.counters{gap:16px;font-size:20px;font-weight:900;display:flex}.counter{align-items:center;gap:6px;display:flex}.icon-gem{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:linear-gradient(135deg,#8ff 0%,#4fd7ff 50%,#2a7ab0 100%);width:14px;height:18px}.icon-sprout{background:#b6e35a;border-radius:50% 50% 45% 45%;width:16px;height:16px;position:relative;box-shadow:inset -3px -3px #7fae3a}.icon-sprout:after{content:"";background:#3fae4a;border-radius:0 80%;width:6px;height:9px;position:absolute;top:-7px;left:5px}.count.bump{animation:.25s ease-out bump}@keyframes bump{0%{color:var(--accent);transform:scale(1.4)}to{transform:scale(1)}}.toast{top:calc(22% + var(--sat));color:var(--accent);opacity:0;white-space:nowrap;font-size:22px;font-weight:900;transition:opacity .25s,transform .25s;position:absolute;left:50%;transform:translate(-50%,-10px)}.toast.show{opacity:1;transform:translate(-50%)}.fade{opacity:0;background:#000;position:absolute;inset:0;pointer-events:none!important}.pause-btn{top:calc(10px + var(--sat));right:calc(14px + var(--sar));pointer-events:auto;touch-action:manipulation;background:#1b173073;border:2px solid #fff8e680;border-radius:10px;justify-content:center;align-items:center;gap:6px;width:40px;height:40px;display:flex;position:absolute}.pause-btn span{background:var(--ink);border-radius:1px;width:5px;height:16px}.stats{bottom:calc(6px + var(--sab));background:#00000073;border-radius:4px;padding:2px 8px;font-size:11px;position:absolute;left:50%;transform:translate(-50%);pointer-events:none!important}.touch-layer{touch-action:none;display:none;position:absolute;inset:0}.touch-layer.visible{display:block}.stick-base{opacity:0;pointer-events:none;background:#fff8e61f;border:2px solid #fff8e659;border-radius:50%;width:112px;height:112px;margin:-56px 0 0 -56px;transition:opacity .12s;position:absolute;top:0;left:0}.stick-base.active{opacity:1}.stick-knob{background:#fff8e68c;border-radius:50%;width:52px;height:52px;margin:-26px 0 0 -26px;position:absolute;top:50%;left:50%}.touch-btn{letter-spacing:1px;color:#fff8e6e6;text-shadow:1px 1px 0 var(--shadow);border:3px solid #fff8e673;border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:900;display:flex;position:absolute}.touch-btn.active{filter:brightness(1.4);transform:scale(.92)}.btn-jump{width:86px;height:86px;right:calc(28px + var(--sar));bottom:calc(26px + var(--sab));background:#4fd7ff59}.btn-attack{width:68px;height:68px;right:calc(128px + var(--sar));bottom:calc(50px + var(--sab));background:#ff8c3c59}.menu{z-index:10;background:#0f0c1eb8;justify-content:center;align-items:center;display:none;position:absolute;inset:0}.menu.show{display:flex}.menu-panel{width:min(560px, calc(100% - 32px - var(--sal) - var(--sar)));max-height:calc(var(--vh) - 24px - var(--sat) - var(--sab));touch-action:pan-y;-webkit-overflow-scrolling:touch;background:#2b2548;border:3px solid #5e5390;border-radius:12px;flex-direction:column;gap:10px;padding:16px;display:flex;overflow-y:auto}.menu-title{text-align:center;color:var(--accent);letter-spacing:3px;font-size:22px;font-weight:900}.menu-btn{font:inherit;color:var(--ink);touch-action:manipulation;background:#3d3566;border:2px solid #5e5390;border-radius:8px;padding:10px 12px;font-size:15px;font-weight:700}.menu-btn.primary{background:#b0442c;border-color:#e07050}.menu-btn.toggle.on{background:#2f6f5a;border-color:#4fb08a}.toggle-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.menu-help{opacity:.8;font-size:12px;line-height:1.45}.rotate-overlay{z-index:40;background:#1b1730;flex-direction:column;justify-content:center;align-items:center;gap:18px;display:none;position:absolute;inset:0}.rotate-overlay.show{display:flex}.rotate-phone{border:4px solid var(--ink);border-radius:8px;width:44px;height:76px;animation:2s ease-in-out infinite rotate-hint}.rotate-text{font-size:16px;font-weight:700}@keyframes rotate-hint{0%,30%{transform:rotate(0)}60%,to{transform:rotate(-90deg)}}
