:root{--ink:#06152f;--blue:#0a4d91;--sky:#45c8ff;--gold:#ffd43b;--cyan:#65ecff;--red:#ff4f62;--panel:rgba(5,31,70,.88)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#06152f;color:#fff;font-family:Inter,Arial,sans-serif;overscroll-behavior:none}button,a{font:inherit}.hero-blast-page{min-height:100dvh;background:radial-gradient(circle at 55% 0,#1c82c8 0,#082e5d 38%,#04162f 80%);overflow-x:hidden}.hero-blast-top{height:68px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px clamp(10px,2vw,28px);border-bottom:3px solid rgba(255,212,59,.7);background:linear-gradient(180deg,rgba(8,55,104,.98),rgba(4,26,57,.96));position:relative;z-index:60}.hb-brand{display:flex;align-items:baseline;gap:5px;text-decoration:none;text-shadow:0 3px 0 #06152f}.hb-brand .two{font:1000 36px/1 Arial Black;color:#ffd43b;-webkit-text-stroke:2px #06152f}.hb-brand .blocks{font:1000 24px/1 Arial Black;color:#fff;-webkit-text-stroke:2px #06152f}.hb-brand small{display:block;font-size:8px;font-weight:1000;color:#bfefff;margin-left:6px;letter-spacing:.6px}.hb-nav{display:flex;gap:7px}.hb-nav a{padding:9px 12px;border:2px solid #06152f;border-radius:11px;background:#e9f7ff;color:#06152f;text-decoration:none;font:1000 9px Arial Black;box-shadow:0 4px 0 rgba(0,0,0,.32)}.hb-nav a.active{background:linear-gradient(#ffe96c,#ffb326)}
.hero-blast-shell{width:min(1500px,100%);margin:auto;padding:8px clamp(5px,1vw,14px) 22px}.hero-blast-frame{position:relative;height:min(780px,calc(100dvh - 82px));min-height:520px;border:4px solid #06152f;border-radius:26px;overflow:hidden;background:#76d7ff;box-shadow:0 18px 50px rgba(0,0,0,.42),inset 0 0 0 3px rgba(255,255,255,.25);isolation:isolate;touch-action:manipulation}.hb-world{position:absolute;inset:0;overflow:hidden;background:linear-gradient(#45c8ff 0 52%,#bff2ff 52% 53%,#4b739a 53% 100%)}.hb-sun{position:absolute;right:8%;top:7%;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,#fff8b5 0,#ffe373 30%,rgba(255,225,98,.16) 72%);filter:blur(.2px);opacity:.72}.hb-cloud{position:absolute;height:44px;width:140px;border-radius:40px;background:rgba(255,255,255,.83);box-shadow:40px -18px 0 9px rgba(255,255,255,.82),83px 2px 0 -3px rgba(255,255,255,.8)}.hb-cloud.c1{left:6%;top:17%;transform:scale(.8)}.hb-cloud.c2{left:52%;top:10%;transform:scale(.55)}.hb-cloud.c3{right:8%;top:27%;transform:scale(.65)}.hb-city{position:absolute;left:0;right:0;bottom:27%;height:44%;display:flex;align-items:flex-end;gap:1.4%;padding:0 1.5%;opacity:.9}.hb-building{position:relative;flex:0 0 8%;min-width:62px;height:var(--h);border:3px solid #18375c;border-bottom:0;background:linear-gradient(90deg,#40658d,#92bad0 48%,#526f8d);box-shadow:inset -9px 0 rgba(4,27,60,.18)}.hb-building:before{content:"";position:absolute;inset:12px 10px;background:repeating-linear-gradient(0deg,transparent 0 18px,rgba(255,238,130,.72) 19px 28px),repeating-linear-gradient(90deg,transparent 0 16px,rgba(255,255,255,.25) 17px 21px)}.hb-building:nth-child(odd){background:linear-gradient(90deg,#254e77,#6f9dba 50%,#335676)}.hb-building:nth-child(3n){flex-basis:11%}.hb-roof{position:absolute;left:0;right:0;bottom:0;height:28%;background:linear-gradient(#566875 0 8%,#788895 8% 77%,#314557 77%);border-top:7px solid #233a4d;box-shadow:inset 0 8px rgba(255,255,255,.12)}.hb-roof:before{content:"";position:absolute;left:0;right:0;top:0;height:12px;background:repeating-linear-gradient(90deg,#ffd43b 0 24px,#101d2e 24px 48px)}.hb-roof:after{content:"";position:absolute;left:0;right:0;bottom:8%;height:3px;background:rgba(10,31,48,.42);box-shadow:0 22px rgba(10,31,48,.25)}
.hb-hud{position:absolute;inset:10px 10px auto;z-index:30;display:flex;justify-content:space-between;pointer-events:none}.hb-hud-side{display:grid;gap:5px}.hb-pill{min-width:142px;padding:6px 10px;border:3px solid #06152f;border-radius:14px;background:linear-gradient(145deg,rgba(20,98,163,.95),rgba(5,48,101,.96));box-shadow:0 5px 0 rgba(0,0,0,.25),inset 0 1px rgba(255,255,255,.22)}.hb-pill small{display:block;font:1000 7px Arial Black;color:#b9edff;letter-spacing:.9px}.hb-pill b{display:block;font:1000 18px/1 Arial Black;color:#ffd43b;text-shadow:0 2px #06152f}.hb-hearts{font-size:17px;letter-spacing:2px}.hb-auto{font:1000 8px Arial Black;color:#fff}.hb-bossbar{position:absolute;top:12px;left:50%;transform:translateX(-50%);z-index:31;width:min(420px,42vw);display:none;padding:5px 8px;border:3px solid #06152f;border-radius:13px;background:rgba(4,35,76,.92)}.hb-bossbar.show{display:block}.hb-bossbar span{display:block;font:1000 8px Arial Black;color:#fff;margin-bottom:3px;text-align:center}.hb-bossbar div{height:12px;border:2px solid #06152f;border-radius:999px;overflow:hidden;background:#3b1830}.hb-bossbar i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#ff4c62,#ffb329,#fff270);transition:width .12s linear}
.hb-hero{position:absolute;z-index:18;left:12%;bottom:24%;width:clamp(92px,12vw,170px);aspect-ratio:320/390;transform-origin:50% 100%;filter:drop-shadow(0 8px 6px rgba(0,0,0,.35));will-change:transform}.hb-hero img{width:100%;height:100%;display:block;object-fit:contain;object-position:center bottom;transform:scale(1.13);transform-origin:50% 100%;image-rendering:auto}.hb-hero.run{animation:none}.hb-hero.jump{animation:none}.hb-hero.hit{animation:heroHit .18s linear 4}.hb-shield-ring{position:absolute;inset:4% -4%;border:7px solid rgba(104,239,255,.85);border-radius:50%;box-shadow:0 0 22px #5de8ff,inset 0 0 18px #5de8ff;opacity:0;transform:scale(.85);transition:.18s}.hb-hero.shield .hb-shield-ring{opacity:1;transform:scale(1)}@keyframes heroRun{from{opacity:1}to{opacity:1}}@keyframes heroHit{50%{filter:brightness(2) drop-shadow(0 0 18px #ff5060);opacity:.35}}
.hb-entity{position:absolute;z-index:17;will-change:transform,left,bottom}.hb-enemy img,.hb-boss img{width:100%;height:100%;display:block}.hb-enemy{filter:drop-shadow(0 7px 5px rgba(0,0,0,.32))}.hb-enemy.drone{width:clamp(70px,9vw,132px);aspect-ratio:260/190}.hb-enemy.hover{width:clamp(64px,8vw,116px);aspect-ratio:1}.hb-enemy.tread{width:clamp(76px,10vw,142px);aspect-ratio:280/240}.hb-boss{width:clamp(150px,20vw,280px);aspect-ratio:420/360;filter:drop-shadow(0 10px 8px rgba(0,0,0,.42))}.hb-enemy.damage,.hb-boss.damage{filter:brightness(2) drop-shadow(0 0 20px #fff)}.hb-projectile{position:absolute;z-index:20;width:34px;height:14px;border-radius:50% 60% 60% 50%;background:radial-gradient(circle at 72% 50%,#fff 0 18%,#b6ffff 20% 35%,#4ce9ff 38% 60%,rgba(33,132,255,.1) 72%);box-shadow:0 0 13px #46e8ff,0 0 27px rgba(35,151,255,.8);filter:saturate(1.25)}.hb-projectile:before{content:"";position:absolute;right:24px;top:3px;width:34px;height:8px;border-radius:50%;background:linear-gradient(90deg,transparent,#6eeaff)}.hb-enemy-shot{position:absolute;z-index:19;width:22px;height:22px;border-radius:50%;background:radial-gradient(circle,#fff 0 15%,#ffea73 18%,#ff8b28 50%,#e43c49 75%);box-shadow:0 0 12px #ff6b35}.hb-star{position:absolute;z-index:15;width:46px;height:46px;filter:drop-shadow(0 5px 4px rgba(0,0,0,.28));animation:starBob .7s ease-in-out infinite alternate}.hb-star img{width:100%;height:100%}@keyframes starBob{to{transform:translateY(-8px) rotate(10deg)}}.hb-obstacle{position:absolute;z-index:16;bottom:24%;border:4px solid #06152f;box-shadow:0 7px 0 rgba(0,0,0,.3)}.hb-crate{width:70px;height:70px;border-radius:8px;background:linear-gradient(135deg,#d99547,#925526);box-shadow:inset 0 0 0 8px #b87532,0 7px 0 rgba(0,0,0,.3)}.hb-crate:before,.hb-crate:after{content:"";position:absolute;left:30px;top:-4px;width:8px;height:70px;background:#714017;transform:rotate(45deg)}.hb-crate:after{transform:rotate(-45deg)}.hb-spikes{width:92px;height:44px;border:0;box-shadow:none;background:linear-gradient(135deg,transparent 0 33%,#d9e7ef 34% 67%,transparent 68%) 0 0/30px 44px repeat-x;filter:drop-shadow(0 4px 0 #34495c)}.hb-gap{position:absolute;z-index:13;bottom:0;height:28%;width:110px;background:linear-gradient(#203449,#081421);box-shadow:inset 12px 0 16px rgba(0,0,0,.45),inset -12px 0 16px rgba(0,0,0,.45)}
.hb-pop{position:absolute;z-index:45;left:50%;top:45%;transform:translate(-50%,-50%) scale(.75);opacity:0;padding:7px 12px;border:3px solid #06152f;border-radius:14px;background:#ffd43b;color:#06152f;font:1000 18px Arial Black;pointer-events:none}.hb-pop.show{animation:popScore .7s ease-out}@keyframes popScore{0%{opacity:0;transform:translate(-50%,-30%) scale(.6)}25%{opacity:1;transform:translate(-50%,-60%) scale(1.05)}100%{opacity:0;transform:translate(-50%,-100%) scale(.9)}}
.hb-tap-hint{position:absolute;z-index:35;left:50%;bottom:4.5%;transform:translateX(-50%);padding:8px 16px;border:3px solid #06152f;border-radius:999px;background:linear-gradient(#ffe96a,#ffad21);color:#06152f;font:1000 clamp(10px,1.4vw,16px) Arial Black;box-shadow:0 5px 0 #8e4c10;pointer-events:none;opacity:.94;transition:opacity .5s}.hb-tap-hint.fade{opacity:0}
.hb-stage-controls{position:absolute;right:8px;bottom:8px;z-index:50;display:flex;gap:5px}.hb-stage-controls button,.hb-stage-controls a{padding:7px 9px;border:2px solid #06152f;border-radius:10px;background:rgba(237,250,255,.93);color:#06152f;font:1000 7px Arial Black;text-decoration:none;box-shadow:0 3px 0 rgba(0,0,0,.25)}
.hb-overlay{position:absolute;inset:0;z-index:55;display:none;place-items:center;background:rgba(3,18,42,.82);backdrop-filter:blur(4px);padding:10px}.hb-overlay.show{display:grid}.hb-intro{padding:0;background:#051a38}.hb-intro-card{position:relative;width:100%;height:100%;overflow:hidden}.hb-intro-card>img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.05) contrast(1.03)}.hb-intro-card:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,21,50,.22),transparent 42%),linear-gradient(0deg,rgba(3,21,50,.84),transparent 43%)}.hb-intro-copy{position:absolute;z-index:3;left:4%;bottom:5%;width:min(520px,88%);padding:16px;border:3px solid rgba(255,255,255,.38);border-radius:22px;background:rgba(5,35,79,.8);box-shadow:0 15px 38px rgba(0,0,0,.35);backdrop-filter:blur(7px)}.hb-intro-copy .mini{font:1000 9px Arial Black;color:#64eaff;letter-spacing:1px}.hb-intro-copy h1{margin:4px 0;font:1000 clamp(32px,5vw,67px)/.88 Arial Black;color:#ffd43b;text-shadow:0 4px 0 #06152f;-webkit-text-stroke:2px #06152f}.hb-intro-copy p{margin:8px 0 12px;font-weight:850;color:#e6f7ff;font-size:clamp(11px,1.3vw,16px)}.hb-start{width:100%;padding:14px;border:3px solid #06152f;border-radius:15px;background:linear-gradient(#fff36e,#ffad21);color:#06152f;font:1000 clamp(18px,2vw,28px) Arial Black;box-shadow:0 6px 0 #8e4b0e;cursor:pointer}.hb-rules{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.hb-rules span{padding:5px 8px;border-radius:999px;background:#0a4d91;border:1px solid #67eaff;font:900 8px Arial Black}.hb-result-card{width:min(560px,94%);padding:22px;border:4px solid #ffd43b;border-radius:25px;background:linear-gradient(150deg,#12569e,#061f48);box-shadow:0 24px 70px rgba(0,0,0,.5);text-align:center}.hb-result-card small{font:1000 9px Arial Black;color:#6beaff}.hb-result-card h2{margin:5px 0;color:#ffd43b;font:1000 clamp(30px,6vw,54px)/.9 Arial Black;text-shadow:0 4px #06152f}.hb-result-card p{font-weight:800;color:#d8f1ff}.hb-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:14px 0}.hb-stats div{padding:9px 5px;border:2px solid #06152f;border-radius:12px;background:rgba(255,255,255,.08)}.hb-stats small{display:block;font-size:6px}.hb-stats b{display:block;font:1000 18px Arial Black;color:#fff}.hb-result-actions{display:flex;gap:7px;justify-content:center;flex-wrap:wrap}.hb-result-actions button,.hb-result-actions a{padding:11px 15px;border:3px solid #06152f;border-radius:12px;background:linear-gradient(#ffe96b,#ffad24);color:#06152f;font:1000 10px Arial Black;text-decoration:none;box-shadow:0 4px 0 #8c4a11}.hb-result-actions .secondary{background:linear-gradient(#77eaff,#2d9ee2);box-shadow:0 4px 0 #0b588f}
.hb-parent{margin:12px auto 0;padding:13px 16px;border:2px solid rgba(255,255,255,.22);border-radius:18px;background:rgba(6,37,76,.85);display:flex;gap:16px;align-items:center;justify-content:space-between}.hb-parent .label{font:1000 8px Arial Black;color:#ffd43b}.hb-parent h3{margin:3px 0;font:1000 16px Arial Black}.hb-parent p{margin:0;color:#cfe9ff;font-size:10px;font-weight:700}.hb-parent .links{display:flex;gap:7px;flex-wrap:wrap}.hb-parent a{padding:9px 11px;border:2px solid #06152f;border-radius:10px;background:#f8fbff;color:#06152f;text-decoration:none;font:1000 8px Arial Black}.hb-parent>small{display:block;font-size:7px;color:#b8d9ef}
@media(max-width:760px){.hero-blast-top{height:56px;padding:5px 8px}.hb-brand .two{font-size:29px}.hb-brand .blocks{font-size:18px}.hb-brand small{display:none}.hb-nav a{padding:7px 8px;font-size:7px}.hero-blast-shell{padding:4px 3px 14px}.hero-blast-frame{height:calc(100dvh - 64px);min-height:500px;border-radius:18px;border-width:3px}.hb-hud{inset:5px 5px auto}.hb-pill{min-width:104px;padding:4px 6px;border-width:2px;border-radius:10px}.hb-pill small{font-size:5px}.hb-pill b{font-size:13px}.hb-hearts{font-size:12px}.hb-auto{font-size:6px}.hb-bossbar{top:5px;width:38vw}.hb-hero{left:7%;width:clamp(82px,24vw,120px)}.hb-intro-card>img{object-position:center}.hb-intro-copy{left:3%;bottom:3%;padding:10px;border-radius:16px}.hb-intro-copy h1{font-size:36px}.hb-rules{display:none}.hb-start{padding:10px;font-size:16px}.hb-stage-controls button,.hb-stage-controls a{padding:6px;font-size:6px}.hb-parent{margin-top:7px;display:block}.hb-parent .links{margin:8px 0}}
@media(orientation:portrait) and (max-width:760px){.hero-blast-page{overflow:auto}.hero-blast-frame{height:min(720px,calc(100dvh - 64px));min-height:590px}.hb-intro-card>img{object-fit:cover;object-position:55% center}.hb-intro-card:after{background:linear-gradient(0deg,rgba(3,21,50,.9),transparent 58%)}.hb-intro-copy{width:94%}.hb-city{height:38%;bottom:25%}.hb-building{flex-basis:15%}.hb-roof{height:26%}.hb-hero{bottom:23%;left:5%;width:31vw}.hb-enemy.drone{width:24vw}.hb-enemy.hover{width:21vw}.hb-enemy.tread{width:25vw}.hb-boss{width:40vw}.hb-hud-side.right{align-items:end}.hb-pill{min-width:98px}.hb-tap-hint{bottom:2.4%;font-size:10px}.hb-parent{font-size:9px}}
@media(orientation:landscape) and (max-height:560px){.hero-blast-top{height:46px}.hero-blast-shell{padding:2px}.hero-blast-frame{height:calc(100dvh - 50px);min-height:0;border-radius:14px}.hb-brand .two{font-size:27px}.hb-brand .blocks{font-size:17px}.hb-nav a{padding:5px 7px;font-size:6px}.hb-hud{inset:3px 4px auto}.hb-pill{min-width:94px;padding:2px 5px}.hb-pill b{font-size:11px}.hb-pill small{font-size:5px}.hb-auto{display:none}.hb-bossbar{top:3px}.hb-tap-hint{bottom:2%;padding:4px 10px;font-size:7px}.hb-stage-controls{bottom:4px;right:4px}.hb-stage-controls button,.hb-stage-controls a{padding:4px 5px;font-size:5px}.hb-intro-copy{left:2%;bottom:3%;padding:9px;width:min(440px,52%)}.hb-intro-copy h1{font-size:31px}.hb-intro-copy p{font-size:9px;margin:4px 0 6px}.hb-start{padding:8px;font-size:15px}.hb-parent{display:none}.hb-stats{margin:7px 0}.hb-result-card{padding:10px}.hb-result-card p{margin:5px}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}

/* =========================================================
   V10.0.1 PREMIUM GRAPHICS PASS
   Approved neon-city Hero Blast mock is the visual benchmark.
   ========================================================= */
.hero-blast-page{
  background:
    radial-gradient(circle at 50% -10%,rgba(33,105,255,.38),transparent 42%),
    linear-gradient(180deg,#061a54 0,#050d28 65%,#020817 100%);
}
.hero-blast-top{
  border-bottom-color:rgba(64,218,255,.78);
  background:linear-gradient(180deg,rgba(8,34,87,.99),rgba(3,14,43,.98));
  box-shadow:0 8px 28px rgba(0,0,0,.34),inset 0 -1px rgba(93,226,255,.28);
}
.hero-blast-frame{
  background:#07174d;
  border-color:#02071c;
  box-shadow:0 20px 58px rgba(0,0,0,.56),0 0 0 2px #2d8fe2,inset 0 0 0 2px rgba(114,234,255,.3),inset 0 0 55px rgba(19,68,190,.35);
}
.hb-world{
  background:
    radial-gradient(circle at 72% 18%,rgba(114,96,255,.25),transparent 25%),
    radial-gradient(circle at 18% 35%,rgba(0,217,255,.16),transparent 27%),
    linear-gradient(180deg,#07104d 0%,#0d2f8f 42%,#541c8c 73%,#0b153a 100%);
}
.hb-world::before{
  content:"";
  position:absolute;
  inset:-2% -30% 22% -30%;
  z-index:1;
  background:url('hero-blast/neon-city.webp') repeat-x center 18%;
  background-size:auto 76%;
  opacity:.78;
  filter:saturate(1.25) contrast(1.08) brightness(.9);
  animation:hbPremiumSkyPan 35s linear infinite;
  will-change:transform;
}
.hb-world::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    radial-gradient(circle at 18% 17%,rgba(67,238,255,.16) 0 1px,transparent 2px),
    radial-gradient(circle at 61% 12%,rgba(255,255,255,.22) 0 1px,transparent 2px),
    radial-gradient(circle at 83% 25%,rgba(219,112,255,.16) 0 1px,transparent 2px),
    linear-gradient(180deg,rgba(4,8,34,.02) 0 54%,rgba(12,3,48,.28) 78%,rgba(0,0,0,.32) 100%);
  background-size:78px 78px,113px 113px,147px 147px,100% 100%;
  mix-blend-mode:screen;
}
.hb-sun{display:none}
.hb-cloud{display:none}
@keyframes hbPremiumSkyPan{from{transform:translateX(0)}to{transform:translateX(-220px)}}
.hb-city{
  z-index:3;
  bottom:28%;
  height:48%;
  opacity:.52;
  gap:.85%;
  padding:0 .5%;
  filter:drop-shadow(0 0 12px rgba(58,134,255,.35));
}
.hb-building{
  min-width:48px;
  border:1px solid rgba(70,186,255,.42);
  border-bottom:0;
  background:linear-gradient(90deg,#07112f,#112e65 38%,#163e77 64%,#081431);
  box-shadow:inset -8px 0 rgba(0,0,0,.24),0 0 12px rgba(13,132,255,.16);
}
.hb-building:nth-child(odd){background:linear-gradient(90deg,#100a36,#1b2866 45%,#163e77 65%,#090d29)}
.hb-building:before{
  inset:9px 8px;
  opacity:.72;
  background:
    repeating-linear-gradient(0deg,transparent 0 15px,rgba(255,108,236,.78) 16px 19px,transparent 20px 26px),
    repeating-linear-gradient(90deg,transparent 0 13px,rgba(39,226,255,.84) 14px 18px,transparent 19px 27px);
  filter:drop-shadow(0 0 5px rgba(48,217,255,.55));
}
.hb-roof{
  z-index:6;
  height:29%;
  border-top:0;
  background-image:
    linear-gradient(180deg,rgba(5,9,31,.03),rgba(0,0,0,.24)),
    url('hero-blast/rooftop-premium.webp');
  background-repeat:no-repeat,repeat-x;
  background-position:center,bottom left;
  background-size:100% 100%,auto 100%;
  box-shadow:inset 0 10px 18px rgba(113,212,255,.12),0 -8px 22px rgba(36,73,255,.18);
  animation:hbRoofPan 4.8s linear infinite;
  will-change:background-position;
}
.hb-roof:before{
  z-index:3;
  top:0;
  height:14px;
  background:repeating-linear-gradient(115deg,#f5a62a 0 18px,#191b2e 18px 36px);
  opacity:.96;
  box-shadow:0 3px 0 rgba(0,0,0,.5),0 -2px 8px rgba(255,177,55,.2);
}
.hb-roof:after{
  content:"";
  position:absolute;
  inset:14px 0 auto;
  height:8px;
  background:linear-gradient(180deg,rgba(255,255,255,.16),transparent);
  box-shadow:none;
}
@keyframes hbRoofPan{from{background-position:center,0 100%}to{background-position:center,-900px 100%}}

/* premium HUD */
.hb-pill{
  border-color:#02071c;
  background:linear-gradient(145deg,rgba(10,55,126,.95),rgba(3,18,66,.97));
  box-shadow:0 4px 0 rgba(0,0,0,.48),0 0 0 1px rgba(53,201,255,.6),inset 0 1px rgba(255,255,255,.18),inset 0 0 18px rgba(24,120,255,.2);
}
.hb-pill small{color:#c7f6ff}
.hb-pill b{color:#ffe94f;text-shadow:0 2px 0 #02071c,0 0 10px rgba(255,211,59,.35)}
.hb-hearts{color:#ff3e57!important;text-shadow:0 2px 0 #4d0717,0 0 8px rgba(255,48,81,.42)!important}
.hb-bossbar{
  border-color:#02071c;
  background:linear-gradient(180deg,rgba(34,15,56,.97),rgba(5,13,45,.97));
  box-shadow:0 0 0 1px rgba(112,213,255,.6),0 8px 22px rgba(0,0,0,.38);
}
.hb-bossbar div{background:#3c0924}
.hb-bossbar i{background:linear-gradient(90deg,#ff294e,#ff6a34 52%,#ffe44f);box-shadow:0 0 10px rgba(255,68,62,.7)}

/* premium approved character art */
.hb-hero{
  z-index:19;
  left:10%;
  bottom:28%;
  width:clamp(150px,18vw,265px);
  aspect-ratio:auto;
  height:auto;
  filter:drop-shadow(0 11px 7px rgba(0,0,0,.46)) drop-shadow(0 0 10px rgba(54,160,255,.22));
}
.hb-hero img{width:100%;height:auto;display:block}
.hb-hero::before{
  content:"";
  position:absolute;
  z-index:-1;
  left:-35%;
  top:40%;
  width:62%;
  height:25%;
  opacity:.7;
  transform:skewX(-18deg);
  background:linear-gradient(90deg,transparent,rgba(41,202,255,.12),rgba(79,231,255,.62),transparent);
  filter:blur(5px);
  animation:hbSpeedTrail .28s ease-in-out infinite alternate;
}
@keyframes hbSpeedTrail{to{transform:skewX(-18deg) scaleX(1.18);opacity:.95}}
.hb-hero.run{animation:heroRun .28s cubic-bezier(.4,0,.6,1) infinite alternate}
@keyframes heroRun{from{transform:translateY(0) rotate(-1.2deg) scaleX(1)}to{transform:translateY(-5px) rotate(1deg) scaleX(1.012)}}

.hb-enemy,.hb-boss{aspect-ratio:auto;height:auto}
.hb-enemy img,.hb-boss img{width:100%;height:auto;display:block}
.hb-enemy{filter:drop-shadow(0 9px 7px rgba(0,0,0,.48)) drop-shadow(0 0 8px rgba(40,164,255,.22))}
.hb-enemy.drone{width:clamp(88px,10.5vw,160px);animation:hbDroneFloat .72s ease-in-out infinite alternate}
.hb-enemy.hover{width:clamp(74px,8.6vw,126px);animation:hbHoverFloat .62s ease-in-out infinite alternate}
.hb-enemy.tread{width:clamp(105px,12vw,160px);animation:hbTreadRumble .22s ease-in-out infinite alternate}
.hb-boss{
  width:clamp(230px,27vw,390px);
  filter:drop-shadow(0 15px 9px rgba(0,0,0,.52)) drop-shadow(0 0 18px rgba(66,156,255,.25));
  animation:hbBossFloat 1.1s ease-in-out infinite alternate;
}
@keyframes hbDroneFloat{to{transform:translateY(-8px) rotate(1.2deg)}}
@keyframes hbHoverFloat{to{transform:translateY(-10px) rotate(-1deg)}}
@keyframes hbTreadRumble{to{transform:translateY(-2px)}}
@keyframes hbBossFloat{to{transform:translateY(-5px)}}
.hb-enemy.damage,.hb-boss.damage{filter:brightness(1.9) saturate(1.3) drop-shadow(0 0 24px #fff) drop-shadow(0 0 36px #59e8ff)}

/* premium projectiles / hits */
.hb-projectile{
  width:52px;
  height:18px;
  border-radius:65% 35% 35% 65%;
  background:radial-gradient(circle at 76% 50%,#fff 0 16%,#bffeff 18% 33%,#4cecff 36% 56%,rgba(34,118,255,.1) 72%);
  box-shadow:0 0 11px #d4ffff,0 0 21px #4deeff,0 0 42px rgba(45,102,255,.75);
}
.hb-projectile:before{
  right:33px;
  top:4px;
  width:54px;
  height:10px;
  background:linear-gradient(90deg,transparent,rgba(50,104,255,.25),#77f6ff);
  filter:blur(1px);
}
.hb-projectile:after{
  content:"";
  position:absolute;
  right:-5px;
  top:2px;
  width:14px;
  height:14px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 10px #fff,0 0 18px #64ecff;
}
.hb-enemy-shot{
  width:34px;
  height:12px;
  border-radius:60% 20% 20% 60%;
  background:linear-gradient(90deg,rgba(255,55,70,.08),#ff3c61 24%,#ff9f36 58%,#fff1a0 82%,#fff);
  box-shadow:0 0 10px #ff414f,0 0 20px rgba(255,90,34,.75);
}
.hb-enemy-shot:before{
  content:"";
  position:absolute;
  left:-28px;
  top:3px;
  width:34px;
  height:6px;
  background:linear-gradient(90deg,transparent,#ff355f);
  filter:blur(1px);
}
.hb-explosion{
  position:absolute;
  z-index:43;
  width:12px;
  height:12px;
  transform:translate(-50%,-50%);
  pointer-events:none;
}
.hb-explosion:before,.hb-explosion:after,.hb-explosion i,.hb-explosion b,.hb-explosion em{
  content:"";
  position:absolute;
  left:50%;top:50%;
  transform:translate(-50%,-50%);
  border-radius:50%;
}
.hb-explosion:before{width:92px;height:92px;background:radial-gradient(circle,#fff 0 7%,#fff27d 9% 18%,#ff9a2f 20% 38%,rgba(255,39,54,.72) 40% 55%,transparent 68%);animation:hbBoom .58s ease-out forwards;filter:drop-shadow(0 0 14px #ff7527)}
.hb-explosion:after{width:125px;height:18px;background:linear-gradient(90deg,transparent,#fff9a3,#ff8f27,transparent);animation:hbBoomRay .58s ease-out forwards}
.hb-explosion i{width:18px;height:125px;background:linear-gradient(180deg,transparent,#fff9a3,#ff8f27,transparent);animation:hbBoomRay .58s ease-out forwards}
.hb-explosion b{width:92px;height:92px;border:5px solid rgba(255,221,67,.78);animation:hbShock .62s ease-out forwards}
.hb-explosion em{width:55px;height:55px;border:4px dashed #fff26f;animation:hbSpin .55s ease-out forwards}
.hb-explosion.big:before{width:170px;height:170px}.hb-explosion.big:after{width:220px}.hb-explosion.big i{height:220px}.hb-explosion.big b{width:180px;height:180px}.hb-explosion.big em{width:115px;height:115px}
@keyframes hbBoom{0%{transform:translate(-50%,-50%) scale(.15);opacity:0}22%{opacity:1}100%{transform:translate(-50%,-50%) scale(1.25);opacity:0}}
@keyframes hbBoomRay{0%{transform:translate(-50%,-50%) scale(.2);opacity:1}100%{transform:translate(-50%,-50%) scale(1.45);opacity:0}}
@keyframes hbShock{0%{transform:translate(-50%,-50%) scale(.1);opacity:1}100%{transform:translate(-50%,-50%) scale(1.75);opacity:0}}
@keyframes hbSpin{0%{transform:translate(-50%,-50%) rotate(0) scale(.2);opacity:1}100%{transform:translate(-50%,-50%) rotate(145deg) scale(1.8);opacity:0}}

/* premium obstacles */
.hb-obstacle{bottom:28%;border:0;box-shadow:none}
.hb-crate{
  width:82px;
  height:auto;
  background:none;
  box-shadow:none;
  border:0;
  filter:drop-shadow(0 8px 5px rgba(0,0,0,.42));
}
.hb-crate:before,.hb-crate:after{display:none}
.hb-crate img{display:block;width:100%;height:auto}
.hb-spikes{
  width:96px;
  height:48px;
  background:
    linear-gradient(150deg,transparent 0 36%,#eaf7ff 37% 57%,#8397bd 58% 72%,transparent 73%) 0 0/31px 48px repeat-x;
  filter:drop-shadow(0 5px 2px rgba(0,0,0,.55)) drop-shadow(0 0 5px rgba(128,200,255,.3));
}
.hb-gap{
  height:29%;
  background:linear-gradient(180deg,#07102a,#01040e);
  box-shadow:inset 14px 0 20px rgba(0,0,0,.72),inset -14px 0 20px rgba(0,0,0,.72),0 0 14px rgba(22,80,195,.16);
}
.hb-star{filter:drop-shadow(0 5px 4px rgba(0,0,0,.3)) drop-shadow(0 0 12px rgba(255,216,62,.62))}

.hb-pop{
  border-color:#02071c;
  background:linear-gradient(#fff86e,#ff9f19);
  box-shadow:0 5px 0 #773409,0 0 20px rgba(255,194,37,.45);
}
.hb-tap-hint{
  border-color:#02071c;
  background:linear-gradient(#fff86b,#ffb323);
  box-shadow:0 5px 0 #793c08,0 0 18px rgba(255,190,40,.32);
}
.hb-stage-controls button,.hb-stage-controls a{
  border-color:#02071c;
  background:linear-gradient(180deg,rgba(238,251,255,.96),rgba(177,223,255,.94));
  box-shadow:0 3px 0 rgba(0,0,0,.42),0 0 0 1px rgba(70,204,255,.42);
}
.hb-overlay{background:rgba(2,8,29,.84)}
.hb-intro{background:#02091e}
.hb-intro-card>img{filter:saturate(1.08) contrast(1.04) brightness(.98)}
.hb-intro-copy{
  border-color:rgba(87,222,255,.58);
  background:linear-gradient(145deg,rgba(5,29,78,.9),rgba(13,20,69,.82));
  box-shadow:0 18px 44px rgba(0,0,0,.52),0 0 28px rgba(39,146,255,.18);
}
.hb-start{box-shadow:0 6px 0 #8e4b0e,0 0 18px rgba(255,209,60,.33)}
.hb-parent{background:rgba(5,21,61,.88);border-color:rgba(61,194,255,.26)}

@media(max-width:760px){
  .hb-hero{left:5%;width:clamp(120px,34vw,176px)}
  .hb-enemy.drone{width:clamp(82px,26vw,120px)}
  .hb-enemy.hover{width:clamp(68px,22vw,105px)}
  .hb-enemy.tread{width:clamp(92px,29vw,132px)}
  .hb-boss{width:clamp(190px,48vw,260px)}
  .hb-world::before{background-size:auto 68%;opacity:.7}
}
@media(orientation:portrait) and (max-width:760px){
  .hb-world::before{inset:-2% -65% 22% -65%;background-size:auto 63%}
  .hb-city{height:42%;bottom:27%;opacity:.46}
  .hb-roof{height:28%;background-size:100% 100%,auto 100%}
  .hb-hero{bottom:27.5%;left:3%;width:36vw;max-width:178px}
  .hb-enemy.drone{width:27vw}.hb-enemy.hover{width:23vw}.hb-enemy.tread{width:30vw}.hb-boss{width:51vw}
}
@media(orientation:landscape) and (max-height:560px){
  .hb-world::before{background-size:auto 82%;opacity:.76}
  .hb-roof{height:30%}
  .hb-hero{left:9%;bottom:28%;width:20vw;max-width:190px}
  .hb-enemy.drone{width:10vw}.hb-enemy.hover{width:8.5vw}.hb-enemy.tread{width:11vw}.hb-boss{width:25vw}
}

/* V10.0.2 SCORE ATTACK — no lives, pure high-score chase */
.hb-best-live{color:#7ef7ff!important;text-shadow:0 2px 0 #02071c,0 0 12px rgba(75,226,255,.45)!important}
.hb-time{color:#fff36a!important;font-size:20px!important;letter-spacing:.5px}
.hb-hero.hit{animation:hbScoreBump .18s linear 2!important;filter:drop-shadow(0 11px 7px rgba(0,0,0,.46)) drop-shadow(0 0 20px rgba(255,204,64,.7)) brightness(1.15)}
@keyframes hbScoreBump{0%,100%{margin-left:0}35%{margin-left:-7px}70%{margin-left:4px}}
@media(max-width:760px){.hb-time{font-size:14px!important}}
@media(orientation:landscape) and (max-height:560px){.hb-time{font-size:12px!important}}

/* V10.0.3 score-penalty feedback */
.hb-pop.penalty{
  color:#fff;
  background:linear-gradient(180deg,#ff5252,#c70d2d);
  border-color:#3b0010;
  box-shadow:0 5px 0 #650013,0 0 24px rgba(255,45,79,.58);
  text-shadow:0 2px 0 rgba(0,0,0,.28);
}
.hb-pop.shielded{
  color:#03152f;
  background:linear-gradient(180deg,#8ef7ff,#36c9ff);
  border-color:#062b5a;
  box-shadow:0 5px 0 #0a5f96,0 0 24px rgba(73,220,255,.62);
}


/* V10.0.4 — LOCKED FLAGSHIP GAME PAGE
   Hero Blast is a one-screen arcade destination. No page pan, pull-to-refresh,
   accidental browser scroll or selectable drag can steal the jump gesture. */
html.hb-game-lock,html.hb-game-lock body{width:100%;height:100%;overflow:hidden!important;overscroll-behavior:none!important}
body.hero-blast-page{
  --hb-top-h:68px;
  position:fixed!important;inset:0!important;width:100%!important;height:100dvh!important;
  min-height:0!important;max-height:100dvh!important;margin:0!important;overflow:hidden!important;
  overscroll-behavior:none!important;touch-action:none!important;-webkit-overflow-scrolling:auto;
  user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;
}
.hero-blast-top{height:var(--hb-top-h)!important;min-height:var(--hb-top-h)!important;flex:0 0 var(--hb-top-h);padding-left:max(clamp(10px,2vw,28px),env(safe-area-inset-left));padding-right:max(clamp(10px,2vw,28px),env(safe-area-inset-right))}
.hero-blast-shell{width:100%!important;height:calc(100dvh - var(--hb-top-h))!important;min-height:0!important;margin:0!important;padding:6px max(5px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-left))!important;overflow:hidden!important}
.hero-blast-frame{width:100%!important;height:100%!important;min-height:0!important;max-height:100%!important;margin:0!important;touch-action:none!important;overscroll-behavior:none!important;user-select:none;-webkit-user-select:none}
.hb-parent{display:none!important}
.hb-stage-controls{z-index:52}
.hb-stage-controls button{touch-action:manipulation}
.hb-parent-overlay{background:rgba(2,8,29,.9);z-index:75}
.hb-parent-card{width:min(570px,94%);padding:22px;border:4px solid #58dbff;border-radius:24px;background:linear-gradient(145deg,#0c397d,#081c53 58%,#1d165c);box-shadow:0 25px 80px rgba(0,0,0,.62),0 0 35px rgba(51,193,255,.2);text-align:center}
.hb-parent-card .label{display:inline-block;padding:6px 10px;border:2px solid #06152f;border-radius:999px;background:#ffd43b;color:#06152f;font:1000 8px Arial Black}
.hb-parent-card h2{margin:9px 0 6px;font:1000 clamp(20px,4vw,32px)/1 Arial Black;color:#fff}
.hb-parent-card p{margin:0 auto 14px;max-width:470px;color:#cceeff;font-size:12px;font-weight:800}
.hb-parent-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:12px 0}
.hb-parent-links a{padding:13px 10px;border:3px solid #06152f;border-radius:13px;background:linear-gradient(#fff,#d9efff);color:#06152f;text-decoration:none;font:1000 10px Arial Black;box-shadow:0 4px 0 #0b5e94}
.hb-parent-card>small{display:block;color:#a9d9f4;font-size:8px;line-height:1.4}
.hb-parent-close{margin-top:15px;width:100%;padding:12px;border:3px solid #06152f;border-radius:13px;background:linear-gradient(#fff36e,#ffad21);color:#06152f;font:1000 12px Arial Black;box-shadow:0 5px 0 #8e4b0e}
@media(max-width:760px){
  body.hero-blast-page{--hb-top-h:56px;overflow:hidden!important}
  .hero-blast-top{padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}
  .hero-blast-shell{padding:3px max(3px,env(safe-area-inset-right)) max(3px,env(safe-area-inset-bottom)) max(3px,env(safe-area-inset-left))!important}
  .hero-blast-frame{height:100%!important;min-height:0!important;border-radius:16px}
  .hb-parent-card{padding:15px}.hb-parent-links{grid-template-columns:1fr}.hb-parent-links a{padding:10px}
}
@media(orientation:portrait) and (max-width:760px){
  body.hero-blast-page{overflow:hidden!important}
  .hero-blast-frame{height:100%!important;min-height:0!important;max-height:100%!important}
}
@media(orientation:landscape) and (max-height:560px){
  body.hero-blast-page{--hb-top-h:46px}
  .hero-blast-shell{height:calc(100dvh - var(--hb-top-h))!important;padding:2px max(2px,env(safe-area-inset-right)) max(2px,env(safe-area-inset-bottom)) max(2px,env(safe-area-inset-left))!important}
  .hero-blast-frame{height:100%!important;min-height:0!important}
  .hb-parent-card{width:min(540px,88%);padding:10px 14px}.hb-parent-card h2{font-size:20px;margin:4px}.hb-parent-card p{font-size:9px;margin-bottom:6px}.hb-parent-links{grid-template-columns:repeat(2,1fr);margin:6px 0}.hb-parent-links a{padding:7px;font-size:8px}.hb-parent-close{margin-top:6px;padding:7px;font-size:9px}
}

/* =========================================================
   V10.0.7 SCORE CHASE POLISH
   Combo ladder • boss warnings • collectible power-ups
   near-miss skill rewards • perfect-run bonuses • 4 stage moods
   ========================================================= */
.hb-run-status{
  position:absolute;z-index:32;top:54px;left:50%;transform:translateX(-50%);
  display:flex;align-items:center;justify-content:center;gap:6px;max-width:58%;pointer-events:none;
}
.hb-run-status span{
  white-space:nowrap;padding:5px 9px;border:2px solid #02071c;border-radius:999px;
  background:linear-gradient(180deg,rgba(7,48,116,.94),rgba(3,15,52,.96));
  box-shadow:0 3px 0 rgba(0,0,0,.42),0 0 0 1px rgba(81,219,255,.45),inset 0 1px rgba(255,255,255,.15);
  color:#d9f8ff;font:1000 7px Arial Black;letter-spacing:.35px;text-shadow:0 1px 0 #02071c;
}
#hbCombo{color:#ffe44f}.hb-run-status #hbCombo.hot{color:#ff9e32;box-shadow:0 3px 0 rgba(0,0,0,.42),0 0 16px rgba(255,126,41,.5)}
.hb-run-status #hbCombo.max{color:#fff36a;background:linear-gradient(180deg,rgba(176,43,52,.96),rgba(68,5,35,.97));box-shadow:0 3px 0 rgba(0,0,0,.48),0 0 20px rgba(255,62,80,.65)}
#hbPower.active{color:#75f4ff;box-shadow:0 3px 0 rgba(0,0,0,.42),0 0 17px rgba(70,228,255,.46)}

.hb-boss-warning{
  position:absolute;z-index:47;left:50%;top:23%;transform:translate(-50%,-50%) scale(.72);
  min-width:min(520px,78%);padding:12px 20px;border:4px solid #12020b;border-radius:18px;
  background:linear-gradient(180deg,rgba(143,11,36,.97),rgba(44,4,31,.98));
  box-shadow:0 7px 0 rgba(0,0,0,.5),0 0 35px rgba(255,45,73,.58),inset 0 1px rgba(255,255,255,.15);
  text-align:center;opacity:0;pointer-events:none;
}
.hb-boss-warning b{display:block;color:#fff36a;font:1000 clamp(16px,3vw,34px)/1 Arial Black;text-shadow:0 3px 0 #4f0014;letter-spacing:.6px}
.hb-boss-warning small{display:block;margin-top:4px;color:#fff;font:1000 8px Arial Black;letter-spacing:1.7px}
.hb-boss-warning.show{animation:hbBossIncoming 2.45s ease-out forwards}
@keyframes hbBossIncoming{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.58)}
  12%,72%{opacity:1;transform:translate(-50%,-50%) scale(1)}
  82%{transform:translate(-50%,-50%) scale(1.04)}
  100%{opacity:0;transform:translate(-50%,-50%) scale(1.12)}
}

.hb-powerup{
  position:absolute;z-index:17;width:66px;height:66px;border:3px solid #02071c;border-radius:50%;
  display:grid;place-items:center;background:radial-gradient(circle,#e8fbff 0 18%,#3edcff 20% 42%,#125ec5 44% 68%,#071943 70%);
  box-shadow:0 5px 0 rgba(0,0,0,.4),0 0 20px rgba(72,226,255,.7),inset 0 0 12px rgba(255,255,255,.5);
  animation:hbPowerBob .58s ease-in-out infinite alternate;pointer-events:none;
}
.hb-powerup:before{content:"";position:absolute;inset:-9px;border:3px solid rgba(111,236,255,.58);border-radius:50%;animation:hbPowerRing 1s linear infinite}
.hb-powerup span{position:relative;z-index:2;font:1000 25px/1 Arial Black;color:#fff;text-shadow:0 2px 0 #06152f}
.hb-powerup small{position:absolute;z-index:2;left:50%;bottom:-15px;transform:translateX(-50%);white-space:nowrap;padding:3px 5px;border:2px solid #02071c;border-radius:7px;background:#071a4b;color:#fff;font:1000 5px Arial Black}
.hb-powerup.rapid{background:radial-gradient(circle,#fffbd1 0 18%,#ffe542 20% 43%,#ff991e 45% 68%,#4e1c05 70%);box-shadow:0 5px 0 rgba(0,0,0,.4),0 0 23px rgba(255,208,54,.74)}
.hb-powerup.boost{background:radial-gradient(circle,#ffeaff 0 18%,#e552ff 20% 43%,#7d26dd 45% 68%,#250844 70%);box-shadow:0 5px 0 rgba(0,0,0,.4),0 0 23px rgba(229,82,255,.72)}
.hb-powerup.mega{background:radial-gradient(circle,#fff3d6 0 18%,#ff8a2d 20% 43%,#ef274f 45% 68%,#46051d 70%);box-shadow:0 5px 0 rgba(0,0,0,.4),0 0 26px rgba(255,69,53,.78)}
@keyframes hbPowerBob{to{transform:translateY(-10px) rotate(4deg)}}
@keyframes hbPowerRing{to{transform:scale(1.18);opacity:.08}}

.hb-projectile.mega{width:78px;height:27px;box-shadow:0 0 15px #fff,0 0 30px #62efff,0 0 58px rgba(129,66,255,.9);filter:saturate(1.45) brightness(1.15)}
.hb-projectile.mega:after{width:21px;height:21px;top:3px}

.hb-pop.combo{color:#fff;background:linear-gradient(180deg,#ff8d31,#e63050);border-color:#4d0416;box-shadow:0 5px 0 #69091d,0 0 25px rgba(255,74,56,.58)}
.hb-pop.near{color:#06152f;background:linear-gradient(180deg,#a4ffff,#48dfff);border-color:#073b63;box-shadow:0 5px 0 #0b6895,0 0 24px rgba(73,227,255,.6)}
.hb-pop.power{color:#fff;background:linear-gradient(180deg,#ad5cff,#5b27d4);border-color:#24105c;box-shadow:0 5px 0 #351174,0 0 25px rgba(160,80,255,.58)}
.hb-pop.boss{color:#fff;background:linear-gradient(180deg,#ff5252,#a40d37);border-color:#3b0010;box-shadow:0 5px 0 #650013,0 0 28px rgba(255,45,79,.64)}
.hb-pop.stage{color:#06152f;background:linear-gradient(180deg,#fff27a,#ffbd2d);border-color:#49290b;box-shadow:0 5px 0 #7f490d,0 0 22px rgba(255,197,51,.55)}

/* Four visual chapters use the same original premium art, only lighting changes. */
.hb-world,.hb-world::before,.hb-world::after,.hb-city,.hb-roof{transition:filter 1.35s ease,opacity 1.35s ease,background-color 1.35s ease,box-shadow 1.35s ease}
.hero-blast-frame.hb-stage-1 .hb-world::before{filter:saturate(1.28) contrast(1.08) brightness(.91)}
.hero-blast-frame.hb-stage-2 .hb-world::before{filter:saturate(1.55) contrast(1.08) brightness(.95) sepia(.18) hue-rotate(-12deg)}
.hero-blast-frame.hb-stage-2 .hb-world::after{box-shadow:inset 0 0 180px rgba(255,92,80,.22),inset 0 -120px 160px rgba(113,25,135,.16)}
.hero-blast-frame.hb-stage-2 .hb-roof{filter:saturate(1.18) brightness(1.05)}
.hero-blast-frame.hb-stage-3 .hb-world::before{filter:saturate(1.45) contrast(1.16) brightness(.68) hue-rotate(9deg)}
.hero-blast-frame.hb-stage-3 .hb-world::after{box-shadow:inset 0 0 220px rgba(27,15,117,.34),inset 0 -120px 180px rgba(3,4,30,.3)}
.hero-blast-frame.hb-stage-3 .hb-city{filter:brightness(.84) saturate(1.45) drop-shadow(0 0 15px rgba(97,112,255,.5))}
.hero-blast-frame.hb-stage-4 .hb-world::before{filter:saturate(1.7) contrast(1.15) brightness(.76) hue-rotate(-19deg)}
.hero-blast-frame.hb-stage-4 .hb-world::after{box-shadow:inset 0 0 210px rgba(203,31,93,.28),inset 0 -160px 190px rgba(18,2,39,.38)}
.hero-blast-frame.hb-stage-4 .hb-roof{filter:saturate(1.25) contrast(1.08);box-shadow:inset 0 10px 18px rgba(255,118,176,.13),0 -8px 26px rgba(162,38,255,.28)}

.hb-stats{grid-template-columns:repeat(6,1fr)}
.hb-stats div:nth-child(5) b,.hb-stats div:nth-child(6) b{color:#ffe54d}

@media(max-width:760px){
  .hb-run-status{top:46px;max-width:62%;gap:3px}.hb-run-status span{padding:3px 5px;font-size:5px}
  .hb-run-status #hbStageLabel{display:none}
  .hb-boss-warning{top:25%;min-width:78%;padding:9px 12px;border-width:3px}.hb-boss-warning small{font-size:6px}
  .hb-powerup{width:52px;height:52px}.hb-powerup span{font-size:20px}.hb-powerup small{font-size:4px;bottom:-13px}
  .hb-stats{grid-template-columns:repeat(3,1fr);gap:5px}.hb-stats div{padding:6px 3px}.hb-stats b{font-size:14px}
}
@media(orientation:portrait) and (max-width:760px){
  .hb-run-status{top:52px;max-width:58%}.hb-run-status #hbPower{max-width:120px;overflow:hidden;text-overflow:ellipsis}
  .hb-boss-warning{top:29%}
}
@media(orientation:landscape) and (max-height:560px){
  .hb-run-status{top:30px;max-width:58%}.hb-run-status span{padding:2px 4px;font-size:4.5px}
  .hb-boss-warning{top:25%;padding:6px 11px;border-width:2px}.hb-boss-warning b{font-size:16px}.hb-boss-warning small{font-size:5px;margin-top:2px}
  .hb-powerup{width:44px;height:44px;border-width:2px}.hb-powerup span{font-size:17px}.hb-powerup small{display:none}
  .hb-stats{grid-template-columns:repeat(6,1fr);gap:3px}.hb-stats div{padding:4px 2px}.hb-stats b{font-size:11px}.hb-stats small{font-size:4px}
}

/* v10.10.60 — OFFICIAL 2D HERO RUN CHARACTER / MOTION PASS
   Uses the approved athletic 2D Hero master rather than legacy lightning/chibi art. */
.hb-hero{
  width:clamp(82px,8.8vw,126px);
  aspect-ratio:509/1147;
  overflow:visible;
  filter:drop-shadow(0 9px 7px rgba(0,0,0,.38));
}
.hb-hero img{
  position:absolute;
  left:50%;bottom:-2%;
  width:100%;height:100%;
  object-fit:contain;
  transform-origin:50% 92%;
  transform:translateX(-50%);
  will-change:transform,filter;
}
.hb-hero.run img{animation:officialHeroStride .34s linear infinite}
.hb-hero.jump img{animation:officialHeroAir .34s ease-in-out infinite alternate}
.hb-hero:before{
  content:"";position:absolute;z-index:-1;right:56%;top:32%;width:120%;height:38%;
  opacity:0;pointer-events:none;border-radius:999px;
  background:repeating-linear-gradient(0deg,transparent 0 8px,rgba(101,236,255,.0) 8px 12px,rgba(101,236,255,.75) 12px 15px,transparent 15px 23px);
  filter:blur(1px);transform:skewX(-18deg);
}
.hb-hero.run:before{opacity:.8;animation:officialHeroStreak .34s linear infinite}
.hb-hero:after{
  content:"";position:absolute;z-index:-2;left:50%;bottom:-1%;width:82%;height:8%;
  border-radius:50%;background:rgba(4,20,42,.38);filter:blur(4px);transform:translateX(-50%) scaleX(1);
  animation:officialHeroShadow .34s ease-in-out infinite alternate;
}
.hb-hero.jump:after{opacity:.22;transform:translateX(-50%) scaleX(.62)}
@keyframes officialHeroStride{
  0%{transform:translateX(-50%) translateY(0) rotate(7deg) scale(1)}
  12.5%{transform:translateX(-49%) translateY(-4px) rotate(8deg) scale(1.02,.985)}
  25%{transform:translateX(-50%) translateY(-1px) rotate(7deg) scale(.995,1.01)}
  37.5%{transform:translateX(-51%) translateY(-5px) rotate(9deg) scale(1.018,.985)}
  50%{transform:translateX(-50%) translateY(0) rotate(7deg) scale(1)}
  62.5%{transform:translateX(-49%) translateY(-4px) rotate(8deg) scale(1.02,.985)}
  75%{transform:translateX(-50%) translateY(-1px) rotate(7deg) scale(.995,1.01)}
  87.5%{transform:translateX(-51%) translateY(-5px) rotate(9deg) scale(1.018,.985)}
  100%{transform:translateX(-50%) translateY(0) rotate(7deg) scale(1)}
}
@keyframes officialHeroAir{
  from{transform:translateX(-50%) translateY(0) rotate(2deg) scale(1)}
  to{transform:translateX(-50%) translateY(-3px) rotate(10deg) scale(1.02,.98)}
}
@keyframes officialHeroStreak{from{transform:translateX(12px) skewX(-18deg);opacity:.24}to{transform:translateX(-14px) skewX(-18deg);opacity:.82}}
@keyframes officialHeroShadow{from{transform:translateX(-50%) scaleX(.84);opacity:.28}to{transform:translateX(-50%) scaleX(1.08);opacity:.42}}
.hb-hero.hit img{filter:brightness(1.65) saturate(.72) drop-shadow(0 0 13px #ff5060)}
@media(max-width:700px){.hb-hero{width:clamp(72px,15vw,102px)}}
.hb-hero{isolation:isolate}
.hb-hero.run{animation:none}
.hb-hero img{z-index:2}
.hb-hero:before{z-index:1}
.hb-hero:after{z-index:0}
.hb-hero .hb-shield-ring{z-index:4}

/* v10.11.52 Android bottom reserve */
.hero-blast-shell{padding-bottom:max(14px,calc(env(safe-area-inset-bottom) + 10px))!important}
@media(max-width:760px){.hero-blast-shell{padding-bottom:max(14px,calc(env(safe-area-inset-bottom) + 10px))!important}.hb-stage-controls{bottom:max(14px,calc(env(safe-area-inset-bottom) + 10px))!important}}
@media(orientation:landscape) and (max-height:560px){.hero-blast-shell{padding-bottom:max(10px,calc(env(safe-area-inset-bottom) + 7px))!important}.hb-stage-controls{bottom:max(10px,calc(env(safe-area-inset-bottom) + 7px))!important}}
