@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--bg:#141817;--panel:#1c211f;--line:#343a33;--lime:#d5f477;--muted:#9a9f93;--cream:#f1efdc}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--cream);font-family:'DM Sans',sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid var(--lime);outline-offset:5px}.topbar{height:94px;max-width:1400px;margin:auto;padding:0 48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font:900 29px/.95 'Barlow Condensed',Impact,sans-serif;letter-spacing:-1px}.brand span{display:block;font:600 8px 'DM Sans',sans-serif;letter-spacing:2px;margin-top:8px}.back{font-size:12px;color:#c8cbbd}.edition{font:10px monospace;color:var(--muted);letter-spacing:1px}main{max-width:1304px;margin:auto;padding:42px 48px 0}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px}.eyebrow>span{display:inline-block;width:7px;height:7px;background:var(--lime);border-radius:50%;margin-right:8px}h1{font:900 clamp(56px,6.5vw,91px)/.95 'Barlow Condensed',Impact,sans-serif;letter-spacing:-1.5px;margin:13px 0}em{font-style:normal;color:var(--lime)}.subtitle{font-size:14px;color:var(--muted);margin:17px 0 0}.intro-stamp{font:900 37px/.9 'Barlow Condensed',Impact,sans-serif;transform:rotate(9deg);border:2px solid #738047;color:var(--lime);padding:13px 16px;text-align:center;margin-right:14px;box-shadow:4px 4px 0 #28331c}.intro-stamp span{display:block;font-size:15px;letter-spacing:1px;margin-top:6px}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:26px}.cabinet{border:1px solid #4a5140;border-radius:9px;overflow:hidden;background:var(--panel);box-shadow:0 10px 35px #0002}.cabinet-top{display:flex;align-items:center;justify-content:space-between;padding:15px 23px;background:#252c24;border-bottom:1px solid #424936;font:10px monospace;letter-spacing:1px}.cabinet-top i{display:inline-block;width:6px;height:6px;background:var(--lime);border-radius:50%;margin-right:7px}.cabinet-top button{border:0;background:none;color:#b5bca7;font:10px monospace;padding:2px}.health-panel{padding:23px 25px 18px}.health-panel>div:first-child{display:flex;justify-content:space-between;font:11px monospace;margin-bottom:10px}.health-panel strong{letter-spacing:1px}.health-panel #health-text{color:var(--lime)}.health-track{height:14px;background:#373e31;overflow:hidden;transform:skewX(-9deg)}#health-fill{width:100%;height:100%;background:var(--lime);transition:width .18s ease,background .3s;background-image:repeating-linear-gradient(90deg,transparent 0,transparent 22px,#14181735 22px,#14181735 25px)}.stage-labels{display:flex;justify-content:space-between;font:8px monospace;color:#747e6b;margin-top:9px}.stage-labels .active{color:var(--lime)}.arena{height:405px;position:relative;background:radial-gradient(ellipse at 50% 70%,#556445 0,#303b2c 43%,#222b23 78%);overflow:hidden;border-block:1px solid #3d4734;isolation:isolate}.arena:after{content:'';position:absolute;inset:0;pointer-events:none;background-image:url("data:image/svg,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' opacity='.11' filter='url(%23n)' d='M0 0h160v160H0z'/%3E%3C/svg%3E");opacity:.28;z-index:3}.arena-watermark{position:absolute;inset:47px 0 auto;text-align:center;font:900 112px/.85 'Barlow Condensed',Impact,sans-serif;color:#a8bb7410;letter-spacing:3px;transform:rotate(-5deg)}.arena-grid{position:absolute;inset:65% -60% -35%;background:linear-gradient(#7a8c4733 1px,transparent 1px),linear-gradient(90deg,#7a8c4733 1px,transparent 1px);background-size:45px 35px;transform:perspective(140px) rotateX(40deg)}.stage-badge{position:absolute;top:17px;left:23px;font:9px monospace;letter-spacing:1px;color:#aab59a}.speech{position:absolute;top:51px;left:50%;transform:translateX(-50%) rotate(-3deg);padding:10px 15px;margin:0;background:var(--cream);color:#31382a;font-size:12px;font-weight:700;white-space:nowrap;box-shadow:3px 3px 0 #0003;z-index:2}.speech:after{content:'';position:absolute;bottom:-8px;left:55%;border:9px solid transparent;border-top-color:var(--cream);border-bottom:0}.target{position:absolute;width:350px;height:350px;bottom:-18px;left:calc(50% - 175px);background:none;border:0;padding:0;touch-action:manipulation;user-select:none;transform-origin:50% 90%;z-index:1}.target:focus-visible{outline-offset:-20px;border-radius:40%}.ape{height:100%;width:100%;overflow:visible;filter:drop-shadow(0 12px 12px #0005)}.target.hit{animation:jolt .19s ease-out}.floor{position:absolute;bottom:0;left:0;right:0;height:34px;background:#20281f;border-top:3px solid #6e7e4c;z-index:2;display:grid;place-items:center;box-shadow:0 -5px 30px #0003}.floor span{font:9px monospace;color:#8e9b7a;letter-spacing:2px}.frown,.bruises,.dizzy{opacity:0}.ape-head,.glasses{transform-origin:210px 190px;transition:transform .25s}.arena[data-stage='1'] .smirk,.arena[data-stage='2'] .smirk,.arena[data-stage='3'] .smirk,.arena[data-stage='4'] .smirk{opacity:0}.arena:not([data-stage='0']) .frown{opacity:1}.arena[data-stage='2'] .bruises,.arena[data-stage='3'] .bruises,.arena[data-stage='4'] .bruises{opacity:1}.arena[data-stage='2'] .glasses{transform:rotate(9deg) translateY(7px)}.arena[data-stage='3'] .glasses,.arena[data-stage='4'] .glasses{transform:rotate(-17deg) translateY(19px)}.arena[data-stage='3'] .ape-head{transform:rotate(5deg)}.arena[data-stage='4'] .ape-head{transform:rotate(13deg) translateY(13px)}.arena[data-stage='4'] .dizzy{opacity:1}.weapon-panel{padding:19px 23px 15px}.dock-label{display:flex;justify-content:space-between;font:9px monospace;letter-spacing:1px;margin-bottom:13px}.dock-label span:last-child{color:#7d8774;font-size:8px}.weapons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.weapon{position:relative;background:#262d24;color:var(--cream);border:1px solid #414938;border-radius:5px;padding:12px 5px 10px;text-align:center;transition:background .15s,transform .15s;overflow:hidden}.weapon:hover{transform:translateY(-2px);background:#333f2d}.weapon.selected{border-color:var(--lime);background:#d5f47712}.weapon kbd{position:absolute;left:8px;top:7px;font:8px monospace;color:#8c9780}.weapon .icon{display:block;font-size:27px;margin-bottom:7px;filter:drop-shadow(2px 3px 0 #0004)}.weapon b{display:block;font-size:11px}.weapon small{display:block;font:8px monospace;color:#a0ab90;margin-top:5px}.weapon.selected b{color:var(--lime)}.weapon:after{content:'';position:absolute;bottom:0;left:0;height:3px;background:var(--lime);width:var(--cooldown,0%)}.instruction{text-align:center;color:#9aa68d;font-size:10px;margin:15px 0 0}.instruction span{color:#63705c;font:8px monospace;margin-left:9px}.mission{border:1px solid var(--line);border-radius:7px;padding:22px 22px 0;overflow:hidden;background:linear-gradient(145deg,#252a22,#191f1b)}.mission .eyebrow{font-size:8px;letter-spacing:1px;color:#aeb69d}.mission h2{font:800 48px/.97 'Barlow Condensed',Impact,sans-serif;margin:18px 0 12px}.mission>p{color:#a3aa98;font-size:12px;line-height:1.7;max-width:185px}.hero-cutout{height:175px;position:relative;margin:0 -22px}.hero-cutout img{position:absolute;height:215px;width:205px;object-fit:contain;right:-13px;bottom:-40px;filter:drop-shadow(-10px 4px 12px #0004)}.hero-cutout span{position:absolute;top:73px;left:22px;transform:rotate(-8deg);font:700 15px/1.15 'Barlow Condensed',Impact,sans-serif;color:#a3aa98}.hero-cutout b{color:var(--lime);font-size:21px}.stats{margin-top:22px}.section-label{font:10px monospace;padding-bottom:14px;border-bottom:1px solid var(--line)}.section-label span{float:right;font-size:8px;color:#737e69}.stats>div:not(:first-child){display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid var(--line);font-size:12px;color:#a7ae9d}.stats strong{font:700 25px 'Barlow Condensed',Impact,sans-serif;color:var(--cream)}.note{display:flex;gap:14px;align-items:center;margin-top:21px}.note>span{font-size:39px;color:var(--lime)}.note p{font-size:11px;line-height:1.8;color:#929e86}.note strong{color:#d5ddc9;font-weight:500}.build-note{font:8px/1.9 monospace;letter-spacing:.4px;color:#727c68;margin-top:20px}footer{display:flex;justify-content:space-between;padding:25px 0 27px;font:8px monospace;color:#727a69;letter-spacing:1px}.effects{position:absolute;inset:0;pointer-events:none;z-index:4}.impact{position:absolute;font:900 40px 'Barlow Condensed',Impact,sans-serif;color:var(--lime);text-shadow:3px 3px #17221a;animation:float .65s ease-out forwards}.projectile{position:absolute;font-size:44px;animation:throw .2s ease-in forwards}.spark{position:absolute;width:55px;height:55px;background:#eef9b6;clip-path:polygon(50% 0,60% 34%,94% 12%,73% 45%,100% 57%,65% 63%,73% 100%,47% 75%,16% 96%,27% 62%,0 39%,36% 38%);animation:burst .3s forwards}.splats{position:absolute;inset:0;pointer-events:none}.splat{position:absolute;width:43px;height:36px;background:#d34326;border-radius:40% 57% 35% 48%;transform:rotate(-20deg);box-shadow:10px -9px 0 -9px #df5232,-17px 3px 0 -10px #d34326,7px 22px 0 -12px #d34326;opacity:.88}.combo{position:absolute;right:21px;top:17px;font:800 20px 'Barlow Condensed',Impact,sans-serif;color:var(--lime)}.result{position:absolute;inset:0;z-index:5;background:#192019eb;backdrop-filter:blur(7px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.result[hidden]{display:none}.result h2{font:900 60px/.9 'Barlow Condensed',Impact,sans-serif;margin:18px 0}.result p{font-size:12px;color:#b1bea0}.result button{border:0;background:var(--lime);padding:13px 28px;font-weight:800;font-size:12px;margin-top:12px;border-radius:3px}.result small{font:9px monospace;color:#96a286;margin-top:14px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@keyframes jolt{0%{transform:rotate(0)}30%{transform:rotate(-5deg) scale(.96,1.02)}65%{transform:rotate(3deg)}100%{transform:rotate(0)}}@keyframes float{0%{opacity:0;transform:translateY(0) rotate(-12deg) scale(.6)}20%{opacity:1;transform:translateY(-12px) rotate(-8deg) scale(1.15)}100%{opacity:0;transform:translateY(-85px) rotate(4deg)}}@keyframes throw{from{transform:translate(-170px,110px) rotate(-100deg) scale(1.8)}to{transform:translate(0,0) rotate(10deg) scale(.7)}}@keyframes burst{0%{transform:scale(.2)}40%{transform:scale(1.1)}100%{transform:scale(.4);opacity:0}}@media(min-width:1400px){main{padding-top:50px}.arena{height:430px}.target{width:375px;height:375px;left:calc(50% - 187.5px)}}@media(max-width:1000px){main{padding:30px 24px 0}.topbar{padding:0 24px}.game-layout{grid-template-columns:minmax(0,1fr) 235px;gap:20px}.mission{padding:19px 18px 0}.mission h2{font-size:43px}.stage-labels{font-size:7px}.weapon small{font-size:7px}}@media(max-width:760px){.topbar{height:76px}.edition{display:none}.game-layout{grid-template-columns:1fr}.intro-stamp{display:none}.intro{margin-bottom:25px}main{padding:26px 16px 0}.topbar{padding:0 19px}h1{font-size:clamp(48px,10vw,75px)}.subtitle{font-size:12px}.arena{height:380px}.target{width:335px;height:335px;left:calc(50% - 167.5px)}.cabinet-top{padding:13px 16px;font-size:9px}.health-panel{padding:19px 16px 15px}.weapon-panel{padding:17px 13px}.weapon{padding:13px 3px 11px}.weapon small{font-size:7px}.dock-label span:last-child,.instruction span{display:none}.stage-labels{font-size:7px}.speech{font-size:11px}.arena-watermark{font-size:97px}aside{display:grid;grid-template-columns:1fr 1fr;gap:18px}.mission{grid-row:span 2}.mission h2{font-size:36px}.mission>p{font-size:11px}.mission .eyebrow{font-size:7px}.stats{margin:0}.section-label{font-size:9px}.section-label span{display:none}.hero-cutout{height:130px}.hero-cutout img{height:170px;width:160px;right:-25px}.hero-cutout span{left:17px;font-size:12px;top:60px}.hero-cutout b{font-size:16px}.note{margin:0;gap:8px}.note p{font-size:10px}.note>span{font-size:28px}.build-note{grid-column:1/-1;margin:0}footer{font-size:7px;letter-spacing:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.projectile{display:none}.impact{opacity:1}.result{backdrop-filter:none}}

/* Artwork/motion integration from the damage lab, plus eight-stage responsive UI. */
:root{color-scheme:dark}button:disabled{cursor:wait;opacity:.4}[hidden]{display:none!important}
.stage-labels{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:3px;text-align:center;font-size:7px;color:#9aa68d}
.stage-labels span:before{content:'';display:block;height:2px;background:#3c4536;margin-bottom:5px}.stage-labels .active:before{background:var(--lime)}
.arena{height:480px}.arena-watermark{top:110px;pointer-events:none}.arena-grid{pointer-events:none}
.target{width:min(88%,400px);height:auto;aspect-ratio:1;left:50%;bottom:0;transform:translateX(-50%)}
.sprite-wrap{position:absolute;inset:0;display:block;transform-origin:50% 86%}.sprite-wrap img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none;filter:drop-shadow(0 8px 12px #0003)}
.speech{top:55px;max-width:calc(100% - 32px);width:max-content;white-space:normal;text-align:center;line-height:1.4;pointer-events:none;z-index:3}
.stage-badge{max-width:64%;color:#b9c3ab;z-index:2}.floor{display:flex;justify-content:space-between;padding:0 20px;gap:8px;pointer-events:none;z-index:3}.floor span,.floor b{font:9px monospace;letter-spacing:1px;color:#acb798}.floor b{color:var(--lime)}
.combo{right:20px;top:10px;z-index:3;text-align:right;min-width:70px}.combo b{font:900 28px/.9 'Barlow Condensed',Impact,sans-serif;display:inline-block;margin-right:5px}.combo>span{font:9px monospace;letter-spacing:1px}.combo-track{margin-top:6px;height:3px;background:#d5f47720}.combo-track i{display:block;height:100%;background:var(--lime);transform-origin:left}.combo.hot{color:#ffb36a}.combo.hot .combo-track i{background:#ffb36a}
.weapons{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.weapon{min-width:0}.weapon b{font-size:10px}.weapon small{font-size:7px;color:#b1bda1;line-height:1.4}.weapon[aria-pressed=true]{border-color:var(--lime);background:#d5f47712}.weapon[aria-pressed=true] b{color:var(--lime)}.weapon:after{width:var(--cooldown,0%)}.instruction{line-height:1.8;color:#adb89f}.instruction span{display:block;margin:4px 0 0;color:#8b997d}.dock-label span:last-child{color:#a1ae94}
.utilities{display:grid;gap:12px;margin-top:18px;font-size:11px;color:#b6c2a9}.utilities label{display:flex;gap:8px;align-items:center}.utilities input{accent-color:var(--lime)}.utilities button{background:#262d24;color:var(--cream);border:1px solid #414938;border-radius:5px;padding:10px}.utilities a{text-decoration:underline;text-underline-offset:4px;font-size:10px}.build-note{color:#a2ad95}#status{color:#a7b299;font-size:11px;line-height:1.5;margin:20px 0 0;min-height:17px}.error{color:#ffa78f!important}
#effects,#overlays{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:4}#overlays{overflow:hidden}#splats{position:absolute;inset:0;pointer-events:none}
.splat{position:absolute;border-radius:48% 52% 65% 35%;background:#f52f3e;box-shadow:8px 2px 0 -3px #a81626,-8px -4px 0 -5px #e94633;transform:translate(-50%,-50%);opacity:1}.splat:after{content:'';position:absolute;background:inherit;top:65%;left:35%;width:20%;height:150%;border-radius:0 0 100% 100%}
.projectile{position:absolute;left:0;top:0;font-size:54px;line-height:1;filter:drop-shadow(0 5px 3px #0008);will-change:transform;animation:none}
.impact-word{position:absolute;color:#ffdd69;font:900 35px/1 'Barlow Condensed',Impact,sans-serif;text-shadow:3px 3px #142019,-2px -2px #142019;white-space:nowrap}
.ear-piece{position:absolute;transform-origin:77% 29%}.ear-piece img{width:100%;height:100%;clip-path:ellipse(10% 12% at 77% 29%)}
.result{z-index:6;background:#192019f0;padding:20px}.result h2{font-size:68px}.result p{line-height:1.5;margin:7px 0}.result #result-quote{font-style:italic;color:var(--cream)}.result button{color:#1c2614}.result small{font-size:10px}
@media(min-width:1400px){.arena{height:510px}.target{width:430px;height:auto;left:50%}}
@media(max-width:1100px){.weapons{grid-template-columns:repeat(3,minmax(0,1fr))}.weapon{padding:9px 5px}.weapon .icon{font-size:24px;margin-bottom:4px}.stage-labels{font-size:6px}}
@media(max-width:760px){.arena{height:450px}.target{width:min(88%,370px);height:auto;left:50%}.weapons{grid-template-columns:repeat(6,minmax(0,1fr))}.stage-labels{font-size:7px}.utilities{margin:0}.mission{grid-row:span 3}.instruction span{display:none}}
@media(max-width:460px){.weapons{grid-template-columns:repeat(3,minmax(0,1fr))}.arena{height:410px}.target{width:94%}.stage-labels{font-size:6px;gap:2px}.stage-badge{left:14px;font-size:8px;letter-spacing:0;max-width:61%}.combo{right:13px}.combo b{font-size:24px}.speech{top:59px;font-size:11px;padding:9px 12px}.floor{padding:0 13px}.floor span,.floor b{font-size:8px;letter-spacing:0}.result h2{font-size:57px}.result .eyebrow{font-size:9px}.brand{font-size:25px}.back{font-size:10px}}
body.reduced-motion *,body.reduced-motion *:before,body.reduced-motion *:after{transition:none!important;animation:none!important}
