/* Tower only: solid surfaces and a quiet test bench. */
.tower-shell .hero{padding:12px 2px 18px}
.tower-shell .hero h1{font-size:clamp(34px,3.6vw,54px);line-height:1.04;max-width:760px}
.tower-shell .hero p{max-width:660px}
.tower-shell .challenge{background:#263449;border:1px solid #263449;border-radius:16px;box-shadow:none}
.tower-shell .step,.tower-shell .panel,.tower-shell .stage-panel{background:#fff;border:1px solid #d8ddd9;box-shadow:none}
.tower-shell .step{border-radius:12px}
.tower-shell .step.active{border-color:#6085ab}
.tower-shell .step.active b,.tower-shell .num{background:#315d80}
.tower-shell .hintbar{background:#f1f4f0}
.tower-shell .hint-icon{background:#e0e9e7;box-shadow:none}
.tower-shell .controls>.group{background:#fff;border:0;border-top:1px solid #e5e8e4;border-radius:0;padding:13px 0 0;margin-top:13px}
.tower-shell .controls>.group:first-of-type{border-top:0;margin-top:0}
.tower-shell .value{background:#f5f6f3;border-color:#d8ddd9;box-shadow:none}
.tower-shell .chip{background:#f7f8f6;border:1px solid #d8ddd9;box-shadow:none}
.tower-shell .chip.active{background:#e8f0f2;border:2px solid #315d80;box-shadow:none}
.tower-shell .coach{background:#f3f6f4;border-color:#d6e0dc;box-shadow:none}
.tower-shell .coach .mini{color:#315d80}
.tower-shell .stage-panel{border-radius:18px;overflow:hidden}
.tower-shell .stage-top{background:#fff;border-bottom-color:#d8ddd9}
.tower-shell .tower-stage{background:#f6f7f4;box-shadow:none}
.tower-shell .tower-stage svg{min-height:0;display:block;width:100%;height:auto;filter:none}
.tower-shell .status{background:#fff;border-top-color:#d8ddd9}
.tower-shell .test{background:#e7b34f;color:#2f281e;box-shadow:none;border:1px solid #cb9840;border-radius:12px}
.tower-shell .test:hover{background:#f1c16a;box-shadow:none}
.tower-shell .test:disabled{opacity:.65;cursor:default;transform:none}
.tower-shell .reset{background:#fff;border-color:#d8ddd9}
.tower-shell .result-hero,.tower-shell .metric,.tower-shell .learning-card{box-shadow:none}
.tower-shell .metric{background:#f7f8f6;border-color:#d8ddd9}
.tower-shell .learning-card{background:#fff;border-color:#d8ddd9}
.tower-shell .learning-card:before{color:#315d80}
.tower-shell .learning-card .try-next{background:#f5f7f5;border-color:#c8d3cc}
@media(max-width:820px){
  .tower-shell .hero h1{font-size:clamp(32px,7vw,46px)}
  .tower-shell .stage-panel{margin-bottom:12px}
  .tower-shell .tower-stage svg{min-height:0}
}
@media(max-width:500px){
  .tower-shell .steps{gap:5px}
  .tower-shell .step{padding:7px;min-height:48px;gap:6px}
  .tower-shell .step b{width:25px;height:25px}
  .tower-shell .step small{display:none}
  .tower-shell .stage-top{align-items:flex-start}
  .tower-shell .stage-top span{max-width:105px}
}

#wind.wind-active{animation:wind-gust .55s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center}
#quake.quake-active{animation:quake-ground .18s linear infinite alternate}
@keyframes wind-gust{from{opacity:.35;transform:translateX(16px)}to{opacity:1;transform:translateX(-7px)}}
@keyframes quake-ground{from{opacity:.4;transform:translateX(-5px)}to{opacity:1;transform:translateX(5px)}}
@media(prefers-reduced-motion:reduce){#wind.wind-active,#quake.quake-active{animation:none}}
