*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#090c16;color:#fff;font-family:Arial,Helvetica,sans-serif;touch-action:none}
body{display:flex;justify-content:center}
.wrap{width:min(1080px,100%);padding:10px}
header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}
.brand{font-size:1.42rem;font-weight:1000;color:#ffd84d;text-shadow:0 0 18px rgba(255,190,55,.28)}
.sub{color:#8e9ab1;font-size:.8rem}
.stats{display:flex;gap:6px;flex-wrap:wrap}.stats div{min-width:83px;background:#111728;border:1px solid rgba(255,216,77,.13);border-radius:11px;padding:7px 8px;text-align:center}.stats span{display:block;color:#77849a;font-size:.57rem;text-transform:uppercase}.stats b{font-size:.93rem}
.mission{display:flex;align-items:center;gap:8px;background:#10172a;border:1px solid rgba(255,216,77,.13);border-radius:12px;padding:9px 11px;margin-bottom:8px;color:#b3bdd0}.mission strong{flex:1;color:#fff}.mission button{border:1px solid rgba(255,216,77,.16);background:#181f33;color:#fff;border-radius:10px;padding:8px 10px;font-weight:900;cursor:pointer}
.game-shell{position:relative;overflow:hidden;border-radius:18px;border:1px solid rgba(255,216,77,.16);box-shadow:0 24px 70px rgba(0,0,0,.55);background:#10162a}
canvas{display:block;width:100%;height:auto;image-rendering:pixelated}
.overlay,.level-banner,.complete-overlay,.duel-overlay,.final-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:14px;z-index:20}.hidden{display:none!important}
.overlay{background:rgba(5,7,15,.76)}
.panel,.banner-card,.complete-card,.duel-card,.final-card{width:min(520px,94%);background:linear-gradient(145deg,#1c2440,#0b1020);border:1px solid rgba(255,216,77,.19);border-radius:22px;padding:22px;text-align:center;box-shadow:0 24px 65px rgba(0,0,0,.55)}
.hero{font-size:4rem}.panel h1{font-size:2rem;margin:5px 0}.panel p{color:#b1bbce;line-height:1.45}.features{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin:12px 0}.features span{background:#11182c;border-radius:999px;padding:7px 9px;font-size:.74rem;color:#d8e0ef}
.panel>button,.complete-card button,.final-card button{border:0;border-radius:14px;background:linear-gradient(135deg,#ffb43a,#ff7049);color:#201006;font-weight:1000;padding:13px 23px;cursor:pointer}.help{color:#7b879d;font-size:.76rem;line-height:1.4;margin-top:12px}
.level-banner{background:rgba(5,8,18,.34);pointer-events:none}.banner-card{width:min(430px,88%);padding:18px}.kicker{color:#ffd84d;font-size:.7rem;font-weight:1000;letter-spacing:.12em}.banner-card h2{font-size:1.75rem;margin:5px 0}.banner-card p{color:#aab5c8;margin:0}
.complete-overlay,.duel-overlay{background:rgba(4,7,15,.76)}.complete-icon,.duel-icon{font-size:4rem}.complete-card p,.duel-card p{color:#b4bfd1;line-height:1.45}.duel-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.duel-buttons button{border:0;border-radius:14px;background:#263250;color:#fff;font-weight:1000;padding:12px 7px;cursor:pointer}.duel-buttons button:hover{background:#34436a}.duel-result{min-height:28px;margin-top:11px;font-weight:900}
.final-overlay{background:linear-gradient(#63c7ff 0 58%,#76c957 58%)}.final-card{background:rgba(255,255,255,.92);color:#16321d}.final-icons{font-size:4rem}.final-card p{color:#355940;font-weight:800}.final-score{font-size:1.35rem;font-weight:1000;color:#cf7a00;margin:10px}
.toast{position:absolute;left:50%;bottom:15px;transform:translate(-50%,10px);opacity:0;z-index:15;background:rgba(7,10,22,.88);border:1px solid rgba(255,216,77,.16);border-radius:12px;padding:8px 11px;font-weight:900;transition:.15s}.toast.show{opacity:1;transform:translate(-50%,0)}
.mobile-controls{display:none;grid-template-columns:1fr .65fr .65fr;gap:8px;margin-top:8px}.move{display:grid;grid-template-columns:1fr 1fr;gap:7px}.mobile-controls button{border:0;border-radius:16px;background:linear-gradient(135deg,#344c94,#4a68bd);color:#fff;font-weight:1000;min-height:78px;font-size:1rem}.mobile-controls #punchBtn{background:linear-gradient(135deg,#ff9b2e,#e8643c)}.mobile-controls #jumpBtn{background:linear-gradient(135deg,#3fc27e,#2a9b69)}
@media(max-width:760px){header{flex-direction:column;align-items:flex-start}.stats{width:100%}.stats div{flex:1;min-width:0}.sub{display:none}.mobile-controls{display:grid;position:sticky;bottom:0;z-index:50}}
@media(max-width:560px){.wrap{padding:5px}.brand{font-size:1.03rem}.stats div{flex-basis:calc(50% - 6px)}.mission{font-size:.75rem;padding:7px}.game-shell{border-radius:14px}canvas{aspect-ratio:390/700}.panel{width:min(330px,95%);padding:15px}.hero{font-size:2.8rem}.panel h1{font-size:1.45rem}.panel p{font-size:.87rem}.features span{font-size:.67rem}.mobile-controls{padding-top:7px;background:linear-gradient(180deg,rgba(9,12,22,0),rgba(9,12,22,.96) 30%,#090c16)}.mobile-controls button{min-height:88px}.duel-buttons{grid-template-columns:1fr}}
