/* Guided layer; preserve Observatory canvas and recorded-evidence components. */
.journey{border:1px solid var(--line);border-radius:12px;padding:15px 20px;margin:0 0 30px;background:color-mix(in srgb,var(--white) 86%,transparent)}
.journey-caption{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:11px;color:var(--muted);margin-bottom:14px}.journey-caption b{color:var(--ink);font-variant-numeric:tabular-nums}
.step-rail{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.step{display:flex;align-items:center;gap:9px;text-align:left;background:transparent;border:1px solid transparent;color:var(--muted);padding:9px;border-radius:8px;font-size:11px;min-width:0}.step:hover{background:var(--accentlight)}.step.current{border-color:var(--accent);background:var(--accentlight);color:var(--ink)}.step-marker{display:grid;place-items:center;flex-shrink:0;width:26px;height:26px;border:1px solid var(--line);border-radius:50%;font-size:11px;font-variant-numeric:tabular-nums}.step.done .step-marker{background:var(--accent);color:white;border-color:var(--accent)}.step.current .step-marker{border-color:var(--accent)}
.nav-section-label{padding:20px 12px 7px;text-transform:uppercase;letter-spacing:1.4px;font-size:9px;color:#96acb0}.sidebar .brand{margin-bottom:25px}.sidebar .nav{gap:3px}.sidebar .nav button{padding-top:11px;padding-bottom:11px}
.guided-intro{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:11px;color:var(--muted);margin:-6px 0 25px}.guided-intro a{text-decoration:none}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#56cba8;margin-right:7px;box-shadow:0 0 10px #56cba850}
.start-columns{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);align-items:start;gap:22px}.start-columns>.grid{align-content:start;gap:22px}.start-columns textarea{min-height:145px}
.policy-snapshot{border:1px solid var(--line);border-radius:10px;background:var(--white);padding:20px}.snapshot-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.snapshot-head h2{font-size:14px;margin:0;font-weight:600}.boundary-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.boundary-card{border:1px solid var(--line);border-radius:8px;padding:17px 16px;position:relative;overflow:hidden;min-width:0}.boundary-card h3{font-size:18px;letter-spacing:-.4px;font-weight:600;line-height:1.3;margin:12px 0 8px;overflow-wrap:anywhere}.boundary-card p{font-size:11px;line-height:1.65;color:var(--muted);margin:0}.boundary-card .eyebrow{font-size:9px;letter-spacing:1px;display:block}.boundary-icon{font-size:24px;display:block;margin-bottom:14px}.boundary-card.accepts{border-top:2px solid #51ae9c}.boundary-card.rejects{border-top:2px solid #c78398}.boundary-card.reviews{border-top:2px solid #c9a871}.accepts .boundary-icon{color:#3c9f88}.rejects .boundary-icon{color:#ba6586}.reviews .boundary-icon{color:#b89860}.snapshot-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;color:var(--muted);padding-top:15px;line-height:1.5}.policy-snapshot.compact .boundary-cards{gap:8px}.compact .boundary-card{padding:13px 11px}.compact .boundary-card h3{font-size:15px}.compact .boundary-card p{font-size:10px}.compact .boundary-card .eyebrow{font-size:8px}.compact .snapshot-head{align-items:flex-start}
.starter-label{display:flex;gap:8px;align-items:center;font-size:11px;color:var(--muted);margin:16px 0 10px}.starter-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.starter{background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:7px;padding:15px 10px;display:flex;gap:10px;align-items:center;text-align:left}.starter span{color:var(--accent);font-size:22px}.starter b{font-size:11px;font-weight:550}.starter:hover{border-color:var(--accent);background:var(--accentlight)}
.advanced{border:1px solid var(--line);border-radius:7px}.advanced>summary{cursor:pointer;font-size:11px;color:var(--muted);padding:13px 14px;line-height:1.5}.advanced-body{padding:17px}.advanced-body .field:last-child{margin-bottom:0}.advanced-body h3{font-size:11px;margin:10px 0}.action-footer,.step-actions{display:flex;align-items:center;gap:13px;justify-content:space-between;flex-wrap:wrap;margin-top:24px}.step-actions{padding:10px 0 20px}.action-footer{padding-top:18px;border-top:1px solid var(--line)}.helper-card p{font-size:12px;line-height:1.7;color:var(--muted);margin:0 0 15px}.suggestion-path{display:flex;align-items:center;gap:10px;margin:18px 0 22px;flex-wrap:wrap}.suggestion-path span{font-size:10px;padding:7px 9px;border:1px solid var(--line);border-radius:4px}.suggestion-path b{font-weight:400;color:var(--muted)}.helper-card .fine{font-size:10px;margin-top:12px}.saved-setup{border-top:1px solid var(--line);padding-top:15px;margin-top:15px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}.saved-setup>span{width:100%;font-size:11px}
.research-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:25px 0}.research-shortcuts button{padding:22px;text-align:left;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--white) 70%,transparent);color:var(--ink)}.research-shortcuts button>span{font-size:23px;float:right;color:var(--accent)}.research-shortcuts b{font-size:12px;display:block;font-weight:550;margin-bottom:7px}.research-shortcuts small{font-size:10px;color:var(--muted)}.research-shortcuts button:hover{border-color:var(--accent)}
.mode-stack{display:grid;gap:9px}.mode-stack .preset{display:flex;align-items:center;gap:14px;min-height:0;padding:14px 17px}.mode-stack .mode-dot{width:13px;height:13px;border:1px solid var(--muted);border-radius:50%;flex-shrink:0}.mode-stack .preset.active .mode-dot{border:4px solid var(--accent)}.mode-stack b{display:block;font-size:12px}.mode-stack small{margin-top:4px}.tier-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tier-grid .preset{min-height:82px}.budget-input .field{margin-bottom:7px}.budget-input input{font-size:29px;letter-spacing:-.7px;padding:14px}.budget-input .fine{font-size:10px}.advice-status{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;font-size:11px;color:var(--muted)}.plan-hero{display:flex;align-items:center;gap:22px;margin:6px 0 20px}.plan-hero>b{font-size:49px;letter-spacing:-2px;font-weight:450}.plan-hero>b>span{font-size:25px;color:var(--muted)}.plan-hero>div{font-size:11px;line-height:1.7}.plan-hero small{font-size:10px;color:var(--muted)}.budget-track{height:10px;background:var(--line);border-radius:7px;overflow:hidden;margin:14px 0 4px}.budget-track i{display:block;height:100%;background:linear-gradient(90deg,#65bdad,#7f8dd0);border-radius:7px}.account-line{font-size:11px;color:var(--muted);line-height:1.7}.empty-plan{padding:50px 18px 28px;text-align:center}.empty-plan>div{font-size:42px;letter-spacing:7px;color:var(--accent);margin-bottom:28px}.empty-plan h3{font:23px Georgia,serif}.empty-plan p{font-size:12px;line-height:1.7;color:var(--muted)}
.suggestion{padding:18px 0;border-bottom:1px solid var(--line)}.suggestion-select{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:13px;cursor:pointer}.suggestion-select input{width:16px;height:16px;accent-color:var(--accent)}.suggestion-select .pill{margin-left:auto;font-size:8px}.diff-grid{display:grid;grid-template-columns:1fr 25px 1fr;gap:9px;margin:15px 0}.diff-path{grid-column:1/-1;font:10px ui-monospace,monospace;color:var(--muted)}.diff-old,.diff-new{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;line-height:1.6;padding:12px;border:1px solid var(--line);border-radius:6px}.diff-old{opacity:.8}.diff-new{border-color:#648f83}.diff-arrow{align-self:center;text-align:center;color:var(--muted)}.suggestion p{font-size:11px;line-height:1.7;color:var(--muted)}.suggestion .consequence{font-weight:550;color:var(--ink)}.suggestion summary{font-size:10px;color:var(--muted);cursor:pointer}
.help-anchor{display:inline-flex;vertical-align:middle}.inline-help-popover{z-index:1500;max-height:calc(100dvh - 24px);overflow-y:auto}.field>span>.inline-help-button{margin-left:6px}.field-title>.help-anchor{font-weight:400}.metric-row .inline-help-button{font-size:9px}.btn:disabled,.preset:disabled{opacity:.45;cursor:not-allowed}.code{overflow-wrap:anywhere}.main{min-width:0}
html[data-galaxy=on] .journey,html[data-galaxy=on] .policy-snapshot{background:rgba(13,22,42,.88);border-color:rgba(154,173,210,.2)}html[data-galaxy=on] .boundary-card{background:rgba(255,255,255,.02)}html[data-galaxy=on] .step.current{background:rgba(78,163,164,.14)}html[data-galaxy=on] .starter:hover{background:rgba(83,179,165,.13)}html[data-galaxy=on] .research-shortcuts button{background:rgba(13,22,42,.77)}html[data-galaxy=on] .step.done .step-marker{background:#437b7e}html[data-galaxy=on] .diff-new{background:rgba(87,162,146,.08)}
@media(max-width:1300px){.start-columns{grid-template-columns:1fr}.start-columns>.grid{grid-template-columns:1fr 1fr}.compact .boundary-cards{grid-template-columns:1fr}.compact .boundary-card{display:grid;grid-template-columns:24px 1fr;column-gap:10px}.compact .boundary-card .boundary-icon{grid-row:1/4;margin:0}.compact .boundary-card h3{margin:4px 0}.compact .boundary-card p{grid-column:2}.journey{padding:14px}.step{gap:7px;padding:8px 5px}}
@media(max-width:900px){.start-columns>.grid{grid-template-columns:1fr}.compact .boundary-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.compact .boundary-card{display:block}.compact .boundary-card .boundary-icon{margin-bottom:8px}.step{flex-direction:column;align-items:center;text-align:center;gap:6px;font-size:10px}.journey-caption{font-size:10px}.research-shortcuts{grid-template-columns:1fr}.sidebar .nav{display:grid}.sidebar-footer{display:block!important}}
@media(max-width:600px){.step-rail{gap:2px}.step{font-size:9px;padding:7px 2px}.step-marker{width:23px;height:23px}.journey{padding:12px 9px;margin-bottom:22px}.journey-caption{gap:7px;align-items:flex-start;font-size:9px}.journey-caption>span:last-child{text-align:right;max-width:130px}.guided-intro{align-items:flex-start;font-size:10px;gap:14px}.snapshot-head{flex-wrap:wrap}.boundary-cards,.compact .boundary-cards{grid-template-columns:1fr}.boundary-card,.compact .boundary-card{display:grid;grid-template-columns:26px 1fr;gap:3px 10px;padding:13px}.boundary-card .boundary-icon,.compact .boundary-card .boundary-icon{grid-row:1/4;margin:0}.boundary-card h3,.compact .boundary-card h3{margin:3px 0;font-size:17px}.boundary-card p{grid-column:2}.starter-cards{gap:6px}.starter{flex-direction:column;align-items:flex-start;padding:13px 9px;gap:6px}.starter b{font-size:10px}.diff-grid{grid-template-columns:1fr}.diff-path,.diff-old,.diff-new{grid-column:1}.diff-arrow{transform:rotate(90deg)}.step-actions .btn{flex:1}.card-head{flex-wrap:wrap}.action-footer .btn.primary{width:100%}.nav-section-label{display:block}.plan-hero>b{font-size:42px}}
@media(prefers-reduced-motion:reduce){.step,.btn,.starter{transition:none!important}}

/* The description, proposal and applied policy form one reading path. */
.setup-flow{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}.setup-flow textarea[data-start]{min-height:180px}.setup-flow #setup-followup{display:grid;gap:24px}.setup-flow #setup-suggestions{margin-top:0}.setup-flow .setup-current-policy{min-width:0}.setup-flow .diff-old small,.setup-flow .diff-new small{display:block;color:var(--muted);font-size:11px;letter-spacing:.04em;text-transform:uppercase;margin-bottom:8px}.setup-edit-note{margin-top:20px}.setup-flow .research-shortcuts{margin-top:0}

.setup-language-choice{margin-top:24px;padding:24px;border:1px solid var(--border);border-radius:12px}.setup-language-choice .actions{gap:12px;flex-wrap:wrap}.setup-language-choice .check-grid{margin-top:20px}

.attack-packs{border:0;padding:0;margin-inline:0;min-width:0}.attack-packs legend{font-weight:650;margin-bottom:.5rem}.attack-pack{display:flex;align-items:flex-start;gap:1rem;padding:1.1rem;margin:.65rem 0;border:1px solid var(--border,#30495b);border-radius:10px;cursor:pointer}.attack-pack input{margin-top:.35rem;flex:none}.attack-pack strong,.attack-pack small{display:block}.attack-pack small{margin:.4rem 0;line-height:1.6}.attack-pack:has(input:checked){background:#80d3dc0b;border-color:#6aabb9}.checkpoint-track{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.6rem}.checkpoint{border:1px solid #385269;border-radius:10px;padding:.8rem .4rem;min-width:0;background:#0a1826;color:inherit;text-align:center;display:flex;flex-direction:column;gap:.5rem}.checkpoint strong{font-size:1.5rem}.checkpoint small,.checkpoint span{overflow-wrap:anywhere;font-size:.8rem}.checkpoint.match{border-top:3px solid #6bcfba}.checkpoint.mismatch{border-top:3px solid #e1ae63}.checkpoint.missing{opacity:.65}.checkpoint-legend,.conversation-totals{display:flex;flex-wrap:wrap;gap:.7rem 1.6rem;font-size:.8rem;color:#acc0d1;margin:1rem 0}.conversation-strip{padding:1.5rem 0;border-bottom:1px solid #30495b}.conversation-strip h3{margin-bottom:.4rem}@media(max-width:760px){.checkpoint-track{grid-template-columns:repeat(3,minmax(0,1fr))}}

.conversation-strip summary{cursor:pointer;padding:.4rem 0;line-height:1.6}.conversation-strip summary .fine{display:block;margin-left:1rem}.conversation-strip[open] summary{margin-bottom:1rem}

/* Counts remain readable as suites grow, without shrinking type or dropping digits. */
.stats{grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr))}
.stat{min-width:0}
.stat .value{overflow-wrap:anywhere}
.result-stats{margin-top:1.25rem}
.metric-ratio{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;line-height:1.15;letter-spacing:0!important}
.metric-ratio strong{font-size:clamp(2rem,3vw,3rem);font-weight:500;max-width:100%;overflow-wrap:anywhere}
.metric-ratio span{font-size:1rem;color:var(--muted);font-weight:400}
.result-stats .stat .label,.result-stats .stat .sub{font-size:.9rem;line-height:1.5;letter-spacing:0}
.attack-outcomes{margin-block:1.25rem}
.outcome-counts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:1rem}
.outcome-count{display:flex;align-items:baseline;gap:.8rem;padding:.75rem 0;min-width:0;border-bottom:1px solid var(--line)}
.outcome-count strong{font-size:1.4rem;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;min-width:0}
.outcome-count span{font-size:.95rem;color:var(--muted)}
.outcome-error span{color:#efabb7}
@media(max-width:600px){.result-stats{grid-template-columns:1fr}.metric-ratio{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:.6rem}}
