*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#8ec5ff;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#fff}#game{display:block;width:100vw;height:100vh}.panel{position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(440px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;background:#0f172ae0;border-radius:16px;padding:24px 24px 20px;box-shadow:0 20px 60px #00000059;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.panel{z-index:10}.panel[hidden]{display:none}h1{margin:0 0 4px;font-size:26px}.sub{margin:0 0 16px;opacity:.8}.controls{width:100%;border-collapse:collapse;font-size:14px;margin-bottom:14px}.controls td{padding:4px 0;border-bottom:1px solid rgba(255,255,255,.08)}.controls td:first-child{font-weight:700;width:92px;color:#ffd166}.status{font-size:13px;margin:0 0 10px;opacity:.9}details{font-size:13px;margin-bottom:16px}details p{opacity:.8}summary{cursor:pointer;opacity:.85}input{width:100%;padding:8px 10px;border-radius:8px;border:1px solid #334155;background:#0b1220;color:#fff;margin-bottom:8px}button{font:inherit;border:0;border-radius:10px;padding:8px 14px;cursor:pointer;background:#334155;color:#fff}button.ghost{background:transparent;text-decoration:underline;opacity:.8}button.primary{width:100%;padding:14px;font-size:17px;font-weight:700;background:#ffd166;color:#1f2937}#hud{position:fixed;inset:0;pointer-events:none;text-shadow:0 1px 3px rgba(0,0,0,.6)}#hud [hidden]{display:none}#mode{position:absolute;top:14px;left:16px;font-weight:700;font-size:15px}#treats{position:absolute;top:14px;right:16px;font-weight:700;font-size:18px}#score{position:absolute;top:14px;left:50%;transform:translate(-50%);background:#00000073;padding:6px 14px;border-radius:10px;font-weight:800;font-size:18px}#prompt{position:absolute;bottom:22%;left:50%;transform:translate(-50%);background:#0000008c;padding:8px 16px;border-radius:10px;font-size:17px}#toast{position:absolute;top:22%;left:50%;transform:translate(-50%);background:#ffd166f2;color:#1f2937;text-shadow:none;padding:10px 18px;border-radius:12px;font-weight:700;font-size:18px}#debug{position:absolute;top:44px;left:16px;margin:0;font-size:12px;background:#00000080;padding:8px;border-radius:8px}#attribution{position:absolute;bottom:6px;right:10px;font-size:11px;opacity:.85;max-width:60vw;text-align:right}html,body{touch-action:none;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.touch-only{display:none}body.touch-mode .touch-only{display:revert}body.touch-mode .desk-only{display:none}#touch{position:fixed;inset:0;pointer-events:none;z-index:5}#touch[hidden],#touch .tbtn[hidden]{display:none}#touch .stick{position:fixed;left:130px;bottom:0;top:auto;width:150px;height:150px;margin:-75px 0 0 -75px;border-radius:50%;background:#ffffff1f;border:2px solid rgba(255,255,255,.45);opacity:.55;transition:opacity .15s}#touch .stick:not(.active){top:calc(100% - 150px - env(safe-area-inset-bottom,0px))!important;left:calc(130px + env(safe-area-inset-left,0px))!important}#touch .stick.active{opacity:1}#touch .knob{position:absolute;left:50%;top:50%;width:64px;height:64px;border-radius:50%;transform:translate(-50%,-50%);background:#ffffffd9;box-shadow:0 2px 10px #00000059}#touch .tbuttons{position:fixed;right:calc(20px + env(safe-area-inset-right,0px));bottom:calc(24px + env(safe-area-inset-bottom,0px));width:108px;height:108px;pointer-events:auto;--r: 132px}#touch .tbuttons .tbtn{position:absolute;left:calc(54px + var(--x, 0px));top:calc(54px + var(--y, 0px))}#tJump{margin:-54px 0 0 -54px}#tAction{--x: calc(var(--r) * -1);margin:-40px 0 0 -40px}#tKick{--x: calc(var(--r) * -.7071);--y: calc(var(--r) * -.7071);margin:-40px 0 0 -40px}#tDown{--y: calc(var(--r) * -1);margin:-36px 0 0 -36px}.tbtn{width:80px;height:80px;border-radius:50%;border:3px solid #fff;background:#1e293b;color:#fff;box-shadow:0 0 0 2px #0f172abf,0 4px 12px #00000073;font:700 28px/1 system-ui,sans-serif;display:grid;place-items:center;align-content:center;gap:3px;padding:0;touch-action:none;text-shadow:0 1px 2px rgba(0,0,0,.5)}.tbtn span{font-size:14px;font-weight:800;letter-spacing:.02em}.tbtn.big{width:108px;height:108px;font-size:38px;background:#ffd166;color:#1f2937;text-shadow:none}.tbtn.small{width:72px;height:72px;font-size:24px}.tbtn.small span{font-size:13px}.tbtn.pressed{transform:scale(.92);filter:brightness(1.3)}#tAction.ready,#tKick.ready{background:#22a35a;animation:pulse 1s ease-in-out infinite}@keyframes pulse{50%{transform:scale(1.08)}}@media(prefers-reduced-motion:reduce){#tAction.ready,#tKick.ready{animation:none}}body.touch-mode #prompt{bottom:calc(190px + env(safe-area-inset-bottom,0px));max-width:calc(100vw - 32px);text-align:center}@media(orientation:portrait){body.touch-mode #prompt{bottom:calc(300px + env(safe-area-inset-bottom,0px))}}#touch .help{position:fixed;top:calc(10px + env(safe-area-inset-top,0px));left:calc(12px + env(safe-area-inset-left,0px));width:52px;height:52px;font-size:26px;pointer-events:auto}body.touch-mode #mode{left:calc(76px + env(safe-area-inset-left,0px));top:calc(24px + env(safe-area-inset-top,0px))}body.touch-mode.paused #touch,body.touch-mode.paused #prompt{display:none!important}@media(pointer:coarse)and (max-height:500px),(pointer:coarse)and (max-width:500px){#touch .stick{width:116px;height:116px;margin:-58px 0 0 -58px}#touch .stick:not(.active){top:calc(100% - 100px - env(safe-area-inset-bottom,0px))!important;left:calc(92px + env(safe-area-inset-left,0px))!important}#touch .knob{width:48px;height:48px}#touch .tbuttons{width:80px;height:80px;right:calc(12px + env(safe-area-inset-right,0px));bottom:calc(14px + env(safe-area-inset-bottom,0px));--r: 98px}#touch .tbuttons .tbtn{left:calc(40px + var(--x, 0px));top:calc(40px + var(--y, 0px))}.tbtn{width:60px;height:60px;font-size:21px;border-width:2px;gap:1px}.tbtn span{font-size:11px}.tbtn.big{width:80px;height:80px;font-size:28px}.tbtn.small{width:54px;height:54px;font-size:18px}.tbtn.small span{font-size:10px}#tJump{margin:-40px 0 0 -40px}#tAction,#tKick{margin:-30px 0 0 -30px}#tDown{margin:-27px 0 0 -27px}#touch .help{width:40px;height:40px;font-size:20px}body.touch-mode #mode{left:calc(60px + env(safe-area-inset-left,0px));top:calc(19px + env(safe-area-inset-top,0px));font-size:13px}body.touch-mode #prompt{bottom:calc(120px + env(safe-area-inset-bottom,0px));font-size:15px;padding:6px 12px}}@media(pointer:coarse)and (max-width:500px)and (orientation:portrait){body.touch-mode #prompt{bottom:calc(220px + env(safe-area-inset-bottom,0px))}}
