/* ui/spawn-walk/spawn-walk.css — THE SPAWN WALK (docs/spawn-walk-spec.md). The palette never
 * hides the level (§2 "you never leave the room"): a compact sheet bottom-left over the render,
 * the mission-control palette (builder.css's tokens), prefix .sw-*. */
.sw-overlay {
  position: fixed; inset: 0; z-index: 1250; pointer-events: none;
  --sw-bg: rgba(10, 15, 26, 0.9); --sw-panel: #101827; --sw-line: #223148; --sw-ink: #e8edf7;
  --sw-dim: #7b8aa5; --sw-amber: #f2c350; --sw-cyan: #33ddff; --sw-red: #ff5533; --sw-green: #57d98b;
  --sw-mono: ui-monospace, 'SF Mono', 'Cascadia Mono', Menlo, Consolas, monospace;
  font-family: var(--sw-mono); color: var(--sw-ink);
}
.sw-overlay[hidden] { display: none; }
.sw-panel {
  position: absolute; left: 18px; bottom: 18px; width: min(520px, calc(100vw - 36px)); max-height: calc(100vh - 60px);
  display: flex; flex-direction: column; background: var(--sw-bg); border: 1px solid var(--sw-amber); pointer-events: auto;
  box-shadow: 0 0 0 1px rgba(0,0,0,0.6), 0 12px 40px rgba(0,0,0,0.5);
}
.sw-head { display: flex; align-items: baseline; gap: 10px; padding: 8px 12px; border-bottom: 1px solid var(--sw-line); }
.sw-title { font-size: 12px; letter-spacing: 3px; color: var(--sw-amber); }
.sw-sub { font-size: 10px; letter-spacing: 1px; color: var(--sw-dim); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sw-list { overflow: auto; padding: 4px 0; min-height: 0; }
.sw-row { display: flex; align-items: center; gap: 8px; padding: 5px 12px; font-size: 11.5px; letter-spacing: 0.8px; cursor: pointer; border-left: 3px solid transparent; }
.sw-row:hover { background: rgba(255,255,255,0.04); }
.sw-row.sw-focus { background: rgba(242,195,80,0.12); border-left-color: var(--sw-amber); }
.sw-row-label { flex: 1; }
.sw-row-value { min-width: 34px; text-align: center; color: var(--sw-cyan); }
.sw-row-step { color: var(--sw-dim); }
.sw-row.sw-focus .sw-row-step { color: var(--sw-amber); }
.sw-row.sw-act .sw-row-label { color: var(--sw-cyan); }
.sw-row.sw-go .sw-row-label { color: var(--sw-green); }
.sw-row.sw-warn .sw-row-label { color: var(--sw-red); }
.sw-row.sw-cur .sw-row-label { color: var(--sw-amber); }
.sw-note { padding: 4px 12px; font-size: 10px; color: var(--sw-amber); min-height: 14px; }
.sw-foot { padding: 6px 12px; border-top: 1px solid var(--sw-line); font-size: 9.5px; letter-spacing: 1px; color: var(--sw-dim); }
.sw-io { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(5,8,14,0.8); pointer-events: auto; }
.sw-io[hidden] { display: none; }
.sw-io-title { font-size: 10px; letter-spacing: 1.5px; color: var(--sw-amber); margin-bottom: 8px; }
.sw-io > * { max-width: min(760px, 92vw); }
.sw-io-text { width: min(760px, 92vw); height: 60vh; background: #0c1320; color: var(--sw-ink); border: 1px solid var(--sw-line); font: 10.5px/1.5 var(--sw-mono); padding: 8px; white-space: pre; }
.sw-io-row { display: flex; gap: 6px; margin-top: 8px; }
.sw-btn { background: #0c1320; color: var(--sw-amber); border: 1px solid var(--sw-amber); font: 11px var(--sw-mono); letter-spacing: 1.5px; padding: 6px 14px; cursor: pointer; }
.sw-io { flex-direction: column; }
/* the chip while the mode is up, and the badge whenever an override is live */
.sw-chip { position: fixed; left: 50%; top: 14px; transform: translateX(-50%); z-index: 1240; pointer-events: none;
  font: 11px/1.3 ui-monospace, Menlo, monospace; letter-spacing: 1.5px; color: #f2c350; background: rgba(0,0,0,0.62); border: 1px solid rgba(242,195,80,0.5); padding: 5px 12px; max-width: 90vw; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sw-badge { position: fixed; right: 14px; top: 14px; z-index: 1240; pointer-events: none;
  font: 10px/1 ui-monospace, Menlo, monospace; letter-spacing: 2px; color: #ff9a3c; background: rgba(0,0,0,0.62); border: 1px solid rgba(255,154,60,0.6); padding: 5px 9px; }
.sw-chip[hidden], .sw-badge[hidden] { display: none; }

/* THE VEIL (config.spawnWalk.VEIL) — the black sheet over the RENDER for the length of a
 * teleport (entering the mode, a START FROM recall). z 1249 puts it UNDER .sw-overlay's 1250,
 * so the palette you are driving stays fully readable on top of a hidden room. pointer-events
 * none: it never eats a click, even mid-fade. Opacity + transition are written by the script
 * (the hold/fade lengths are config), so nothing here animates on its own. */
.sw-veil { position: fixed; inset: 0; z-index: 1249; background: #000; opacity: 1; pointer-events: none; }
.sw-veil[hidden] { display: none; }

/* THE POINT IS A THING YOU HANDLE (2026-09-06) — a section divider inside the palette list.
   DOM only: never focusable, so the d-pad walks straight past it. */
.sw-sect {
  margin: 8px 0 2px; padding: 2px 6px;
  font: 600 10px/1.6 ui-monospace, Menlo, monospace; letter-spacing: 0.14em;
  color: #8fa2bd; text-transform: uppercase;
  border-bottom: 1px solid rgba(143, 162, 189, 0.28);
}
.sw-sect:first-child { margin-top: 0; }
