.planner-wrap{max-width:var(--content-max);margin:auto;padding:var(--sp-5) var(--page-gutter) var(--sp-7)}
.planner-wrap nav,.quiet,.planner-side,.method-note,#result-summary{font-size:var(--text-sm);color:var(--color-text-muted)}
.planner-intro{max-width:var(--reading-max);padding:var(--sp-5) 0}
.planner-intro h1{font-size:var(--text-hero);margin:var(--sp-2) 0 var(--sp-4)}
.planner-intro>p:not(.eyebrow):not(.quiet){font-size:var(--text-lg)}
.eyebrow{font-size:var(--text-xs);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:var(--tracking-meta);color:var(--color-accent);font-weight:var(--weight-semibold)}
.planner-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:var(--sp-5);align-items:start}
.planner-wrap h2{font-size:var(--text-xl);margin-top:0}
.planner-side,.handoff-note{padding:var(--sp-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-raised)}
.planner-side{margin-top:var(--sp-6)}
.planner-side li{margin-bottom:var(--sp-2)}
.handoff-note{margin-bottom:var(--sp-5);overflow-wrap:anywhere}
.handoff-note p{margin:var(--sp-2) 0}
.wizard__input{min-width:0}.wizard__input[name=steps]{min-height:12rem;font-family:var(--font-mono)}
.wizard__step>p,.category-help{font-size:var(--text-sm);color:var(--color-text-muted)}
.category-help{margin-top:var(--sp-3)}.category-help li{margin:var(--sp-1) 0}
.category-help code{font-size:var(--text-xs);overflow-wrap:anywhere}
#form-error{color:var(--color-status-bad);font-weight:var(--weight-semibold)}
#result{margin-top:var(--sp-6);scroll-margin-top:var(--sp-7)}
.workflow-plan__goal,.workflow-plan__action,.workflow-plan__rationale{overflow-wrap:anywhere}
.result-actions{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-top:var(--sp-4)}
.method-note{max-width:var(--reading-max);border-top:1px solid var(--color-border);margin-top:var(--sp-6);padding-top:var(--sp-5)}
.skip-link{position:absolute;left:var(--sp-3);top:var(--sp-3);transform:translateY(-200%);z-index:var(--z-dialog);background:var(--color-surface);padding:var(--sp-2)}.skip-link:focus{transform:none}
@media(max-width:760px){.planner-layout{grid-template-columns:1fr}.planner-side{margin-top:0}.wizard,.workflow-plan{padding:var(--sp-4)}.planner-intro{padding:var(--sp-4) 0}.workflow-plan__step{gap:var(--sp-2)}.planner-wrap{padding-top:var(--sp-4)}}
.workflow-plan__tagged{font-size:var(--text-sm);color:var(--color-text-muted)}
.workflow-plan__cand{display:inline-block;margin-right:.75em}

/* Imagery lane (2026-10-27): optional intro visual beside the planner intro on wide screens. */
@media(min-width:961px){
.planner-intro{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1fr);gap:var(--sp-5);align-items:center;max-width:none}
.planner-intro__visual{margin:0}
.planner-intro__visual img{display:block;width:100%;height:auto;border-radius:var(--radius-md,8px);border:1px solid var(--color-border)}
}
.planner-intro__visual{display:none}
@media(min-width:961px){.planner-intro__visual{display:block}}
/* The intro visual is decorative and intended for the wide two-column layout only;
   hide it explicitly below the grid breakpoint so no partial/lazy render can appear. */
@media(max-width:960px){.planner-intro__visual{display:none}}

/* Suggested plan panel (gen55): designed card, not plain lines. */
.suggested-plan{margin:0 0 var(--sp-6);padding:var(--sp-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-raised)}
.suggested-plan h3{margin:0 0 var(--sp-3);font-size:var(--text-lg)}
.suggested-plan__kind{display:inline-block;margin-left:var(--sp-2);padding:2px 8px;border-radius:999px;background:var(--color-accent-soft);color:var(--color-accent);font-size:var(--text-xs);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:var(--tracking-meta);vertical-align:middle}
.suggested-plan__note{font-size:var(--text-sm);color:var(--color-text-muted);margin:0 0 var(--sp-4)}
.suggested-plan__list{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-3)}
.suggested-plan__stage{display:flex;gap:var(--sp-3);align-items:flex-start;padding:var(--sp-3) var(--sp-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}
.suggested-plan__num{flex:none;width:1.6rem;height:1.6rem;display:grid;place-items:center;border-radius:50%;background:var(--color-accent);color:#ffffff;font-size:var(--text-sm);font-weight:var(--weight-semibold)}
.suggested-plan__stage--human .suggested-plan__num{background:var(--color-text-muted)}
.suggested-plan__body{min-width:0}
.suggested-plan__you{display:inline-block;margin-left:var(--sp-2);padding:1px 8px;border-radius:999px;border:1px solid var(--color-border);font-size:var(--text-xs);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:var(--tracking-meta);color:var(--color-text-muted);vertical-align:middle}
.suggested-plan__cat{display:inline-block;margin-left:var(--sp-2);padding:1px 8px;border-radius:999px;background:var(--color-accent-soft);color:var(--color-accent);font-size:var(--text-xs);vertical-align:middle}
.suggested-plan__why{margin:var(--sp-1) 0 0;font-size:var(--text-sm);color:var(--color-text-muted)}
.suggested-plan__tools{margin:var(--sp-1) 0 0;font-size:var(--text-sm)}
.suggested-plan__tools a{color:var(--color-accent)}
.suggested-plan__or{color:var(--color-text-muted);font-size:var(--text-xs)}
.suggested-plan__handoff-h{margin:var(--sp-4) 0 var(--sp-2);font-size:var(--text-sm);color:var(--color-text-muted)}
.suggested-plan__handoffs{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-4);font-size:var(--text-sm)}
.suggested-plan__arrow{color:var(--color-accent)}
@media(max-width:760px){.suggested-plan{padding:var(--sp-4)}.suggested-plan__stage{padding:var(--sp-3)}}

/* Stack evidence section (gen56 candidate): honest tiers, never ranked "best". */
.stack-evidence{margin:0 0 var(--sp-6);padding:var(--sp-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-raised)}
.stack-evidence h3{margin:0 0 var(--sp-3);font-size:var(--text-lg)}
.stack-evidence__kind{display:inline-block;margin-left:var(--sp-2);padding:2px 8px;border-radius:999px;background:var(--color-accent-soft);color:var(--color-accent);font-size:var(--text-xs);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:var(--tracking-meta);vertical-align:middle}
.stack-evidence__note{font-size:var(--text-sm);color:var(--color-text-muted);margin:0 0 var(--sp-4)}
.stack-evidence__banner{margin:0 0 var(--sp-3);padding:var(--sp-3) var(--sp-4);border:1px solid var(--color-border);border-left:3px solid var(--color-accent);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--text-sm)}
.stack-evidence__banner--human_only{border-left-color:var(--color-text-muted)}
.stack-evidence__banner--coverage_incomplete,.stack-evidence__banner--search_incomplete{border-left-color:#b45309}
.stack-evidence__group{margin:0 0 var(--sp-4)}
.stack-evidence__tier{margin:0 0 var(--sp-2);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-muted)}
.stack-evidence__tier--lead{color:var(--color-accent)}
.stack-evidence__stacks{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-2)}
.stack-evidence__stack{padding:var(--sp-3) var(--sp-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--text-sm)}
.stack-evidence__tool{display:block;padding:var(--sp-1) 0}
.stack-evidence__stage{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted)}
.stack-evidence__chip{display:inline-block;padding:1px 8px;border-radius:999px;border:1px solid var(--color-border);font-size:var(--text-xs);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:var(--tracking-meta);color:var(--color-text-muted)}
.stack-evidence__chip--doc{border-color:var(--color-accent);color:var(--color-accent)}
.stack-evidence__miss{display:block;font-size:var(--text-xs);color:#b45309}
.stack-evidence__gaps{margin:0 0 var(--sp-3);font-size:var(--text-sm)}
.stack-evidence__gaps ul{margin:var(--sp-1) 0 0;padding-left:var(--sp-5)}
.stack-evidence__notes{margin:var(--sp-3) 0 0;padding-left:var(--sp-5);font-size:var(--text-sm);color:var(--color-text-muted)}

/* Safeguard overlay (v2.3 contract): short line default, blocks on trigger. */
.safeguard{margin:0 0 var(--sp-6);padding:var(--sp-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-raised)}
.safeguard h3{margin:0 0 var(--sp-3);font-size:var(--text-lg)}
.safeguard__line{margin:0 0 var(--sp-3);font-size:var(--text-base);font-weight:var(--weight-semibold)}
.safeguard[data-state="binding_policy_conflict"] .safeguard__line,.safeguard[data-state="not_for_automated_execution"] .safeguard__line{color:#b91c1c}
.safeguard[data-state="sensitive_review_required"] .safeguard__line,.safeguard[data-state="needs_policy_verification"] .safeguard__line{color:#b45309}
.safeguard__badge{margin:0 0 var(--sp-3);padding:var(--sp-2) var(--sp-4);border:1px solid #b45309;border-radius:var(--radius-md);font-size:var(--text-sm);color:#92400e;background:var(--color-surface)}
.safeguard__perm,.safeguard__region,.safeguard__stale{margin:0 0 var(--sp-2);font-size:var(--text-sm);color:var(--color-text-muted)}
.safeguard__perm{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-meta)}
.safeguard__block{margin:0 0 var(--sp-3);padding:var(--sp-3) var(--sp-4);border:1px solid var(--color-border);border-left:3px solid var(--color-accent);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--text-sm)}
.safeguard__block p{margin:var(--sp-1) 0 0}
.safeguard__block--policy_conflict,.safeguard__block--safe_alternative{border-left-color:#b91c1c}
.safeguard__block--before_sensitive_upload,.safeguard__block--domain_checkpoint{border-left-color:#b45309}
.safeguard__fine{margin:var(--sp-4) 0 0;font-size:var(--text-xs);color:var(--color-text-muted)}
@media(max-width:760px){.stack-evidence,.safeguard{padding:var(--sp-4)}}

/* First-pass usability: put the working form before decoration. */
.planner-wrap{padding-top:16px}.planner-intro{display:block!important;max-width:900px;padding:12px 0!important}.planner-intro h1{font-size:clamp(26px,3vw,38px);margin:4px 0 8px}.planner-intro p{margin:6px 0}.planner-intro__visual{display:none}.handoff-note{padding:10px 14px;margin-bottom:16px}.handoff-note p{margin:4px 0}.planner-layout h2{margin-bottom:12px}
