:root{color:#fff8df;font-synthesis:none;text-rendering:optimizelegibility;background:#130d25;font-family:Inter,ui-rounded,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}html,body,#app,.game-shell{overscroll-behavior:none;width:100%;height:100%;min-height:100%;margin:0;overflow:hidden}body{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#130d25;position:fixed;inset:0}.game-shell{isolation:isolate;position:relative}.game-shell.setup-active .scoreboard,.game-shell.setup-active .instruction-card,.game-shell.setup-active .hud-actions{visibility:hidden}.loading-screen{z-index:30;background:#130d25;place-items:center;padding:20px;transition:opacity .22s,visibility .22s;display:grid;position:absolute;inset:0}.loading-screen.ready{visibility:hidden;opacity:0;pointer-events:none}.loading-card{text-align:center;width:min(100%,360px)}.loading-pumpkin{color:#0000;background:radial-gradient(circle at 65% 28%,#ffd166 0 5%,#0000 6%),repeating-linear-gradient(90deg,#f45112 0 14px,#ff6b19 14px 25px);border-radius:45% 45% 48% 48%;width:64px;height:64px;margin:0 auto 18px;animation:.9s ease-in-out infinite alternate loading-bob;box-shadow:0 0 34px #ff6b194d}.loading-card h2{color:#fff8df;margin:0;font-size:clamp(1.5rem,7vw,2.2rem)}.loading-card>p:last-child{color:#cfc3e9;margin:12px 0 0;font-size:.86rem}.loading-track{background:#ffffff12;border:1px solid #ffe6be38;border-radius:999px;width:100%;height:10px;margin-top:22px;overflow:hidden}.loading-track span{transform-origin:0;border-radius:inherit;background:linear-gradient(90deg,#ffd166,#ff6b19);width:100%;height:100%;transition:transform .18s;display:block;transform:scaleX(.2)}.loading-screen.error .loading-pumpkin{filter:grayscale(.55);animation:none}@keyframes loading-bob{to{transform:translateY(-7px)rotate(3deg)}}#game-canvas{touch-action:none;outline:none;width:100%;height:100%;display:block;position:absolute;inset:0}.hud{z-index:2;top:max(16px, env(safe-area-inset-top));left:max(18px, env(safe-area-inset-left));right:max(18px, env(safe-area-inset-right));pointer-events:none;justify-content:space-between;align-items:flex-start;gap:16px;display:flex;position:absolute}.eyebrow{color:#ffc067;letter-spacing:.13em;margin:0 0 3px;font-size:clamp(.62rem,1.8vw,.76rem);font-weight:850}h1{color:#fff8df;letter-spacing:-.04em;text-shadow:0 3px 18px #00000073;margin:0;font-size:clamp(1.35rem,5vw,2.4rem);line-height:1}.scoreboard{color:#cfc3e9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1f1231bd;border:1px solid #ffe6be33;border-radius:14px;align-items:center;gap:8px;padding:8px 12px;font-size:.72rem;line-height:1;display:flex;box-shadow:0 8px 24px #0000003d}.scoreboard span{text-align:center;gap:3px;display:grid}.scoreboard strong{color:#fff8df;font-size:.95rem}.scoreboard span+span{border-left:1px solid #ffe6be2e;padding-left:9px}button{color:#fff8df;min-width:88px;min-height:48px;font:inherit;cursor:pointer;pointer-events:auto;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1f1231c7;border:1px solid #ffe6be47;border-radius:999px;padding:0 18px;font-weight:800;box-shadow:0 8px 28px #0000004d}button:active{transform:translateY(1px)scale(.98)}button:focus-visible{outline-offset:3px;outline:3px solid #ffc067}.hud-actions{pointer-events:none;gap:8px;display:flex}.hud-actions button{min-width:82px;padding-inline:13px}.hud-actions .icon-button{color:#ffe29a}.hud-actions .icon-button.muted{color:#aaa0bd;border-style:dashed}.instruction-card{z-index:2;left:50%;top:max(88px, calc(env(safe-area-inset-top) + 78px));text-align:center;pointer-events:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1c102ec7;border:1px solid #ffe6be38;border-radius:18px;width:min(100% - 32px,420px);padding:13px 18px 14px;position:absolute;bottom:auto;transform:translate(-50%);box-shadow:0 14px 36px #00000052}.instruction-card strong,.instruction-card span{display:block}.instruction-card strong{color:#fff8df;font-size:clamp(.95rem,3.7vw,1.1rem)}.instruction-card span{color:#cfc3e9;margin-top:3px;font-size:clamp(.7rem,2.8vw,.84rem)}.game-shell.final-shot .instruction-card{background:linear-gradient(135deg,#442614f0,#1d1030f0);border-color:#ffcd4eb8;animation:1.3s ease-in-out infinite alternate final-shot-pulse;box-shadow:0 0 26px #ffae222e}.game-shell.final-shot .instruction-card strong{color:#ffd166;letter-spacing:.055em}@keyframes final-shot-pulse{to{filter:brightness(1.08);box-shadow:0 0 32px #ffae2247}}.power-wrap{z-index:3;left:50%;top:max(168px, calc(env(safe-area-inset-top) + 158px));opacity:0;pointer-events:none;background:#0b0714b3;border:1px solid #ffffff3d;border-radius:999px;width:min(48vw,250px);height:9px;transition:opacity .12s,transform .12s;position:absolute;bottom:auto;overflow:hidden;transform:translate(-50%)scaleY(0)}.power-wrap.visible{opacity:1;transform:translate(-50%)scaleY(1)}.power-fill{transform-origin:0;border-radius:inherit;background:linear-gradient(90deg,#ffd166,#ff6b19 58%,#ff3f62);width:100%;height:100%;transform:scaleX(0)}.result-card{z-index:6;text-align:center;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#1c102ef0;border:1px solid #ffd79159;border-radius:24px;width:min(100% - 36px,390px);padding:24px;position:absolute;top:47%;left:50%;transform:translate(-50%,-50%);box-shadow:0 24px 70px #0000008c}.result-card[hidden]{display:none}.setup-card{z-index:10;text-align:center;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#1c102ef7;border:1px solid #ffd79159;border-radius:24px;width:min(100% - 32px,430px);max-height:calc(100% - 32px);padding:25px;position:absolute;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 30px 90px #000000a6}.setup-card[hidden]{display:none}.setup-card h2{color:#fff8df;margin:0;font-size:clamp(1.8rem,8vw,2.7rem)}.setup-copy{color:#cfc3e9;margin:8px 0 18px}.player-fields{gap:10px;display:grid}.player-fields input{color:#fff8df;width:100%;min-height:50px;font:inherit;-webkit-user-select:text;user-select:text;background:#0c0718b3;border:1px solid #ffe6be3d;border-radius:14px;outline:none;padding:0 16px;font-size:1rem}.player-fields input:focus{border-color:#ffc067;box-shadow:0 0 0 3px #ffc0672e}.setup-card button{width:100%;margin-top:12px}.setup-card .secondary-button{color:#ffc067;background:0 0;border-style:dashed}.setup-card .start-button{color:#24112f;background:linear-gradient(135deg,#ffd166,#ff9f43)}.setup-error{color:#ff9fae;min-height:1.2em;margin:10px 0 0;font-size:.82rem}.result-kicker{color:#ffc067;letter-spacing:.14em;text-transform:uppercase;margin:0 0 6px;font-size:.72rem;font-weight:900}.result-card h2{color:#fff8df;margin:0;font-size:clamp(2rem,10vw,3.5rem);line-height:1}.result-card p:last-child{color:#cfc3e9;margin:10px 0 0;font-weight:700}.leaderboard{gap:7px;margin:18px 0 0;padding:0;list-style:none;display:grid}.leaderboard li{color:#fff8df;text-align:left;background:#ffffff12;border-radius:12px;justify-content:space-between;gap:12px;padding:10px 12px;display:flex}.leaderboard span{color:#ffc067;font-weight:900}.impact-popup{z-index:5;color:#fff4bd;letter-spacing:-.05em;text-shadow:0 5px #7d205c,0 10px 24px #000000a6;opacity:0;pointer-events:none;font-size:clamp(2rem,9vw,5rem);font-weight:1000;position:absolute;top:44%;left:50%;transform:translate(-50%,-50%)rotate(-7deg)scale(.3)}.impact-popup.show{animation:.62s cubic-bezier(.2,1.5,.35,1) both bonk-pop}.game-shell:after{content:"";z-index:4;opacity:0;pointer-events:none;background:radial-gradient(circle,#ffdb7052,#0000 45%);position:absolute;inset:0}.game-shell.impact:after{animation:.24s ease-out both impact-flash}@keyframes bonk-pop{0%{opacity:0;transform:translate(-50%,-50%)rotate(-14deg)scale(.25)}28%{opacity:1;transform:translate(-50%,-50%)rotate(6deg)scale(1.16)}68%{opacity:1;transform:translate(-50%,-50%)rotate(-3deg)scale(.98)}to{opacity:0;transform:translate(-50%,-62%)rotate(2deg)scale(1.08)}}@keyframes impact-flash{0%{opacity:0}25%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.impact-popup.show,.game-shell.impact:after,.loading-pumpkin,.game-shell.final-shot .instruction-card{animation-duration:1ms}}@media (width<=699px) and (height>=521px){.hud{top:max(10px, env(safe-area-inset-top));left:max(14px, env(safe-area-inset-left));right:max(14px, env(safe-area-inset-right))}.eyebrow{display:none}h1{font-size:1.2rem}.hud-actions{flex-direction:column;gap:4px}.hud-actions button{min-width:82px;min-height:38px;padding-inline:10px;font-size:.72rem}.scoreboard{position:absolute;top:43px;left:50%;transform:translate(-50%)}.scoreboard span:first-child{max-width:90px}.scoreboard span:first-child strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.instruction-card{z-index:4;top:auto;right:max(12px, env(safe-area-inset-right));bottom:max(12px, calc(env(safe-area-inset-bottom) + 10px));left:max(12px, env(safe-area-inset-left));text-align:left;background:#180d25f0;border-radius:22px;width:auto;min-height:78px;padding:13px 16px 14px;transform:none;box-shadow:0 -8px 30px #0000005c}.instruction-card strong{font-size:clamp(.84rem,3.8vw,1rem);line-height:1.15}.instruction-card span{margin-top:5px;font-size:clamp(.66rem,2.8vw,.78rem);line-height:1.2}.game-shell.dragging .instruction-card{min-height:94px;padding-bottom:34px}.game-shell.shot-action-ready .instruction-card{min-height:92px;padding-right:150px}.game-shell.shot-action-ready .hud{z-index:5}.game-shell.shot-action-ready #restart-button{z-index:5;right:max(24px, calc(env(safe-area-inset-right) + 20px));bottom:max(24px, calc(env(safe-area-inset-bottom) + 20px));color:#28130a;background:linear-gradient(135deg,#ffb14a,#ff8b26);border:0;border-radius:17px;width:126px;min-width:126px;min-height:56px;padding:0 14px;font-size:.92rem;position:fixed;box-shadow:0 6px #a94312,0 12px 26px #00000057}.game-shell.shot-action-ready #restart-button:after{content:" →"}.game-shell.shot-in-progress #restart-button{top:max(10px, env(safe-area-inset-top));right:max(104px, calc(env(safe-area-inset-right) + 100px));width:42px;min-width:42px;min-height:38px;padding:0;font-size:0;position:fixed}.game-shell.shot-in-progress #restart-button:before{content:"↻";font-size:1.15rem}.power-wrap{z-index:5;top:auto;right:max(28px, calc(env(safe-area-inset-right) + 24px));bottom:max(24px, calc(env(safe-area-inset-bottom) + 22px));left:max(28px, calc(env(safe-area-inset-left) + 24px));width:auto;height:10px;transform:scaleY(0)}.power-wrap.visible{transform:scaleY(1)}.impact-popup{top:auto;bottom:max(118px, calc(env(safe-area-inset-bottom) + 112px));font-size:clamp(1.25rem,6vw,1.8rem)}}@media (width<=699px) and (height>=521px) and (height<=600px){.game-shell:not(.dragging):not(.shot-action-ready) .instruction-card{min-height:62px;padding:9px 14px 10px}.game-shell.dragging .instruction-card{min-height:78px;padding:9px 14px 28px}}@media (width>=700px) and (height>=521px){.instruction-card{width:360px;top:94px;left:18px;transform:none}.power-wrap{width:250px;top:202px;left:18px;transform:scaleY(0)}.power-wrap.visible{transform:scaleY(1)}}@media (height<=520px) and (orientation:landscape){.hud{top:10px}.eyebrow{display:none}.instruction-card{width:min(40vw,330px);inset:auto auto 14px 16px;transform:none}.power-wrap{width:min(40vw,250px);top:auto;bottom:88px;left:16px;transform:none}.power-wrap.visible{transform:scaleY(1)}.game-shell.shot-action-ready #restart-button{z-index:7;right:max(16px, calc(env(safe-area-inset-right) + 12px));bottom:max(16px, calc(env(safe-area-inset-bottom) + 12px));color:#28130a;background:linear-gradient(135deg,#ffb14a,#ff8b26);border:0;min-width:126px;min-height:54px;position:fixed;box-shadow:0 5px #a94312,0 10px 24px #00000057}.game-shell.shot-action-ready #restart-button:after{content:" →"}}
