/* Shared application chrome. Scientific viewers retain their own palettes. */
.aq-app { --aq-nav-width: 224px; min-height: 100dvh; }
.aq-app-header { position: sticky; top: 0; z-index: 60; height: 64px; display: flex; align-items: center; gap: 12px; padding: 0 20px 0 12px; background: var(--hx-card); color: var(--hx-fg); border-bottom: 1px solid var(--hx-border); }
.aq-app-brand { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; color: var(--hx-fg); font-size: 18px; font-weight: 650; text-decoration: none; }
.aq-app-brand:hover { color: var(--hx-fg); text-decoration: none; }
.aq-header-spacer { flex: 1; min-width: 0; }
.aq-shell-button { color: var(--hx-fg); background: transparent; border: 0; border-radius: 6px; display: inline-flex; align-items: center; justify-content: center; padding: 8px; min-width: 36px; min-height: 36px; }
.aq-shell-button:hover { background: var(--aq-hover); }
.aq-icon { flex: 0 0 auto; }
.aq-app-body { display: grid; grid-template-columns: var(--aq-nav-width) minmax(0, 1fr); align-items: start; }
.aq-sidebar { position: sticky; top: 64px; height: calc(100dvh - 64px); overflow-y: auto; overflow-x: hidden; padding: 16px 10px; display: flex; flex-direction: column; gap: 4px; background: var(--hx-card); border-right: 1px solid var(--hx-border); z-index: 40; }
.aq-nav-item, .aq-more-tools summary { min-height: 40px; padding: 9px 10px; display: flex; align-items: center; gap: 10px; color: var(--hx-fg); border-radius: 6px; font-size: 13px; line-height: 1.25; text-decoration: none; min-width: 0; }
.aq-nav-item > span:last-child, .aq-more-tools summary > span:last-child { min-width: 0; overflow-wrap: anywhere; }
.aq-nav-item:hover, .aq-more-tools summary:hover { color: var(--hx-fg); background: var(--aq-hover); text-decoration: none; }
.aq-nav-item.active { background: var(--aq-selected); color: var(--aq-selected-fg); font-weight: 600; }
.aq-nav-heading { margin: 8px 10px 0; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: var(--hx-muted); }
.aq-step-dot { width: 10px; height: 10px; border-radius: 999px; border: 1.5px solid var(--line-strong); background: transparent; flex: 0 0 auto; box-sizing: border-box; }
.aq-step-dot.is-done { background: var(--ok); border-color: var(--ok); }
.aq-step-dot.is-imported { border-style: dashed; border-color: var(--ok); }
.aq-step-dot.is-now { border-color: var(--accent); box-shadow: 0 0 0 2px var(--accent); }
.aq-step-dot.is-block { border-color: var(--danger); }
.aq-nav-item > span:last-child, .aq-more-tools summary > span:last-child { white-space: nowrap; }
.aq-technical { margin: 24px 0 0; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); }
.aq-technical > summary { min-height: 36px; padding: 8px 16px; font-size: 13px; font-weight: 600; cursor: pointer; }
.aq-technical-body { padding: 0 16px 16px; font-size: 13px; line-height: 1.45; color: var(--muted); }
.aq-technical-body p { margin: 0 0 8px; }
/* The step header (kicker, method note, Next / How to talk to the AI) renders straight into .aq-content; the hosted
   step bodies bring their own .hx-main padding, so the header carries the same inset itself. */
.aq-step-head { padding: 24px 24px 0; max-width: 1280px; margin: 0 auto; width: 100%; box-sizing: border-box; }
/* ACQ-GRID-PAGE-1: step bodies get the same space above the title as the hosted pages. */
.aq-content > .aq-step-page { padding-inline: 24px; padding-top: 24px; }
@media (max-width: 720px) { .aq-step-head { padding: 16px 16px 0; } .aq-content > .aq-step-page { padding-inline: 16px; padding-top: 16px; } }
.aq-step-kicker { margin: 0 0 8px; font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--hx-muted); }
.aq-step-note { margin: 0 0 16px; font-size: 14px; line-height: 1.45; color: var(--hx-muted); }
.aq-expert { margin: 12px 0 0; padding: 8px; border: 1px solid var(--line-strong); border-radius: 8px; display: flex; flex-direction: column; gap: 8px; }
.aq-expert label { display: flex; align-items: center; gap: 8px; min-height: 36px; font-size: 13px; font-weight: 600; }
.aq-expert input { width: 16px; height: 16px; accent-color: var(--hx-accent); }
.aq-expert p { margin: 0; font-size: 12px; line-height: 1.45; color: var(--hx-muted); }
.aq-expert a { font-size: 13px; font-weight: 600; }
.aq-help { margin-top: auto; }
.aq-more-tools { position: relative; margin: 8px 0 18px; }
.aq-more-tools summary { cursor: pointer; list-style: none; }
.aq-more-tools summary::-webkit-details-marker, .aq-disclosure summary::-webkit-details-marker { display: none; }
.aq-more-tools a { display: block; font-size: 13px; color: var(--hx-muted); padding: 8px 8px 8px 40px; border-radius: 6px; white-space: normal; }
.aq-more-tools a.active { color: var(--aq-selected-fg); background: var(--aq-selected); font-weight: 600; }
.aq-more-tools a:hover { color: var(--hx-fg); background: var(--aq-hover); }
.aq-content { min-width: 0; }
/* ACQ-RD-3 the docked assistant (Esw.Assistant.UI). 400 px under the bar (STYLE §5). At 1280 and wider it docks and the
   page shifts, no scrim; below 1440 the sidebar folds to its rail while it is docked (D7). Below 1280 it overlays with a
   light scrim; under 640 it is a full-width sheet. The numbers match Esw.Assistant.AssistantDock. */
:root { --assistant-w: 400px; --assistant-top: 64px; } /* the bar is 64 px today (.aq-app-header) */
@media (min-width: 1280px) {
  .aq-app[data-assistant-open=true] .aq-app-body { margin-right: var(--assistant-w); }
}
/* The tour nudge sat over the drawer's head and close button: it steps left of the open assistant, and waits on phones
   where the assistant is a sheet. */
body:has(.esw-assistant) .aq-tour-nudge { right: calc(var(--assistant-w) + 16px); max-width: min(420px, calc(100vw - var(--assistant-w) - 32px)); }
@media (max-width: 760px) { body:has(.esw-assistant) .aq-tour-nudge { display: none; } }
@media (min-width: 1280px) and (max-width: 1439px) {
  .aq-app[data-assistant-open=true] { --aq-nav-width: 56px; }
  .aq-app[data-assistant-open=true] .aq-nav-item span, .aq-app[data-assistant-open=true] .aq-nav-heading, .aq-app[data-assistant-open=true] .aq-more-tools summary span { display: none; }
  .aq-app[data-assistant-open=true] .aq-sidebar { padding-inline: 8px; }
  .aq-app[data-assistant-open=true] .aq-nav-item, .aq-app[data-assistant-open=true] .aq-more-tools summary { justify-content: center; }
  .aq-app[data-assistant-open=true] .aq-more-tools .aq-more-tools-links { display: none; }
}
.aq-discuss { display: inline-flex; gap: 8px; align-items: center; }
.aq-discuss-count { font-size: 13px; }
.aq-content > .hx-shell, .aq-content .hx-shell { min-height: calc(100dvh - 64px); }
.aq-content .hx-main { width: 100%; }
.aq-workspace-title { display: flex; align-items: baseline; gap: 8px 12px; padding: 24px 24px 16px; border-bottom: 1px solid var(--hx-border); background: var(--hx-card); flex-wrap: wrap; }
.aq-workspace-title h1 { font-size: 22px; font-weight: 600; letter-spacing: -.4px; margin: 0; }
.aq-workspace-title span { font-size: 12px; color: var(--hx-muted); }
.aq-workspace-title .plan-page-updated { flex: 1 0 100%; }
/* ACQ-PLAIN-1: the one sentence on what a page is for, under its title; the Demo pill beside the title. */
.aq-purpose { margin: 4px 0 0; max-width: 760px; font-size: 14px; line-height: 1.45; color: var(--ink); }
.aq-workspace-title .aq-purpose { flex: 1 0 100%; margin: 0; }
.aq-workspace-title .aq-demo-pill { align-self: center; }
.aq-discuss { flex-wrap: nowrap; white-space: nowrap; }
/* Steps that render straight into the content area get the same 24 px above the title as the rest (ACQ-PLAIN-1). */
.aq-content > .aq-cal { padding: 24px; }
@media (max-width: 720px) { .aq-content > .aq-cal { padding: 16px; } }
.aq-disclosure { position: relative; }
.aq-disclosure > summary { display: flex; align-items: center; gap: 9px; list-style: none; border-radius: 6px; padding: 6px 9px; cursor: pointer; font-size: 13px; }
.aq-disclosure > summary:hover { background: var(--aq-hover); }
.aq-popover { position: absolute; top: calc(100% + 8px); right: 0; z-index: 80; width: 286px; max-width: calc(100vw - 24px); padding: 10px; border: 1px solid var(--hx-border); border-radius: 10px; box-shadow: 0 12px 36px var(--aq-shadow); background: var(--hx-card); color: var(--hx-fg); }
.aq-popover > a, .aq-popover > button { display: block; border: 0; background: transparent; color: var(--hx-fg); font: inherit; font-size: 13px; text-align: left; padding: 9px 10px; border-radius: 5px; width: 100%; text-decoration: none; }
.aq-popover > a:hover, .aq-popover > button:hover { background: var(--aq-hover); color: var(--hx-fg); }
.aq-menu-divider { border-top: 1px solid var(--hx-border); margin: 8px 0; }
.aq-avatar { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--aq-selected); color: var(--aq-selected-fg); font-size: 11px; font-weight: 600; flex-shrink: 0; }
.aq-account-name { max-width: 160px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aq-account-heading { padding: 6px 10px 14px; font-size: 14px; font-weight: 600; }
.aq-account-heading small { display: block; color: var(--hx-muted); font-size: 12px; margin-top: 3px; font-weight: 400; }
.aq-appearance { border: 0; margin: 0; padding: 8px; display: flex; gap: 5px; }
.aq-appearance legend { float: none; width: auto; font-size: 12px; color: var(--hx-muted); margin-bottom: 5px; }
.aq-appearance label { flex: 1; border: 1px solid var(--hx-border); border-radius: 6px; display: flex; align-items: center; gap: 5px; padding: 8px 6px; font-size: 12px; cursor: pointer; }
.aq-appearance label:has(input:checked) { background: var(--aq-selected); color: var(--aq-selected-fg); border-color: var(--aq-selected-fg); }
.aq-appearance input { accent-color: var(--aq-selected-fg); margin: 0; }
.aq-theme-help { display: block; font-size: 11px; color: var(--hx-muted); padding: 0 8px 8px; }
.aq-project-picker { min-width: 0; max-width: 470px; }
.aq-project-picker > summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; row-gap: 0; min-width: 0; }
.aq-project-caption { grid-column: 1; text-transform: uppercase; font-size: 10px; letter-spacing: .8px; color: var(--hx-muted); }
.aq-project-name { grid-column: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 500; }
.aq-caret { grid-column: 2; grid-row: 1 / 3; }
.aq-project-options { left: 0; right: auto; width: 380px; max-height: min(480px, 75dvh); overflow: auto; }
.aq-project-options p { padding: 8px; font-size: 13px; }
.aq-project-option[aria-current=true] { color: var(--aq-selected-fg); background: var(--aq-selected); }
.aq-menu-label { padding: 6px 10px 2px; font-size: 10px; letter-spacing: .8px; text-transform: uppercase; color: var(--hx-muted); }
.aq-pin-mark { color: var(--hx-warn); font-size: 11px; }
.aq-kind-chip { display: inline-block; margin-left: 6px; padding: 0 6px; border: 1px solid var(--hx-border); border-radius: 999px; font-size: 10.5px; color: var(--hx-muted); vertical-align: 1px; }
.aq-service > summary { font-size: 12px; color: var(--hx-muted); white-space: nowrap; }
.aq-service[data-status=Down] > summary, .aq-service[data-status=SignInRequired] > summary { color: var(--hx-fail); }
.aq-service[data-status=Warming] > summary { color: var(--hx-warn); }
.aq-service .hx-header-status { display: flex; flex-direction: column; align-items: start; max-width: none; gap: 12px; }
.aq-service .hx-api-status { white-space: normal; color: var(--hx-fg); overflow-wrap: anywhere; }
.aq-service .hx-env-badge { background: var(--aq-hover); color: var(--hx-muted); }
.aq-app[data-nav-collapsed=true] { --aq-nav-width: 56px; }
.aq-app[data-nav-collapsed=true] .aq-nav-item span, .aq-app[data-nav-collapsed=true] .aq-nav-heading, .aq-app[data-nav-collapsed=true] .aq-more-tools summary span { display: none; }
.aq-app[data-nav-collapsed=true] .aq-sidebar { padding-inline: 8px; }
.aq-app[data-nav-collapsed=true] .aq-nav-item, .aq-app[data-nav-collapsed=true] .aq-more-tools summary { justify-content: center; }
/* Collapsed rail: the Data library links are hidden with the other labels (the sidebar clips overflow, so a flyout
   cannot escape it); expanding the rail brings them back. */
.aq-app[data-nav-collapsed=true] .aq-more-tools .aq-more-tools-links { display: none; }
.aq-skip { position: fixed; top: -100px; left: 12px; z-index: 100; padding: 12px; background: var(--hx-card); color: var(--hx-fg); }
.aq-skip:focus { top: 8px; }
.aq-app :is(a, button, summary, input, select):focus-visible { outline: 2px solid var(--hx-accent); outline-offset: 3px; }
.aq-nav-backdrop { display: none; }
@media(max-width: 1060px) { .aq-account-name { display: none; } .aq-app-header { gap: 8px; } .aq-project-picker { max-width: 360px; } }
@media(max-width: 760px) {
  .aq-app, .aq-app[data-nav-collapsed=true] { --aq-nav-width: 0px; }
  .aq-app-body { grid-template-columns: minmax(0, 1fr); }
  .aq-app-header { padding: 0 10px; gap: 5px; }
  .aq-app-brand span { display: none; }
  .aq-sidebar { display: none; }
  .aq-app[data-nav-open=true] .aq-sidebar { display: flex; position: fixed; top: 64px; left: 0; bottom: 0; width: 228px; z-index: 55; }
  .aq-app[data-nav-open=true] .aq-nav-item span, .aq-app[data-nav-open=true] .aq-nav-heading, .aq-app[data-nav-open=true] .aq-more-tools summary span { display: block; }
  .aq-app[data-nav-open=true] .aq-nav-item, .aq-app[data-nav-open=true] .aq-more-tools summary { justify-content: flex-start; }
  .aq-app[data-nav-open=true] .aq-more-tools a { text-align: left; padding-left: 40px; font-size: 12px; }
  .aq-nav-backdrop { display: block; position: fixed; inset: 64px 0 0; background: var(--aq-shadow); z-index: 50; border: 0; }
  .aq-project-picker { flex: 1; max-width: none; }
  .aq-project-picker > summary { padding-inline: 5px; }
  .aq-project-name { font-size: 12px; }
  .aq-account > summary { gap: 4px; padding-inline: 4px; }
  .aq-project-options { position: fixed; left: 12px; top: 60px; width: calc(100vw - 24px); }
  .aq-service > summary .aq-service-label { display: none; }
  .aq-service .aq-popover { position: fixed; top: 60px; right: 12px; }
  .aq-workspace-title { padding: 16px; }
}
@media(pointer: coarse) { .aq-shell-button, .aq-nav-item, .aq-disclosure > summary, .aq-popover > a, .aq-popover > button { min-height: 44px; } }
@media print { .aq-app-header, .aq-sidebar, .aq-skip, .aq-nav-backdrop { display: none !important; } .aq-app-body { display: block; } .aq-content { width: 100%; } }
/* The 3D focus arrangement is temporary; the saved navigation preference stays intact. */
.aq-app[data-scene-focus=true] .aq-app-body {grid-template-columns:minmax(0,1fr)}
.aq-app[data-scene-focus=true] .aq-sidebar,.aq-app[data-scene-focus=true] .aq-nav-toggle {display:none}
/* ACQ-GRAYSON-FIX-1 (fix 3): focus hides the step chrome around the 3D stage; full screen hides the top bar too. */
.aq-app[data-scene-focus=true] .aq-step-strip,.aq-app[data-scene-focus=true] .xp-back,.aq-app[data-scene-focus=true] .aq-technical {display:none}
.aq-app[data-scene-expanded=true] .aq-app-header {display:none}
/* On the Results place the stage takes the whole content area: the place header, its tabs and the page padding go. */
.aq-app[data-scene-focus=true] .aq-explore-head,.aq-app[data-scene-focus=true] .aq-explore > .aq-place-tabs,.aq-app[data-scene-focus=true] .aq-explore-notice {display:none}
.aq-app[data-scene-focus=true] .aq-content > .aq-step-page,.aq-app[data-scene-focus=true] .aq-step-page:has(.aq-explore) {padding:0; max-width:none; gap:0}

/* ACQ-IA-1 v2 (IA2-1): the seven places. Set up is a collapsible group with an aggregate dot and "n of 5"; the other
   places carry the dot of the steps they serve (STYLE §5). */
.aq-setup { margin: 0; }
.aq-setup > summary { cursor: pointer; list-style: none; }
.aq-setup > summary::-webkit-details-marker { display: none; }
.aq-setup-links { display: flex; flex-direction: column; gap: 2px; margin: 2px 0 4px; }
.aq-nav-item.aq-nav-sub { min-height: 36px; padding: 7px 10px 7px 30px; color: var(--hx-muted); }
.aq-nav-item.aq-nav-sub.active { color: var(--aq-selected-fg); }
.aq-nav-count { margin-left: auto; font-family: var(--hx-mono); font-size: 11px; font-variant-numeric: tabular-nums; color: var(--hx-muted); white-space: nowrap; }
.aq-nav-caret { font-size: 12px; color: var(--hx-muted); transition: transform 120ms ease; }
.aq-setup[open] > summary .aq-nav-caret { transform: rotate(180deg); }
.aq-step-dot.is-part { background: linear-gradient(90deg, var(--ok) 50%, transparent 50%); border-color: var(--ok); }
.aq-app[data-nav-collapsed=true] .aq-setup-links, .aq-app[data-nav-collapsed=true] .aq-nav-count, .aq-app[data-nav-collapsed=true] .aq-nav-caret { display: none; }
@media (min-width: 1280px) and (max-width: 1439px) {
  .aq-app[data-assistant-open=true] .aq-setup-links, .aq-app[data-assistant-open=true] .aq-nav-count, .aq-app[data-assistant-open=true] .aq-nav-caret { display: none; }
}
@media (max-width: 760px) {
  .aq-app[data-nav-open=true] .aq-setup-links { display: flex; }
  .aq-app[data-nav-open=true] .aq-nav-count, .aq-app[data-nav-open=true] .aq-nav-caret { display: inline; }
}
/* The top-bar Discussion button (§3.2): the count badge is the project's thread count until IA2-6. */
.aq-discussion { position: relative; text-decoration: none; }
.aq-discussion:hover { text-decoration: none; color: var(--hx-fg); }
.aq-discussion[aria-current=page] { background: var(--aq-selected); color: var(--aq-selected-fg); }
.aq-count-badge { position: absolute; top: 2px; right: 0; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: var(--accent); color: var(--on-accent); font-size: 11px; font-weight: 600; font-variant-numeric: tabular-nums; line-height: 18px; text-align: center; }
/* The step strip (§3.4, decision 16): 44 px, sticky under the bar, the served step bold, Previous / Next walk the places. */
.aq-step-strip { position: sticky; top: 64px; z-index: 30; min-height: 44px; display: flex; align-items: center; gap: 12px; padding: 0 24px; background: var(--hx-card); border-bottom: 1px solid var(--hx-border); }
.aq-step-strip .hx-btn.small { min-height: 28px; height: 28px; padding: 0 10px; font-size: 13px; }
.aq-strip-where { display: inline-flex; align-items: center; gap: 8px; min-width: 0; font-size: 13px; font-weight: 600; color: var(--hx-fg); }
.aq-strip-kicker { font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--hx-muted); white-space: nowrap; }
.aq-strip-dots { display: inline-flex; align-items: center; gap: 5px; margin: 0 4px; }
.aq-strip-dots i { display: block; width: 8px; height: 8px; box-sizing: border-box; border-radius: 999px; border: 1.5px solid var(--line-strong); }
.aq-strip-dots i.is-done { background: var(--ok); border-color: var(--ok); }
.aq-strip-dots i.is-imported { border-style: dashed; border-color: var(--ok); }
.aq-strip-dots i.is-block { border-color: var(--danger); }
.aq-strip-dots i.is-here { width: 10px; height: 10px; background: var(--accent); border-color: var(--accent); box-shadow: 0 0 0 3px var(--soft); }
.aq-strip-label { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.aq-strip-label span { font-weight: 400; color: var(--hx-muted); }
.aq-strip-label b { font-weight: 700; }
.aq-strip-nav { margin-left: auto; display: flex; gap: 8px; flex: 0 0 auto; }
/* ACQ-CALIBRATE-SETUP-1: Set up's five steps by name, each with its state; the page's own step ringed in the accent. */
.aq-corridor { display: flex; align-items: center; gap: 8px; min-width: 0; margin: 0; padding: 0; list-style: none; }
.aq-corridor-step { display: flex; align-items: center; gap: 8px; min-width: 0; }
.aq-corridor-step + .aq-corridor-step::before { content: ""; flex: 0 0 16px; height: 1.5px; background: var(--line-strong); }
.aq-corridor-step.is-done + .aq-corridor-step::before, .aq-corridor-step.is-imported + .aq-corridor-step::before { background: var(--ok); }
.aq-corridor-step a { position: relative; display: inline-flex; align-items: center; gap: 8px; min-height: 32px; padding: 0 8px 0 4px; border-radius: 999px; color: var(--hx-muted); font-size: 13px; font-weight: 400; white-space: nowrap; text-decoration: none; }
.aq-corridor-step a:hover { background: var(--surface-2); color: var(--hx-fg); text-decoration: none; }
.aq-corridor-glyph { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 22px; width: 22px; height: 22px; box-sizing: border-box; border-radius: 999px; border: 1.5px solid var(--line-strong); background: var(--hx-card); color: var(--hx-muted); font-size: 11px; font-weight: 600; font-variant-numeric: tabular-nums; }
.aq-corridor-step.is-done .aq-corridor-glyph { background: var(--ok); border-color: var(--ok); color: var(--on-accent); }
.aq-corridor-step.is-imported .aq-corridor-glyph { border-style: dashed; border-color: var(--ok); color: var(--ok); }
.aq-corridor-step.is-blocked .aq-corridor-glyph { border-color: var(--danger); color: var(--danger); }
.aq-corridor-step.is-current .aq-corridor-glyph { border-color: var(--accent); color: var(--accent); }
.aq-corridor-step.is-here a { color: var(--hx-fg); font-weight: 600; }
.aq-corridor-step.is-here .aq-corridor-glyph { box-shadow: 0 0 0 3px var(--soft); border-width: 2px; border-color: var(--accent); }
.aq-corridor-step.is-here.is-todo .aq-corridor-glyph, .aq-corridor-step.is-here.is-current .aq-corridor-glyph { background: var(--accent); color: var(--on-accent); }
@media (max-width: 1280px) {
  .aq-step-strip.is-setup .aq-strip-kicker { display: none; }
}
@media (max-width: 1100px) {
  /* Narrow screens keep every glyph and the page's own name; the other names are in each step's title. */
  .aq-corridor-step:not(.is-here) .aq-corridor-name { display: none; }
}
@media (max-width: 720px) {
  /* Phones keep the home link, the served step and Next; the dots, the kicker and Previous wait for the sidebar. */
  .aq-step-strip { padding: 0 12px; gap: 8px; }
  .aq-step-strip .hx-btn.small { padding: 0 8px; white-space: nowrap; }
  .aq-strip-dots, .aq-strip-kicker, .aq-strip-nav [data-testid="strip-prev"] { display: none; }
  /* Set up's corridor takes its own row under the home link and Next. */
  .aq-step-strip.is-setup { flex-wrap: wrap; row-gap: 4px; padding-top: 6px; padding-bottom: 6px; }
  .aq-step-strip.is-setup .aq-corridor { order: 3; flex: 1 0 100%; justify-content: space-between; }
  .aq-step-strip.is-setup .aq-corridor-step:not(:first-child) { flex: 1 1 auto; }
  .aq-step-strip.is-setup .aq-corridor-step + .aq-corridor-step::before { flex: 1 1 8px; min-width: 6px; }
}
/* Underline tabs inside a place (§2; STYLE-BASE §3): one active, the rail is the title block's bottom edge. */
.aq-place-tabs { display: flex; gap: 2px; border-bottom: 1px solid var(--hx-border); overflow-x: auto; margin: 0 0 16px; }
.aq-place-tabs a { display: inline-flex; align-items: center; min-height: 36px; padding: 6px 12px; margin-bottom: -1px; border-bottom: 2px solid transparent; color: var(--hx-muted); font-size: 14px; font-weight: 600; white-space: nowrap; text-decoration: none; }
.aq-place-tabs a:hover { color: var(--hx-fg); text-decoration: none; }
.aq-place-tabs a[aria-selected=true] { color: var(--hx-fg); border-bottom-color: var(--accent); }
.aq-workspace-title > .aq-place-tabs { flex: 1 0 100%; margin: 4px 0 -16px; border-bottom: 0; }
.aq-explore-head + .aq-place-tabs { margin-top: 4px; }
