/* The setup preview uses the app's Workspace surface and controls. Its one visual
   anchor is a small, truthful board preview; the rest remains a working form. */
dialog.workspace-setup { width: min(1060px, calc(100vw - 48px)); height: min(780px, calc(100dvh - 64px)); max-height: none; margin: 32px auto; background: var(--ws-surface); }
.workspace-setup[open] { display: flex; flex-direction: column; }
.workspace-setup *, .workspace-setup *::before, .workspace-setup *::after { box-sizing: border-box; }
.workspace-setup svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.workspace-setup button, .workspace-setup input, .workspace-setup textarea { font: inherit; }
.workspace-setup h2, .workspace-setup h3, .workspace-setup h4 { font-weight: 550; letter-spacing: -.02em; }
.workspace-setup .setup-head { display: flex; align-items: center; justify-content: space-between; padding: 25px 28px 23px; gap: 16px; }
.workspace-setup .ws-title { font-size: 23px; line-height: 1.35; white-space: normal; }
.workspace-setup .ws-close { flex: 0 0 auto; align-self: center; }
.setup-layout { display: grid; grid-template-columns: 182px minmax(0, 1fr); gap: 26px; flex: 1 1 auto; min-height: 0; padding: 0 22px 0 28px; }
.setup-rail { display: flex; flex-direction: column; min-width: 0; padding: 10px 20px 20px 0; border-right: 1px solid var(--ws-line); }
.setup-rail ol { display: grid; gap: 24px; margin: 0; padding: 0; list-style: none; }
.setup-rail li { display: flex; align-items: center; gap: 10px; color: var(--ws-soft); font-size: 12px; line-height: 1.4; }
.setup-rail li[aria-current] { color: var(--ws-ink); font-weight: 550; }
.setup-step-mark { display: grid; flex: 0 0 auto; place-items: center; width: 25px; height: 25px; border: 1px solid var(--ws-line); border-radius: 8px; font-size: 11px; }
.setup-step-mark svg { width: 13px; height: 13px; }
.setup-rail li[aria-current] .setup-step-mark { color: var(--ws-accent-ink); border-color: var(--ws-accent); background: var(--ws-accent-soft); }
.setup-rail > p { margin: auto 0 0; padding-top: 24px; color: var(--ws-soft); font-size: 11px; line-height: 1.7; }
.setup-content { min-width: 0; min-height: 0; overflow: auto; padding: 3px 7px 22px 1px; scroll-padding: 18px 0; scrollbar-gutter: stable; }
.setup-content p { line-height: 1.6; }
.workspace-setup .setup-lead { margin: 0 0 23px; color: var(--ws-soft); font-size: 13px; max-width: 65ch; }
.setup-intro p { margin: 0 0 22px; font-size: 14px; max-width: 56ch; }
.setup-path { display: grid; grid-template-columns: 42px minmax(0, 1fr) 20px; align-items: center; gap: 15px; width: 100%; padding: 19px 18px; border: 1px solid var(--ws-line-strong); border-radius: 13px; background: var(--ws-raised); color: var(--ws-ink); text-align: left; cursor: pointer; }
.setup-path:hover { border-color: var(--ws-accent); background: var(--ws-accent-soft); }
.setup-path-icon { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid var(--ws-line); border-radius: 11px; color: var(--ws-accent-ink); background: var(--ws-field); }
.setup-path strong { display: block; font-size: 17px; font-weight: 550; line-height: 1.4; }
.setup-path small { display: block; margin-top: 5px; color: var(--ws-soft); font-size: 12px; line-height: 1.5; }
.setup-path-arrow { font-size: 26px; color: var(--ws-soft); }
.setup-section-heading { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px; margin: 30px 0 13px; }
.setup-section-heading h3 { margin: 0; font-size: 14px; }
.setup-section-heading > span { color: var(--ws-soft); font-size: 11px; }
.setup-template-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.setup-template { display: flex; flex-direction: column; align-items: stretch; min-width: 0; padding: 7px 7px 14px; border: 1px solid var(--ws-line); border-radius: 13px; background: var(--ws-raised); color: var(--ws-ink); text-align: left; cursor: pointer; }
.setup-template:hover { border-color: var(--ws-accent); background: var(--ws-accent-soft); }
.setup-template-art { display: flex; align-items: center; justify-content: space-between; min-height: 86px; margin-bottom: 15px; padding: 15px; border: 1px solid var(--ws-line); border-radius: 8px; color: var(--ws-accent-ink); background: var(--ws-accent-soft); }
.setup-template-art > svg { width: 40px; height: 40px; stroke-width: 1; }
.setup-template-art > span { color: var(--ws-soft); font-size: 11px; text-transform: capitalize; }
.setup-template > strong { margin: 0 8px; font-size: 16px; font-weight: 550; line-height: 1.45; }
.setup-template > small { margin: 7px 8px 17px; color: var(--ws-soft); font-size: 12px; line-height: 1.55; }
.setup-template-credit { margin: auto 8px 0; color: var(--ws-soft); font-size: 10px; }
.setup-purpose { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; border: 0; }
.setup-purpose > legend { margin-bottom: 10px; padding: 0; font-size: 12px; color: var(--ws-ink); }
.setup-purpose-choice { display: grid; grid-template-columns: 24px 1fr; gap: 8px 11px; align-items: center; padding: 16px; border: 1px solid var(--ws-line); border-radius: 12px; background: var(--ws-raised); color: var(--ws-ink); text-align: left; cursor: pointer; }
.setup-purpose-choice > svg { color: var(--ws-soft); }
.setup-purpose-choice > strong { font-size: 15px; font-weight: 550; }
.setup-purpose-choice > small { grid-column: 2; color: var(--ws-soft); font-size: 11px; line-height: 1.55; }
.setup-purpose-choice:hover { border-color: var(--ws-line-strong); background: var(--ws-raised-hover); }
.setup-purpose-choice[aria-pressed=true] { border-color: var(--ws-accent); box-shadow: inset 0 0 0 1px var(--ws-accent); background: var(--ws-accent-soft); }
.workspace-setup .setup-caption { margin: 12px 0 22px; color: var(--ws-soft); font-size: 11px; line-height: 1.7; }
.setup-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 18px; }
.setup-form-grid .setup-field.is-multiline { grid-column: 1 / -1; }
.workspace-setup .setup-field { display: flex; flex-direction: column; gap: 8px; min-width: 0; color: var(--ws-ink); font-size: 12px; font-weight: 500; }
.workspace-setup .setup-field > input, .workspace-setup .setup-field > textarea { display: block; width: 100%; min-width: 0; padding: 11px 12px; border: 1px solid var(--ws-line); border-radius: 9px; background: var(--ws-field); color: var(--ws-ink); font-size: 13px; font-weight: 400; line-height: 1.55; }
.workspace-setup .setup-field > textarea { resize: vertical; min-height: 80px; }
.workspace-setup .setup-field > input::placeholder, .workspace-setup .setup-field > textarea::placeholder { color: var(--ws-soft); opacity: .75; }
.workspace-setup .setup-field > small { color: var(--ws-soft); font-weight: 400; line-height: 1.5; }
.setup-review-grid { display: grid; grid-template-columns: minmax(0, 1fr) 190px; gap: 22px; }
.setup-review-main { min-width: 0; }
.setup-review-main > .setup-field { margin-bottom: 18px; }
.setup-review-main > .setup-lead { margin: 0 0 18px; font-size: 12px; }
.setup-board-preview { overflow: hidden; min-width: 0; padding: 12px; border: 1px solid var(--ws-line-strong); border-radius: 12px; background: var(--ws-field); }
.setup-board-top { display: flex; align-items: center; gap: 8px; margin-bottom: 13px; color: var(--ws-ink); font-size: 12px; }
.setup-board-top > svg { width: 17px; height: 17px; color: var(--ws-accent-ink); flex-shrink: 0; }
.setup-board-top > strong { min-width: 0; overflow-wrap: anywhere; font-weight: 500; }
.setup-board-top > span { margin-left: auto; color: var(--ws-soft); font-size: 9px; }
.setup-board-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; align-items: start; }
.setup-board-card { min-width: 0; padding: 12px; border: 1px solid var(--ws-line); border-radius: 8px; background: var(--ws-raised); }
.setup-board-card > span { display: block; margin-bottom: 8px; color: var(--ws-accent-ink); font-size: 9px; text-transform: capitalize; }
.setup-board-card > strong { display: block; font-size: 12px; font-weight: 500; line-height: 1.45; overflow-wrap: anywhere; }
.setup-board-card > p { margin: 8px 0 0; color: var(--ws-soft); font-size: 10px; line-height: 1.5; }
.setup-board-empty { grid-column: 1 / -1; padding: 30px 16px; color: var(--ws-soft); font-size: 12px; line-height: 1.65; text-align: center; }
.setup-includes { padding-left: 20px; border-left: 1px solid var(--ws-line); min-width: 0; }
.setup-includes > h3 { margin: 0 0 18px; font-size: 13px; }
.setup-includes section { margin-bottom: 20px; }
.setup-includes h4 { margin: 0 0 9px; color: var(--ws-soft); font-size: 10px; }
.setup-includes ul, .setup-requirements ul, .setup-warning ul, .setup-excluded ul { display: grid; gap: 9px; list-style: none; padding: 0; margin: 0; }
.setup-includes li { display: flex; align-items: start; gap: 7px; font-size: 11px; line-height: 1.5; overflow-wrap: anywhere; }
.setup-includes li > svg { width: 12px; height: 12px; flex: 0 0 auto; margin-top: 2px; color: var(--ws-accent-ink); }
.setup-includes li small { display: block; color: var(--ws-soft); font-size: 9px; margin-top: 2px; }
.setup-edition { padding-top: 15px; border-top: 1px solid var(--ws-line); }
.setup-edition p { margin: 0 0 6px; font-size: 11px; }
.setup-edition > small { display: block; color: var(--ws-soft); font-size: 10px; line-height: 1.6; }
.setup-project-names { margin: 18px 0; }
.setup-project-names summary, .setup-excluded summary { cursor: pointer; color: var(--ws-ink); font-size: 12px; }
.setup-project-names .setup-field { margin-top: 15px; }
.setup-requirements { margin-top: 22px; }
.setup-requirements h3, .setup-warning h3, .setup-validation h3, .setup-publication h3 { margin: 0 0 12px; font-size: 13px; }
.setup-requirements li { padding: 12px; border-left: 2px solid var(--ws-attn); background: var(--ws-attn-bg); }
.setup-requirements li strong { display: block; color: var(--ws-ink); font-size: 12px; font-weight: 500; }
.setup-requirements li span { display: block; color: var(--ws-soft); margin-top: 4px; font-size: 11px; line-height: 1.6; }
.workspace-setup .setup-ready-note { margin: 18px 0 0; color: var(--ws-soft); font-size: 11px; }
.setup-warning { margin: 22px 0 0; padding: 14px 16px; border: 1px solid var(--ws-attn-line); border-radius: 10px; background: var(--ws-attn-bg); color: var(--ws-attn); font-size: 12px; line-height: 1.6; }
.setup-inventory { margin: 0 0 24px; padding: 0; border: 0; }
.setup-inventory legend { margin: 0 0 9px; font-size: 13px; font-weight: 500; }
.setup-inventory-item { display: flex; align-items: start; gap: 11px; padding: 13px 0; border-bottom: 1px solid var(--ws-line); cursor: pointer; }
.setup-inventory-item input, .setup-confirm input { width: 16px; height: 16px; accent-color: var(--ws-accent); margin: 1px 0 0; flex: 0 0 auto; }
.setup-inventory-item strong { display: block; color: var(--ws-ink); font-size: 12px; font-weight: 500; }
.setup-inventory-item small { display: block; color: var(--ws-soft); font-size: 11px; line-height: 1.6; margin-top: 4px; }
.setup-confirm { display: flex; align-items: start; gap: 10px; color: var(--ws-soft); font-size: 12px; line-height: 1.6; cursor: pointer; }
.setup-form-grid + .setup-confirm { margin-top: 24px; }
.setup-author-facts { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 12px; margin: 22px 0; }
.setup-author-facts > div { display: flex; flex-direction: column; gap: 6px; }
.setup-author-facts span { color: var(--ws-soft); font-size: 11px; }
.setup-author-facts strong { color: var(--ws-ink); font-size: 13px; font-weight: 500; }
.setup-excluded { margin: 18px 0; }
.setup-excluded ul { margin-top: 12px; color: var(--ws-soft); font-size: 11px; overflow-wrap: anywhere; }
.setup-validation { margin-top: 22px; padding: 18px; border: 1px solid var(--ws-line); border-radius: 10px; }
.setup-validation p { margin: 0 0 10px; font-size: 12px; }
.setup-inline-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 -6px -8px; }
.setup-inline-actions .ws-btn { font-size: 12px; min-height: 32px; }
.setup-publication { margin-top: 25px; padding-top: 20px; border-top: 1px solid var(--ws-line); }
.setup-publication .setup-confirm { margin: 14px 0; }
.setup-publication > .ws-btn { margin-top: 6px; }
.setup-result-lead { display: flex; align-items: start; gap: 17px; margin: 4px 0 24px; }
.setup-result-mark { display: grid; place-items: center; flex: 0 0 auto; width: 44px; height: 44px; border: 1px solid var(--ws-accent); border-radius: 12px; color: var(--ws-accent-ink); background: var(--ws-accent-soft); }
.setup-result-lead h3 { margin: 0 0 6px; font-size: 23px; }
.setup-result-lead p { max-width: 50ch; margin: 0; font-size: 13px; }
.setup-component-results { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.setup-component-results li { display: grid; grid-template-columns: 18px minmax(0,1fr) auto; align-items: start; gap: 12px; padding: 13px 0; border-bottom: 1px solid var(--ws-line); }
.setup-component-results li > span { color: var(--ws-soft); }
.setup-component-results li[data-setup-component-state=ready] > span { color: var(--ws-accent-ink); }
.setup-component-results li > span svg { width: 16px; height: 16px; }
.setup-component-results strong { display: block; font-size: 12px; font-weight: 500; overflow-wrap: anywhere; }
.setup-component-results small { display: block; margin-top: 5px; color: var(--ws-soft); font-size: 11px; line-height: 1.6; }
.setup-component-results em { color: var(--ws-soft); font-size: 10px; font-style: normal; line-height: 1.65; }
.workspace-setup .setup-status { flex: 0 0 auto; margin: 12px 28px; min-height: 17px; color: var(--ws-soft); font-size: 12px; line-height: 1.5; }
.workspace-setup .setup-status:empty { display: none; }
.workspace-setup .setup-status.is-error { color: var(--ws-danger); }
.workspace-setup .setup-foot { flex: 0 0 auto; }
.workspace-setup :is(.setup-path,.setup-template,.setup-purpose-choice,input,textarea,summary):focus-visible { outline: 2px solid var(--ws-accent); outline-offset: 3px; }
.workspace-setup button:disabled { cursor: default; opacity: .5; }
@media (max-width: 760px) {
  dialog.workspace-setup { width: calc(100vw - 24px); height: calc(100dvh - 24px); margin: 12px auto; border-radius: 15px; }
  .workspace-setup .setup-head { padding: 20px 18px 17px; }
  .workspace-setup .ws-title { font-size: 20px; }
  .setup-layout { display: flex; flex-direction: column; gap: 18px; padding: 0 14px 0 18px; }
  .setup-rail { flex: 0 0 auto; padding: 0 4px 14px 0; border-right: 0; border-bottom: 1px solid var(--ws-line); }
  .setup-rail ol { display: flex; justify-content: space-between; gap: 8px; }
  .setup-rail li { gap: 6px; font-size: 10px; }
  .setup-step-mark { width: 20px; height: 20px; font-size: 9px; border-radius: 6px; }
  .setup-rail > p { display: none; }
  .setup-content { flex: 1 1 auto; }
  .setup-review-grid { grid-template-columns: minmax(0,1fr); gap: 22px; }
  .setup-includes { padding: 18px 0 0; border-left: 0; border-top: 1px solid var(--ws-line); }
  .setup-includes > h3 { margin-bottom: 13px; }
  .setup-includes section { display: inline-block; width: 49%; vertical-align: top; padding-right: 12px; }
  .workspace-setup .setup-foot { padding: 13px 18px; }
  .workspace-setup .setup-status { margin: 10px 18px; }
}
@media (max-width: 450px) {
  .setup-form-grid { grid-template-columns: minmax(0,1fr); gap: 18px; }
  .setup-template-grid { grid-template-columns: minmax(0,1fr); }
  .setup-purpose-choice { grid-template-columns: 1fr; padding: 13px; gap: 7px; }
  .setup-purpose-choice > svg { display: none; }
  .setup-purpose-choice > small { grid-column: 1; }
  .setup-path { grid-template-columns: 34px minmax(0,1fr) 12px; padding: 15px 12px; gap: 11px; }
  .setup-path-icon { width: 34px; height: 34px; border-radius: 9px; }
  .setup-path strong { font-size: 15px; }
  .setup-path small { font-size: 11px; }
  .setup-step-mark { display: none; }
  .setup-rail li[aria-current] { border-bottom: 2px solid var(--ws-accent); padding-bottom: 6px; }
  .setup-component-results li { grid-template-columns: 16px minmax(0,1fr); }
  .setup-component-results em { grid-column: 2; }
  .workspace-setup .setup-foot .ws-foot-note { flex-basis: 100%; font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) { .workspace-setup * { transition: none; animation: none; } }

.setup-edition-files { margin: 22px 0; }
.setup-edition-files summary { cursor: pointer; color: var(--ws-ink); font-size: 12px; }
.setup-edition-files .setup-field { margin: 15px 0; }
.workspace-setup .setup-edition-files select { padding: 10px; min-width: 0; border: 1px solid var(--ws-line); border-radius: 8px; background: var(--ws-field); color: var(--ws-ink); font: inherit; font-size: 12px; }
.setup-edition-files pre { max-height: 250px; margin: 0; padding: 14px; overflow: auto; border: 1px solid var(--ws-line); border-radius: 8px; background: var(--ws-code-bg); color: var(--ws-ink); font-size: 11px; line-height: 1.6; tab-size: 2; }

.workspace-setup .setup-field > select { width: 100%; min-width: 0; padding: 11px 12px; border: 1px solid var(--ws-line); border-radius: 9px; background: var(--ws-field); color: var(--ws-ink); font-size: 13px; line-height: 1.55; }
.setup-notices { margin: 18px 0; font-size: 11px; line-height: 1.6; }
.setup-notices summary { color: var(--ws-ink); cursor: pointer; font-size: 12px; }
.setup-notices p { margin: 12px 0 0; color: var(--ws-soft); }

.setup-component-option { display: flex; align-items: start; gap: 8px; cursor: pointer; }
.setup-component-option input { flex: 0 0 auto; width: 13px; height: 13px; margin: 2px 0 0; accent-color: var(--ws-accent); }
.setup-component-option input:disabled { cursor: default; }

.library-workspace-setups { margin-bottom: 30px; padding-bottom: 24px; border-bottom: 1px solid var(--border-subtle); }
.library-workspace-grid .library-card-description { min-height: 0; }
.library-workspace-grid .library-card-author > svg { width: 14px; height: 14px; }

.setup-workspace-picker { display: grid; gap: 12px; }

.setup-fallback-confirm { margin: 22px 0 16px; }
.setup-fallback-confirm small { display: block; margin-top: 4px; font-size: 10px; color: var(--ws-soft); }

.setup-requirement-state { display: block; margin: 5px 0 0; color: var(--ws-attn); font-size: 10px; line-height: 1.5; }

.setup-import-note{margin:0 0 18px;padding:14px 16px;border:1px solid var(--ws-line);border-radius:10px;font-size:13px;line-height:1.5}
.setup-import-note ul{max-height:90px;overflow:auto;margin:8px 0;padding-left:20px;overflow-wrap:anywhere}
.setup-import-note p{margin:6px 0 0;color:var(--ws-soft)}
.setup-import-note strong{font-weight:500}
.setup-import-note ul{list-style:none;padding-left:0;display:flex;flex-wrap:wrap;gap:6px}
.setup-import-note li{max-width:100%;padding:2px 9px;border:1px solid var(--ws-line);border-radius:999px;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* The title takes focus programmatically on each step for screen readers; it is not a control. */
.workspace-setup .ws-title:focus{outline:none}
/* Disclosures use a quiet chevron instead of the platform triangle. */
.workspace-setup details>summary{list-style:none;display:inline-flex;align-items:center;gap:8px}
.workspace-setup details>summary::-webkit-details-marker{display:none}
.workspace-setup details>summary::before{content:'';flex:none;width:5px;height:5px;margin:0 2px 0 1px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);opacity:.75;transition:transform 160ms ease}
.workspace-setup details[open]>summary::before{transform:rotate(45deg)}
@media(prefers-reduced-motion:reduce){.workspace-setup details>summary::before{transition:none}}
/* Result rows name what was made; the right column says what kind of thing it is. */
.setup-component-results li[data-setup-component-state=ready] em{color:var(--ws-soft)}
.setup-component-results li:not([data-setup-component-state=ready]) em{color:var(--ws-attn)}
.setup-component-results strong{font-size:13px}
.setup-component-results em{font-size:11px}
.setup-component-results li[data-setup-component-optional=true] em{color:var(--ws-soft)}
