/* Air Market - v6 studio (W7, v6.1).  Paired JS: assets/js/v6/studio.js.
   Every rule scoped under :root[data-v6="on"] - see store-v6-core.css for the
   layer-flag contract. Tokens only, cursors via var(--cur-*), no hardcoded hex,
   no U+2014.

   The studio is DESKTOP-ONLY in v6 (§14): it is a two-column editing surface,
   not a reading one, so it lays out for width and says so honestly on a narrow
   viewport rather than degrading into unusable forms. Teal stays reserved for
   verified; nothing here borrows it for emphasis. */

:root[data-v6="on"] .v6-studio {
  max-width: 64rem;
  margin: 0 auto;
  padding-bottom: var(--space-64);
}

/* --------------------------------------------------------------- head --- */

:root[data-v6="on"] .v6-st-head { margin: 0 0 var(--space-32); }
:root[data-v6="on"] .v6-st-eyebrow {
  font-family: var(--font-main);
  font-size: var(--text-caption-size, 0.75rem);
  font-weight: 650;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-text-tertiary);
  margin: 0 0 var(--space-8);
}
:root[data-v6="on"] .v6-st-head h1 {
  margin: 0 0 var(--space-8);
  font-family: var(--font-main);
  font-size: var(--text-h2-size, 1.75rem);
  line-height: var(--text-h2-line, 1.2);
  font-weight: 700;
  color: var(--color-text-primary);
}
:root[data-v6="on"] .v6-st-sub {
  margin: 0;
  font-size: var(--text-body-l-size, 1.0625rem);
  line-height: var(--text-body-l-line, 1.55);
  color: var(--color-text-secondary);
}
:root[data-v6="on"] .v6-st-back {
  display: inline-flex;
  align-items: center;
  gap: var(--space-4);
  margin-bottom: var(--space-16);
  font-size: var(--text-body-s-size, 0.875rem);
  color: var(--color-text-secondary);
  cursor: var(--cur-pointer, pointer);
}
:root[data-v6="on"] .v6-st-back:hover { color: var(--color-text-primary); }

/* -------------------------------------------------------------- blocks --- */

:root[data-v6="on"] .v6-st-block {
  margin: 0 0 var(--space-32);
  padding: var(--space-24);
  background: var(--color-surface-default);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-lg);
}
:root[data-v6="on"] .v6-st-block-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-16);
  margin: 0 0 var(--space-16);
}
:root[data-v6="on"] .v6-st-block-head h2 {
  margin: 0;
  font-family: var(--font-main);
  font-size: var(--text-h4-size, 1.25rem);
  font-weight: 700;
  color: var(--color-text-primary);
}
:root[data-v6="on"] .v6-st-window {
  font-size: var(--text-body-s-size, 0.875rem);
  color: var(--color-text-tertiary);
}
:root[data-v6="on"] .v6-st-empty {
  margin: 0;
  color: var(--color-text-tertiary);
  font-size: var(--text-body-m-size, 0.9375rem);
}

/* -------------------------------------------------------- listing rows --- */

:root[data-v6="on"] .v6-st-group { margin-bottom: var(--space-20); }
:root[data-v6="on"] .v6-st-group:last-child { margin-bottom: 0; }
:root[data-v6="on"] .v6-st-group-label {
  display: flex;
  align-items: center;
  gap: var(--space-8);
  margin: 0 0 var(--space-8);
  font-size: var(--text-body-s-size, 0.875rem);
  font-weight: 650;
  color: var(--color-text-secondary);
}
:root[data-v6="on"] .v6-st-dot {
  width: 0.5rem; height: 0.5rem; border-radius: var(--radius-full);
  background: var(--color-neutral-400);
  display: inline-block; flex: none;
}
:root[data-v6="on"] .v6-st-dot--published { background: var(--color-status-success); }
:root[data-v6="on"] .v6-st-dot--review    { background: var(--color-status-warning); }
:root[data-v6="on"] .v6-st-dot--changes   { background: var(--color-status-critical); }
:root[data-v6="on"] .v6-st-dot--draft     { background: var(--color-neutral-400); }
:root[data-v6="on"] .v6-st-dot--unlisted  { background: var(--color-neutral-500); }
:root[data-v6="on"] .v6-st-dot--removed   { background: var(--color-neutral-300); }

:root[data-v6="on"] .v6-st-rows { list-style: none; margin: 0; padding: 0; }
:root[data-v6="on"] .v6-st-row {
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: var(--space-16);
  padding: var(--space-12) 0;
  border-top: 1px solid var(--color-border-subtle);
}
:root[data-v6="on"] .v6-st-row:first-child { border-top: none; }
:root[data-v6="on"] .v6-st-row-name {
  font-weight: 600;
  color: var(--color-text-primary);
  cursor: var(--cur-pointer, pointer);
}
:root[data-v6="on"] .v6-st-row-name:hover { color: var(--color-text-link, var(--color-brand-600)); }
:root[data-v6="on"] .v6-st-row-meta {
  font-size: var(--text-body-s-size, 0.875rem);
  color: var(--color-text-tertiary);
  text-align: right;
}

/* ---------------------------------------------------------------- links --- */

:root[data-v6="on"] .v6-st-link {
  display: grid;
  grid-template-columns: 12rem 1fr auto;
  align-items: center;
  gap: var(--space-12);
  padding: var(--space-8) 0;
}
:root[data-v6="on"] .v6-st-link-label {
  font-size: var(--text-body-s-size, 0.875rem);
  color: var(--color-text-secondary);
}
:root[data-v6="on"] .v6-st-link-url,
:root[data-v6="on"] .v6-st-demand code,
:root[data-v6="on"] .v6-unfurl-url {
  font-family: var(--font-mono);
  font-size: var(--text-body-s-size, 0.8125rem);
  color: var(--color-text-secondary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* --------------------------------------------------------------- funnel --- */

:root[data-v6="on"] .v6-st-funnel-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-16);
  padding: var(--space-8) 0;
  border-top: 1px solid var(--color-border-subtle);
}
:root[data-v6="on"] .v6-st-funnel-row:first-of-type { border-top: none; }
:root[data-v6="on"] .v6-st-funnel-label { color: var(--color-text-secondary); }
:root[data-v6="on"] .v6-st-funnel-val {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  color: var(--color-text-primary);
}
:root[data-v6="on"] .v6-st-funnel-row.is-lead .v6-st-funnel-label { color: var(--color-text-primary); font-weight: 650; }
:root[data-v6="on"] .v6-st-funnel-row.is-lead .v6-st-funnel-val { font-size: var(--text-h4-size, 1.25rem); }
:root[data-v6="on"] .v6-st-funnel-note,
:root[data-v6="on"] .v6-st-demand-note {
  margin: var(--space-12) 0 0;
  font-size: var(--text-body-s-size, 0.8125rem);
  color: var(--color-text-tertiary);
  line-height: 1.5;
}

/* --------------------------------------------------------------- demand --- */

:root[data-v6="on"] .v6-st-demand-list { list-style: none; margin: 0; padding: 0; }
:root[data-v6="on"] .v6-st-demand-list li {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: var(--space-12);
  padding: var(--space-8) 0;
  border-top: 1px solid var(--color-border-subtle);
}
:root[data-v6="on"] .v6-st-demand-list li:first-child { border-top: none; }
:root[data-v6="on"] .v6-st-demand-rank {
  font-variant-numeric: tabular-nums;
  color: var(--color-text-tertiary);
  font-weight: 700;
  width: 1.25rem;
}
:root[data-v6="on"] .v6-st-demand-text { color: var(--color-text-primary); }
:root[data-v6="on"] .v6-st-demand-count {
  font-size: var(--text-body-s-size, 0.875rem);
  color: var(--color-text-secondary);
  font-variant-numeric: tabular-nums;
}
:root[data-v6="on"] .v6-st-sample {
  display: inline-block;
  font-size: var(--text-caption-size, 0.6875rem);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-text-tertiary);
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-xs);
  padding: 0 var(--space-4);
  margin-left: var(--space-4);
}
:root[data-v6="on"] .v6-st-demand-more {
  margin-top: var(--space-12);
  background: none; border: none; padding: 0;
  color: var(--color-text-link, var(--color-brand-600));
  font: inherit; cursor: var(--cur-pointer, pointer);
}

/* ---------------------------------------------------------- desktop-only --- */

:root[data-v6="on"] .v6-st-narrow {
  max-width: 30rem;
  margin: var(--space-48) auto;
  text-align: center;
  padding: var(--space-32);
}
:root[data-v6="on"] .v6-st-narrow h1 {
  font-family: var(--font-main);
  font-size: var(--text-h3-size, 1.5rem);
  font-weight: 700;
  margin: 0 0 var(--space-12);
  color: var(--color-text-primary);
}
:root[data-v6="on"] .v6-st-narrow p {
  color: var(--color-text-secondary);
  line-height: 1.55;
  margin: 0 0 var(--space-24);
}

/* ================================================================ WIZARD == */

:root[data-v6="on"] .v6-wizard { max-width: 42rem; }
:root[data-v6="on"] .v6-wiz-steps {
  list-style: none; margin: var(--space-16) 0 0; padding: 0;
  display: flex; flex-wrap: wrap; gap: var(--space-16);
}
:root[data-v6="on"] .v6-wiz-steps li {
  display: flex; align-items: center; gap: var(--space-8);
  font-size: var(--text-body-s-size, 0.875rem);
  color: var(--color-text-tertiary);
}
:root[data-v6="on"] .v6-wiz-num {
  display: inline-flex; align-items: center; justify-content: center;
  width: 1.5rem; height: 1.5rem; border-radius: var(--radius-full);
  border: 1px solid var(--color-border-default);
  font-size: var(--text-body-s-size, 0.8125rem);
  font-weight: 650;
}
:root[data-v6="on"] .v6-wiz-steps li.is-current { color: var(--color-text-primary); font-weight: 650; }
:root[data-v6="on"] .v6-wiz-steps li.is-current .v6-wiz-num {
  border-color: var(--color-text-primary);
  background: var(--color-text-primary);
  color: var(--color-text-inverse);
}
:root[data-v6="on"] .v6-wiz-steps li.is-done .v6-wiz-num {
  border-color: var(--color-status-success-border, var(--color-success-500));
  color: var(--color-status-success-fg-strong, var(--color-success-700));
}

:root[data-v6="on"] .v6-wiz-step h2 {
  font-family: var(--font-main);
  font-size: var(--text-h4-size, 1.25rem);
  font-weight: 700;
  margin: 0 0 var(--space-8);
  color: var(--color-text-primary);
}
:root[data-v6="on"] .v6-wiz-lead {
  margin: 0 0 var(--space-24);
  color: var(--color-text-secondary);
  line-height: 1.55;
}
:root[data-v6="on"] .v6-wiz-input,
:root[data-v6="on"] .v6-wiz-task {
  width: 100%;
  padding: var(--space-12);
  font: inherit;
  color: var(--color-text-primary);
  background: var(--color-surface-default);
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-md);
}
:root[data-v6="on"] .v6-wiz-input:focus,
:root[data-v6="on"] .v6-wiz-task:focus {
  outline: 2px solid var(--color-border-focus);
  outline-offset: 1px;
}
:root[data-v6="on"] .v6-wiz-tasks { display: grid; gap: var(--space-8); }
:root[data-v6="on"] .v6-wiz-actions {
  display: flex; gap: var(--space-12); margin-top: var(--space-24);
}
:root[data-v6="on"] .v6-wiz-detected {
  padding: var(--space-16);
  background: var(--color-surface-sunken);
  border-radius: var(--radius-md);
  margin-bottom: var(--space-8);
}
:root[data-v6="on"] .v6-wiz-detected p { margin: 0 0 var(--space-8); color: var(--color-text-primary); }
:root[data-v6="on"] .v6-wiz-url,
:root[data-v6="on"] .v6-wiz-detected code {
  font-family: var(--font-mono);
  font-size: var(--text-body-s-size, 0.8125rem);
  color: var(--color-text-secondary);
}
:root[data-v6="on"] .v6-wiz-choices { display: grid; gap: var(--space-8); }
:root[data-v6="on"] .v6-wiz-choice {
  text-align: left;
  padding: var(--space-12) var(--space-16);
  background: var(--color-surface-default);
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-md);
  font: inherit; color: var(--color-text-primary);
  cursor: var(--cur-pointer, pointer);
}
:root[data-v6="on"] .v6-wiz-choice.is-on {
  border-color: var(--color-text-primary);
  background: var(--color-surface-sunken);
}
:root[data-v6="on"] .v6-wiz-blockers,
:root[data-v6="on"] .v6-wiz-ok {
  display: flex; align-items: flex-start; gap: var(--space-8);
  margin: var(--space-16) 0 0;
  font-size: var(--text-body-s-size, 0.875rem);
}
:root[data-v6="on"] .v6-wiz-blockers { color: var(--color-status-warning-fg-strong, var(--color-warning-700)); }
:root[data-v6="on"] .v6-wiz-ok { color: var(--color-status-success-fg-strong, var(--color-success-700)); }
:root[data-v6="on"] .v6-block {
  padding: var(--space-16);
  background: var(--color-status-warning-bg, var(--color-warning-50));
  border: 1px solid var(--color-status-warning-border, var(--color-warning-200));
  border-radius: var(--radius-md);
}
:root[data-v6="on"] .v6-block ul { margin: var(--space-4) 0 0; padding-left: var(--space-20); }

/* -------------------------------------------------------------- perms --- */

:root[data-v6="on"] .v6-perms { border: none; margin: 0; padding: 0; display: grid; gap: var(--space-12); }
:root[data-v6="on"] .v6-perms-legend {
  padding: 0; margin: 0 0 var(--space-4);
  font-weight: 650; color: var(--color-text-secondary);
  font-size: var(--text-body-s-size, 0.875rem);
}
:root[data-v6="on"] .v6-perm {
  display: flex; align-items: center; gap: var(--space-8);
  color: var(--color-text-primary);
  cursor: var(--cur-pointer, pointer);
}

/* ------------------------------------------------------------ previews --- */

:root[data-v6="on"] .v6-wiz-previews {
  display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-24);
}
:root[data-v6="on"] .v6-preview-cap,
:root[data-v6="on"] .v6-ed-prev-cap {
  font-size: var(--text-caption-size, 0.75rem);
  font-weight: 650; letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--color-text-tertiary);
  margin: 0 0 var(--space-12);
}
:root[data-v6="on"] .v6-preview-card--draft {
  padding: var(--space-16);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md);
  background: var(--color-surface-default);
}
:root[data-v6="on"] .v6-preview-art {
  height: 6rem; border-radius: var(--radius-md); overflow: hidden; margin-bottom: var(--space-12);
}
:root[data-v6="on"] .v6-preview-art svg { width: 100%; height: 100%; }
:root[data-v6="on"] .v6-preview-name { font-weight: 700; color: var(--color-text-primary); }
:root[data-v6="on"] .v6-preview-tag { color: var(--color-text-secondary); font-size: var(--text-body-s-size, 0.875rem); }

/* --------------------------------------------------------- DM unfurl --- */

:root[data-v6="on"] .v6-unfurl {
  display: flex; gap: var(--space-12);
  padding: var(--space-12);
  border: 1px solid var(--color-border-default);
  border-left: 3px solid var(--color-border-strong);
  border-radius: var(--radius-md);
  background: var(--color-surface-default);
  max-width: 24rem;
}
:root[data-v6="on"] .v6-unfurl--empty { color: var(--color-text-tertiary); }
:root[data-v6="on"] .v6-unfurl-art {
  width: 3.5rem; height: 3.5rem; flex: none;
  border-radius: var(--radius-sm); overflow: hidden;
}
:root[data-v6="on"] .v6-unfurl-art svg { width: 100%; height: 100%; }
:root[data-v6="on"] .v6-unfurl-site {
  font-size: var(--text-caption-size, 0.6875rem);
  text-transform: uppercase; letter-spacing: 0.05em;
  color: var(--color-text-tertiary);
}
:root[data-v6="on"] .v6-unfurl-name { font-weight: 700; color: var(--color-text-primary); }
:root[data-v6="on"] .v6-unfurl-line {
  font-size: var(--text-body-s-size, 0.875rem);
  color: var(--color-text-secondary);
  margin: var(--space-4) 0;
}
:root[data-v6="on"] .v6-unfurl-body { min-width: 0; }

/* ---------------------------------------------------- report + mismatch --- */

:root[data-v6="on"] .v6-report {
  padding: var(--space-16);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md);
  margin-bottom: var(--space-16);
}
:root[data-v6="on"] .v6-report-head {
  display: flex; align-items: center; gap: var(--space-8);
  color: var(--color-text-primary); font-weight: 650;
}
:root[data-v6="on"] .v6-report-line { color: var(--color-text-secondary); margin: var(--space-8) 0 var(--space-12); }
:root[data-v6="on"] .v6-report-perms { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-4); }
:root[data-v6="on"] .v6-report-perms li {
  display: flex; align-items: center; gap: var(--space-8);
  font-size: var(--text-body-s-size, 0.875rem);
  color: var(--color-text-secondary);
}

:root[data-v6="on"] .v6-mismatch {
  padding: var(--space-16);
  background: var(--color-status-warning-bg, var(--color-warning-50));
  border: 1px solid var(--color-status-warning-border, var(--color-warning-200));
  border-radius: var(--radius-md);
}
:root[data-v6="on"] .v6-mismatch-cols { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-24); }
:root[data-v6="on"] .v6-mismatch-col h4 {
  margin: 0 0 var(--space-8);
  font-size: var(--text-body-s-size, 0.875rem);
  color: var(--color-text-secondary);
}
:root[data-v6="on"] .v6-mismatch-col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-4); }
:root[data-v6="on"] .v6-mismatch-col li {
  display: flex; align-items: center; gap: var(--space-8);
  color: var(--color-text-primary);
  font-size: var(--text-body-s-size, 0.875rem);
}
:root[data-v6="on"] .v6-mismatch-col li.is-bad { color: var(--color-status-critical-fg-strong, var(--color-critical-700)); }
:root[data-v6="on"] .v6-mismatch-off { color: var(--color-text-tertiary); }
:root[data-v6="on"] .v6-mismatch-note {
  display: flex; align-items: flex-start; gap: var(--space-8);
  margin: var(--space-16) 0 0;
  color: var(--color-status-warning-fg-strong, var(--color-warning-700));
  font-size: var(--text-body-s-size, 0.875rem);
  line-height: 1.5;
}

/* ================================================================ EDITOR == */

:root[data-v6="on"] .v6-ed {
  display: grid;
  grid-template-columns: 1fr 20rem;
  gap: var(--space-32);
  align-items: start;
}
:root[data-v6="on"] .v6-ed-fields { display: grid; gap: var(--space-16); min-width: 0; }
:root[data-v6="on"] .v6-ed-sec {
  margin: var(--space-16) 0 0;
  font-size: var(--text-body-s-size, 0.875rem);
  font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase;
  color: var(--color-text-tertiary);
}
:root[data-v6="on"] .v6-ed-title-row {
  display: flex; align-items: center; gap: var(--space-8);
}
:root[data-v6="on"] .v6-ed-state { font-size: var(--text-body-s-size, 0.875rem); color: var(--color-text-secondary); }
:root[data-v6="on"] .v6-ed-unclaimed {
  display: flex; align-items: center; gap: var(--space-8);
  margin: var(--space-12) 0 0;
  color: var(--color-text-secondary);
  font-size: var(--text-body-s-size, 0.875rem);
}
:root[data-v6="on"] .v6-ed-preview {
  position: sticky; top: var(--space-16);
}
:root[data-v6="on"] .v6-ed-prev-sticky {
  padding: var(--space-16);
  background: var(--color-surface-sunken);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-lg);
}
:root[data-v6="on"] .v6-ed-prev-tasks { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-8); }
:root[data-v6="on"] .v6-ed-prev-tasks li,
:root[data-v6="on"] .v6-ed-prev-perms li {
  display: flex; align-items: center; gap: var(--space-8);
  color: var(--color-text-primary);
}
:root[data-v6="on"] .v6-ed-prev-perms { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-4); }
:root[data-v6="on"] .v6-ed-prev-repo { font-family: var(--font-mono); font-size: var(--text-body-s-size, 0.8125rem); color: var(--color-text-secondary); word-break: break-all; }
:root[data-v6="on"] .v6-ed-prev-empty { color: var(--color-text-tertiary); }
:root[data-v6="on"] .v6-ed-prev-foot {
  display: flex; align-items: center; gap: var(--space-4);
  margin-top: var(--space-16);
  font-size: var(--text-caption-size, 0.75rem);
  color: var(--color-text-tertiary);
}
:root[data-v6="on"] .v6-ed-review { margin-top: var(--space-24); }

/* Reviews on the editor page: what people wrote, and the one thing a creator may
   do about it. The reply sits INSIDE the review it answers rather than in a list
   of its own, because a creator's reply presented as a separate entry reads as a
   second voice on the listing rather than as an answer. */
:root[data-v6="on"] .v6-ed-rev-lede,
:root[data-v6="on"] .v6-ed-rev-none {
  margin: var(--space-8) 0 var(--space-16);
  font-size: var(--text-body-s-size, 0.875rem);
  color: var(--color-text-secondary);
  max-width: 60ch;
}
:root[data-v6="on"] .v6-ed-revs { display: flex; flex-direction: column; gap: var(--space-12); }
:root[data-v6="on"] .v6-ed-rev {
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-md);
  background: var(--color-surface-default);
  padding: var(--space-16);
}
:root[data-v6="on"] .v6-ed-rev-head {
  display: flex; align-items: baseline; gap: var(--space-8); flex-wrap: wrap;
  font-size: var(--text-body-s-size, 0.875rem);
}
:root[data-v6="on"] .v6-ed-rev-stars { color: var(--color-warning-700); letter-spacing: 1px; }
:root[data-v6="on"] .v6-ed-rev-by { color: var(--color-text-tertiary); margin-left: auto; }
:root[data-v6="on"] .v6-ed-rev-body {
  margin: var(--space-8) 0 0;
  font-size: var(--text-body-s-size, 0.875rem);
  line-height: 1.5;
}
:root[data-v6="on"] .v6-ed-rev-reply {
  margin-top: var(--space-12);
  padding-top: var(--space-12);
  border-top: 1px solid var(--color-border-subtle);
}
:root[data-v6="on"] .v6-ed-rev-reply strong {
  display: block;
  font-size: var(--text-caption-size, 0.75rem);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--color-text-tertiary);
}
:root[data-v6="on"] .v6-ed-rev-reply p {
  margin: var(--space-4) 0 0;
  font-size: var(--text-body-s-size, 0.875rem);
  line-height: 1.5;
}
/* The form is UI.field plus UI.button, so the only rules it needs are the ones
   about where it sits. The label, the input and the help line are the
   component's - they used to be hand-rolled copies of it here. */
:root[data-v6="on"] .v6-ed-rev-form {
  display: flex; flex-direction: column; gap: var(--space-8);
  margin-top: var(--space-12);
  padding-top: var(--space-12);
  border-top: 1px solid var(--color-border-subtle);
}
:root[data-v6="on"] .v6-ed-rev-form .btn { align-self: flex-start; }
:root[data-v6="on"] .v6-ed-foot {
  display: flex; align-items: center; gap: var(--space-12); flex-wrap: wrap;
  margin-top: var(--space-32);
  padding-top: var(--space-16);
  border-top: 1px solid var(--color-border-subtle);
}
:root[data-v6="on"] .v6-ed-note {
  display: flex; align-items: center; gap: var(--space-8);
  margin: 0; font-size: var(--text-body-s-size, 0.875rem);
}
:root[data-v6="on"] .v6-ed-note--warn { color: var(--color-status-warning-fg-strong, var(--color-warning-700)); }

/* ========================================================= COLLECTION CB == */

:root[data-v6="on"] .v6-cb-items { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-8); }
:root[data-v6="on"] .v6-cb-item {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center; gap: var(--space-12);
  padding: var(--space-12);
  background: var(--color-surface-default);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md);
}
:root[data-v6="on"] .v6-cb-grip { color: var(--color-text-tertiary); cursor: var(--cur-grab, grab); }
:root[data-v6="on"] .v6-cb-item-name { font-weight: 600; color: var(--color-text-primary); margin-bottom: var(--space-4); }
:root[data-v6="on"] .v6-cb-note {
  width: 100%; padding: var(--space-8);
  font: inherit; color: var(--color-text-primary);
  background: var(--color-surface-sunken);
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-sm);
}
:root[data-v6="on"] .v6-cb-remove {
  background: none; border: none; padding: var(--space-4);
  color: var(--color-text-tertiary); cursor: var(--cur-pointer, pointer);
}
:root[data-v6="on"] .v6-cb-remove:hover { color: var(--color-status-critical); }
:root[data-v6="on"] .v6-cb-picker { display: flex; gap: var(--space-8); margin-top: var(--space-12); }
:root[data-v6="on"] .v6-cb-select {
  flex: 1; padding: var(--space-8);
  font: inherit; color: var(--color-text-primary);
  background: var(--color-surface-default);
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-md);
}
:root[data-v6="on"] .v6-cb-ledger {
  margin-top: var(--space-16);
  padding-top: var(--space-12);
  border-top: 1px solid var(--color-border-subtle);
  font-size: var(--text-body-s-size, 0.875rem);
  color: var(--color-text-secondary);
}
:root[data-v6="on"] .v6-cb-ledger b { color: var(--color-text-primary); }

/* ================================================================ CLAIM === */

:root[data-v6="on"] .v6-claim-listing { margin: var(--space-16) 0 var(--space-24); }
:root[data-v6="on"] .v6-claim-methods { display: grid; gap: var(--space-12); }
:root[data-v6="on"] .v6-claim-method {
  display: flex; align-items: flex-start; gap: var(--space-12);
  text-align: left;
  padding: var(--space-16);
  background: var(--color-surface-default);
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-md);
  color: var(--color-text-primary);
  cursor: var(--cur-pointer, pointer);
}
:root[data-v6="on"] .v6-claim-method.is-on {
  border-color: var(--color-text-primary);
  background: var(--color-surface-sunken);
}
:root[data-v6="on"] .v6-claim-method b { display: block; }
:root[data-v6="on"] .v6-claim-method span {
  font-size: var(--text-body-s-size, 0.875rem);
  color: var(--color-text-secondary);
}

/* ------------------------------------------------------------ narrow --- */
/* The studio is desktop-only, but the surrounding shell may still hit tablet
   widths; keep the two-column editor from overflowing before the desktop-only
   notice takes over below 900px (handled in JS at render time). */
@media (max-width: 60rem) {
  :root[data-v6="on"] .v6-ed { grid-template-columns: 1fr; }
  :root[data-v6="on"] .v6-ed-preview { position: static; }
  :root[data-v6="on"] .v6-wiz-previews,
  :root[data-v6="on"] .v6-mismatch-cols { grid-template-columns: 1fr; }
}

/* =========================================================================
   W-K - the real write API. Everything below is a STATE the studio did not
   have while it ran on one localStorage key: where a draft lives, a request
   that failed and the id that finds its log line, the two save paths made
   visibly different, and the real lifecycle's five extra states.
   Tokens only, no hardcoded hex, teal still reserved for verified.
   ========================================================================= */

/* --------------------------------------------- where these drafts live --- */

:root[data-v6="on"] .v6-st-scope {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: start;
  gap: var(--space-12);
  margin: 0 0 var(--space-24);
  padding: var(--space-16);
  background: var(--color-surface-sunken);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md);
}
:root[data-v6="on"] .v6-st-scope--ask {
  background: var(--color-status-warning-bg, var(--color-warning-50));
  border-color: var(--color-status-warning-border, var(--color-warning-200));
  grid-template-columns: auto 1fr;
}
:root[data-v6="on"] .v6-st-scope-icon { color: var(--color-text-tertiary); display: inline-flex; }
:root[data-v6="on"] .v6-st-scope-text {
  margin: 0;
  font-size: var(--text-body-m-size, 0.9375rem);
  line-height: var(--text-body-m-line, 1.5);
  color: var(--color-text-secondary);
}
:root[data-v6="on"] .v6-st-scope-acts {
  grid-column: 2;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-8);
  margin-top: var(--space-4);
}

/* ------------------------------------- a failure, and its request id --- */

:root[data-v6="on"] .v6-st-err {
  display: flex;
  align-items: flex-start;
  gap: var(--space-8);
  margin: var(--space-12) 0 0;
  padding: var(--space-12);
  background: var(--color-status-critical-bg, var(--color-critical-50));
  border: 1px solid var(--color-status-critical-border, var(--color-critical-200));
  border-radius: var(--radius-md);
  color: var(--color-status-critical-fg-strong, var(--color-critical-700));
}
:root[data-v6="on"] .v6-st-err-msg {
  margin: 0;
  font-size: var(--text-body-m-size, 0.9375rem);
  line-height: var(--text-body-m-line, 1.5);
}
:root[data-v6="on"] .v6-st-err-id {
  margin: var(--space-4) 0 0;
  font-size: var(--text-body-s-size, 0.875rem);
  color: var(--color-text-secondary);
}
:root[data-v6="on"] .v6-st-err-id code {
  font-family: var(--font-mono, monospace);
  color: var(--color-text-primary);
}
:root[data-v6="on"] .v6-ed-fielderr {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  margin: calc(var(--space-8) * -1) 0 var(--space-16);
  font-size: var(--text-body-s-size, 0.875rem);
  color: var(--color-status-critical-fg-strong, var(--color-critical-700));
}

/* -------------------------------------------------- links and insights --- */

:root[data-v6="on"] .v6-st-link-note {
  font-weight: 400;
  color: var(--color-text-tertiary);
}
:root[data-v6="on"] .v6-st-link-new {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-8);
  margin-top: var(--space-16);
  padding-top: var(--space-16);
  border-top: 1px solid var(--color-border-subtle);
}
:root[data-v6="on"] .v6-st-link-new-label {
  font-size: var(--text-body-s-size, 0.875rem);
  color: var(--color-text-secondary);
}
:root[data-v6="on"] .v6-st-link-label-input {
  flex: 1 1 14rem;
  min-width: 0;
  padding: var(--space-8) var(--space-12);
  background: var(--color-surface-default);
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-sm);
  color: var(--color-text-primary);
  font-family: var(--font-main);
  font-size: var(--text-body-s-size, 0.875rem);
}
/* A figure we do not have. Never a zero standing in for one. */
:root[data-v6="on"] .v6-st-funnel-none {
  font-size: var(--text-body-s-size, 0.875rem);
  font-weight: 400;
  color: var(--color-text-tertiary);
}

/* ------------------------------------------------ the two save paths --- */

:root[data-v6="on"] .v6-ed-secnote {
  margin: calc(var(--space-8) * -1) 0 var(--space-16);
  font-size: var(--text-body-s-size, 0.875rem);
  line-height: var(--text-body-s-line, 1.45);
  color: var(--color-text-secondary);
}
:root[data-v6="on"] .v6-ed-savebar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-12);
  margin: 0 0 var(--space-24);
  padding: var(--space-12) var(--space-16);
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border-subtle);
  background: var(--color-surface-sunken);
}
/* Cosmetic: quiet, and it says so. */
:root[data-v6="on"] .v6-ed-savebar--copy { border-style: solid; }
/* Structural: a dashed edge and the warning tone, because pressing it mints a
   version and starts a check. The two buttons must not look interchangeable. */
:root[data-v6="on"] .v6-ed-savebar--mint {
  border-style: dashed;
  border-color: var(--color-status-warning-border, var(--color-warning-200));
  background: var(--color-status-warning-bg, var(--color-warning-50));
}
:root[data-v6="on"] .v6-ed-savenote {
  font-size: var(--text-body-s-size, 0.875rem);
  color: var(--color-text-secondary);
}
:root[data-v6="on"] .v6-ed-mint {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  margin: var(--space-8) 0 0;
  font-size: var(--text-body-s-size, 0.875rem);
  color: var(--color-text-secondary);
}

/* ------------------------------------------- the real lifecycle states --- */

:root[data-v6="on"] .v6-st-dot--submitted         { background: var(--color-status-warning); }
:root[data-v6="on"] .v6-st-dot--scanning          { background: var(--color-status-warning); }
:root[data-v6="on"] .v6-st-dot--in_review         { background: var(--color-status-warning); }
:root[data-v6="on"] .v6-st-dot--changes_requested { background: var(--color-status-critical); }
:root[data-v6="on"] .v6-st-dot--approved          { background: var(--color-status-success); }

:root[data-v6="on"] .v6-ed-state-note {
  display: flex;
  align-items: flex-start;
  gap: var(--space-8);
  margin: var(--space-12) 0 0;
  padding: var(--space-12) var(--space-16);
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border-subtle);
  background: var(--color-surface-sunken);
  color: var(--color-text-secondary);
}
:root[data-v6="on"] .v6-ed-state-note--changes {
  border-color: var(--color-status-warning-border, var(--color-warning-200));
  background: var(--color-status-warning-bg, var(--color-warning-50));
}
:root[data-v6="on"] .v6-ed-state-note p { margin: 0; font-size: var(--text-body-m-size, 0.9375rem); }
:root[data-v6="on"] .v6-ed-reason {
  margin: var(--space-8) 0 0;
  padding-left: var(--space-12);
  border-left: 2px solid var(--color-border-default);
  color: var(--color-text-primary);
  font-size: var(--text-body-m-size, 0.9375rem);
  line-height: var(--text-body-m-line, 1.5);
}
:root[data-v6="on"] .v6-ed-reason-missing {
  margin: var(--space-8) 0 0;
  font-size: var(--text-body-s-size, 0.875rem);
  color: var(--color-text-tertiary);
}

/* ------------------------------------- the check, exactly as measured --- */

:root[data-v6="on"] .v6-report--waiting { border-style: dashed; }
:root[data-v6="on"] .v6-report--fail {
  border-color: var(--color-status-critical-border, var(--color-critical-200));
}
:root[data-v6="on"] .v6-report-wait {
  margin: var(--space-8) 0 0;
  font-size: var(--text-body-s-size, 0.875rem);
  color: var(--color-text-tertiary);
}
:root[data-v6="on"] .v6-report-declared {
  margin-top: var(--space-16);
  padding-top: var(--space-16);
  border-top: 1px solid var(--color-border-subtle);
}
:root[data-v6="on"] .v6-report-declared h4 {
  margin: 0 0 var(--space-8);
  font-size: var(--text-body-s-size, 0.875rem);
  font-weight: 650;
  color: var(--color-text-secondary);
}
:root[data-v6="on"] .v6-report-note {
  margin: var(--space-8) 0 0;
  font-size: var(--text-body-s-size, 0.875rem);
  color: var(--color-text-tertiary);
}
