/* Builder busy dialog + walk report — page-shell tokens */
.walk-busy{
  border:none;padding:0;width:min(28rem,calc(100vw - 1.5rem));
  max-width:min(28rem,calc(100vw - 1.5rem));
  height:auto;min-height:0;max-height:min(88vh,34rem);
  border-radius:1.25rem !important;background:var(--elev);color:var(--ink);
  box-shadow:0 28px 80px rgba(var(--shadow-ink),.35);
  overflow:auto;box-sizing:border-box;z-index:120;
}
.walk-busy[open],.walk-busy.is-busy{display:block}
/* Keep the real page visible under a soft blur — not a solid grey sheet */
.walk-busy::backdrop{
  background:color-mix(in srgb,var(--ground) 18%,transparent);
  backdrop-filter:blur(12px) saturate(1.05);
  -webkit-backdrop-filter:blur(12px) saturate(1.05)
}
.walk-busy-inner{
  box-sizing:border-box;height:auto;min-height:0;padding:1.55rem 1.4rem 1.35rem;
  text-align:center;display:flex;flex-direction:column;align-items:stretch;gap:0
}
.walk-busy-spinner{
  width:2.6rem;height:2.6rem;flex:0 0 auto;margin:0 auto .85rem;border-radius:50%;
  border:3px solid color-mix(in srgb,var(--brass) 25%,transparent);
  border-top-color:var(--brass);animation:gq-spin .85s linear infinite
}
@keyframes gq-spin{to{transform:rotate(360deg)}}
.walk-busy h2{
  font-family:var(--display);font-size:clamp(1.35rem,3vw,1.7rem);font-weight:600;
  letter-spacing:-.03em;margin:0 0 .4rem;line-height:1.15
}
.walk-busy #walkBusyLead,.walk-busy p#walkBusyLead{
  margin:0;font-size:.95rem;line-height:1.4;color:var(--ink-2);flex:0 0 auto;min-height:0
}
.walk-busy-stages{
  list-style:none;margin:1rem 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;
  gap:.65rem;text-align:left;flex:0 0 auto
}
.walk-busy--single .walk-busy-stages{grid-template-columns:1fr}
.walk-busy-stage{
  display:flex;align-items:flex-start;gap:.65rem;padding:.75rem .85rem;
  border-radius:1rem !important;
  border:1px solid var(--rule);background:var(--panel-soft);min-height:0;box-sizing:border-box;
  overflow:visible;transition:border-color .25s ease,background .25s ease,box-shadow .25s ease
}
.walk-busy-stage.is-active{
  border-color:color-mix(in srgb,var(--brass) 55%,var(--rule));
  box-shadow:0 0 0 1px color-mix(in srgb,var(--brass) 22%,transparent);
  background:color-mix(in srgb,var(--brass) 10%,var(--elev))
}
.walk-busy-stage.is-done{
  border-color:color-mix(in srgb,var(--good) 45%,var(--rule));
  background:color-mix(in srgb,var(--good) 10%,var(--elev))
}
.walk-busy-stage-mark{
  flex:0 0 auto;width:1.55rem;height:1.55rem;margin-top:.1rem;border-radius:999px;
  border:2px solid color-mix(in srgb,var(--ink-3) 45%,transparent);position:relative;box-sizing:border-box
}
.walk-busy-stage.is-active .walk-busy-stage-mark{
  border-color:var(--brass);animation:gq-stage-pulse 1.2s ease-in-out infinite
}
.walk-busy-stage.is-done .walk-busy-stage-mark{
  border-color:var(--good);background:var(--good);animation:none
}
.walk-busy-stage.is-done .walk-busy-stage-mark::after{
  content:"";position:absolute;left:.34rem;top:.12rem;width:.38rem;height:.72rem;
  border:solid var(--btn-ink);border-width:0 2px 2px 0;transform:rotate(45deg)
}
.walk-busy-stage-copy{display:flex;flex-direction:column;gap:.15rem;min-width:0;flex:1 1 auto}
.walk-busy-stage-label{font-size:1.05rem;font-weight:600;color:var(--ink);letter-spacing:-.01em}
.walk-busy-stage-hint{
  font-size:.88rem;line-height:1.35;color:var(--ink-3);
  white-space:normal;overflow:visible;text-overflow:unset;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;
  word-break:break-word
}
.walk-busy-stage.is-active .walk-busy-stage-hint{color:var(--ink)}
.walk-busy-stage.is-done .walk-busy-stage-hint{color:var(--good);font-weight:500}
@keyframes gq-stage-pulse{
  0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--brass) 35%,transparent)}
  50%{box-shadow:0 0 0 6px transparent}
}
.walk-busy .walk-busy-status{
  margin-top:.95rem;padding-top:0;min-height:0;font-size:.95rem;line-height:1.4;
  font-weight:600;color:var(--ink);white-space:normal;word-break:break-word
}
.walk-busy #walkBusyLead{
  overflow:visible;white-space:normal;word-break:break-word
}
@media (max-width:520px){
  .walk-busy-stages{grid-template-columns:1fr}
  .walk-busy--single .walk-busy-stages{grid-template-columns:1fr}
}

.report-toolbar{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;
  margin:1.5rem 0 .85rem;width:100%;max-width:none
}
.report-toolbar .dur{margin:0;color:var(--ink-2);font-size:.92rem}
.report-actions{display:flex;flex-wrap:wrap;gap:.45rem}
.report-actions .cta-btn{min-height:40px;padding:0 1em;font-size:.95rem}
.report-actions .cta-btn.ghost{background:var(--panel-soft)}

.summary-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;
  margin:0 0 2rem;width:100%;max-width:none
}
@media (max-width:900px){.summary-grid{grid-template-columns:1fr}}
.summary-card{
  border:1px solid var(--rule);border-radius:4px;background:var(--panel-strong);
  padding:1rem 1.05rem 1.1rem
}
.summary-card .l{
  font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-3);font-weight:500
}
.summary-card .big{
  margin-top:.4rem;font-family:var(--display);font-weight:600;
  font-size:clamp(1.35rem,2.8vw,1.85rem);letter-spacing:-.02em;
  font-variant-numeric:tabular-nums;color:var(--ink);line-height:1.15
}
.summary-card .big.up{color:var(--good)}
.summary-card .big.dn{color:var(--warn)}
.summary-card .detail{margin-top:.5rem;color:var(--ink-2);font-size:.88rem;line-height:1.45}
.summary-card-risk.is-pending .big{color:var(--ink-3)}
.summary-card-risk.is-failed .detail{color:var(--warn)}

#reportBlock[hidden]{display:none !important}
@media (max-width:640px){
  .walk-busy{min-height:0;max-height:min(88vh,30rem)}
  .walk-busy-inner{padding:1.35rem 1.1rem 1.2rem}
  .walk-busy-stage{padding:.7rem .75rem;min-height:0}
}
