@import url("https://fonts.googleapis.com/css2?family=Press+Start+2P&family=VT323&display=swap");
:root{--ink:#050607;--blue:#258ed0;--sky:#35a0df;--orange:#f47d19;--cream:#fff4dc;--green:#276e2c;--gold:#ffc928}
*{box-sizing:border-box} [hidden]{display:none!important}
html,body{margin:0;min-height:100%;background:#061018;color:white;font-family:"Press Start 2P","Lucida Console",monospace;touch-action:manipulation;overscroll-behavior:none}
button,a,select,input{font:inherit;color:inherit}.game-shell{min-height:100vh;background:#07131b}.game-topbar{min-height:58px;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#050607;border-bottom:4px solid #111;position:relative;z-index:20}.back{text-decoration:none;font-size:10px;color:#d9f2ff}.top-actions{display:flex;gap:8px}.sound-btn,.hud-button{border:3px solid #4bb9f2;background:#07131b;padding:8px;font-size:8px;box-shadow:3px 3px #000}.screen{min-height:calc(100vh - 58px)}
.title-screen{position:relative;overflow:hidden;background:linear-gradient(#258ed0 0 72%,#4c9c39 72% 88%,#6b3d20 88%);padding:20px 16px 18px;text-align:center}.title-screen:after{content:"";position:absolute;left:0;right:0;bottom:12%;height:8%;background:repeating-linear-gradient(90deg,#244d21 0 8px,#32672d 8px 16px);border-top:5px solid #153819;z-index:0}.title-wrap,.title-grid,.menu-box,.credit,.leaderboard-card,.workshop{position:relative;z-index:2}.title-wrap h1{margin:6px 0 4px;line-height:.85;text-shadow:6px 6px #000}.title-wrap h1 span{display:block;font-size:clamp(38px,7vw,78px);font-style:italic;color:#fff4dc}.title-wrap h1 b{display:block;font-size:clamp(22px,4vw,44px);color:var(--orange);margin-top:12px}.subtitle{font-size:clamp(7px,1.2vw,12px);margin:16px 0 18px}.title-grid{max-width:1040px;margin:auto;display:grid;grid-template-columns:1fr minmax(220px,390px) 1fr;gap:24px;align-items:end}.willie-card{border:7px solid #050607;background:#8e78ef;padding:7px;box-shadow:7px 7px #000}.willie-card img{display:block;width:100%;aspect-ratio:1.1/1;object-fit:cover;image-rendering:pixelated}.shop-card{min-height:220px;background:#7a4324;border:6px solid #331b10;box-shadow:6px 6px #000;padding:18px 12px;display:flex;flex-direction:column;justify-content:center}.shop-sign{background:#080808;border:5px solid #24150d;padding:13px 6px;color:#fff4dc;font-size:20px;line-height:1.1}.shop-sign span{font-size:13px;color:#ffd75d}.shop-window{margin-top:18px;height:62px;border:5px solid #26160e;background:repeating-linear-gradient(90deg,#245a72 0 28px,#173d50 28px 33px)}.shop-card small{font-size:7px;margin-top:12px;color:#ffd27a}.amp-stack{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;position:relative}.amp{width:82%;border:6px solid #111;background:#262626;box-shadow:7px 7px #000}.amp.head{height:70px;padding-top:25px;font-size:11px}.amp.cab{height:125px;background:repeating-linear-gradient(45deg,#252525 0 4px,#111 4px 8px)}.pixel-guitar-title{position:absolute;right:4%;bottom:0;color:#ffc34a;font-family:serif;font-size:88px;transform:rotate(-10deg)}
.menu-box{max-width:650px;margin:22px auto 0;background:#030303;border:5px solid #fff;border-radius:8px;padding:16px;box-shadow:6px 6px #000}.arcade-btn{display:block;width:100%;border:4px solid #e9f6ff;background:#121212;padding:15px 12px;margin:8px 0;font-size:12px;box-shadow:4px 4px #000}.arcade-btn.primary{color:#ff8a28}.arcade-btn:active,.difficulty:active{transform:translate(3px,3px);box-shadow:1px 1px #000}.difficulty-row{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:12px 0}.difficulty{border:3px solid #5d7b8f;background:#111;padding:10px 5px;font-size:8px;box-shadow:3px 3px #000}.difficulty.active{border-color:#ffd84a;color:#ffd84a}.difficulty.danger.active{border-color:#ff594d;color:#ff594d}.instructions{font-size:7px;line-height:1.8;color:#dbeeff;margin-top:12px}.best-line{font-size:12px;margin-top:10px;color:#ffc928}.credit{font-size:8px;margin:18px auto 0;line-height:1.6;color:#fff7dc;text-shadow:2px 2px #000}.workshop{width:min(650px,94vw);margin:14px auto;background:#080808;border:4px solid #66c6f1;padding:14px;box-shadow:6px 6px #000}.workshop-heading{color:#ffc928;font-size:11px;margin-bottom:12px}.workshop-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.workshop label{font-size:7px;line-height:1.7;color:#cfefff}.workshop select{display:block;width:100%;margin-top:7px;background:#111;border:3px solid #eee;padding:10px 8px;font-size:8px}.workshop-note{margin-top:12px;font-size:6px;color:#8ee06a}.leaderboard-card{width:min(650px,94vw);margin:14px auto 0;background:#050505;border:4px solid #eaf8ff;padding:12px;box-shadow:5px 5px #000}.leaderboard-title{color:#ffc928;font-size:9px;margin-bottom:8px}.leaderboard{list-style:none;margin:0;padding:0}.leaderboard li{display:flex;justify-content:space-between;gap:20px;padding:6px 8px;border-top:1px dashed #395064;font-size:8px}.leaderboard li:first-child{border-top:0}.leaderboard li b{color:#fff0a1}
.sky-decor .cloud{position:absolute;background:#fff4dc;width:110px;height:28px;top:55px;opacity:.95;image-rendering:pixelated}.sky-decor .cloud:before,.sky-decor .cloud:after{content:"";position:absolute;background:#fff4dc}.sky-decor .cloud:before{width:50px;height:35px;left:18px;top:-20px}.sky-decor .cloud:after{width:38px;height:28px;right:12px;top:-12px}.c1{left:4%}.c2{right:5%;top:90px!important}
.game-screen{background:#111;display:flex;flex-direction:column}.hud{min-height:92px;background:#030303;border-bottom:5px solid #d8eef9;display:grid;grid-template-columns:repeat(5,1fr) auto;gap:10px;align-items:center;padding:10px 18px}.hud>div{display:flex;flex-direction:column;gap:8px}.hud small{font-size:8px;color:#7fca59}.hud strong{font-size:20px}.lives{color:#ff755f;font-size:13px;letter-spacing:2px}.game-field{position:relative;flex:1;min-height:420px;overflow:hidden;background:linear-gradient(#3ba2dd 0 68%,#4f8a3b 68% 82%,#7a4c24 82%);cursor:crosshair}.game-field:before{content:"";position:absolute;left:0;right:0;bottom:18%;height:30%;background:linear-gradient(#0000 0 48%,#2e5d2c 48%);clip-path:polygon(0 70%,8% 55%,15% 62%,22% 45%,30% 60%,37% 38%,44% 58%,52% 43%,60% 56%,68% 37%,76% 57%,84% 44%,93% 60%,100% 48%,100% 100%,0 100%);opacity:.9}.game-field:after{content:"";position:absolute;left:0;right:0;top:16%;height:38%;background:repeating-linear-gradient(90deg,#3d7192 0 38px,#2f6385 38px 50px);clip-path:polygon(0 100%,0 70%,6% 70%,6% 50%,11% 50%,11% 68%,17% 68%,17% 35%,23% 35%,23% 60%,30% 60%,30% 42%,37% 42%,37% 72%,44% 72%,44% 28%,50% 28%,50% 62%,58% 62%,58% 46%,64% 46%,64% 70%,72% 70%,72% 40%,80% 40%,80% 60%,87% 60%,87% 52%,94% 52%,94% 68%,100% 68%,100% 100%);opacity:.55}.game-field canvas{position:absolute;inset:0;width:100%;height:100%;z-index:5;image-rendering:pixelated}.field-sign{position:absolute;left:5%;bottom:8%;z-index:3;background:#5a3d23;border:6px solid #321f11;padding:12px 14px;font-size:14px;text-align:center;box-shadow:5px 5px #000}.field-sign span{font-size:10px}.field-sign small{display:block;margin-top:8px;font-size:7px}.field-amps{position:absolute;right:4%;bottom:5%;z-index:3;display:flex;align-items:end;gap:8px}.field-amps i{display:block;width:85px;height:95px;background:repeating-linear-gradient(45deg,#222 0 4px,#111 4px 8px);border:5px solid #090909;box-shadow:5px 5px #000}.field-amps i:nth-child(2){height:125px;width:110px}.field-amps i:nth-child(3){height:75px;width:70px}.countdown,.round-banner{position:absolute;z-index:10;left:50%;top:42%;transform:translate(-50%,-50%);font-size:clamp(40px,9vw,92px);text-shadow:8px 8px #000;color:#fff;text-align:center;pointer-events:none}.round-banner{display:none;color:#ffc928;font-size:clamp(24px,6vw,60px)}.round-banner.show{display:block}.willie-react{position:absolute;left:12px;bottom:10px;z-index:7;width:120px;pointer-events:none;filter:drop-shadow(5px 5px 0 #000)}.willie-react img{display:block;width:100%;border:4px solid #050505;background:#8e78ef;image-rendering:pixelated}.willie-react span{position:absolute;left:78%;top:-8px;white-space:nowrap;background:#fff;color:#111;border:4px solid #111;padding:8px;font-size:7px;box-shadow:4px 4px #000}.willie-react.hit{animation:pop .25s steps(2)}.willie-react.combo{animation:combo .32s steps(2)}.willie-react.miss{animation:shake .25s steps(2)}@keyframes pop{50%{transform:scale(1.12) rotate(-2deg)}}@keyframes combo{50%{transform:translateY(-12px) scale(1.16)}}@keyframes shake{25%{transform:translateX(-7px)}75%{transform:translateX(7px)}}
.over-screen{display:grid;place-items:center;background:linear-gradient(#258ed0 0 70%,#4c9c39 70%);padding:20px}.over-card{width:min(700px,96vw);background:#040404;border:6px solid white;box-shadow:9px 9px #000;padding:24px;text-align:center}.over-kicker{color:#79d45d;font-size:10px}.over-card h2{font-size:clamp(26px,6vw,54px);line-height:1.05;color:#ff8020;text-shadow:5px 5px #331300}.final-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:8px;align-items:stretch}.score-card,.stat{margin:8px 0;border:3px solid #304b5a;padding:12px 7px;display:flex;flex-direction:column;justify-content:center;gap:10px}.score-card span,.stat span{font-size:7px;color:#9bd96f}.score-card strong{font-size:42px;color:#fff}.stat strong{font-size:18px;color:#fff}.new-best{font-size:11px;color:#ffc928;margin:16px 0}.initials-form{border:4px solid #ffc928;padding:12px;margin:12px 0}.initials-form label{display:block;color:#ffc928;font-size:9px;margin-bottom:10px}.initials-form>div{display:grid;grid-template-columns:1fr 120px;gap:8px}.initials-form input{min-width:0;background:#fff;color:#000;border:4px solid #777;padding:12px;text-align:center;font-size:20px;text-transform:uppercase;letter-spacing:7px}.save-score{margin:0;padding:9px;font-size:9px}.over-leaderboard{width:100%;box-shadow:none;margin:12px 0}.over-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:760px){.game-topbar{min-height:54px;padding:7px 8px;align-items:flex-start}.back{font-size:7px;padding-top:8px}.top-actions{gap:5px;flex-wrap:wrap;justify-content:flex-end}.sound-btn{font-size:6px;padding:6px}.screen{min-height:calc(100dvh - 54px)}.title-screen{padding-top:12px;overflow:auto}.title-grid{grid-template-columns:.8fr 1.3fr .8fr;gap:8px}.shop-card,.amp-stack{min-height:140px}.shop-card{padding:8px 5px;border-width:4px}.shop-sign{font-size:10px;border-width:3px;padding:8px 3px}.shop-sign span{font-size:7px}.shop-window{height:40px;margin-top:8px;border-width:3px}.shop-card small{font-size:4.5px;line-height:1.5}.willie-card{border-width:5px;padding:4px;box-shadow:4px 4px #000}.amp{border-width:4px;box-shadow:4px 4px #000}.amp.head{height:45px;padding-top:14px;font-size:6px}.amp.cab{height:80px}.pixel-guitar-title{font-size:54px}.menu-box{margin-top:15px;padding:10px}.arcade-btn{font-size:9px;padding:12px 8px}.difficulty{font-size:6px;padding:9px 3px}.instructions{font-size:5.5px}.credit{font-size:6px;margin-top:12px}.workshop-grid{grid-template-columns:1fr}.leaderboard li{font-size:7px}.hud{min-height:92px;padding:7px 8px;grid-template-columns:repeat(5,1fr);gap:4px}.hud small{font-size:5.5px}.hud strong{font-size:14px}.lives{font-size:9px}.hud-button{position:absolute;right:8px;top:62px;padding:5px;font-size:6px;z-index:12}.game-field{min-height:calc(100dvh - 146px)}.field-sign{font-size:8px;padding:8px;border-width:4px}.field-sign span{font-size:6px}.field-sign small{font-size:5px}.field-amps i{width:45px;height:55px;border-width:3px}.field-amps i:nth-child(2){width:58px;height:74px}.field-amps i:nth-child(3){width:40px;height:45px}.willie-react{width:78px;left:7px;bottom:7px}.willie-react span{font-size:5px;padding:5px;left:68%}.final-grid{grid-template-columns:1fr 1fr}.score-card strong{font-size:32px}.stat strong{font-size:16px}.initials-form>div{grid-template-columns:1fr 90px}.over-buttons{grid-template-columns:1fr}}
/* v49: Stanley + school-friendly water blaster */
.stanley-helper{position:absolute;right:2.5%;bottom:5%;z-index:8;width:108px;pointer-events:none;filter:drop-shadow(4px 4px 0 #000);transform:translateY(0)}
.stanley-helper img{width:100%;display:block;image-rendering:pixelated}
.stanley-label{position:absolute;left:50%;bottom:94%;transform:translateX(-50%);background:#111;color:#fff;border:3px solid #fff;padding:5px 7px;font-size:7px;white-space:nowrap;box-shadow:3px 3px #000}
.stanley-helper.cheer{animation:stanleyCheer .55s steps(4)}.stanley-helper.oops{animation:stanleyOops .5s steps(3)}
@keyframes stanleyCheer{35%{transform:translateY(-22px) rotate(-5deg)}65%{transform:translateY(-10px) rotate(5deg)}}
@keyframes stanleyOops{30%{transform:translateX(-8px) rotate(-7deg)}65%{transform:translateX(8px) rotate(7deg)}}
.water-blaster{position:absolute;left:9%;bottom:3%;z-index:6;width:90px;height:42px;pointer-events:none;transform:rotate(-16deg);filter:drop-shadow(3px 3px 0 #000)}
.water-blaster:before{content:"";position:absolute;left:8px;top:10px;width:45px;height:18px;background:#28c9ff;border:4px solid #111;border-radius:8px}.water-blaster .tank{position:absolute;left:14px;top:25px;width:23px;height:16px;background:#ffdb3d;border:4px solid #111;border-radius:5px}.water-blaster .barrel{position:absolute;left:49px;top:14px;width:38px;height:8px;background:#ff5b55;border:4px solid #111;border-radius:4px}
@media(max-width:760px){.stanley-helper{width:72px;right:2%;bottom:4%}.stanley-label{font-size:5px;padding:3px 5px;border-width:2px}.water-blaster{width:62px;transform:scale(.72) rotate(-16deg);transform-origin:left bottom;left:7%;bottom:2%}}

/* v65 — Stanley dog-bone power-up */
.stanley-snack{
  position:absolute;right:76%;top:12%;
  display:none;white-space:nowrap;
  background:#ffe27a;color:#15100a;border:4px solid #15100a;
  padding:6px 8px;font-size:7px;line-height:1;
  box-shadow:4px 4px #000;z-index:2;
}
.stanley-helper.snack-mode .stanley-snack{display:block}
.stanley-helper.snack-mode img{animation:stanleySnackHop .42s steps(2) infinite}
.stanley-helper.snack-mode{filter:drop-shadow(4px 4px 0 #000) drop-shadow(0 0 7px #ffe35a)}
@keyframes stanleySnackHop{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-8px)}
}
@media(max-width:760px){
  .stanley-snack{font-size:5px;border-width:2px;padding:4px 5px;right:70%;top:8%;box-shadow:2px 2px #000}
}
