/* The same row switches from preparation to the actual road during combat. */
.wave-stage{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;grid-row:2;grid-column:1/-1;background:#122035;border-bottom:1px solid #40536c;padding:7px 10px;min-width:0;color:#d8e7f5;pointer-events:none}
.wave-heading{display:flex;align-items:center;gap:8px;min-width:0}.wave-heading strong{font-size:12px;color:#f3d8a1;white-space:nowrap}.wave-status{font-size:10px;color:#92d2b7;border:1px solid #44685d;border-radius:4px;padding:2px 5px;white-space:nowrap}.wave-count{font-size:10px;font-weight:500;margin-left:auto;min-width:0;overflow-wrap:anywhere}
.wave-preview{grid-row:1;grid-column:2;display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;max-width:180px}.wave-preview .enemy-card{gap:3px;font-size:9px}.wave-preview .enemy-card svg{width:22px;height:20px}.wave-stage[data-phase=prepare] .wave-count{display:none}.wave-heading{grid-column:1/-1}.wave-stage[data-phase=prepare] .wave-heading{grid-column:1;flex-wrap:wrap}.wave-hint{grid-row:2;grid-column:1/-1;display:block;color:#bccddd;font-size:10px;line-height:1.4}.wave-next{grid-row:3;grid-column:1/-1;display:flex;gap:6px}.wave-next span{font-size:9px;color:#91acc3;padding:2px 6px;border:1px solid #304b64;border-radius:4px}.wave-next [data-boss=true]{color:#edbe8a;border-color:#786044}
.wave-route{grid-column:1/-1;display:flex;align-items:center;gap:7px;margin-top:7px;font-size:9px;color:#b3c4d7}.wave-rail{height:6px;position:relative;flex:1;border-radius:3px;background:linear-gradient(90deg,#35576b,#466b78 70%,#986257);margin:0 3px}.wave-enemy{position:absolute;top:-2px;width:7px;height:10px;border-radius:2px;border:1px solid #f5dbab;background:#d0a76b;transform:translateX(-50%)}.wave-enemy[data-kind=air]{background:#86c4dc;border-color:#c9f2ff}.wave-enemy[data-kind=commander]{width:11px;height:12px;top:-3px;background:#dc867d;border-color:#ffd5c8}.wave-enemy[data-kind=armor]{background:#acafc4}.wave-stage[data-warning=true] .wave-status{color:#ffd3ae;border-color:#ab7360;background:#583d31}.wave-stage[data-paused=true] .wave-status{color:#d2dcec;border-color:#66748a;background:#344258}
body[data-wave-presentation=true] .world-area .play-steps{display:none!important}
.lane-label{position:absolute;z-index:2;pointer-events:none;transform:translate(-50%,-100%);padding:4px 6px;border:1px solid #62879a;border-radius:5px;background:#122639e8;color:#c8eafa;font-size:9px;line-height:1.2;box-shadow:0 2px 7px #0005}.lane-label strong{font-size:10px;white-space:nowrap}.lane-core{border-color:#6eaa92;color:#c8f0d9}.lane-core[data-warning=true],.lane-core[data-hit=true]{border-color:#e3a78c;color:#ffd9c4}.core-pips{display:flex;gap:2px;margin-top:4px}.core-pips i{width:5px;height:3px;border-radius:1px;background:#48626a}.core-pips [data-active=true]{background:#8bceb3}.lane-core[data-hit=true] .core-pips [data-active=true]{background:#edaa8c}
@media(max-width:340px){.wave-stage{padding:6px 7px}.wave-heading{gap:5px;flex-wrap:wrap}.wave-heading strong{font-size:11px}.wave-count{font-size:9px}.wave-hint{font-size:9px}.wave-next{gap:4px}.wave-next span{padding:2px 4px;font-size:8px}}
@media(max-height:600px) and (min-width:650px){.wave-stage{padding:4px 8px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px}.wave-heading{gap:7px}.wave-heading strong{font-size:11px}.wave-hint{margin:0;grid-row:2;grid-column:1;font-size:9px}.wave-next{grid-row:2;grid-column:2;margin:0;align-items:center}.wave-route{grid-column:1/-1;margin-top:2px}.wave-count{font-size:9px}.wave-next span{font-size:8px}}

.wave-enemy[data-threat=true]{z-index:1;outline:2px solid #ffba91;outline-offset:2px;background:#f39370;box-shadow:0 0 0 4px #f3937033}

/* Actual next spawn drives both the field label and the portal machinery. */
.lane-entry .entry-next{display:block;font-size:9px;color:#d1e5ef;white-space:nowrap;margin-top:3px}.entry-cycle{display:block;width:100%;min-width:48px;height:3px;margin-top:4px;background:#3a5265;border-radius:2px;overflow:hidden}.entry-cycle i{display:block;height:100%;background:#8bcdbd}.lane-entry[data-next-kind=air] .entry-cycle i{background:#8bcde3}.lane-entry[data-next-kind=commander] .entry-cycle i{background:#edaa7f}
@media(max-height:600px) and (min-width:650px){.lane-entry{padding:3px 5px}.lane-entry .entry-next{font-size:8px;margin-top:2px}.entry-cycle{margin-top:3px}}
