.journey-stages button:hover{background:var(--surface);border-color:var(--j-blue)}.journey-stages button[aria-pressed=true]{border-style:solid;border-color:var(--j-blue);box-shadow:inset 0 -3px var(--j-blue);background:var(--surface)}.journey-stage-description{border-left:3px solid var(--j-blue);overflow-wrap:anywhere;padding:.65rem .75rem;font-size:.85rem;line-height:1.5}.journey-stage-description p{margin:.3rem 0 0}.journey-layout{flex-direction:column;gap:1.5rem;min-width:0;display:flex}.journey-layout>section{border:1px solid var(--border);background:var(--surface);border-radius:20px;min-width:0;padding:clamp(1rem,2vw,2rem)}.visual-journey{--j-blue:#60a5fa;--j-green:#5eead4;--j-orange:#fbbf24;border:1px solid var(--border);background:var(--surface);min-width:0;color:var(--body);border-radius:20px;align-self:stretch;padding:1rem}:root[data-theme=light] .visual-journey{--j-blue:#1d4ed8;--j-green:#0f766e;--j-orange:#92400e}.journey-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.journey-heading h2{color:var(--heading);margin:.3rem 0;font-size:1.25rem}.journey-eyebrow{text-transform:uppercase;letter-spacing:.1em;color:var(--body);font-size:.73rem}.journey-progress{flex-wrap:wrap;justify-content:space-between;gap:1rem;margin:.75rem 0 .3rem;font-weight:650;display:flex}.journey-progress span{font-size:.78rem;font-weight:400}.visual-journey progress{width:100%;height:7px;accent-color:var(--j-green);margin:0 0 .7rem;display:block}.journey-announcement{color:var(--j-green);min-height:1.2em;font-size:.8rem}.journey-announcement:empty{display:none}.journey-mode{gap:.4rem;margin:.6rem 0;display:flex}.visual-journey button,.journey-check button{border:1px solid var(--border);background:var(--surface-muted);color:var(--heading);min-height:44px;font:inherit;cursor:pointer;text-align:left;border-radius:10px;padding:.55rem .7rem;font-size:.85rem}.visual-journey button:disabled,.journey-check button:disabled{cursor:default;opacity:.6}.visual-journey button[aria-pressed=true]{border-color:var(--j-blue);box-shadow:inset 0 -2px var(--j-blue)}.visual-journey :is(button,input,a):focus-visible,.journey-check :is(button,input):focus-visible{outline:3px solid var(--j-blue,#60a5fa);outline-offset:3px}.journey-stages{grid-template-columns:1fr 1fr;gap:.35rem;margin:.75rem 0;padding:0;list-style:none;display:grid}.journey-stages button{width:100%;height:100%;font-size:.76rem}.journey-stages [data-revealed=true] button{border-color:var(--j-green)}.journey-stages [data-revealed=false] button{border-style:dashed}.journey-plot{background:var(--surface-muted);width:100%;height:auto;color:var(--body);border-radius:14px;margin:.7rem 0;display:block;overflow:hidden}.journey-plot text{fill:currentColor;font-family:inherit;font-size:11px}.journey-plot .journey-small{font-size:10px}.journey-axis path,.journey-edge path{stroke:var(--body);fill:none;stroke-width:1.2px}.journey-edge circle{fill:var(--body)}.journey-dot,.journey-pixel-on{fill:var(--j-blue)}.journey-group-1{fill:var(--j-green)}.journey-group-2{fill:var(--j-orange)}.journey-line{stroke:var(--j-blue);stroke-width:2.5px;fill:none}.journey-secondary-line{stroke:var(--j-green)}.journey-residual{stroke:var(--j-green);stroke-width:1.5px;stroke-dasharray:4 3;fill:none}.journey-node rect,.journey-node circle{fill:var(--surface-muted);stroke:var(--j-blue);stroke-width:1.8px}.journey-muted{opacity:.45}.journey-pixel-off{fill:var(--surface);stroke:var(--border)}.journey-kernel{fill:none;stroke:var(--j-orange);stroke-width:3px}.journey-neighborhood{fill:var(--j-blue);fill-opacity:.07;stroke:var(--j-blue);stroke-opacity:.6}.journey-mixture{fill-opacity:.25;stroke:var(--body)}.journey-band{fill:var(--j-blue);opacity:.2}.journey-failure circle,.journey-failure rect{fill:var(--j-orange);fill-opacity:.08;stroke:var(--j-orange);stroke-dasharray:4 3}.journey-plot .journey-warning-text,.journey-failure text{fill:var(--j-orange)}.journey-readout,.journey-example-label,.journey-mode-note{overflow-wrap:anywhere;font-size:.8rem;line-height:1.5}.journey-readout{border-left:3px solid var(--j-blue);padding:.6rem .75rem}.journey-readout p{margin:.45rem 0 0}.journey-example-label{color:var(--body);margin:.7rem 0}.journey-controls{border:1px solid var(--border);border-radius:12px;margin:.75rem 0;padding:.65rem}.journey-controls legend{font-size:.85rem}.journey-controls label{justify-content:space-between;align-items:center;gap:.6rem;font-size:.85rem;display:flex}.journey-controls input[type=range]{width:100%;min-height:38px;accent-color:var(--j-blue)}.journey-controls input[type=checkbox]{flex-shrink:0;width:18px;height:18px}.journey-controls label:has(input[type=checkbox]){justify-content:flex-start;margin:.5rem 0}.journey-controls output{font-variant-numeric:tabular-nums}.journey-discovery{background:var(--surface-muted);border-radius:12px;margin:.75rem 0;padding:.8rem}.journey-discovery h3{margin:0 0 .4rem;font-size:.9rem}.journey-discovery p,.journey-discovery small,.journey-discovery li{overflow-wrap:anywhere;margin:.2rem 0;font-size:.82rem;line-height:1.5}.journey-discovery a{color:var(--j-blue)}.journey-milestone{border:1px solid var(--j-green);color:var(--j-green);border-radius:12px;padding:.8rem;font-weight:650}.journey-next{width:100%}.journey-check{border:1px solid var(--border);background:var(--surface-muted);border-radius:16px;margin:1.5rem 0;padding:1.2rem}.journey-check h3{margin:.5rem 0 1rem}.journey-check fieldset{border:0;margin:0;padding:0}.journey-check legend{margin-bottom:.8rem;font-weight:600}.journey-check label{border:1px solid var(--border);cursor:pointer;border-radius:10px;align-items:flex-start;gap:.7rem;margin:.4rem 0;padding:.8rem;display:flex}.journey-check label input{flex-shrink:0;margin-top:.25rem}.journey-check-actions{flex-wrap:wrap;gap:.5rem;margin-top:.8rem;display:flex}.journey-check p{line-height:1.6}.journey-body--collapsed{display:none}.journey-discovery--new{animation:.35s ease-out journey-reveal}@keyframes journey-reveal{0%{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (width>=1100px){.journey-layout{grid-template-columns:minmax(0,1fr) minmax(330px,390px);align-items:start;display:grid}.visual-journey{scrollbar-width:thin;grid-area:1/2;max-height:calc(100dvh - 105px);position:sticky;top:88px;overflow-y:auto}.journey-layout>section{grid-area:1/1}.journey-collapse{display:none}.journey-body--collapsed{display:block}}@media (width<=1099px){.journey-plot{max-width:440px;margin-inline:auto}.journey-body{max-width:760px;margin-inline:auto}}@media (prefers-reduced-motion:reduce){.journey-discovery{animation:none}}.journey-legend{flex-wrap:wrap;gap:.35rem .8rem;margin:.6rem 0;padding:0;font-size:.75rem;list-style:none;display:flex}.journey-legend li{white-space:nowrap}.visual-journey{scroll-margin-top:88px}.residual-panel{border:1px solid var(--border);background:var(--surface-muted);border-radius:12px;margin:.8rem 0;padding:.8rem;font-size:.875rem;line-height:1.5}.residual-panel h3{margin:0 0 .5rem;font-size:1rem}.residual-panel p{margin:.55rem 0}.residual-panel small{line-height:1.5;display:block}.residual-panel select{background:var(--surface);width:100%;min-height:44px;color:var(--heading);border:1px solid var(--border);font:inherit;border-radius:8px;padding:.5rem;display:block}.residual-panel select:focus-visible{outline:3px solid var(--j-blue);outline-offset:3px}.residual-zero{stroke:var(--body);stroke-width:1px}.residual-positive{fill:var(--j-green)}.residual-negative{fill:var(--j-orange)}.residual-equation{font-variant-numeric:tabular-nums}.residual-observation-gap{stroke:var(--j-orange);stroke-width:2px;stroke-dasharray:3 2}.residual-prediction{fill:var(--surface);stroke:var(--j-blue);stroke-width:2px}.residual-largest-ring{fill:none;stroke:var(--j-orange);stroke-width:3px}.residual-largest{border-left:3px solid var(--j-orange);padding-left:.5rem}.journey-diagnostic{border-left:3px solid var(--j-orange);margin:.6rem 0;padding:.75rem;font-size:.875rem;line-height:1.5}.journey-diagnostic p{margin:.4rem 0}.journey-diagnostic small{display:block}.visual-journey:has(.residual-panel) .journey-controls{z-index:2;background:var(--surface);grid-template-columns:minmax(0,1fr) auto;gap:.25rem .5rem;display:grid;position:sticky;top:80px}:is(.visual-journey:has(.residual-panel) .journey-controls>label:first-of-type,.visual-journey:has(.residual-panel) .journey-controls>input[type=range]){grid-column:1/-1}.residual-panel{scroll-margin-top:250px}@media (width>=1100px){.visual-journey:has(.residual-panel) .journey-controls{top:0}.residual-panel{scroll-margin-top:170px}}
