/* Mobile-safe progression cards. Loaded after the base LEVEL UP styles. */
.tower-node {
  grid-template-columns: 55px minmax(0, 1fr) 30px;
  min-height: 80px;
}

.weekly-move{position:relative;overflow:hidden;border-color:var(--move-color,#b9efff)!important;background:linear-gradient(135deg,#172034,#111827)!important;box-shadow:0 0 34px #74dcff24}
.weekly-move:before{content:"";position:absolute;inset:-70%;background:conic-gradient(from 90deg,transparent,var(--move-color,#b9efff),transparent 24%);opacity:.11;animation:moveOrbit 8s linear infinite;pointer-events:none}
.weekly-move>*,.weekly-move button{position:relative}.weekly-move h3{margin:.35rem 0;font-size:clamp(1.65rem,5vw,2.5rem)}.weekly-move p{max-width:34rem;margin:.3rem 0 .7rem}.weekly-move span{font-family:monospace;color:var(--move-color,#b9efff)}
.tower-node.active-level{box-shadow:0 0 30px #7adfff2b;background:linear-gradient(100deg,#18243a,#111827)}
.practice-mission{padding:1.3rem;border:1px solid #91e8ff66;border-radius:18px;background:#0d1422}.practice-mission>span{font:700 .78rem/1 monospace;letter-spacing:.18em;color:#9eeaff}.practice-steps{display:grid;gap:.8rem;padding-left:1.4rem;color:#c8c4b2;line-height:1.55}
.session-orbit{text-align:center;padding:1rem}.session-orbit .timer{display:grid;place-items:center;width:150px;height:150px;margin:auto;border:2px solid #a9edff;border-radius:50%;box-shadow:0 0 35px #8adfff44,inset 0 0 30px #8adfff22}.session-orbit small{display:block;margin-top:1rem}
.facilitator-question.pulse{animation:sessionPulse .45s ease}
.level-unlock{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:24px;background:#070a12ef;backdrop-filter:blur(16px);animation:unlockIn .35s ease both}.level-unlock>div{max-width:560px;padding:42px;text-align:center;border:1px solid var(--unlock-color);border-radius:28px;background:#111827;box-shadow:0 0 70px #7bdfff44}.unlock-icon{display:grid;place-items:center;width:108px;height:108px;margin:auto;border:2px solid var(--unlock-color);border-radius:50%;font-size:3rem;color:var(--unlock-color);box-shadow:0 0 35px #7bdfff66;animation:unlockPulse 1.3s ease-in-out infinite}.level-unlock h2{font-size:clamp(3rem,12vw,6.5rem);margin:.15em 0;color:var(--unlock-color);text-shadow:0 0 28px #7bdfff88}
@keyframes moveOrbit{to{transform:rotate(360deg)}}@keyframes unlockIn{from{opacity:0;transform:scale(.98)}}@keyframes unlockPulse{50%{transform:scale(1.06);box-shadow:0 0 60px #7bdfff99}}@keyframes sessionPulse{50%{transform:scale(1.025);box-shadow:0 0 34px #a5eaff44}}
@media(prefers-reduced-motion:reduce){.weekly-move:before,.unlock-icon{animation:none}}

.tower-node > .tower-copy {
  min-width: 0;
  overflow: hidden;
}

.tower-node > .tower-copy b,
.tower-node > .tower-copy small {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
}

.tower-node > .tower-copy b {
  line-height: 1.2;
}

.tower-node > .tower-copy small {
  line-height: 1.35;
}

@media (max-width: 700px) {
  .tower {
    padding: 15px 0 7px;
  }

  .tower-node {
    grid-template-columns: 46px minmax(0, 1fr) 22px;
    gap: 10px;
    min-height: 72px;
    padding: 13px 12px;
    margin: 7px 0;
  }

  .tower-node i {
    width: 40px;
    height: 40px;
    font-size: 20px;
  }

  .tower-node > .tower-copy b {
    font-size: 14px;
    letter-spacing: .035em;
  }

  .tower-node > .tower-copy small {
    margin-top: 3px;
    font-size: 10.5px;
  }

  .tower-node > strong {
    font-size: 18px;
  }
}
