@import url("https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap");
*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;background:#030303;color:#fff;font-family:"Press Start 2P",monospace;touch-action:manipulation;overscroll-behavior:none;image-rendering:pixelated}button,a{font:inherit;color:inherit}header{height:58px;background:linear-gradient(#151515,#050505);border-bottom:4px solid #eee;display:flex;justify-content:space-between;align-items:center;padding:9px 14px;gap:8px;box-shadow:0 4px #000;position:relative;z-index:20}header a{text-decoration:none;font-size:9px}header button{background:#151515;border:3px solid #eee;padding:8px;font-size:7px;box-shadow:3px 3px #000}.screen{min-height:calc(100dvh - 58px)}
.title{background:radial-gradient(circle at 50% 20%,#291008,#090909 55%,#020202);padding:10px;display:grid;place-items:center}.arcade-frame{width:min(920px,100%);border:6px solid #ead89e;background:#0a0a0a;box-shadow:0 0 0 6px #000,0 0 0 10px #57200f,12px 12px 0 #000;overflow:hidden}.logo{text-align:center;background:linear-gradient(#090909,#160805);padding:16px 10px 12px;border-bottom:5px solid #ead89e;position:relative}.logo:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,#5d170d,#ffb329,#fff6b0,#ffb329,#5d170d)}.logo small{font-size:7px;color:#ffd34d}.logo h1{font-size:clamp(34px,7vw,64px);color:#ef452d;margin:13px 0 0;text-shadow:5px 5px #651207,8px 8px #000}.logo h2{font-size:clamp(24px,5.6vw,50px);line-height:1;margin:3px 0;color:#fff1d5;text-shadow:5px 5px #000}.logo h2 span{color:#fff}.logo p{font-size:8px;color:#ffd34d;margin:10px 0 0;text-shadow:2px 2px #000}
.title-scene{height:330px;position:relative;overflow:hidden;background:#070707}.concert-bg,.arena{position:absolute;inset:0;overflow:hidden;background:linear-gradient(#030306 0 18%,#120709 18% 58%,#25100d 58% 72%,#060606 72% 100%)}.concert-bg:before,.arena:before{content:"";position:absolute;inset:18% 0 26%;background:repeating-linear-gradient(90deg,rgba(255,90,25,.07) 0 2px,transparent 2px 44px),repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 2px,transparent 2px 34px)}
.truss{position:absolute;left:3%;right:3%;top:24px;height:24px;background:repeating-linear-gradient(135deg,#777 0 5px,#262626 5px 11px);border:4px solid #0c0c0c;box-shadow:0 5px #000}.truss:before,.truss:after{content:"";position:absolute;top:20px;width:22px;height:14px;background:#f1b625;border:4px solid #050505;box-shadow:0 0 18px #ff4d19}.truss:before{left:18%}.truss:after{right:18%}.beam{position:absolute;top:42px;width:130px;height:220px;opacity:.22;clip-path:polygon(42% 0,58% 0,100% 100%,0 100%);background:linear-gradient(#fff5a8,#ff6a22 55%,transparent)}.b1,.gb1{left:5%;transform:rotate(-16deg)}.b2,.gb2{left:42%;opacity:.12}.b3,.gb3{right:4%;transform:rotate(16deg)}
.crowd{position:absolute;left:0;right:0;bottom:43px;height:72px;background:repeating-linear-gradient(90deg,#060606 0 18px,#0d0d0d 18px 23px);clip-path:polygon(0 42%,3% 42%,3% 25%,5% 25%,5% 47%,8% 47%,8% 18%,10% 18%,10% 51%,13% 51%,13% 31%,16% 31%,16% 55%,20% 55%,20% 23%,23% 23%,23% 49%,27% 49%,27% 14%,30% 14%,30% 53%,34% 53%,34% 28%,37% 28%,37% 58%,41% 58%,41% 20%,44% 20%,44% 48%,48% 48%,48% 10%,51% 10%,51% 51%,55% 51%,55% 25%,58% 25%,58% 55%,62% 55%,62% 17%,65% 17%,65% 49%,69% 49%,69% 29%,73% 29%,73% 57%,77% 57%,77% 22%,80% 22%,80% 51%,84% 51%,84% 15%,87% 15%,87% 46%,91% 46%,91% 26%,94% 26%,94% 52%,100% 52%,100% 100%,0 100%)}
.flame{position:absolute;bottom:40px;width:34px;height:72px;background:linear-gradient(#fff8a6 0 22%,#ffbd22 22% 48%,#ef4b17 48% 72%,#7c1208 72%);clip-path:polygon(50% 0,66% 24%,85% 13%,79% 46%,100% 55%,75% 72%,82% 100%,50% 86%,18% 100%,25% 70%,0 56%,23% 43%,17% 18%,36% 27%);filter:drop-shadow(0 0 8px #ff5c17);transform-origin:50% 100%;animation:flame 180ms steps(2,end) infinite alternate}.f1,.gf1{left:5%}.f2,.gf2{left:28%;animation-delay:-70ms}.f3,.gf3{right:28%;animation-delay:-110ms}.f4,.gf4{right:5%;animation-delay:-40ms}@keyframes flame{from{transform:scaleY(.82) skewX(-3deg)}to{transform:scaleY(1.18) skewX(4deg)}}
.stage,.floor{position:absolute;left:0;right:0;bottom:0;height:48px;background:repeating-linear-gradient(90deg,#321d16 0 44px,#1d1110 44px 48px);border-top:6px solid #9f5d26;box-shadow:inset 0 8px #4a2a18}.stage:before,.floor:before{content:"";position:absolute;left:0;right:0;top:-11px;height:5px;background:repeating-linear-gradient(90deg,#ffb327 0 10px,#54160c 10px 24px)}
.title-stack{position:absolute;left:50%;bottom:47px;transform:translateX(-34%);width:min(360px,52vw);filter:drop-shadow(8px 8px 0 #000) drop-shadow(0 0 12px rgba(255,87,30,.35));z-index:4}.amp-head{position:relative;height:54px;margin:auto 2px;background:linear-gradient(#242424,#0b0b0b);border:5px solid #050505;box-shadow:inset 0 0 0 3px #454545,inset 0 8px rgba(255,255,255,.05)}.amp-head .handle{position:absolute;left:42%;top:-9px;width:16%;height:8px;border:4px solid #111;border-bottom:0;background:#353535}.amp-head .panel{position:absolute;left:7%;right:7%;bottom:7px;height:13px;background:linear-gradient(#e2be5e,#8e681d);border:2px solid #f1d683}.amp-head.silver .panel{background:linear-gradient(#ededeb,#929692);border-color:#fff}.amp-head.red .panel{background:linear-gradient(#bd4a36,#702218);border-color:#d66349}.amp-head .knobs{position:absolute;left:10%;right:10%;bottom:10px;height:5px;background:repeating-linear-gradient(90deg,#111 0 4px,#f0d984 4px 6px,transparent 6px 18px)}.brand{position:absolute;left:50%;top:9px;transform:translateX(-50%);font-family:cursive;font-weight:900;font-style:italic;font-size:20px;letter-spacing:-2px;color:#f5f0df;text-shadow:2px 2px #111}.amp-head.silver{width:96%;border-color:#d3c6ab}.amp-head.red{width:91%;border-color:#9d3527}.amp-cab{position:relative;width:100%;height:108px;background:repeating-linear-gradient(45deg,#2d2d2d 0 4px,#111 4px 8px);border:6px solid #050505;box-shadow:inset 0 0 0 4px #464646,inset 0 0 0 7px #111}.amp-cab .brand{z-index:3;top:39px;font-size:25px}.speaker{position:absolute;width:31%;height:37%;border-radius:50%;background:radial-gradient(circle,#111 0 28%,#030303 30% 58%,#292929 60% 75%,#090909 77%);box-shadow:inset 0 0 0 4px #1f1f1f}.s1{left:11%;top:8%}.s2{right:11%;top:8%}.s3{left:11%;bottom:8%}.s4{right:11%;bottom:8%}
.marc-title{position:absolute;left:8%;bottom:44px;width:78px;height:156px;filter:drop-shadow(5px 5px 0 #000);z-index:5}.marc-title .face{position:absolute;top:12px;left:18px;width:44px;height:44px;background:linear-gradient(#d5a37d,#b87552);border:5px solid #171717}.marc-title .hair{position:absolute;top:4px;left:25px;width:31px;height:16px;background:#ded8cd;border:4px solid #161616;z-index:2}.brow{position:absolute;top:13px;width:10px;height:4px;background:#252525}.brow.l{left:5px}.brow.r{right:5px}.beard{position:absolute;left:6px;right:6px;bottom:-7px;height:18px;background:#ded8cd;clip-path:polygon(0 0,100% 0,78% 100%,22% 100%)}.torso{position:absolute;top:55px;left:7px;width:64px;height:70px;background:linear-gradient(#242424,#0f0f0f);border:5px solid #050505;clip-path:polygon(12% 0,88% 0,100% 100%,0 100%)}.arm{position:absolute;top:18px;width:42px;height:13px;background:#bd825e;border:4px solid #111}.a1{left:2px;transform:rotate(18deg)}.a2{right:2px;transform:rotate(-18deg)}.legs{position:absolute;bottom:0;left:18px;width:42px;height:38px;background:linear-gradient(90deg,#355b7e 0 44%,#111 44% 56%,#355b7e 56%);border-bottom:8px solid #111}.menu{text-align:center;background:linear-gradient(#090909,#030303);border-top:5px solid #ead89e;padding:14px}.big{width:min(620px,100%);background:linear-gradient(#222,#0d0d0d);border:4px solid #fff;padding:15px;color:#ff6b31;box-shadow:4px 4px #000,inset 0 3px #444}.menu p{font-size:6px;line-height:1.8}.milestones{color:#ffd34d}.menu b{font-size:10px}
.game{display:flex;flex-direction:column;background:#070707}.hud{height:76px;background:linear-gradient(#171717,#050505);border-bottom:4px solid #fff;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;align-items:center;padding:8px;box-shadow:0 5px #000;z-index:10}.hud span{font-size:7px;color:#ffd34d;text-align:center;text-shadow:2px 2px #000}.hud b{display:block;color:#fff;font-size:14px;margin-top:7px}.field{position:relative;flex:1;min-height:420px;overflow:hidden;background:#060606}.arena{z-index:0}.truss.top{top:10px;left:2%;right:2%}.speaker-wall{position:absolute;top:72px;bottom:46px;width:82px;background:repeating-linear-gradient(0deg,#111 0 48px,#030303 48px 54px);border:5px solid #000;box-shadow:inset 0 0 0 3px #333}.speaker-wall:after{content:"";position:absolute;inset:8px;background:repeating-radial-gradient(circle at 50% 24px,#0a0a0a 0 12px,#2b2b2b 13px 17px,#080808 18px 24px)}.speaker-wall.left{left:0}.speaker-wall.right{right:0}.game-crowd{bottom:44px;height:90px;opacity:.8}.footlights{position:absolute;left:8%;right:8%;bottom:42px;height:12px;background:repeating-linear-gradient(90deg,#ffdf63 0 9px,#7f1b0c 9px 17px,#111 17px 27px);box-shadow:0 -5px 18px rgba(255,93,22,.5)}canvas{position:absolute;inset:0;width:100%;height:100%;z-index:5;image-rendering:pixelated}.floor{z-index:2}
.marc-game{position:absolute;z-index:6;left:3%;bottom:44px;width:64px;height:132px;filter:drop-shadow(4px 4px 0 #000)}.mg-head{position:absolute;top:5px;left:15px;width:36px;height:40px;background:linear-gradient(#d39d76,#ad6d4e);border:5px solid #111}.mg-head:before{content:"";position:absolute;left:4px;right:4px;top:-10px;height:12px;background:#d8d1c6;border:4px solid #111}.mg-head span{position:absolute;left:6px;right:6px;bottom:-6px;height:16px;background:#d8d1c6;clip-path:polygon(0 0,100% 0,80% 100%,20% 100%)}.mg-body{position:absolute;top:43px;left:4px;width:56px;height:57px;background:linear-gradient(#242424,#101010);border:5px solid #050505}.mg-body i,.mg-body b{position:absolute;top:18px;width:38px;height:12px;background:#b67958;border:3px solid #111}.mg-body i{left:-5px;transform:rotate(18deg)}.mg-body b{right:-5px;transform:rotate(-18deg)}.mg-legs{position:absolute;bottom:0;left:12px;width:42px;height:34px;background:linear-gradient(90deg,#315371 0 43%,#111 43% 57%,#315371 57%);border-bottom:7px solid #111}.callout{position:absolute;z-index:8;top:14%;left:50%;transform:translateX(-50%);font-size:clamp(16px,5vw,40px);color:#ffd34d;text-shadow:4px 4px #000,0 0 12px #ff4a18;white-space:nowrap}.drop{height:68px;border:0;border-top:5px solid #fff;background:linear-gradient(#d13b26,#83170f);color:#fff;font-size:15px;box-shadow:inset 0 6px #ed725a,0 -4px #000;text-shadow:3px 3px #4d0a06}.drop:active,.big:active{transform:translate(3px,3px)}
.over{display:grid;place-items:center;background:radial-gradient(circle,#35100a,#090909 60%);padding:20px}.overbox{width:min(600px,94vw);text-align:center;background:#050505;border:6px solid #fff;padding:24px;box-shadow:10px 10px #000,0 0 35px #5e180d}.danger{font-size:clamp(28px,8vw,70px);color:#ef3b28;text-shadow:5px 5px #5e160e}.over h2{color:#fff1d5;line-height:1.2}.over p{font-size:8px;color:#ffd34d;line-height:1.7}.over strong{font-size:52px}.over a{display:block;margin-top:22px;font-size:8px}
@media(max-width:600px){header{height:54px}header a{font-size:6px}header button{font-size:5px;padding:6px}.screen{min-height:calc(100dvh - 54px)}.title{padding:5px}.arcade-frame{border-width:4px}.logo{padding:10px 6px 8px}.logo small{font-size:5px}.logo h1{margin-top:9px}.logo p{font-size:6px}.title-scene{height:290px}.title-stack{width:58vw;transform:translateX(-30%)}.amp-head{height:43px;border-width:4px}.brand{font-size:16px;top:7px}.amp-cab{height:92px}.amp-cab .brand{font-size:20px}.marc-title{left:3%;transform:scale(.8);transform-origin:bottom left}.menu{padding:9px}.big{font-size:9px;padding:12px}.field{min-height:calc(100dvh - 198px)}.marc-game{transform:scale(.82);transform-origin:bottom left}.drop{height:68px}.speaker-wall{width:48px}.flame{width:26px;height:58px}.gf2{left:20%}.gf3{right:20%}}


/* v50 — 32-bit visual pass */
.title-scene,.field{background:#060403}
.concert-bg,.arena{
  background:
    radial-gradient(ellipse at 50% 42%,rgba(245,87,25,.22),transparent 34%),
    radial-gradient(ellipse at 18% 34%,rgba(255,176,45,.10),transparent 22%),
    radial-gradient(ellipse at 82% 34%,rgba(255,176,45,.10),transparent 22%),
    linear-gradient(#020205 0 18%,#100609 18% 48%,#29110c 48% 70%,#050505 70% 100%);
}
.concert-bg:after,.arena:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,.025),transparent 20%,transparent 80%,rgba(255,255,255,.025)),repeating-linear-gradient(0deg,transparent 0 3px,rgba(0,0,0,.08) 3px 4px);mix-blend-mode:screen;opacity:.55}
.truss{height:28px;background:repeating-linear-gradient(135deg,#8a8a86 0 4px,#202020 4px 10px,#5f5f5b 10px 14px,#171717 14px 20px);border-color:#050505;box-shadow:0 5px #000,0 0 18px rgba(255,135,42,.12)}
.truss:before,.truss:after{width:28px;height:18px;border-radius:2px;background:radial-gradient(circle,#fff3a0 0 23%,#ffc12d 24% 48%,#d54816 49% 68%,#151515 69%);box-shadow:0 0 24px #ff571a,0 0 50px rgba(255,90,20,.45)}
.stage,.floor{background:linear-gradient(rgba(255,111,32,.08),rgba(0,0,0,.1)),repeating-linear-gradient(90deg,#382118 0 34px,#241512 34px 37px,#4a2a1d 37px 70px,#1c100f 70px 74px);border-top-color:#bc6d2b;box-shadow:inset 0 7px #5a301a,inset 0 -8px #130b09}
.stage:after,.floor:after{content:"";position:absolute;inset:5px 0 0;background:repeating-linear-gradient(0deg,transparent 0 15px,rgba(255,255,255,.035) 15px 17px);opacity:.7}
.footlights{height:16px;background:repeating-linear-gradient(90deg,#fff1a1 0 4px,#ffb323 4px 10px,#79200d 10px 15px,#111 15px 25px);box-shadow:0 -5px 24px rgba(255,103,25,.65)}
.speaker-wall{background:linear-gradient(90deg,#050505,#171717 14%,#0c0c0c 50%,#171717 86%,#050505),repeating-linear-gradient(0deg,#111 0 50px,#030303 50px 57px);box-shadow:inset 0 0 0 3px #3b3b38,0 0 18px #000}
.speaker-wall:before{content:"";position:absolute;inset:4px;border:2px solid #5b4a34;box-shadow:inset 0 0 0 2px #0b0b0b}
.speaker-wall:after{inset:10px;background:repeating-radial-gradient(circle at 50% 26px,#050505 0 8px,#151515 9px 15px,#393936 16px 19px,#080808 20px 26px);filter:drop-shadow(0 2px 0 #000)}
.flame{filter:drop-shadow(0 0 10px #ff5c17) drop-shadow(0 -8px 14px rgba(255,182,34,.45))}

/* Marc: larger, more detailed shop/road-crew sprite */
.marc-title{left:7%;bottom:44px;width:102px;height:178px;filter:drop-shadow(7px 7px 0 #000) drop-shadow(0 0 8px rgba(255,115,32,.18))}
.marc-title .face{top:17px;left:25px;width:52px;height:49px;background:linear-gradient(135deg,#deb08a 0 45%,#b87855 46% 100%);border:4px solid #161616;box-shadow:inset 4px 0 rgba(255,218,178,.20),inset -4px -4px rgba(65,25,15,.25)}
.marc-title .hair{top:10px;left:31px;width:40px;height:13px;background:linear-gradient(#e7e1d8,#aaa49a);border:4px solid #151515;border-radius:50% 50% 18% 18%}
.marc-title .hair:after{content:"";position:absolute;left:7px;right:7px;bottom:-7px;height:4px;background:#8f8a83}
.brow{height:4px;background:#28231f}.beard{left:5px;right:5px;bottom:-12px;height:24px;background:linear-gradient(#e1dbd1,#aaa49b);clip-path:polygon(0 0,100% 0,86% 66%,66% 100%,34% 100%,14% 66%);box-shadow:inset 0 -4px rgba(50,50,50,.18)}
.torso{top:68px;left:11px;width:80px;height:72px;background:linear-gradient(90deg,#0c0c0c,#2a2a2a 45%,#101010);border:4px solid #050505;clip-path:polygon(15% 0,85% 0,100% 100%,0 100%)}
.torso:after{content:"M";position:absolute;left:50%;top:17px;transform:translateX(-50%);color:#d6d2c8;font-size:12px;text-shadow:2px 2px #000}
.arm{top:13px;width:52px;height:16px;background:linear-gradient(#d59d74,#ac6d4f);border:3px solid #111}.arm:after{content:"";position:absolute;inset:3px 8px;background:repeating-linear-gradient(90deg,#292929 0 3px,transparent 3px 8px);opacity:.75}.a1{left:-9px;transform:rotate(16deg)}.a2{right:-9px;transform:rotate(-16deg)}
.legs{bottom:0;left:23px;width:56px;height:43px;background:linear-gradient(90deg,#365f82 0 42%,#111 42% 58%,#365f82 58%);border-bottom:8px solid #0d0d0d}.legs:after{content:"";position:absolute;right:-5px;top:7px;width:12px;height:18px;border-right:3px solid #c9c2a9;border-bottom:3px solid #c9c2a9;border-radius:0 0 7px 0}

.marc-game{left:2.5%;bottom:44px;width:88px;height:154px;filter:drop-shadow(6px 6px 0 #000) drop-shadow(0 0 8px rgba(255,120,30,.15))}
.mg-head{top:8px;left:22px;width:45px;height:47px;background:linear-gradient(135deg,#dda881 0 48%,#af6f50 49%);border:4px solid #111;box-shadow:inset 3px 0 rgba(255,220,183,.18)}
.mg-head:before{left:5px;right:5px;top:-10px;height:11px;background:linear-gradient(#e2ddd4,#a7a198);border:4px solid #111;border-radius:50% 50% 0 0}
.mg-head span{left:5px;right:5px;bottom:-9px;height:20px;background:linear-gradient(#ddd7cc,#aaa49a);clip-path:polygon(0 0,100% 0,86% 72%,66% 100%,34% 100%,14% 72%)}
.mg-head:after{content:"";position:absolute;left:7px;right:7px;top:15px;height:4px;background:linear-gradient(90deg,#2b2521 0 28%,transparent 28% 72%,#2b2521 72%)}
.mg-body{top:54px;left:7px;width:74px;height:65px;background:linear-gradient(90deg,#111,#292929 48%,#0f0f0f);border:4px solid #050505}
.mg-body:after{content:"M";position:absolute;left:50%;top:17px;transform:translateX(-50%);font-style:normal;font-size:12px;color:#c9c5bb;text-shadow:2px 2px #000}
.mg-body i,.mg-body b{top:15px;width:48px;height:14px;background:linear-gradient(#d59d74,#ad6d4e);border:3px solid #111}.mg-body i:after,.mg-body b:after{content:"";position:absolute;inset:2px 7px;background:repeating-linear-gradient(90deg,#2b2b2b 0 3px,transparent 3px 8px);opacity:.8}.mg-body i{left:-15px}.mg-body b{right:-15px}
.mg-legs{bottom:0;left:18px;width:54px;height:39px;background:linear-gradient(90deg,#345f84 0 42%,#111 42% 58%,#345f84 58%);border-bottom:7px solid #111}.mg-legs:after{content:"";position:absolute;right:-4px;top:4px;width:11px;height:18px;border-right:3px solid #bbb49d;border-bottom:3px solid #bbb49d;border-radius:0 0 6px 0}
.callout{letter-spacing:1px;text-shadow:4px 4px #000,0 0 14px #ff4a18,0 0 28px rgba(255,169,45,.35)}
.drop{background:linear-gradient(#ec5937,#a22316 55%,#76150f);box-shadow:inset 0 5px #ff8c6c,inset 0 -5px #5d0c08,0 -4px #000;letter-spacing:1px}

@media(max-width:600px){.marc-title{left:1.5%;transform:scale(.7);transform-origin:bottom left}.marc-game{transform:scale(.74);transform-origin:bottom left}.speaker-wall{width:52px}.title-stack{filter:drop-shadow(5px 5px 0 #000) drop-shadow(0 0 10px rgba(255,87,30,.28))}}
