:root{--bg:#f6e7d8;--ink:#5b4636;--accent:#ff9eb5;--accent-2:#ffd88a;--panel:#fff8f0}*{box-sizing:border-box}html,body{background:var(--bg);overscroll-behavior:none;width:100%;height:100dvh;margin:0;padding:0;overflow:hidden}body{color:var(--ink);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;font-family:ui-rounded,SF Pro Rounded,system-ui,-apple-system,sans-serif;position:fixed;inset:0}img{-webkit-user-drag:none;user-drag:none}#game{width:100%;height:100dvh;position:fixed;inset:0}#game canvas{touch-action:none;display:block}#hud[hidden],#play-btn[hidden],#loading[hidden]{display:none}.hud-btn{top:calc(env(safe-area-inset-top) + 12px);background:var(--panel);width:56px;height:56px;color:var(--ink);touch-action:manipulation;z-index:5;border:0;border-radius:50%;font-size:28px;line-height:1;position:fixed;box-shadow:0 3px #5b463640}.hud-btn:active{transform:translateY(2px);box-shadow:0 1px #5b463640}#reset-btn{left:calc(env(safe-area-inset-left) + 12px)}#mute-btn{right:calc(env(safe-area-inset-right) + 12px)}#loading{z-index:10;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:linear-gradient(#fde9e1,#f6e7d8);flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex;position:fixed;inset:0}#loading h1{color:#e97a9a;letter-spacing:1px;margin:0;font-size:56px}#progress{background:#fff8f0;border-radius:9px;width:min(60vw,360px);height:18px;overflow:hidden;box-shadow:inset 0 2px #5b463626}#progress-bar{background:var(--accent);border-radius:9px;width:0;height:100%;transition:width .15s}#loading-text{text-align:center;max-width:80vw;margin:0;font-size:18px}#loading.error #loading-text{color:#b3261e}#play-btn{background:var(--accent);color:#fff;min-width:200px;min-height:72px;font:inherit;touch-action:manipulation;border:0;border-radius:36px;padding:0 40px;font-size:32px;font-weight:700;box-shadow:0 5px #e97a9a}#play-btn:active{transform:translateY(3px);box-shadow:0 2px #e97a9a}#rotate{z-index:20;background:var(--accent-2);text-align:center;flex-direction:column;justify-content:center;align-items:center;font-size:24px;display:none;position:fixed;inset:0}.rotate-icon{font-size:72px}@media (orientation:portrait){#rotate{display:flex}}#fps{z-index:30;color:#000;pointer-events:none;background:#fff9;padding:2px 4px;font:12px monospace;position:fixed;bottom:4px;left:4px}
