.explode-section{padding-block:56px;scroll-margin-top:100px}
.explode-shell{border:1px solid #ffffff25;border-radius:28px;background:radial-gradient(ellipse at 25% 60%,#224e7755,transparent 60%),#1a1132;overflow:hidden;padding:32px}
.explode-top{display:flex;align-items:center;justify-content:space-between;gap:24px}.explode-top h2{font-size:clamp(28px,4vw,46px);margin:8px 0}.explode-top .eyebrow{margin:0}.explode-modes{display:flex;gap:8px}.explode-modes button{background:transparent;color:#ddd5f2;border:1px solid #ffffff40;border-radius:12px;padding:14px 20px;font:inherit;font-weight:800;cursor:pointer}.explode-modes button[aria-pressed=true]{color:#130c2c;background:#8fe0ff;border-color:#8fe0ff}.explode-section[data-mode=battle] .explode-modes button[aria-pressed=true]{background:#ffda36;border-color:#ffda36}
.explode-body{display:grid;grid-template-columns:1.15fr 1fr;gap:40px;align-items:center}.explode-stage{position:relative;height:450px;isolation:isolate}.explode-stage:after{content:'';position:absolute;width:260px;height:70px;border-radius:50%;background:#0006;filter:blur(20px);left:50%;bottom:5px;transform:translateX(-50%);z-index:-1}.explode-layer{position:absolute;left:50%;width:280px;height:172px;margin-left:-140px;border-radius:20px;border:1px solid #a3dffb80;box-shadow:-8px 10px 0 #071324, -10px 12px 0 #8adfff35,0 20px 28px #0005;transform:rotate(-18deg) skew(18deg) scaleY(.75);transition:top .8s cubic-bezier(.2,.8,.2,1),filter .25s,opacity .25s;background:#18334b;color:#fff;text-align:left;cursor:pointer;padding:20px;display:flex;flex-direction:column;justify-content:space-between;font:inherit}.explode-layer[hidden]{display:none}.explode-layer strong{font-size:20px}.explode-layer small{font-size:10px;letter-spacing:2px;font-weight:900}.explode-layer[aria-pressed=true]{border:3px solid #ffda36;filter:brightness(1.15)}.explode-layer:hover{filter:brightness(1.2)}.explode-layer:focus-visible,.explode-modes button:focus-visible,.explode-toggle:focus-visible{outline:3px solid white;outline-offset:7px}
.explode-route{top:254px;z-index:1;background:repeating-linear-gradient(90deg,transparent 0 48px,#cce2cd22 49px 54px),repeating-linear-gradient(0deg,#234538 0 45px,#b7d0b044 46px 52px)}.explode-question{top:231px;z-index:2;background:#185f85}.explode-score{top:208px;z-index:3;background:#263a70}.explode-items{top:185px;z-index:4;background:linear-gradient(135deg,#8c36bc,#47205c);border-color:#da8bff}.is-exploded .explode-route{top:280px}.is-exploded .explode-question{top:195px}.is-exploded .explode-score{top:110px}.is-exploded .explode-items{top:25px}.explode-route-line{border-top:3px dashed #99e8ff;display:flex;justify-content:space-between;color:#ffda36;font-size:26px}.explode-question-mark{font-size:42px;font-weight:900;color:#95e9ff}.explode-points{font-size:36px;font-weight:900;color:#ffda36}.explode-item-icons{display:flex;gap:12px}.explode-item-icons img{width:55px;height:55px;object-fit:contain}.explode-info{max-width:430px}.explode-label{color:#8fe0ff;font-size:12px;font-weight:900;letter-spacing:2px}.explode-section[data-mode=battle] .explode-label{color:#ffda36}.explode-title{font-size:clamp(25px,3vw,36px);line-height:1.1;margin:18px 0}.explode-description{color:#c7bedb;line-height:1.8;min-height:100px}.explode-mode-note{font-weight:800;font-size:14px;margin:24px 0}.explode-toggle{cursor:pointer}.explode-disclaimer{color:#b8adc9;font-size:12px;margin:22px 0 0}.explode-section[data-mode=city] .explode-stage{transform:translateY(-25px)}
@media(max-width:700px){.explode-shell{padding:24px 18px}.explode-top{align-items:flex-start;flex-direction:column;gap:14px}.explode-body{grid-template-columns:1fr;gap:0}.explode-stage{height:475px}.explode-info{max-width:none}.explode-description{min-height:0}.explode-modes{width:100%}.explode-modes button{flex:1;padding:12px}.explode-section[data-mode=city] .explode-stage{margin-bottom:-35px}.explode-layer{width:245px;margin-left:-122.5px;height:155px}}
@media(prefers-reduced-motion:reduce){.explode-layer{transition:none}}
@media(max-width:700px){.explode-points{font-size:29px;white-space:nowrap}}
