:root{--sky: #6ec6ff;--wood: #8a5a2a;--wood-dark: #5a3a1a;--gold: #ffcf3f;--cream: #fff7e6}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;background:radial-gradient(circle at 50% 0%,#2a4d6e,#16263a 60%,#0c1521);font-family:Trebuchet MS,Segoe UI,system-ui,sans-serif;color:var(--cream);user-select:none;-webkit-user-select:none;overflow:hidden;overscroll-behavior:none;touch-action:manipulation}#game-shell{position:relative;width:min(96vw,880px);max-height:92dvh;aspect-ratio:880 / 560;border-radius:14px;overflow:hidden;box-shadow:0 18px 50px #0000008c,0 0 0 4px #3a2a18,0 0 0 8px #1c130a}#game{display:block;width:100%;height:100%;object-fit:contain;image-rendering:-webkit-optimize-contrast;background:var(--sky)}@media (hover: none) and (pointer: coarse){body{gap:0}#game-shell{position:fixed;top:50%;left:50%;width:100vmax;height:100vmin;transform:translate(-50%,-50%);transform-origin:center center;max-width:none;max-height:none;aspect-ratio:auto;border-radius:0;box-shadow:none;background:#0c1521;touch-action:none}#game{background:#0c1521}}@media (hover: none) and (pointer: coarse) and (orientation: portrait){#game-shell{transform:translate(-50%,-50%) rotate(90deg)}}@media (hover: none) and (pointer: coarse){#title-screen{padding:10px 12px}.title-card{max-width:min(78%,380px);padding:10px 18px;gap:7px}h1{font-size:clamp(1.4rem,5vw,2rem);gap:8px}.tagline{font-size:.82rem}.controls-line{display:none}.btn{font-size:1rem;padding:9px 18px}}#game-shell:fullscreen,#game-shell:-webkit-full-screen{width:100vmax;height:100vmin;max-width:none;max-height:none;aspect-ratio:auto;border-radius:0;box-shadow:none;background:#0c1521}#game-shell:fullscreen #game,#game-shell:-webkit-full-screen #game{object-fit:contain}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;padding:24px;background:linear-gradient(180deg,#0a1423d1,#080e18eb);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:opacity .25s ease}.overlay.hidden{opacity:0;pointer-events:none}#title-screen{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;justify-content:flex-start;padding:clamp(10px,4vh,30px) 16px 16px}.title-card{display:flex;flex-direction:column;align-items:center;gap:clamp(8px,1.6vh,16px);max-width:min(92%,560px);padding:clamp(14px,2.4vh,26px) clamp(18px,4vw,38px);border-radius:18px;background:linear-gradient(180deg,#0c1626e0,#080e18ed);border:1px solid rgba(255,255,255,.08);box-shadow:0 14px 40px #00000080;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.controls-line{font-size:clamp(.72rem,2.6vw,.9rem);opacity:.92;line-height:1.6}.ios-hint{font-size:clamp(.72rem,2.6vw,.84rem);color:var(--gold);opacity:.92}.ios-hint.hidden{display:none}h1{font-size:clamp(1.9rem,6.2vw,3.2rem);letter-spacing:2px;color:var(--gold);text-shadow:0 4px 0 var(--wood-dark),0 6px 14px rgba(0,0,0,.6);display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;justify-content:center}h1 .amp{font-size:.35em;color:var(--cream);letter-spacing:4px;text-shadow:none;opacity:.85}h2{font-size:clamp(1.8rem,6vw,3rem);color:var(--gold);text-shadow:0 3px 0 var(--wood-dark)}.tagline{font-size:clamp(.95rem,2.5vw,1.2rem);opacity:.9;font-style:italic}.btn{font-family:inherit;font-size:1.15rem;font-weight:700;color:#2a1a08;background:linear-gradient(180deg,#ffe07a,var(--gold));border:none;border-radius:10px;padding:12px 26px;cursor:pointer;box-shadow:0 5px #b8860b,0 8px 16px #0006;transition:transform .08s ease,box-shadow .08s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 7px #b8860b,0 10px 20px #00000073}.btn:active{transform:translateY(3px);box-shadow:0 2px #b8860b}.btn-secondary{font-size:.9rem;font-weight:700;font-family:inherit;color:var(--cream);background:#ffffff14;border:1px solid rgba(255,255,255,.25);border-radius:9px;padding:7px 16px;cursor:pointer;box-shadow:none}.btn-secondary:hover{background:#ffffff29}.btn-secondary.hidden{display:none}.tagline{margin-bottom:2px}kbd{display:inline-block;min-width:1.4em;padding:2px 7px;background:#f4ecda;color:#2a1a08;border-radius:5px;border-bottom:2px solid #b09a72;font-family:inherit;font-weight:700;font-size:.85em}#touch-controls{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;pointer-events:none;display:none}@media (hover: none) and (pointer: coarse){#touch-controls{display:block}}#touch-controls .pad{position:absolute;left:max(14px,env(safe-area-inset-left));bottom:max(14px,env(safe-area-inset-bottom));display:flex;gap:14px}#touch-controls .jump{position:absolute;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom))}.tc-btn{pointer-events:auto;width:clamp(58px,13vw,78px);height:clamp(58px,13vw,78px);border:none;border-radius:50%;font-size:clamp(24px,6vw,32px);line-height:1;color:#2a1a08;background:#ffe77acc;box-shadow:0 4px #00000052;display:flex;align-items:center;justify-content:center;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.tc-btn.jump{width:clamp(72px,17vw,96px);height:clamp(72px,17vw,96px);background:#78c882d1}.tc-btn.active{transform:translateY(3px);filter:brightness(.9);box-shadow:0 1px #00000052}
