/* P1: palette-aware color values; literal fallbacks preserve the certified default. */
/* WORDSTRIKE UI4 — CAMPAIGN PROGRESSION */
.campaign-progress-screen{--campaign-route-line:rgb(151 174 190/18%);--campaign-route-active:rgb(var(--custom-accent-rgb, 0 255 242) /34%);--campaign-route-special:rgb(255 60 172/34%);position:relative;display:block;width:100%;max-width:100%;min-width:0;padding:0;overflow:hidden;background:radial-gradient(circle at 14% 20%,rgb(var(--custom-accent-rgb, 0 255 242) /5%),transparent 30%),radial-gradient(circle at 86% 74%,rgb(255 60 172/2.8%),transparent 26%)}
.campaign-progress-screen::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 0 8%,rgb(255 255 255/1.5%) 8% 8.08%,transparent 8.08% 92%,rgb(255 255 255/1.5%) 92% 92.08%,transparent 92.08%),radial-gradient(circle at 50% 0,rgb(var(--custom-accent-rgb, 0 255 242) /3%),transparent 42%);opacity:.72}
.campaign-progress-shell{position:relative;z-index:1;display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;width:min(1500px,100%);height:100%;min-height:0;margin:0 auto;padding:max(18px,env(safe-area-inset-top)) clamp(20px,4vw,62px) max(14px,env(safe-area-inset-bottom))}
.campaign-progress-topline{display:grid;grid-template-columns:minmax(120px,1fr) auto auto minmax(120px,1fr);align-items:center;gap:20px;min-width:0;padding-bottom:14px;border-bottom:1px solid var(--color-border-subtle)}
.campaign-progress-topline .screen-back-button{justify-self:start}
.campaign-progress-context{display:flex;align-items:baseline;justify-content:center;gap:9px;min-width:0;color:var(--color-text-muted);font-size:var(--text-micro);font-weight:650;letter-spacing:var(--tracking-micro);text-transform:uppercase;white-space:nowrap}
.campaign-progress-context strong{color:var(--color-text-primary)}.campaign-progress-context span::before{content:"/";margin-right:9px;color:rgb(143 155 165/52%)}
.campaign-progress-count{justify-self:end;display:flex;align-items:baseline;gap:7px;color:var(--color-text-muted);font-size:var(--text-micro);font-weight:650;letter-spacing:var(--tracking-micro);text-transform:uppercase;white-space:nowrap}.campaign-progress-count strong{color:var(--color-accent);font-family:var(--font-game);font-size:.9rem;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.campaign-progress-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,450px);gap:clamp(28px,6vw,86px);align-items:end;min-width:0;padding:clamp(20px,3.4vh,34px) 0 clamp(18px,3vh,28px)}
.campaign-progress-kicker,.campaign-mission-label,.campaign-sector-kicker{margin:0;color:var(--color-accent);font-size:var(--text-micro);font-weight:700;letter-spacing:var(--tracking-micro);text-transform:uppercase}
.campaign-progress-intro h1{margin:7px 0 8px;color:var(--color-text-primary);font-family:var(--font-ui);font-size:clamp(2rem,4.5vw,4.15rem);font-weight:760;letter-spacing:-.045em;line-height:.98}.campaign-progress-lead{max-width:760px;margin:0;color:var(--color-text-secondary);font-size:clamp(.84rem,1.4vw,1rem);line-height:1.55}
.campaign-progress-tools{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.campaign-progress-tools .tutorial-help-button{min-height:38px;padding:7px 11px;font-size:.72rem}
.campaign-mission-briefing{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:11px 22px;min-width:0;padding:5px 0 5px 20px;border-left:2px solid rgb(var(--custom-accent-rgb, 0 255 242) /52%)}.campaign-mission-briefing::before{content:"";position:absolute;inset:0 auto 0 -1px;width:88px;pointer-events:none;background:linear-gradient(90deg,rgb(var(--custom-accent-rgb, 0 255 242) /7%),transparent)}.campaign-mission-briefing.is-boss{border-left-color:rgb(255 60 172/68%)}.campaign-mission-briefing.is-boss::before{background:linear-gradient(90deg,rgb(255 60 172/8%),transparent)}
.campaign-mission-heading,.campaign-mission-status,.campaign-mission-metrics,.campaign-mission-command{position:relative;z-index:1}.campaign-mission-heading strong{display:block;margin-top:3px;color:var(--color-text-primary);font-family:var(--font-game);font-size:clamp(1.35rem,2.4vw,2rem);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.campaign-mission-status{align-self:start;justify-self:end;display:inline-flex;align-items:center;gap:7px;min-height:25px;color:var(--color-text-secondary);font-size:var(--text-micro);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.campaign-mission-status::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--color-accent);box-shadow:0 0 12px rgb(var(--custom-accent-rgb, 0 255 242) /40%)}.campaign-mission-status[data-state="cleared"]::before{background:var(--color-success);box-shadow:0 0 12px rgb(76 255 142/34%)}.campaign-mission-status[data-state="locked"]::before{background:var(--color-text-disabled);box-shadow:none}.campaign-mission-briefing.is-boss .campaign-mission-status::before{border-radius:1px;background:var(--color-special);box-shadow:var(--bloom-special);transform:rotate(45deg)}
.campaign-mission-metrics{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-top:3px}.campaign-mission-metric{min-width:0;padding-top:8px;border-top:1px solid var(--color-border-subtle)}.campaign-mission-metric span{display:block;color:var(--color-text-muted);font-size:.62rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase}.campaign-mission-metric strong{display:block;margin-top:2px;overflow:hidden;color:var(--color-text-primary);font-family:var(--font-game);font-size:.82rem;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}
.campaign-mission-command{grid-column:1/-1;display:flex;align-items:center;gap:9px;min-height:28px;color:var(--color-text-muted);font-size:.75rem}.campaign-mission-command kbd{min-width:46px;padding:4px 7px;border:1px solid rgb(var(--custom-accent-rgb, 0 255 242) /30%);border-radius:var(--radius-sm);background:rgb(var(--custom-accent-rgb, 0 255 242) /7%);color:var(--color-accent);font-size:.66rem;line-height:1;text-align:center}
.campaign-route-scroll{min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-color:rgb(var(--custom-accent-rgb, 0 255 242) /42%) transparent;scrollbar-width:thin;border-top:1px solid var(--color-border-subtle);scroll-padding:18px 0 30px}.campaign-route{display:grid;min-width:0;padding:8px 0 44px}
.campaign-sector{--sector-accent:var(--color-accent);position:relative;display:grid;grid-template-columns:minmax(126px,170px) minmax(0,1fr);align-items:center;gap:clamp(15px,2vw,28px);min-width:0;min-height:86px;padding:12px 12px 12px 0;border-bottom:1px solid rgb(var(--custom-border-rgb, 142 160 174) /11%);transition:background-color var(--motion-standard) var(--ease-standard),border-color var(--motion-standard) var(--ease-standard)}.campaign-sector:last-child{border-bottom:0}.campaign-sector.is-current{background:linear-gradient(90deg,rgb(var(--custom-accent-rgb, 0 255 242) /4.5%),transparent 58%);border-bottom-color:rgb(var(--custom-accent-rgb, 0 255 242) /15%)}.campaign-sector.has-boss-selection{--sector-accent:var(--color-special);background:linear-gradient(90deg,rgb(255 60 172/4.5%),transparent 58%)}.campaign-sector.is-locked{opacity:.52}
.campaign-sector-header{display:grid;align-content:center;gap:2px;min-width:0;min-height:48px;padding-left:11px;border-left:2px solid rgb(var(--custom-border-rgb, 142 160 174) /16%)}.campaign-sector.is-current .campaign-sector-header{border-left-color:var(--sector-accent)}.campaign-sector-header strong{color:var(--color-text-primary);font-family:var(--font-game);font-size:.88rem;font-variant-numeric:tabular-nums;letter-spacing:.035em}.campaign-sector-header span:last-child{color:var(--color-text-muted);font-size:.64rem;font-weight:650;letter-spacing:.065em;text-transform:uppercase}
.campaign-sector-track{position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(10,minmax(44px,1fr));align-items:center;gap:clamp(4px,.7vw,10px);min-width:0;padding:5px 0}.campaign-sector-track::before{content:"";position:absolute;z-index:-1;top:50%;right:24px;left:24px;height:1px;background:linear-gradient(90deg,var(--campaign-route-line),rgb(151 174 190/10%));transform:translateY(-7px)}.campaign-sector.is-current .campaign-sector-track::before{background:linear-gradient(90deg,var(--campaign-route-active),var(--campaign-route-line))}.campaign-sector.has-boss-selection .campaign-sector-track::before{background:linear-gradient(90deg,var(--campaign-route-line),var(--campaign-route-special))}
.campaign-node{position:relative;display:grid;grid-template-rows:44px minmax(12px,auto);place-items:center;gap:2px;min-width:44px;min-height:58px;padding:0;border:0;background:transparent;color:var(--color-text-muted);cursor:pointer;font-family:var(--font-ui);-webkit-tap-highlight-color:transparent}.campaign-node-marker{position:relative;display:grid;place-items:center;width:36px;height:36px;border:1px solid rgb(var(--custom-border-rgb, 142 160 174) /34%);border-radius:50%;background:rgb(10 15 21/96%);color:var(--color-text-secondary);box-shadow:0 0 0 5px rgb(var(--custom-bg-rgb, 10 14 20) /82%);transition:width var(--motion-fast) var(--ease-emphasis),height var(--motion-fast) var(--ease-emphasis),border-color var(--motion-fast),background-color var(--motion-fast),color var(--motion-fast),box-shadow var(--motion-fast),transform var(--motion-fast)}.campaign-node-number{position:relative;z-index:1;font-family:var(--font-game);font-size:.72rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.campaign-node-state{max-width:100%;overflow:hidden;color:var(--color-text-muted);font-family:var(--font-game);font-size:.55rem;font-weight:650;letter-spacing:.045em;line-height:1;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}
.campaign-node:hover .campaign-node-marker,.campaign-node:focus-visible .campaign-node-marker{border-color:rgb(var(--custom-accent-rgb, 0 255 242) /58%);background:rgb(var(--custom-accent-rgb, 0 255 242) /8%);color:var(--color-text-primary);box-shadow:0 0 0 5px rgb(var(--custom-bg-rgb, 10 14 20) /82%),var(--bloom-accent-sm);transform:translateY(-1px)}.campaign-node:focus-visible{outline:none}.campaign-node:focus-visible .campaign-node-marker{box-shadow:0 0 0 2px var(--color-bg),0 0 0 4px var(--color-accent),var(--bloom-accent-sm)}
.campaign-node.is-complete .campaign-node-marker{border-color:rgb(76 255 142/44%);background:rgb(76 255 142/6%);color:var(--color-success)}.campaign-node.is-complete .campaign-node-state{color:rgb(76 255 142/78%)}.campaign-node.is-frontier .campaign-node-marker{border-color:rgb(var(--custom-accent-rgb, 0 255 242) /62%);color:var(--color-accent);box-shadow:0 0 0 5px rgb(var(--custom-bg-rgb, 10 14 20) /82%),0 0 18px rgb(var(--custom-accent-rgb, 0 255 242) /13%);animation:campaign-frontier-pulse 2.8s ease-in-out infinite}
.campaign-node.selected .campaign-node-marker,.campaign-node[aria-current="true"] .campaign-node-marker{width:42px;height:42px;border-color:var(--color-accent);background:var(--color-accent);color:#031313;box-shadow:0 0 0 4px rgb(var(--custom-bg-rgb, 10 14 20) /92%),0 0 24px rgb(var(--custom-accent-rgb, 0 255 242) /24%);animation:none;transform:none}.campaign-node.selected .campaign-node-state,.campaign-node[aria-current="true"] .campaign-node-state{color:var(--color-accent)}
.campaign-node.is-boss .campaign-node-marker{width:38px;height:38px;border-color:rgb(255 60 172/52%);border-radius:4px;color:var(--color-special);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.campaign-node.is-boss .campaign-node-state{color:rgb(255 60 172/78%);letter-spacing:.085em}.campaign-node.is-boss:hover .campaign-node-marker,.campaign-node.is-boss:focus-visible .campaign-node-marker{border-color:var(--color-special);background:rgb(255 60 172/9%);box-shadow:var(--bloom-special)}.campaign-node.is-boss:focus-visible .campaign-node-marker{box-shadow:0 0 0 2px var(--color-bg),0 0 0 4px var(--color-special),var(--bloom-special)}.campaign-node.is-boss.selected .campaign-node-marker,.campaign-node.is-boss[aria-current="true"] .campaign-node-marker{width:44px;height:44px;border-color:var(--color-special);background:var(--color-special);color:#16030f;box-shadow:0 0 0 4px rgb(var(--custom-bg-rgb, 10 14 20) /92%),var(--bloom-special)}.campaign-node.is-boss.selected .campaign-node-state,.campaign-node.is-boss[aria-current="true"] .campaign-node-state{color:var(--color-special)}
.campaign-node:disabled,.campaign-node.is-locked:not(.dev-access){cursor:not-allowed}.campaign-node:disabled .campaign-node-marker,.campaign-node.is-locked:not(.dev-access) .campaign-node-marker{border-color:rgb(101 113 124/22%);background:rgb(8 12 17/58%);color:rgb(101 113 124/48%);box-shadow:0 0 0 5px rgb(var(--custom-bg-rgb, 10 14 20) /62%)}.campaign-node:disabled .campaign-node-state,.campaign-node.is-locked:not(.dev-access) .campaign-node-state{color:rgb(101 113 124/44%)}.campaign-node:disabled:hover .campaign-node-marker{border-color:rgb(101 113 124/22%);background:rgb(8 12 17/58%);color:rgb(101 113 124/48%);box-shadow:0 0 0 5px rgb(var(--custom-bg-rgb, 10 14 20) /62%);transform:none}.campaign-node.dev-access.is-locked .campaign-node-marker{border-style:dashed;border-color:rgb(255 60 172/34%);color:rgb(255 60 172/68%)}
.campaign-progress-screen .dev-panel{margin:12px 0 20px}.campaign-progress-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:38px;padding-top:9px;border-top:1px solid var(--color-border-subtle);color:var(--color-text-muted);font-size:.62rem;font-weight:650;letter-spacing:.075em;text-transform:uppercase}.campaign-progress-footer span:last-child{color:rgb(var(--custom-accent-rgb, 0 255 242) /62%)}
@keyframes campaign-frontier-pulse{0%,100%{box-shadow:0 0 0 5px rgb(var(--custom-bg-rgb, 10 14 20) /82%),0 0 12px rgb(var(--custom-accent-rgb, 0 255 242) /10%)}50%{box-shadow:0 0 0 5px rgb(var(--custom-bg-rgb, 10 14 20) /82%),0 0 24px rgb(var(--custom-accent-rgb, 0 255 242) /22%)}}
@media(max-width:980px){.campaign-progress-overview{grid-template-columns:minmax(0,1fr) minmax(300px,390px);gap:28px}.campaign-sector{grid-template-columns:118px minmax(0,1fr);gap:12px}.campaign-sector-track{gap:3px}.campaign-node-state{font-size:.5rem}}
@media(max-width:720px){.campaign-progress-shell{padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.campaign-progress-topline{grid-template-columns:auto minmax(0,1fr) auto;gap:9px;padding-bottom:9px}.campaign-progress-context{justify-content:flex-start;overflow:hidden;font-size:.58rem;text-overflow:ellipsis}.campaign-progress-context span{display:none}.campaign-progress-count{gap:4px;font-size:.54rem}.campaign-progress-count strong{font-size:.74rem}.campaign-progress-overview{grid-template-columns:1fr;gap:12px;padding:14px 0 13px}.campaign-progress-intro h1{margin:4px 0 5px;font-size:clamp(1.8rem,9vw,2.6rem)}.campaign-progress-lead{font-size:.76rem;line-height:1.45}.campaign-progress-tools{margin-top:9px}.campaign-progress-tools .tutorial-help-button{min-height:34px;padding:5px 9px;font-size:.64rem}.campaign-mission-briefing{gap:7px 12px;padding-left:14px}.campaign-mission-heading strong{font-size:1.12rem}.campaign-mission-status{font-size:.56rem}.campaign-mission-metrics{gap:6px}.campaign-mission-metric{padding-top:5px}.campaign-mission-metric span{font-size:.52rem}.campaign-mission-metric strong{font-size:.68rem}.campaign-mission-command{min-height:22px;font-size:.65rem}.campaign-sector{grid-template-columns:1fr;gap:7px;min-height:0;padding:11px 0 13px}.campaign-sector-header{grid-template-columns:auto 1fr auto;align-items:baseline;gap:8px;min-height:0;padding-left:8px}.campaign-sector-header .campaign-sector-kicker{grid-column:1}.campaign-sector-header strong{grid-column:2;font-size:.72rem}.campaign-sector-header span:last-child{grid-column:3;font-size:.55rem}.campaign-sector-track{grid-template-columns:repeat(5,minmax(52px,1fr));grid-template-rows:repeat(2,60px);gap:10px 4px;padding:3px 0}.campaign-sector-track::before{top:26px;right:27px;left:27px;height:71px;border-top:1px solid var(--campaign-route-line);border-bottom:1px solid var(--campaign-route-line);background:transparent;transform:none}.campaign-sector.is-current .campaign-sector-track::before{border-color:var(--campaign-route-active);background:transparent}.campaign-sector.has-boss-selection .campaign-sector-track::before{border-bottom-color:var(--campaign-route-special);background:transparent}.campaign-node{min-width:52px;min-height:60px}.campaign-node-marker{width:38px;height:38px}.campaign-node.selected .campaign-node-marker,.campaign-node[aria-current="true"] .campaign-node-marker{width:44px;height:44px}.campaign-node.is-boss .campaign-node-marker{width:40px;height:40px}.campaign-node-state{font-size:.5rem}.campaign-progress-footer{min-height:30px;gap:8px;padding-top:6px;font-size:.53rem}.campaign-progress-footer span:first-child{max-width:64%}}
@media(max-height:620px){.campaign-progress-shell{padding-top:max(10px,env(safe-area-inset-top));padding-bottom:max(8px,env(safe-area-inset-bottom))}.campaign-progress-topline{padding-bottom:7px}.campaign-progress-overview{grid-template-columns:minmax(0,1fr) minmax(290px,390px);gap:22px;padding:10px 0}.campaign-progress-intro h1{margin:3px 0 4px;font-size:clamp(1.7rem,5vw,2.8rem)}.campaign-progress-lead{display:none}.campaign-progress-tools{margin-top:7px}.campaign-mission-metrics{display:none}.campaign-mission-command{margin-top:2px}.campaign-sector{min-height:72px;padding-block:8px}.campaign-progress-footer{min-height:26px}}
@media(max-width:720px) and (max-height:520px){.campaign-progress-overview{grid-template-columns:minmax(0,1fr) minmax(170px,.85fr);gap:11px;align-items:center;padding:8px 0}.campaign-progress-kicker,.campaign-progress-tools,.campaign-mission-label,.campaign-mission-command,.campaign-progress-footer{display:none}.campaign-progress-intro h1{margin:0;font-size:clamp(1.4rem,7vw,2rem)}.campaign-mission-briefing{display:flex;align-items:center;justify-content:space-between;min-height:42px;padding-left:10px}.campaign-mission-heading strong{margin:0;font-size:.92rem}.campaign-sector{gap:4px;padding-block:7px 9px}.campaign-sector-header{gap:6px}.campaign-sector-track{grid-template-rows:repeat(2,54px);row-gap:7px}.campaign-sector-track::before{top:23px;height:62px}.campaign-node{grid-template-rows:40px minmax(10px,auto);min-height:54px}.campaign-node-marker{width:34px;height:34px}.campaign-node.selected .campaign-node-marker,.campaign-node[aria-current="true"] .campaign-node-marker,.campaign-node.is-boss.selected .campaign-node-marker,.campaign-node.is-boss[aria-current="true"] .campaign-node-marker{width:40px;height:40px}}
@media(prefers-reduced-motion:reduce){.campaign-progress-screen *,.campaign-progress-screen *::before,.campaign-progress-screen *::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.campaign-node-marker{transform:none!important}}


/* Campaign recovery: make account and placement state first-class route information. */
.campaign-account-state {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
  color: var(--color-text-muted);
  font-size: .64rem;
  font-weight: 650;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.campaign-account-state strong {
  max-width: 150px;
  overflow: hidden;
  color: var(--color-text-primary);
  font-family: var(--font-game);
  font-size: .7rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.campaign-account-state button,
.campaign-placement-actions button {
  min-height: 34px;
  padding: 7px 10px;
  border: 1px solid rgb(var(--custom-border-rgb, 142 160 174) / 30%);
  border-radius: var(--radius-sm);
  background: rgb(var(--custom-surface-1-rgb, 16 23 32) / 78%);
  color: var(--color-text-secondary);
  font-family: var(--font-ui);
  font-size: .64rem;
  font-weight: 750;
  letter-spacing: .07em;
  cursor: pointer;
}

.campaign-account-state button:hover,
.campaign-account-state button:focus-visible,
.campaign-placement-actions button:hover,
.campaign-placement-actions button:focus-visible {
  border-color: rgb(var(--custom-accent-rgb, 0 255 242) / 58%);
  color: var(--color-accent);
  outline: none;
}

.campaign-account-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--color-accent);
  box-shadow: 0 0 9px rgb(var(--custom-accent-rgb, 0 255 242) / 50%);
}

.campaign-account-dot.is-pending {
  opacity: .5;
}

.campaign-placement-strip {
  display: grid;
  grid-template-columns: minmax(180px, 1.25fr) minmax(180px, 1fr) auto;
  align-items: center;
  gap: 18px;
  min-width: 0;
  padding: 11px 14px;
  border-top: 1px solid var(--color-border-subtle);
  border-bottom: 1px solid var(--color-border-subtle);
  background:
    linear-gradient(90deg, rgb(var(--custom-accent-rgb, 0 255 242) / 5%), transparent 55%),
    rgb(var(--custom-surface-1-rgb, 16 23 32) / 46%);
}

.campaign-placement-main,
.campaign-placement-next {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.campaign-placement-kicker,
.campaign-placement-next span {
  color: var(--color-text-muted);
  font-size: .61rem;
  font-weight: 750;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.campaign-placement-main strong {
  color: var(--color-accent);
  font-family: var(--font-game);
  font-size: 1rem;
}

.campaign-placement-main > span:last-child,
.campaign-placement-next strong {
  overflow: hidden;
  color: var(--color-text-secondary);
  font-size: .72rem;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.campaign-placement-actions {
  display: flex;
  justify-content: flex-end;
  gap: 7px;
  flex-wrap: wrap;
}

.campaign-placement-actions button:first-child {
  border-color: rgb(var(--custom-accent-rgb, 0 255 242) / 42%);
  color: var(--color-accent);
}

@media (max-width: 820px) {
  .campaign-progress-topline {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .campaign-account-state {
    grid-column: 2 / -1;
    justify-self: end;
  }

  .campaign-placement-strip {
    grid-template-columns: 1fr 1fr;
  }

  .campaign-placement-actions {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }
}

@media (max-width: 560px) {
  .campaign-account-state span:not(.campaign-account-dot) {
    display: none;
  }

  .campaign-placement-strip {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .campaign-placement-actions {
    grid-column: auto;
  }
}

@media (min-width: 821px) {
  .campaign-progress-topline .screen-back-button { grid-column: 1; }
  .campaign-progress-context { grid-column: 2; }
  .campaign-account-state { grid-column: 3; justify-self: center; }
  .campaign-progress-count { grid-column: 4; }
}

@media (max-height: 520px) {
  .campaign-placement-strip {
    grid-template-columns: minmax(130px, 1fr) minmax(130px, .8fr) auto;
    gap: 8px;
    padding: 5px 8px;
  }
  .campaign-placement-main > span:last-child,
  .campaign-placement-next span {
    display: none;
  }
  .campaign-placement-main strong,
  .campaign-placement-next strong {
    font-size: .67rem;
  }
  .campaign-placement-actions button {
    min-height: 28px;
    padding: 4px 7px;
    font-size: .55rem;
  }
}


.campaign-save-warning {
  margin: 10px 0;
  padding: 9px 11px;
  border: 1px solid rgb(255 96 96 / 48%);
  background: rgb(255 68 68 / 8%);
  color: rgb(255 190 190);
  font-size: .72rem;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: .03em;
}


.campaign-placement-result {
  display: grid;
  justify-items: center;
  gap: 3px;
  margin: 8px auto 14px;
  padding: 10px 14px;
  width: min(420px, 100%);
  border: 1px solid rgb(var(--custom-accent-rgb, 0 255 242) / 30%);
  background: rgb(var(--custom-accent-rgb, 0 255 242) / 5%);
  text-align: center;
}

.campaign-placement-result > span,
.campaign-placement-result > small {
  color: var(--color-text-muted);
  font-size: .68rem;
  letter-spacing: .05em;
}

.campaign-placement-result > strong {
  color: var(--color-accent);
  font-family: var(--font-game);
  font-size: 1.25rem;
  letter-spacing: .04em;
}


/* Narrow short viewports: keep Placement compact without covering or widening the route. */
.campaign-placement-strip,
.campaign-placement-main,
.campaign-placement-next,
.campaign-placement-actions {
  min-width: 0;
}

.campaign-placement-actions button {
  min-width: 0;
  max-width: 100%;
}

@media (max-width: 560px) and (max-height: 520px) {
  .campaign-placement-strip {
    grid-template-columns: minmax(70px, .7fr) minmax(0, 1.3fr);
    gap: 6px;
    padding: 4px 6px;
    overflow: hidden;
  }

  .campaign-placement-next {
    display: none;
  }

  .campaign-placement-main {
    align-self: center;
  }

  .campaign-placement-main > span:last-child {
    display: none;
  }

  .campaign-placement-main strong {
    font-size: .64rem;
    white-space: nowrap;
  }

  .campaign-placement-actions {
    grid-column: 2;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
    width: 100%;
  }

  .campaign-placement-actions button {
    min-height: 30px;
    padding: 3px 4px;
    font-size: .48rem;
    line-height: 1.15;
    overflow-wrap: anywhere;
  }
}


.campaign-placement-mini {
  display: none;
}

@media (max-width: 560px) and (max-height: 520px) {
  .campaign-progress-shell {
    grid-template-rows: auto auto minmax(0, 1fr) auto;
  }

  .campaign-placement-strip {
    display: none;
  }

  .campaign-placement-mini {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 3px 6px;
    border: 1px solid rgb(var(--custom-accent-rgb, 0 255 242) / 42%);
    border-radius: var(--radius-sm);
    background: rgb(var(--custom-surface-1-rgb, 16 23 32) / 76%);
    color: var(--color-accent);
    font-family: var(--font-ui);
    font-size: .5rem;
    font-weight: 780;
    letter-spacing: .06em;
  }

  .campaign-account-state {
    gap: 5px;
  }
}
