:root{--ink:#19152b;--cream:#fff2c6;--yellow:#ffd43b;--orange:#ff7a2d;--pink:#e73f79;--purple:#713b8f;--green:#69bc45;--darkgreen:#30743e;--cyan:#42d7cc}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#160f27;color:var(--cream);font-family:'Press Start 2P',monospace;overflow:hidden}button{font:inherit}.scanlines{position:fixed;inset:0;z-index:20;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.1) 0,rgba(0,0,0,.1) 1px,transparent 1px,transparent 4px);mix-blend-mode:multiply;opacity:.24}.cabinet{height:100vh;display:flex;flex-direction:column;background:#28194b;border:8px solid #120d23}.topbar{height:92px;flex:none;display:flex;align-items:center;padding:12px 26px;background:var(--ink);border-bottom:6px solid #4d2c70;position:relative;z-index:12}.brand{display:flex;align-items:center;gap:12px;color:var(--yellow);font-size:15px;line-height:1.25;text-shadow:3px 3px #b92c5f}.brand b{color:#ff5d54}.logo-hammer{font-size:40px;filter:drop-shadow(3px 3px #713b8f)}.sound-btn{margin-left:auto;color:var(--cream);background:#3d275e;border:3px solid #8b62b1;padding:11px 12px;box-shadow:3px 3px #0e0920;cursor:pointer}.hud{display:flex;align-items:center;gap:38px;margin:auto}.stat{text-align:center}.stat small{display:block;font-size:8px;color:#e5b8ee;margin-bottom:8px}.stat strong{color:var(--yellow);font-size:19px;text-shadow:3px 3px #7d2b6f}.timer-stat strong{color:#fff}.screen{position:relative;flex:1;min-height:0;overflow:hidden}.hidden{display:none!important}.menu-screen,.results-screen{background:linear-gradient(#4c2b78 0 47%,#e15168 47% 58%,#f5a348 58% 100%)}.sun{position:absolute;width:320px;height:320px;border-radius:50%;background:repeating-linear-gradient(#ffce45 0 20px,#f78c3f 20px 32px);left:50%;top:42%;transform:translate(-50%,-50%);opacity:.65}.mountains{position:absolute;inset:auto 0 0;height:42%;background:linear-gradient(135deg,transparent 30%,#41235e 31% 52%,transparent 53%) 0 0/300px 100%,linear-gradient(45deg,transparent 32%,#2c1a4b 33% 59%,transparent 60%) 140px 0/380px 100%}.menu-card,.result-card{position:relative;z-index:2;width:min(680px,94vw);margin:20px auto;text-align:center;padding:10px 26px 24px;background:rgba(24,15,42,.85);border:5px solid var(--cream);outline:5px solid #a63f73;box-shadow:12px 12px 0 rgba(19,10,32,.6)}.eyebrow{color:var(--yellow);font-size:10px;letter-spacing:2px}.menu-card h1,.result-card h2{font-size:clamp(28px,5vw,54px);line-height:.95;margin:10px 0;color:#fff;text-shadow:5px 5px #e03a66,9px 9px #5e2677}.menu-card h1 span{color:var(--yellow)}.subtitle{font-size:10px;color:#ff9f58}.preview-duo{height:145px;display:flex;justify-content:center;align-items:end;gap:4px;margin:5px 0}.preview-duo img{width:155px;height:155px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(5px 5px #130c25)}.versus{align-self:center;background:#f03f69;color:#fff;border:4px solid var(--yellow);border-radius:50%;padding:13px 8px;font-size:11px;z-index:2;transform:rotate(-8deg)}.choose{font-size:9px;color:#ddbee8;margin:4px 0 10px}.difficulty{display:flex;justify-content:center;gap:8px}.difficulty button{color:#b89fc9;background:#312047;border:3px solid #76548b;padding:10px 14px;cursor:pointer;min-width:150px;box-shadow:3px 3px #100b1d}.difficulty button span{display:block;font-size:10px}.difficulty button small{display:block;font-family:monospace;font-weight:bold;margin-top:6px;font-size:10px}.difficulty button.selected{background:#c13d68;border-color:var(--yellow);color:#fff;transform:translateY(-3px)}.start-btn{display:block;margin:16px auto 8px;background:var(--yellow);color:#2a1738;border:4px solid #fff3a0;padding:15px 35px;box-shadow:5px 5px #d14a38,9px 9px #170d27;cursor:pointer}.start-btn:hover{transform:translate(2px,2px);box-shadow:3px 3px #d14a38,6px 6px #170d27}.start-btn i{font-style:normal;color:#e54351}.how{font-size:7px;color:#bda2cd;margin-top:14px}.game-screen{cursor:none;background:#7cd8dc}.game-sky{position:absolute;inset:0 0 42%;background:linear-gradient(#6ecdd0,#e8dd96);overflow:hidden}.game-sky:after{content:"";position:absolute;width:130px;height:130px;border-radius:50%;background:#fff0a1;right:8%;top:10%;box-shadow:0 0 0 12px rgba(255,255,255,.15)}.game-sky i{position:absolute;width:120px;height:25px;background:#fff6d3;top:20%;left:12%;box-shadow:30px -15px #fff6d3}.game-sky i:nth-child(2){left:46%;top:36%;transform:scale(.7)}.game-sky i:nth-child(3){left:76%;top:17%;transform:scale(.5)}.field{position:absolute;inset:32% 0 0;background:repeating-linear-gradient(90deg,rgba(0,0,0,.04) 0 3px,transparent 3px 12px),linear-gradient(#69b944,#3a8a43);display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);padding:4vh 12vw 8vh;gap:1vh 6vw}.hole{position:relative;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;isolation:isolate}.hole:after{content:"";position:absolute;z-index:3;bottom:5%;width:90%;height:30%;background:#3a1f2c;border:7px solid #725033;border-radius:50%;box-shadow:inset 0 8px #1b1320,0 9px #326e38}.buddy{position:absolute;z-index:2;width:min(17vw,190px);height:min(17vw,190px);object-fit:contain;image-rendering:pixelated;bottom:-90%;transition:bottom .15s cubic-bezier(.2,1.6,.4,1);filter:drop-shadow(5px 5px rgba(30,15,30,.5));pointer-events:none}.hole.up .buddy{bottom:4%}.hole.hit .buddy{transform:scale(.9) translateY(12px);filter:brightness(1.4) sepia(.3) drop-shadow(5px 5px rgba(30,15,30,.5))}.speech{position:absolute;z-index:5;top:0;background:#fff;color:#d53a55;border:4px solid var(--ink);padding:9px;font-size:12px;transform:rotate(-8deg);animation:pop .35s both}.powerup{position:absolute;z-index:6;width:52px;height:52px;border:4px solid #fff;border-radius:8px;display:grid;place-items:center;font-size:28px;background:var(--cyan);box-shadow:4px 4px var(--ink);cursor:none;animation:float .7s infinite alternate}.powerbar{position:absolute;z-index:10;top:12px;left:50%;transform:translateX(-50%);display:flex;background:#25163c;border:4px solid #fff;padding:8px 12px;gap:12px;font-size:8px}.power-status{color:var(--yellow)}.grass-front{position:absolute;z-index:7;left:0;right:0;bottom:0;height:7%;background:repeating-linear-gradient(110deg,#286d38 0 16px,#3c8f42 17px 32px);pointer-events:none}.hammer{position:fixed;z-index:100;width:90px;height:100px;pointer-events:none;transform-origin:65px 75px;transform:translate(-20px,-75px) rotate(-20deg)}.hammer.swing{animation:swing .16s ease-in}.hammer-head{position:absolute;width:65px;height:39px;left:8px;top:5px;background:#d5d0c8;border:6px solid #252037;box-shadow:inset 0 8px #f7f0d7,6px 6px #6f5571}.hammer-head:after{content:"";position:absolute;width:17px;height:45px;background:#a8a4a3;border:5px solid #252037;right:-18px;top:-8px}.handle{position:absolute;width:20px;height:75px;background:#a95536;border:5px solid #252037;left:42px;top:37px;transform:rotate(-10deg);box-shadow:inset 5px 0 #e69249}.toast{position:absolute;z-index:30;left:50%;top:16%;transform:translateX(-50%);font-size:18px;color:#fff;text-shadow:4px 4px #9e2a65;pointer-events:none}.toast.show{animation:toast .9s both}.results-screen{display:grid;place-items:center}.result-card{width:min(550px,92vw);padding:24px}.result-card h2{color:var(--yellow)}.final-score{background:#27183d;border:4px solid #8c629d;padding:15px;margin:20px}.final-score small{display:block;color:#e2bddf;font-size:9px;margin-bottom:12px}.final-score strong{font-size:38px;color:#fff}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.result-grid div{background:#3b2551;padding:14px 5px;border-bottom:4px solid #6e3e79}.result-grid small{display:block;font-size:6px;color:#cdb5d8;margin-bottom:10px}.result-grid b{color:var(--yellow);font-size:13px}.rank{color:#ff8d4f;font-size:12px;margin:18px}.text-btn{background:none;border:0;color:#d9bcdf;font-size:8px;text-decoration:underline;cursor:pointer}@keyframes swing{50%{transform:translate(-20px,-75px) rotate(55deg) scale(1.1)}}@keyframes pop{from{transform:scale(0) rotate(-12deg)}to{transform:scale(1) rotate(-8deg)}}@keyframes float{to{transform:translateY(-9px)}}@keyframes toast{0%{opacity:0;transform:translate(-50%,20px) scale(.5)}20%,75%{opacity:1;transform:translate(-50%,0) scale(1)}100%{opacity:0;transform:translate(-50%,-30px)}}
@media(max-width:700px){.topbar{height:78px;padding:8px 10px}.brand{font-size:10px}.logo-hammer{font-size:27px}.hud{gap:11px}.stat strong{font-size:12px}.stat small{font-size:6px}.sound-btn{font-size:7px;padding:9px 5px}.menu-card{margin:10px auto;padding:7px 12px}.preview-duo{height:120px}.preview-duo img{width:120px;height:120px}.difficulty button{min-width:0;flex:1;padding:8px 3px}.difficulty button span{font-size:7px}.difficulty button small{font-size:8px}.field{padding:5vh 4vw 8vh;gap:1vh 3vw}.buddy{width:28vw;height:28vw}.hole:after{border-width:4px}.powerbar{top:5px}.game-screen{cursor:default}.hammer{display:none}}

/* Pixel arcade scrolling and correctly framed character pop-ups. */
.menu-screen{overflow-x:hidden;overflow-y:scroll;scrollbar-color:var(--yellow) #24143b;scrollbar-width:auto}
.menu-screen::-webkit-scrollbar{width:18px}.menu-screen::-webkit-scrollbar-track{background:#24143b;border-left:4px solid #0f091c}.menu-screen::-webkit-scrollbar-thumb{background:var(--yellow);border:4px solid #24143b;box-shadow:inset 0 0 0 3px #f0783e}.menu-screen::-webkit-scrollbar-button:single-button{height:18px;background:#e94a68;border:4px solid #24143b}
.buddy{width:min(14vw,145px);height:min(14vw,145px);bottom:-100%;visibility:visible}.hole.up .buddy{bottom:1%}.hole:after{height:23%;bottom:3%}.hole.hit .buddy{transform:scale(.9) translateY(8px)}
@media(max-width:700px){.menu-card{margin-bottom:30px}.buddy{width:24vw;height:24vw}.hole:after{height:20%}}

.quit-btn{position:absolute;z-index:15;right:18px;top:12px;background:#de4164;color:#fff;border:4px solid #fff2c6;padding:9px 12px;box-shadow:4px 4px #231438;cursor:pointer;font-size:8px}.quit-modal{position:absolute;z-index:200;inset:0;background:rgba(18,9,31,.82);display:grid;place-items:center}.quit-card{width:min(430px,90vw);background:#2b1941;border:5px solid #fff2c6;outline:5px solid #e24469;padding:25px;text-align:center;box-shadow:10px 10px #10081d}.quit-card h2{color:#ffd43b;font-size:18px;text-shadow:3px 3px #9b2d65}.quit-card p{font-size:8px;color:#dbbbdf;margin:18px}.quit-card button{border:3px solid #fff2c6;padding:10px;margin:5px;background:#ffd43b;color:#24143b;font-size:7px;cursor:pointer}.quit-card #confirmQuit{background:#e24469;color:#fff}

/* Results scrolling, full transparent sprites, and pause controls. */
.results-screen{display:block;overflow-x:hidden;overflow-y:scroll;scrollbar-color:var(--yellow) #24143b;scrollbar-width:auto}.results-screen::-webkit-scrollbar{width:18px}.results-screen::-webkit-scrollbar-track{background:#24143b;border-left:4px solid #0f091c}.results-screen::-webkit-scrollbar-thumb{background:var(--yellow);border:4px solid #24143b;box-shadow:inset 0 0 0 3px #f0783e}.results-screen .result-card{margin:30px auto}
.hole{overflow:visible}.buddy{width:min(12vw,120px);height:min(12vw,120px)}
.game-controls{position:absolute;z-index:15;right:18px;top:12px;display:flex;gap:9px}.game-controls .quit-btn,.pause-btn{position:static;background:#de4164;color:#fff;border:4px solid #fff2c6;padding:9px 12px;box-shadow:4px 4px #231438;cursor:pointer;font-size:8px}.pause-btn{background:#664395}.pause-card #resumeBtn{background:#ffd43b;color:#24143b;padding:13px 20px}
@media(max-width:700px){.game-controls{right:6px;top:5px;gap:5px}.game-controls .quit-btn,.pause-btn{padding:7px 6px;font-size:6px}.buddy{width:22vw;height:22vw}}

/* Lightweight bonk reactions, Golden Buddies, and expandable hammer power-ups. */
.hole.hit{z-index:8}.hole.reaction-squish .buddy{animation:buddy-squish .34s ease-out both}.hole.reaction-shake .buddy{animation:buddy-shake .32s steps(5,end) both}.hole.reaction-dizzy .buddy{animation:buddy-bounce .34s ease-out both}.hole.reaction-surprised .buddy{animation:buddy-surprise .34s steps(3,end) both}.hole.reaction-particles .buddy{animation:buddy-bounce .34s ease-out both}
.dizzy-stars{position:absolute;z-index:9;left:50%;top:4%;width:90px;height:35px;transform:translateX(-50%);animation:stars-orbit .36s linear both;pointer-events:none}.dizzy-stars i{position:absolute;color:var(--yellow);font-style:normal;font-size:14px;text-shadow:2px 2px var(--pink)}.dizzy-stars i:nth-child(1){left:3px;top:12px}.dizzy-stars i:nth-child(2){left:38px;top:0}.dizzy-stars i:nth-child(3){right:2px;top:14px}
.hit-particle{--particle-angle:0deg;--particle-color:var(--yellow);position:absolute;z-index:10;left:50%;top:45%;width:9px;height:9px;background:var(--particle-color);box-shadow:2px 2px var(--ink);pointer-events:none;animation:pixel-burst .38s ease-out both}
.hole.golden .buddy{filter:sepia(1) saturate(2.4) brightness(1.25) drop-shadow(0 0 8px #fff4a3) drop-shadow(0 0 13px #ffb51b)}.hole.golden:before{content:"GOLD!";position:absolute;z-index:8;top:1%;left:50%;transform:translateX(-50%);color:#fff4a3;font-size:8px;text-shadow:2px 2px #a34917;animation:gold-label .35s steps(2,end) infinite alternate}.hole.golden.hit .buddy{filter:sepia(1) saturate(3) brightness(1.7) drop-shadow(0 0 12px #fff)}
.golden-sparkle{position:absolute;z-index:7;left:var(--sparkle-left);top:26%;width:8px;height:8px;background:#fff6bd;box-shadow:0 0 0 3px #ffc229;transform:rotate(45deg);animation:gold-sparkle .48s var(--sparkle-delay) steps(2,end) infinite alternate;pointer-events:none}
.hole.fake-out .buddy{opacity:.65;filter:grayscale(.35) drop-shadow(3px 3px rgba(30,15,30,.45));animation:fake-wobble .22s steps(2,end) infinite}.hole.fake-out:before{content:"?";position:absolute;z-index:8;top:5%;left:50%;color:#fff;text-shadow:3px 3px var(--purple);animation:pop .22s both}
.powerup-giant{background:var(--cyan)}.powerup-golden{background:var(--yellow);box-shadow:0 0 0 4px #ff9f2f,4px 4px var(--ink);animation:float .7s infinite alternate,gold-pulse .35s steps(2,end) infinite alternate}.giant-hammer-active .hammer{transform:translate(-28px,-88px) scale(1.55) rotate(-20deg);filter:drop-shadow(0 0 8px #fff2c6)}.giant-hammer-active .hammer.swing{animation:giant-swing .18s ease-in}

@keyframes buddy-squish{0%{transform:scale(1)}35%{transform:scale(1.18,.68) translateY(18px)}70%{transform:scale(.9,1.12) translateY(-5px)}100%{transform:scale(.88) translateY(12px)}}
@keyframes buddy-shake{0%,100%{transform:translateX(0) scale(.92)}20%{transform:translateX(-12px) rotate(-5deg)}40%{transform:translateX(12px) rotate(5deg)}60%{transform:translateX(-9px) rotate(-3deg)}80%{transform:translateX(8px) rotate(3deg)}}
@keyframes buddy-bounce{0%{transform:scale(1)}45%{transform:translateY(-18px) scale(1.08)}100%{transform:translateY(10px) scale(.9)}}
@keyframes buddy-surprise{0%{transform:scale(1)}35%{transform:scale(1.28) translateY(-12px);filter:brightness(2) saturate(0)}100%{transform:scale(.9) translateY(10px)}}
@keyframes stars-orbit{from{transform:translateX(-50%) rotate(0) scale(.5);opacity:0}25%{opacity:1}to{transform:translateX(-50%) rotate(160deg) scale(1);opacity:0}}
@keyframes pixel-burst{from{transform:translate(-50%,-50%) rotate(var(--particle-angle)) translateX(4px);opacity:1}to{transform:translate(-50%,-50%) rotate(var(--particle-angle)) translateX(72px);opacity:0}}
@keyframes gold-sparkle{from{opacity:.25;transform:rotate(45deg) scale(.55)}to{opacity:1;transform:rotate(45deg) scale(1.15)}}
@keyframes gold-label{to{transform:translateX(-50%) translateY(-3px)}}
@keyframes fake-wobble{to{transform:translateX(5px)}}
@keyframes gold-pulse{to{filter:brightness(1.35) drop-shadow(0 0 7px #fff2a0)}}
@keyframes giant-swing{0%{transform:translate(-28px,-88px) scale(1.55) rotate(-20deg)}50%{transform:translate(-28px,-88px) scale(1.72) rotate(55deg)}100%{transform:translate(-28px,-88px) scale(1.55) rotate(-20deg)}}

@media(max-width:700px){.dizzy-stars{top:10%;transform:translateX(-50%) scale(.8)}.hole.golden:before{font-size:6px}.hit-particle{width:7px;height:7px}}

/* Pixel-stage pass: rising buddies, layered holes, aligned hammer, and blockier scenery. */
.game-sky{background:linear-gradient(to bottom,#58c4cf 0 28%,#72d0d2 28% 54%,#a7d8c1 54% 76%,#eadb91 76%);image-rendering:pixelated}
.game-sky:after{width:112px;height:112px;border-radius:0;background:var(--yellow);right:8%;top:9%;clip-path:polygon(25% 0,75% 0,75% 8%,92% 8%,92% 25%,100% 25%,100% 75%,92% 75%,92% 92%,75% 92%,75% 100%,25% 100%,25% 92%,8% 92%,8% 75%,0 75%,0 25%,8% 25%,8% 8%,25% 8%);box-shadow:0 0 0 10px rgba(255,244,163,.28)}
.game-sky i{width:112px;height:24px;background:#fff4ca;box-shadow:24px -16px #fff4ca,48px 0 #fff4ca,16px 16px #fff4ca;clip-path:polygon(0 33%,20% 33%,20% 0,60% 0,60% 33%,100% 33%,100% 100%,0 100%)}
.field{inset:25% 0 0;padding:1vh 7vw 3vh;gap:.2vh 3vw;background:linear-gradient(to bottom,rgba(255,255,255,.08),transparent 8%),repeating-linear-gradient(0deg,transparent 0 22px,rgba(23,91,50,.11) 22px 26px),repeating-linear-gradient(90deg,#61b648 0 24px,#58aa43 24px 48px,#65b94a 48px 72px);image-rendering:pixelated}
.grass-front{background:repeating-linear-gradient(90deg,#23683a 0 10px,#327c3d 10px 20px,#3f9142 20px 30px,#286f38 30px 40px);clip-path:polygon(0 18%,2% 18%,2% 0,4% 0,4% 28%,7% 28%,7% 8%,9% 8%,9% 34%,12% 34%,12% 0,14% 0,14% 25%,17% 25%,17% 10%,19% 10%,19% 30%,22% 30%,22% 4%,24% 4%,24% 28%,27% 28%,27% 12%,29% 12%,29% 34%,32% 34%,32% 0,34% 0,34% 26%,37% 26%,37% 7%,39% 7%,39% 31%,42% 31%,42% 2%,44% 2%,44% 25%,47% 25%,47% 11%,49% 11%,49% 33%,52% 33%,52% 5%,54% 5%,54% 27%,57% 27%,57% 0,59% 0,59% 31%,62% 31%,62% 9%,64% 9%,64% 26%,67% 26%,67% 3%,69% 3%,69% 34%,72% 34%,72% 13%,74% 13%,74% 28%,77% 28%,77% 0,79% 0,79% 30%,82% 30%,82% 8%,84% 8%,84% 25%,87% 25%,87% 4%,89% 4%,89% 34%,92% 34%,92% 12%,94% 12%,94% 27%,97% 27%,97% 2%,99% 2%,99% 20%,100% 20%,100% 100%,0 100%)}

.hole{overflow:visible;isolation:isolate;image-rendering:pixelated}
.hole:before,.hole.golden:before,.hole.fake-out:before{content:"";position:absolute;z-index:1;left:5%;top:auto;bottom:2%;width:90%;height:27%;background:#211522;border:0;clip-path:polygon(14% 0,86% 0,86% 8%,95% 8%,95% 20%,100% 20%,100% 72%,94% 72%,94% 86%,82% 86%,82% 100%,18% 100%,18% 92%,7% 92%,7% 80%,0 80%,0 28%,6% 28%,6% 14%,14% 14%);box-shadow:none;animation:none;transform:none;pointer-events:none}
.hole:after{content:"";position:absolute;z-index:4;left:3%;bottom:0;width:94%;height:17%;background:#71462f;border:0;border-radius:0;clip-path:polygon(0 0,9% 0,9% 13%,20% 13%,20% 25%,80% 25%,80% 13%,91% 13%,91% 0,100% 0,100% 70%,93% 70%,93% 86%,82% 86%,82% 100%,18% 100%,18% 88%,7% 88%,7% 72%,0 72%);box-shadow:inset 0 -7px #4d3127,0 7px #2d7039;pointer-events:none}
.buddy-stage{position:absolute;z-index:2;inset:-8% 0 5%;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;pointer-events:none}
.buddy{position:absolute;z-index:2;left:auto;width:min(18vw,180px);height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center bottom;bottom:-105%;transition:bottom .3s steps(6,end);will-change:bottom,transform}
.hole.up .buddy{bottom:-1%}
.hole.retreating .buddy{bottom:-105%;transition:bottom .32s steps(6,end)}
.hole.teasing .buddy{animation:buddy-tease .38s steps(4,end) infinite alternate}
.hole.retreating .speech{opacity:0;transform:translateY(12px) rotate(-8deg);transition:opacity .15s,transform .15s}
.hole.angry-reaction .speech{color:#fff;background:#d4313f;border-color:#ffd43b}
.hole.hit:not(.retreating) .buddy{transition:none}
.hole-badge{position:absolute;z-index:9;left:50%;top:1%;transform:translateX(-50%);pointer-events:none}.golden-badge{color:#fff4a3;font-size:8px;text-shadow:2px 2px #a34917;animation:gold-label .35s steps(2,end) infinite alternate}.fake-badge{color:#fff;font-size:16px;text-shadow:3px 3px var(--purple);animation:pop .22s both}

.powerup{box-sizing:border-box;width:58px;height:58px;border:6px solid #fff2c6;border-radius:0;font-size:25px;outline:4px solid var(--ink);box-shadow:7px 7px 0 var(--ink);animation:pixel-float .7s steps(2,end) infinite alternate;image-rendering:pixelated}
.powerup:before,.powerup:after{content:"";position:absolute;background:inherit;z-index:-1}.powerup:before{inset:-10px 10px}.powerup:after{inset:10px -10px}
.powerup-golden{box-shadow:7px 7px 0 var(--ink),0 0 0 6px #ff9f2f;animation:pixel-float .7s steps(2,end) infinite alternate,gold-pulse .35s steps(2,end) infinite alternate}

.hammer{width:96px;height:112px;margin-left:20px;margin-top:-69px;transform-origin:52px 105px;transform:rotate(0);image-rendering:pixelated}
.hammer-head{width:72px;height:42px;left:4px;top:4px;border:6px solid #252037;border-radius:0;background:linear-gradient(to bottom,#f7f0d7 0 24%,#d5d0c8 24% 72%,#aaa4a7 72%);clip-path:polygon(8% 0,92% 0,92% 10%,100% 10%,100% 90%,92% 90%,92% 100%,8% 100%,8% 90%,0 90%,0 10%,8% 10%);box-shadow:6px 6px 0 #6f5571}
.hammer-head:after{width:18px;height:45px;right:-19px;top:-7px;border-radius:0;box-shadow:4px 4px 0 #6f5571}
.handle{width:20px;height:76px;left:42px;top:38px;border-radius:0;background:linear-gradient(90deg,#7f382c 0 28%,#d57a3e 28% 68%,#9d4932 68%);box-shadow:5px 5px 0 #4c2730;transform:rotate(-8deg)}
.hammer.swing{animation:pixel-swing .18s steps(4,end)}
.giant-hammer-active .hammer{margin-left:60px;margin-top:-49px;transform:rotate(0) scale(1.55);filter:drop-shadow(0 0 8px #fff2c6)}
.giant-hammer-active .hammer.swing{animation:giant-pixel-swing .2s steps(4,end)}

@keyframes pixel-float{to{transform:translateY(-10px)}}
@keyframes buddy-tease{from{transform:translateX(-5px) rotate(-2deg)}to{transform:translateX(5px) rotate(2deg) translateY(-4px)}}
@keyframes pixel-swing{0%{transform:rotate(0)}50%{transform:rotate(-55deg)}100%{transform:rotate(0)}}
@keyframes giant-pixel-swing{0%{transform:rotate(0) scale(1.55)}50%{transform:rotate(-55deg) scale(1.55)}100%{transform:rotate(0) scale(1.55)}}

@media(max-width:700px){.field{inset:23% 0 0;padding:1vh 2vw 3vh;gap:.2vh 2vw}.buddy-stage{inset:-5% 0 5%}.buddy{width:100%;height:100%}.hole:before,.hole.golden:before,.hole.fake-out:before{height:23%}.hole:after{height:14%}.powerup{width:54px;height:54px}}

/* Difficulty worlds: cheerful skies, spicy sunset, and an infernal final stage. */
.mode-easy .game-sky{background:linear-gradient(#5fd8ff 0 48%,#bff4ff 48% 72%,#f8ef9d 72%)}
.mode-easy .game-sky:before{content:"";position:absolute;z-index:0;left:5%;top:8%;width:170px;height:88px;border-radius:100px 100px 0 0;background:radial-gradient(ellipse at center bottom,transparent 0 28%,#8664d8 29% 36%,#4d9ff0 37% 44%,#59cf75 45% 52%,#ffd84b 53% 60%,#ff8b45 61% 68%,#ed527d 69% 76%,transparent 77%);image-rendering:pixelated}
.mode-easy .field{background:repeating-linear-gradient(0deg,transparent 0 28px,rgba(255,255,255,.09) 28px 32px),repeating-linear-gradient(90deg,#68c94f 0 24px,#78d85b 24px 48px,#59b947 48px 72px)}
.mode-easy .grass-front{background:repeating-linear-gradient(90deg,#2f873d 0 10px,#48a94a 10px 20px,#68c853 20px 30px)}

.mode-normal .game-sky{background:linear-gradient(#55256f 0 18%,#c33d66 18% 45%,#ff7c38 45% 70%,#ffc24b 70%)}
.mode-normal .game-sky:before{content:"";position:absolute;left:8%;bottom:-8%;width:38%;height:46%;background:#40234f;clip-path:polygon(0 100%,18% 58%,29% 70%,48% 12%,63% 62%,78% 42%,100% 100%);box-shadow:380px 20px #572448}
.mode-normal .game-sky:after{background:#ffcf45;box-shadow:0 0 0 10px rgba(255,89,42,.25),0 0 0 22px rgba(255,89,42,.12)}
.mode-normal .field{background:repeating-linear-gradient(0deg,transparent 0 24px,rgba(101,30,48,.14) 24px 28px),repeating-linear-gradient(90deg,#a85a39 0 24px,#bd6b3d 24px 48px,#914b37 48px 72px)}
.mode-normal .grass-front{background:repeating-linear-gradient(90deg,#71352f 0 10px,#94432f 10px 20px,#bd6339 20px 30px)}

.mode-hard .game-sky{background:linear-gradient(#12091d 0 30%,#351128 30% 52%,#741b2b 52% 74%,#d34227 74%)}
.mode-hard .game-sky:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,transparent 0 42px,rgba(255,59,32,.16) 43px 47px,transparent 48px 84px)}
.mode-hard .game-sky:after{background:#ed3b24;box-shadow:0 0 0 10px rgba(111,10,20,.65),0 0 0 22px rgba(255,61,26,.15)}
.mode-hard .game-sky i{background:#2c1327;box-shadow:24px -16px #2c1327,48px 0 #2c1327,16px 16px #2c1327}
.mode-hard .field{background:linear-gradient(rgba(255,54,26,.08),transparent 12%),repeating-linear-gradient(135deg,#271523 0 22px,#3b1821 22px 42px,#571c21 42px 48px)}
.mode-hard .grass-front{background:repeating-linear-gradient(90deg,#160e1a 0 10px,#35131e 10px 20px,#681d25 20px 30px)}
.mode-hard .hole:after{background:#511b1d;box-shadow:inset 0 -7px #2b1018,0 7px #7d211f}

/* Match timers, expanded result stats, and multiplier power-up family. */
.timer-heading{margin-top:16px}.timer-select{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.timer-select button{color:#cdb5d8;background:#312047;border:3px solid #76548b;padding:9px 5px;cursor:pointer;font-size:7px;box-shadow:3px 3px #100b1d}.timer-select button.selected{color:#24143b;background:var(--yellow);border-color:#fff2c6;transform:translateY(-2px)}
.result-card{max-height:calc(100vh - 120px);overflow-y:auto}.buddy-stats{display:contents}.result-grid .friend-stat{background:#472655;border-bottom-color:#e15168}.result-grid .friend-stat b{color:#42d7cc}
.powerup-golden,.powerup-silver,.powerup-ruby{border-color:#fff8d5;box-shadow:7px 7px 0 var(--ink),0 0 0 6px var(--multiplier-glow);animation:pixel-float .7s steps(2,end) infinite alternate,multiplier-pulse .35s steps(2,end) infinite alternate;font-size:15px;font-weight:bold;text-shadow:2px 2px var(--ink)}
.powerup-golden{--multiplier-glow:#ff9f2f;background:#ffd43b;color:#fff}.powerup-silver{--multiplier-glow:#8295ad;background:#dce5ed;color:#fff}.powerup-ruby{--multiplier-glow:#ff704f;background:#d72852;color:#fff}
@keyframes multiplier-pulse{to{filter:brightness(1.35) drop-shadow(0 0 7px var(--multiplier-glow))}}
.powerup-lightning{background:#f8f5ff;color:#715cff;box-shadow:7px 7px 0 var(--ink),0 0 0 6px #5de7ff;text-shadow:2px 2px #fff}.powerup-freeze{background:#9eeeff;color:#fff;box-shadow:7px 7px 0 var(--ink),0 0 0 6px #d9fbff;text-shadow:2px 2px #3578a8}
.lightning-storm{position:absolute;z-index:18;inset:0;pointer-events:none;background:rgba(215,245,255,.2);animation:storm-flash .12s steps(2,end) 6}.lightning-storm i{position:absolute;left:var(--bolt-x);top:-8%;width:18px;height:88%;background:#fff7a8;clip-path:polygon(38% 0,100% 0,62% 38%,100% 38%,20% 100%,38% 52%,0 52%);transform:rotate(var(--bolt-tilt));filter:drop-shadow(0 0 5px #fff) drop-shadow(0 0 12px #5de7ff);animation:lightning-bolt .22s steps(2,end) var(--bolt-delay) 3 both}
.freeze-time-active .game-sky,.freeze-time-active .field,.freeze-time-active .grass-front{filter:grayscale(.9) saturate(.25) brightness(.85)}.freeze-time-active .game-sky:before,.freeze-time-active .game-sky:after{animation-play-state:paused}.freeze-time-active .buddy{transition-duration:.85s}.freeze-time-active .hole.teasing .buddy{animation-duration:1.1s}.freeze-time-active .powerbar{box-shadow:0 0 18px #bdefff}.freeze-time-active .power-status{color:#bdefff}
@keyframes storm-flash{50%{background:rgba(255,255,255,.72)}}@keyframes lightning-bolt{0%,100%{opacity:0}20%,70%{opacity:1}45%{opacity:.2}}
@media(max-width:700px){.timer-select{gap:4px}.timer-select button{padding:8px 2px;font-size:6px}.result-grid small{font-size:5px}}

/* Final product pass: selection, career progression, motion, and accessibility. */
.menu-card{width:min(690px,94vw);box-sizing:border-box;border-color:#fff2c6;box-shadow:0 0 0 6px #e2486c,12px 12px 0 #12091f,0 24px 60px rgba(18,9,31,.38)}
.menu-card h1{letter-spacing:2px}.subtitle{line-height:1.7;max-width:560px;margin-left:auto;margin-right:auto}
.hammer-heading{margin-top:18px}.hammer-select{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.hammer-select button{display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;align-items:center;text-align:left;gap:2px 8px;min-height:62px;padding:8px;background:#312047;color:#fff;border:3px solid #76548b;box-shadow:4px 4px #100b1d;cursor:pointer}.hammer-select button:hover,.hammer-select button:focus-visible{transform:translateY(-2px);border-color:#42d7cc}.hammer-select button.selected{background:#4b2d62;border-color:#ffd43b;box-shadow:4px 4px #100b1d,inset 0 0 0 2px #ff8b45}.hammer-select span{font-size:8px;color:#fff2c6}.hammer-select small{font-size:6px;color:#cdb5d8;line-height:1.5}.hammer-swatch{grid-row:1/3;display:block;width:32px;height:22px;border:4px solid #252037;box-shadow:3px 3px #100b1d}.hammer-swatch.classic{background:#d5d0c8}.hammer-swatch.neon{background:#42d7cc;box-shadow:3px 3px #100b1d,0 0 9px #42d7cc}.hammer-swatch.royal{background:#ffd43b;box-shadow:3px 3px #100b1d,0 0 9px #ff8b45}
.career-panel{margin-top:22px;padding:18px;background:rgba(18,9,31,.72);border:4px solid #76548b;text-align:left;box-shadow:6px 6px #100b1d}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-heading small{font-size:6px;color:#42d7cc}.section-heading h2{font-size:13px;color:#fff2c6;margin:7px 0 0}.reset-stats{background:transparent;color:#d8bfdc;border:2px solid #76548b;padding:7px;font-size:6px;cursor:pointer}.reset-stats:hover{color:#fff;border-color:#e2486c}.career-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:14px}.career-stats div{background:#332048;border-left:4px solid #42d7cc;padding:10px}.career-stats small,.unlocked-achievements small{display:block;color:#cdb5d8;font-size:5px;margin-bottom:8px}.career-stats b{font-size:9px;color:#ffd43b}.achievement-list{display:grid;grid-template-columns:1fr 1fr;gap:7px}.achievement{display:flex;gap:9px;align-items:center;min-height:44px;padding:8px;background:#271937;border:2px solid #4d365e;opacity:.58}.achievement.unlocked{opacity:1;border-color:#d89535;background:#3b2944}.achievement i{font-style:normal;font-size:15px;color:#76548b}.achievement.unlocked i{color:#ffd43b;text-shadow:2px 2px #e2486c}.achievement b{display:block;color:#fff2c6;font-size:6px;margin-bottom:5px}.achievement small{display:block;color:#bfa9c8;font-size:5px;line-height:1.5}
.rank{padding:13px;border:3px solid #ff8d4f;background:#311c43;box-shadow:5px 5px #130a20;text-shadow:2px 2px #7b255c;animation:rank-arrive .5s steps(5,end) both}.rank-target{color:#cdb5d8;font-size:6px;line-height:1.7;margin:-7px 0 18px}.unlocked-achievements{margin:14px auto 18px;padding:12px;background:#3c2945;border:3px solid #ffd43b;max-width:420px}.unlocked-achievements b{display:block;color:#fff2c6;font-size:7px;margin:8px}.result-card{box-shadow:12px 12px #10081d,0 20px 60px rgba(16,8,29,.45)}
[data-hammer="neon"] .hammer-head{background:linear-gradient(#eaffff 0 22%,#42d7cc 22% 70%,#168a99 70%);box-shadow:6px 6px #194d69,0 0 12px #42d7cc}[data-hammer="neon"] .handle{background:linear-gradient(90deg,#172744 0 28%,#456b9b 28% 68%,#1d375f 68%)}
[data-hammer="royal"] .hammer-head{background:linear-gradient(#fff5b8 0 22%,#ffd43b 22% 70%,#df7c26 70%);box-shadow:6px 6px #8d3d38,0 0 12px #ffd43b}[data-hammer="royal"] .handle{background:linear-gradient(90deg,#49204e 0 28%,#9a3d68 28% 68%,#5e244f 68%)}
.hole.up .buddy{animation:buddy-settle .3s steps(5,end)}.hole.golden.up .buddy-stage{animation:golden-breathe .55s steps(3,end) infinite alternate}.start-btn{transition:transform .12s,filter .12s}.start-btn:hover,.start-btn:focus-visible{transform:translateY(-3px);filter:brightness(1.12)}button:focus-visible{outline:4px solid #42d7cc;outline-offset:3px}.screen{transition:opacity .18s}.toast{letter-spacing:.5px}
@keyframes buddy-settle{0%{transform:translateY(20px) scale(.9)}65%{transform:translateY(-5px) scale(1.04)}100%{transform:translateY(0) scale(1)}}@keyframes golden-breathe{to{transform:translateY(-4px)}}@keyframes rank-arrive{from{opacity:0;transform:scale(.72)}to{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(max-width:700px){.hammer-select{grid-template-columns:1fr}.hammer-select button{min-height:52px}.career-stats{grid-template-columns:1fr 1fr}.achievement-list{grid-template-columns:1fr}.career-panel{padding:12px}.menu-card{box-shadow:0 0 0 4px #e2486c,6px 6px #12091f}}

/* Version 1.0 end-of-match report. */
.results-screen .result-card{width:min(820px,94vw);padding:24px 28px 30px}.results-screen .final-score{max-width:470px;margin:18px auto 12px}.results-screen .rank{max-width:560px;margin:14px auto}.results-screen .rank-target{margin:10px 0 20px}.results-screen .result-grid{max-width:680px;margin:0 auto;grid-template-columns:repeat(5,1fr)}
.special-title{margin:20px auto 12px;padding:15px 18px;max-width:680px;background:linear-gradient(90deg,#38204d,#55285c,#38204d);border:3px solid #e15168;box-shadow:5px 5px #140a21;text-align:center}.special-title small,.results-section-heading small{display:block;color:#42d7cc;font-size:6px;letter-spacing:1px}.special-title h3{color:#ffd43b;font-size:15px;line-height:1.5;margin:9px 0;text-shadow:3px 3px #9b2d65}.special-title p{color:#dac3df;font-size:6px;line-height:1.8;margin:0}
.personal-best-notices{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;max-width:680px;margin:12px auto 20px}.personal-best-notices div{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 12px;background:#4a304e;border:3px solid #ffd43b;box-shadow:4px 4px #150b22;text-align:left}.personal-best-notices b{color:#fff2c6;font-size:6px;line-height:1.5}.personal-best-notices span{color:#ffd43b;font-size:8px;white-space:nowrap}
.most-bonked-buddy,.buddy-medals{max-width:680px;margin:18px auto;padding:16px;background:rgba(27,16,43,.92);border:4px solid #76548b;box-shadow:7px 7px #10081d}.results-section-heading{margin-bottom:13px}.results-section-heading h3{color:#fff2c6;font-size:11px;line-height:1.5;margin:7px 0 0}.mvp-content{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:18px;text-align:left}.mvp-content>img{width:150px;height:150px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(5px 5px #12091f)}.mvp-content>div{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.mvp-name{color:#ffd43b;font-size:15px;text-shadow:3px 3px #9b2d65}.mvp-content strong{color:#42d7cc;font-size:10px}.mvp-content span{color:#ff8d4f;font-size:8px;line-height:1.6}.most-bonked-buddy q{display:block;color:#e1c9e3;font-family:monospace;font-weight:bold;font-size:12px;line-height:1.5}.mvp-empty{color:#cdb5d8;font-size:7px;line-height:1.7}.mvp-tie-sprites{display:flex;justify-content:center;margin:2px 0 10px}.mvp-tie-sprites img{width:85px;height:85px;object-fit:contain;image-rendering:pixelated;margin:0 -7px;filter:drop-shadow(3px 3px #10081d)}.most-bonked-buddy>p{color:#42d7cc;font-size:7px}.most-bonked-buddy>.mvp-name{display:block;font-size:9px;line-height:1.8}
.buddy-medals{padding:16px 14px}.buddy-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.buddy-stats .friend-stat{position:relative;display:grid;grid-template-columns:56px 1fr;grid-template-rows:auto auto auto;align-items:center;min-height:76px;padding:8px;background:#472655;border:3px solid #6e3e79;border-bottom-width:5px;text-align:left}.buddy-stats .friend-stat>img{grid-row:1/4;width:54px;height:60px;object-fit:contain;image-rendering:pixelated}.buddy-stats .friend-stat>small{color:#d8bedf;font-size:6px;line-height:1.4}.buddy-stats .friend-stat>b{color:#42d7cc;font-size:8px;line-height:1.4}.medal-label{display:flex;align-items:center;gap:5px;margin-top:4px;color:#fff2c6;font-size:5px;line-height:1.4}.medal-label i{font-style:normal;font-size:9px}.buddy-stats .medal-bronze{border-color:#a86c46;box-shadow:inset 0 0 12px rgba(190,112,58,.18),0 0 7px rgba(190,112,58,.3)}.medal-bronze .medal-label{color:#e2a16c}.buddy-stats .medal-silver{border-color:#aebcca;box-shadow:inset 0 0 12px rgba(207,225,236,.18),0 0 8px rgba(207,225,236,.34)}.medal-silver .medal-label{color:#dce5ed}.buddy-stats .medal-gold{border-color:#ffd43b;box-shadow:inset 0 0 15px rgba(255,212,59,.2),0 0 12px rgba(255,183,32,.55)}.medal-gold .medal-label{color:#ffd43b;text-shadow:2px 2px #9b2d65}
.result-actions{margin-top:20px}.result-actions .start-btn{margin-bottom:14px}.unlocked-achievements{max-width:680px}.confetti-layer{position:fixed;z-index:190;inset:92px 0 0;overflow:hidden;pointer-events:none}.confetti-layer i{position:absolute;left:var(--confetti-x);top:-18px;width:9px;height:9px;background:var(--confetti-color);box-shadow:2px 2px #19152b;animation:result-confetti 1s steps(10,end) var(--confetti-delay) both}@keyframes result-confetti{to{transform:translate(var(--confetti-drift),105vh) rotate(540deg)}}
@media(max-width:700px){.results-screen .result-card{padding:18px 10px 25px}.results-screen .result-grid{grid-template-columns:repeat(2,1fr)}.results-screen .result-grid>div:last-child{grid-column:1/-1}.personal-best-notices{grid-template-columns:1fr}.mvp-content{grid-template-columns:100px 1fr;gap:10px}.mvp-content>img{width:100px;height:110px}.mvp-name{font-size:10px}.mvp-content strong{font-size:8px}.buddy-stats{grid-template-columns:1fr 1fr}.buddy-stats .friend-stat{grid-template-columns:44px 1fr;min-height:68px;padding:6px}.buddy-stats .friend-stat>img{width:42px;height:52px}.mvp-tie-sprites img{width:65px;height:65px}.confetti-layer{inset:78px 0 0}}
@media(max-width:430px){.buddy-stats{grid-template-columns:1fr}.special-title h3{font-size:11px}.most-bonked-buddy,.buddy-medals{padding:12px 8px}.mvp-content{grid-template-columns:82px 1fr}.mvp-content>img{width:82px;height:95px}}

/* Cooperative menu emblem; its finish follows the selected hammer. */
.bonk-emblem{align-self:center;position:relative;z-index:2;display:grid;place-items:center;width:82px;height:68px;margin:0 -10px;background:#f03f69;color:#fff;border:4px solid var(--yellow);box-shadow:5px 5px #130c25;clip-path:polygon(14% 0,86% 0,86% 8%,100% 8%,100% 86%,86% 86%,86% 100%,14% 100%,14% 92%,0 92%,0 14%,14% 14%);transform:rotate(-6deg)}.emblem-hammer{position:relative;width:48px;height:48px;transform:translateY(-5px) rotate(-18deg);filter:drop-shadow(2px 2px #24143b)}.emblem-hammer-head{position:absolute;z-index:2;left:2px;top:3px;width:38px;height:23px;background:linear-gradient(to bottom,#f7f0d7 0 24%,#d5d0c8 24% 72%,#aaa4a7 72%);border:4px solid #252037;clip-path:polygon(8% 0,92% 0,92% 10%,100% 10%,100% 90%,92% 90%,92% 100%,8% 100%,8% 90%,0 90%,0 10%,8% 10%)}.emblem-hammer-head:after{content:"";position:absolute;right:-9px;top:-4px;width:10px;height:26px;background:#aaa4a7;border:3px solid #252037}.emblem-hammer-handle{position:absolute;z-index:1;left:25px;top:19px;width:11px;height:33px;background:linear-gradient(90deg,#7f382c 0 28%,#d57a3e 28% 68%,#9d4932 68%);border:3px solid #252037;transform:rotate(-8deg)}.bonk-emblem b{position:absolute;z-index:3;bottom:5px;padding:3px 5px;background:#24143b;color:#fff2c6;font-size:6px;letter-spacing:.5px}.menu-screen[data-hammer="neon"] .bonk-emblem{background:#42d7cc;border-color:#eaffff;box-shadow:5px 5px #13374d,0 0 12px #42d7cc}.menu-screen[data-hammer="neon"] .emblem-hammer-head{background:linear-gradient(#eaffff 0 22%,#42d7cc 22% 70%,#168a99 70%)}.menu-screen[data-hammer="neon"] .emblem-hammer-head:after{background:#168a99}.menu-screen[data-hammer="neon"] .emblem-hammer-handle{background:linear-gradient(90deg,#172744 0 28%,#456b9b 28% 68%,#1d375f 68%)}.menu-screen[data-hammer="royal"] .bonk-emblem{background:#ffd43b;border-color:#fff5b8;box-shadow:5px 5px #8d3d38,0 0 12px #ff9f2f}.menu-screen[data-hammer="royal"] .bonk-emblem b{background:#5e244f}.menu-screen[data-hammer="royal"] .emblem-hammer-head{background:linear-gradient(#fff5b8 0 22%,#ffd43b 22% 70%,#df7c26 70%)}.menu-screen[data-hammer="royal"] .emblem-hammer-head:after{background:#df7c26}.menu-screen[data-hammer="royal"] .emblem-hammer-handle{background:linear-gradient(90deg,#49204e 0 28%,#9a3d68 28% 68%,#5e244f 68%)}
@media(max-width:700px){.bonk-emblem{width:66px;height:56px;margin:0 -8px}.emblem-hammer{transform:translateY(-5px) rotate(-18deg) scale(.82)}.bonk-emblem b{font-size:5px}}

/* Top-bar game hammer, synchronized with the selected finish. */
.brand-hammer{position:relative;display:block;flex:none;width:52px;height:58px;transform:rotate(-14deg);filter:drop-shadow(3px 3px #713b8f)}.brand-hammer .emblem-hammer-head{width:42px;height:25px;left:1px;top:3px}.brand-hammer .emblem-hammer-head:after{height:28px}.brand-hammer .emblem-hammer-handle{left:27px;top:21px;width:12px;height:38px}.cabinet[data-hammer="neon"] .brand-hammer .emblem-hammer-head{background:linear-gradient(#eaffff 0 22%,#42d7cc 22% 70%,#168a99 70%)}.cabinet[data-hammer="neon"] .brand-hammer .emblem-hammer-head:after{background:#168a99}.cabinet[data-hammer="neon"] .brand-hammer .emblem-hammer-handle{background:linear-gradient(90deg,#172744 0 28%,#456b9b 28% 68%,#1d375f 68%)}.cabinet[data-hammer="neon"] .brand-hammer{filter:drop-shadow(3px 3px #13374d) drop-shadow(0 0 5px #42d7cc)}.cabinet[data-hammer="royal"] .brand-hammer .emblem-hammer-head{background:linear-gradient(#fff5b8 0 22%,#ffd43b 22% 70%,#df7c26 70%)}.cabinet[data-hammer="royal"] .brand-hammer .emblem-hammer-head:after{background:#df7c26}.cabinet[data-hammer="royal"] .brand-hammer .emblem-hammer-handle{background:linear-gradient(90deg,#49204e 0 28%,#9a3d68 28% 68%,#5e244f 68%)}.cabinet[data-hammer="royal"] .brand-hammer{filter:drop-shadow(3px 3px #8d3d38) drop-shadow(0 0 5px #ffd43b)}
@media(max-width:700px){.brand-hammer{width:39px;height:47px;transform:rotate(-14deg) scale(.78);transform-origin:left center;margin-right:-5px}}

/* Phone layout: fluid viewport sizing, safe-area spacing, and touch-friendly controls. */
@media(max-width:700px){
html,body{width:100%;min-height:100%;overflow:hidden;overscroll-behavior:none}
.cabinet{width:100%;height:100vh;height:100dvh;min-height:0;border-width:4px}
.topbar{height:auto;min-height:68px;padding:6px max(8px,env(safe-area-inset-right)) 6px max(8px,env(safe-area-inset-left));gap:6px;border-bottom-width:4px}
.brand{min-width:0;gap:4px;line-height:1.35}.hud{min-width:0;gap:clamp(6px,2.5vw,12px);margin:0 auto}.stat strong{font-size:clamp(9px,3vw,12px)}.sound-btn{flex:none;min-width:44px;min-height:44px;margin-left:0}
.screen{width:100%;min-width:0}
.menu-screen,.results-screen{overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;scrollbar-width:thin;padding-bottom:env(safe-area-inset-bottom)}
.menu-screen::-webkit-scrollbar,.results-screen::-webkit-scrollbar{width:8px}.menu-screen::-webkit-scrollbar-button,.results-screen::-webkit-scrollbar-button{display:none}
.menu-card,.results-screen .result-card{width:calc(100% - 24px);max-height:none;margin:12px auto 24px;padding-left:10px;padding-right:10px;outline-width:3px}
.menu-card h1{font-size:clamp(25px,10vw,42px);overflow-wrap:anywhere}.subtitle{font-size:clamp(7px,2.3vw,10px)}
.difficulty{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.difficulty button,.timer-select button,.hammer-select button{min-width:0;min-height:44px;white-space:normal;overflow-wrap:anywhere}
.difficulty button small{font-size:clamp(6px,2vw,8px);line-height:1.4}.timer-select{grid-template-columns:repeat(2,minmax(0,1fr))}
.start-btn{width:min(100%,300px);min-height:48px;padding:12px 10px;white-space:normal;line-height:1.4}.reset-stats,.text-btn,.quit-card button{min-height:44px}
.career-stats,.achievement-list,.result-grid,.buddy-stats{min-width:0}.career-stats div,.achievement,.result-grid div,.buddy-stats .friend-stat{min-width:0}
.game-controls{max-width:48%;flex-wrap:wrap;justify-content:flex-end}.game-controls .quit-btn,.pause-btn{min-height:40px;min-width:44px}
.powerbar{left:6px;max-width:47%;transform:none;gap:6px;line-height:1.4;white-space:normal}.power-status{overflow-wrap:anywhere}
.quit-card{width:calc(100% - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;padding:18px 10px}.quit-card>div{display:flex;flex-wrap:wrap;justify-content:center}.quit-card button{flex:1 1 130px}
}
@media(max-width:430px){
.brand>span:last-child{display:none}.brand{flex:none}.topbar{min-height:62px}.hud{gap:5px}.stat small{margin-bottom:5px}.sound-btn{font-size:6px;padding:6px 4px}
.preview-duo{height:102px}.preview-duo img{width:104px;height:104px}.bonk-emblem{width:54px;height:50px;margin:0 -12px}
.difficulty{grid-template-columns:1fr}.difficulty button{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:4px}.difficulty button small{margin-top:0}
.section-heading{gap:8px}.section-heading h2{font-size:10px}.career-stats{grid-template-columns:1fr}
.results-screen .result-grid{grid-template-columns:1fr}.results-screen .result-grid>div:last-child{grid-column:auto}.mvp-content{grid-template-columns:72px minmax(0,1fr)}.mvp-content>img{width:72px;height:85px}
}
@media(max-height:500px) and (orientation:landscape){
.topbar{min-height:52px;padding-top:3px;padding-bottom:3px}.brand-hammer{height:39px;transform:rotate(-14deg) scale(.64)}.brand>span:last-child{display:none}.sound-btn{min-height:38px}.game-controls .quit-btn,.pause-btn{min-height:34px}.field{inset:20% 0 0;padding-top:1vh;padding-bottom:2vh}.powerbar{top:3px}.game-controls{top:3px}
}
