:root{color-scheme:dark;--cream: #ffedd2;--peach: #ffd0a0;--warm: #ffb877;--ink: #1b101d;--panel: #2c1a27}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{min-height:100vh;overflow-x:hidden;background:#1b101d;color:var(--cream);font-family:Trebuchet MS,Segoe UI,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}.game-page{position:relative;isolation:isolate;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:22px clamp(12px,4vw,48px) 18px;overflow:hidden;background:radial-gradient(70% 55% at 50% -10%,#5a3346 0%,transparent 65%),radial-gradient(48% 40% at 88% 88%,#5a2b2f 0%,transparent 62%),radial-gradient(46% 40% at 8% 78%,#3c2a52 0%,transparent 60%),linear-gradient(168deg,#241326,#1a101d 46%,#120b16)}.game-page:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;opacity:.28;background-image:radial-gradient(rgba(255,226,188,.32) .7px,transparent .8px);background-size:7px 7px;-webkit-mask-image:linear-gradient(transparent,#000 35%,#000 70%,transparent);mask-image:linear-gradient(transparent,#000 35%,#000 70%,transparent)}.glow{position:absolute;z-index:-1;width:38vw;max-width:520px;aspect-ratio:1;border-radius:50%;filter:blur(70px);opacity:.22;pointer-events:none}.glow-left{left:-10vw;top:16vh;background:#ff9a63}.glow-right{right:-12vw;bottom:4vh;background:#d780a4}.game-header{width:min(94vw,1120px);display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:14px}.brand-mark{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;color:#4a2816;font-size:22px;background:linear-gradient(150deg,#ffe6b4,#ffb56e 55%,#e98a5f);box-shadow:0 10px 26px #ff9a6347,inset 0 1px #ffffffb3}.brand h1{margin:0;font-size:clamp(24px,3.1vw,38px);font-weight:700;line-height:.95;letter-spacing:.13em;text-transform:uppercase;color:var(--cream);text-shadow:0 3px 0 rgba(80,38,48,.55)}.brand p{margin:5px 0 0;font-size:12px;font-style:italic;letter-spacing:.04em;color:var(--peach);opacity:.82}.header-note{margin:0 0 3px;max-width:250px;text-align:right;font-size:12px;font-style:italic;line-height:1.5;color:var(--peach);opacity:.72}.game-frame{position:relative;width:min(94vw,1120px,max(320px,calc((100svh - 232px)*1.7778)));padding:9px;border-radius:24px;border:1px solid rgba(255,224,184,.2);background:linear-gradient(155deg,rgba(255,226,188,.11),transparent 42%),linear-gradient(180deg,#33202c,#241620);box-shadow:0 30px 70px #08040c9e,0 2px #ffecce1a inset,0 0 0 1px #140a1299}.game-container{width:100%;aspect-ratio:16 / 9;overflow:hidden;border-radius:16px;background:#f4b183;box-shadow:inset 0 0 0 1px #26111b8c}.game-container canvas{display:block;width:100%;height:100%;image-rendering:pixelated;outline:none}.frame-hint{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 22px;padding:9px 6px 1px;color:#ffd2a4;font-size:10px;letter-spacing:.12em;text-transform:uppercase;opacity:.8}.frame-hint span{white-space:nowrap}.game-footer{width:min(94vw,1120px);text-align:center;font-size:11px;line-height:1.65;color:#e9bda6;opacity:.75}.game-footer p{margin:0}.game-footer .credits{margin-top:3px;font-size:10px;color:#d9a894;opacity:.68}body.touch-play{overflow:hidden;overscroll-behavior:none;touch-action:none}.touch-controls,.rotate-hint{display:none}.game-page.is-touch{position:fixed;top:0;right:0;bottom:0;left:0;min-height:0;display:block;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);overflow:hidden;touch-action:none;overscroll-behavior:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.game-page.is-touch .game-header,.game-page.is-touch .game-footer,.game-page.is-touch .frame-hint,.game-page.is-touch .glow{display:none}.game-page.is-touch .game-frame{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:0;background:#120b16;box-shadow:none}.game-page.is-touch .game-container,.game-page.is-touch .game-container canvas{touch-action:none}.game-page.is-touch .game-container{width:min(100%,calc((100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)) * 16 / 9));border-radius:0;box-shadow:none}.game-page.is-touch .touch-controls{display:block;position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none}.touch-btn{pointer-events:auto;-webkit-appearance:none;-moz-appearance:none;appearance:none;display:grid;place-items:center;margin:0;border:1px solid rgba(255,226,188,.42);background:linear-gradient(160deg,#ffeccc3d,#582e3c52);color:#fff2da;box-shadow:0 6px 18px #0a040c61,inset 0 1px #fff5dc61;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);text-shadow:0 2px 0 rgba(60,26,36,.45);user-select:none;-webkit-user-select:none;touch-action:none;-webkit-tap-highlight-color:transparent;transition:transform 90ms ease,background .12s ease}.touch-btn:active{transform:scale(.93);background:linear-gradient(160deg,#fff0d25c,#7a3e4c6b)}.touch-btn:focus-visible{outline:2px solid #ffe6b4;outline-offset:3px}.touch-btn.is-muted{color:#d8b9a6;opacity:.62;text-decoration:line-through}.touch-icon-pause{display:flex;gap:4px;width:12px;height:14px}.touch-icon-pause:before,.touch-icon-pause:after{content:"";flex:1;border-radius:1px;background:currentColor}.touch-move,.touch-jump,.touch-system{position:absolute;display:flex;gap:12px;pointer-events:none}.touch-move{left:max(14px,env(safe-area-inset-left,0px));bottom:max(14px,env(safe-area-inset-bottom,0px))}.touch-jump{right:max(16px,env(safe-area-inset-right,0px));bottom:max(14px,env(safe-area-inset-bottom,0px))}.touch-system{left:50%;bottom:max(18px,env(safe-area-inset-bottom,0px));transform:translate(-50%);gap:8px}.touch-btn--steer{width:clamp(54px,13vmin,74px);aspect-ratio:1;border-radius:50%;font-size:clamp(18px,4.4vmin,26px)}.touch-btn--jump{width:clamp(68px,16vmin,90px);aspect-ratio:1;border-radius:50%;font-size:clamp(11px,2.3vmin,14px);font-weight:700;letter-spacing:.09em}.touch-btn--small{width:38px;height:38px;border-radius:13px;font-size:13px}@media (orientation: portrait){.game-page.is-touch .rotate-hint{display:block;position:absolute;left:50%;top:max(10px,env(safe-area-inset-top,0px));transform:translate(-50%);margin:0;padding:6px 12px;border-radius:999px;border:1px solid rgba(255,224,184,.22);background:#1e101a99;color:#ffe6c4;font-size:11px;letter-spacing:.04em;pointer-events:none;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}}@media (max-width: 720px){.game-page{gap:12px;padding-top:16px}.header-note{display:none}.brand-mark{width:38px;height:38px;border-radius:12px;font-size:18px}.game-frame{width:94vw;padding:6px;border-radius:18px}.game-container{border-radius:13px}.frame-hint{gap:4px 14px;font-size:9px}}@media (prefers-reduced-motion: reduce){.game-page:after{display:none}}
