:root{color-scheme:light;--surface-page: #f4f6f9;--surface-raised: #ffffff;--surface-sunken: #eaeef4;--surface-inverse: #12203a;--ink-strong: #101d33;--ink: #1e2c46;--ink-muted: #4c5871;--ink-subtle: #5c6880;--ink-inverse: #f4f6f9;--line: #d3dae5;--line-strong: #9aa6ba;--accent: #0b6b6d;--accent-strong: #075052;--accent-wash: #e4f2f2;--amber: #8a5200;--amber-wash: #fbf0dd;--commons: #0b6b6d;--commons-wash: #e4f2f2;--lords: #6a4595;--lords-wash: #efe9f7;--shared: #4c5871;--shared-wash: #e9ecf3;--status-warning: #8a5200;--status-warning-wash: #fbf0dd;--status-error: #98202e;--status-error-wash: #fbe9eb;--status-ok: #1f6b3f;--status-ok-wash: #e4f2ea;--focus-ring: #0b3d91;--font-body: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--font-mono: ui-monospace, "Cascadia Mono", "Segoe UI Mono", Menlo, Consolas, monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .9375rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--radius-sm: 4px;--radius: 8px;--radius-lg: 12px;--shadow-card: 0 1px 2px rgb(16 29 51 / 8%);--shadow-sheet: -8px 0 32px rgb(16 29 51 / 18%);--touch-target: 44px;--max-width: 1600px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--surface-page);color:var(--ink);font-family:var(--font-body);font-size:var(--text-base);line-height:1.5;overflow-x:hidden}h1,h2,h3,h4{color:var(--ink-strong);line-height:1.25;margin:0}p{margin:0}ul,ol{margin:0;padding:0;list-style:none}a{color:var(--accent-strong)}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;left:var(--space-3);top:-4rem;z-index:60;background:var(--surface-raised);color:var(--ink-strong);padding:var(--space-3) var(--space-4);border-radius:var(--radius);font-weight:600;transition:top .12s ease-out}.skip-link:focus{top:var(--space-3)}.app{display:flex;flex-direction:column;min-height:100vh}.shell{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--space-4)}.header{background:var(--surface-inverse);color:var(--ink-inverse);padding:var(--space-4) 0;border-bottom:3px solid var(--accent)}.header__inner{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-5);align-items:baseline;justify-content:space-between}.header__identity{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-3)}.header__title{color:var(--ink-inverse);font-size:var(--text-xl);letter-spacing:-.01em}.header__mark{display:inline-block;width:.75rem;height:1.1rem;margin-right:var(--space-2);vertical-align:-.1rem;border-radius:2px;background:linear-gradient(to top,var(--accent) 0 34%,transparent 34% 100%) left / 30% 100% no-repeat,linear-gradient(to top,var(--accent) 0 67%,transparent 67% 100%) center / 30% 100% no-repeat,linear-gradient(to top,var(--amber) 0 100%,transparent 0) right / 30% 100% no-repeat}.badge-unofficial{display:inline-block;padding:2px var(--space-2);border:1px solid var(--line-strong);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-inverse);background:#ffffff1a;white-space:nowrap}.header__meta{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);font-size:var(--text-sm);color:#cfd7e4}.header__meta strong{color:var(--ink-inverse)}.banner{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);align-items:baseline;padding:var(--space-3) var(--space-4);margin:var(--space-4) 0 0;border-radius:var(--radius);border-left:4px solid var(--line-strong);background:var(--surface-raised);font-size:var(--text-sm);box-shadow:var(--shadow-card)}.banner__label{font-weight:700}.banner--info{border-left-color:var(--accent);background:var(--accent-wash)}.banner--warning{border-left-color:var(--status-warning);background:var(--status-warning-wash)}.banner--error{border-left-color:var(--status-error);background:var(--status-error-wash)}.filters{margin:var(--space-4) 0 0;padding:var(--space-4);background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.filters__primary{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:flex-end}.field{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.field--grow{flex:1 1 18rem}.field__label{font-size:var(--text-sm);font-weight:600;color:var(--ink-muted)}.field input,.field select{min-height:var(--touch-target);padding:var(--space-2) var(--space-3);font:inherit;color:var(--ink-strong);background:var(--surface-raised);border:1px solid var(--line-strong);border-radius:var(--radius);max-width:100%}.filters__secondary{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:var(--space-4);margin-top:var(--space-4)}.filters__disclosure{display:none}.chips{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--line)}.chips__label{font-size:var(--text-sm);font-weight:600;color:var(--ink-muted)}.chip-remove{display:inline-flex;align-items:center;gap:var(--space-2);min-height:2rem;padding:var(--space-1) var(--space-3);font:inherit;font-size:var(--text-sm);color:var(--ink-strong);background:var(--surface-sunken);border:1px solid var(--line-strong);border-radius:999px;cursor:pointer}.chip-remove:after{content:"×";font-size:1.1em;line-height:1}.chip-remove:hover{background:var(--surface-page)}.button{min-height:var(--touch-target);padding:var(--space-2) var(--space-4);font:inherit;font-weight:600;color:var(--ink-inverse);background:var(--accent-strong);border:1px solid var(--accent-strong);border-radius:var(--radius);cursor:pointer}.button--quiet{color:var(--accent-strong);background:transparent}.button:hover{background:var(--accent);border-color:var(--accent);color:var(--ink-inverse)}.routes{display:grid;gap:var(--space-5);margin:var(--space-5) 0}.route{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.route__summary{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);align-items:baseline;padding:var(--space-4);cursor:default;list-style:none;border-bottom:1px solid var(--line)}.route__summary::-webkit-details-marker{display:none}.route__title{font-size:var(--text-lg)}.route__count{font-size:var(--text-sm);font-weight:600;color:var(--ink-muted)}.route__intro{flex-basis:100%;font-size:var(--text-sm);color:var(--ink-muted)}.route__body{padding:var(--space-4);display:grid;gap:0;background-image:radial-gradient(var(--line) 1px,transparent 1px);background-size:18px 18px;background-position:-1px -1px}.phase{padding:var(--space-2) 0 var(--space-4)}.phase__title{display:inline-block;margin-bottom:var(--space-4);padding-left:var(--space-3);font-size:var(--text-md);border-left:4px solid var(--flow-line, var(--line-strong))}.phase__stages{display:grid;gap:var(--space-5) var(--space-6);grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}.phase__stages>li{position:relative;min-width:0}.phase__stages>li:not(:first-child):before,.phase__stages>li:not(:first-child):after{content:"";position:absolute;pointer-events:none}.phase__stages>li:not(:first-child):before{inset-inline-start:calc(var(--space-6) * -1);inset-block-start:1.55rem;inline-size:var(--space-6);block-size:3px;border-radius:2px;background:var(--flow-line, var(--line-strong))}.phase__stages>li:not(:first-child):after{inset-inline-start:-10px;inset-block-start:calc(1.55rem - 5px);inline-size:0;block-size:0;border-block:6.5px solid transparent;border-inline-start:10px solid var(--flow-line, var(--line-strong))}.phase--commons{--flow-line: var(--commons)}.phase--lords{--flow-line: var(--lords)}.phase--both{--flow-line: var(--shared)}.transfer{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);margin:0 auto;padding:var(--space-2) var(--space-4) var(--space-3);max-width:44rem;font-size:var(--text-sm);font-weight:600;color:var(--ink-muted);text-align:center}.transfer__rule{width:3px;height:var(--space-4);border-radius:2px;background:var(--line-strong)}.transfer__rule--head{width:0;height:0;background:none;border-inline:7px solid transparent;border-block-start:10px solid var(--line-strong);border-radius:0}.transfer__label{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--surface-sunken);border:1px dashed var(--line-strong);border-radius:999px;white-space:normal}.junction{display:flex;flex-direction:column;align-items:center;padding:var(--space-1) 0}.junction__line{width:3px;height:var(--space-5);border-radius:2px;background:var(--line-strong)}.junction__head{width:0;height:0;border-inline:7px solid transparent;border-block-start:10px solid var(--line-strong)}.bucket{display:flex;flex-direction:column;min-width:0;border:2px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--surface-raised);box-shadow:var(--shadow-card)}.phase--commons .bucket{border-color:var(--commons)}.phase--lords .bucket{border-color:var(--lords)}.phase--both .bucket{border-color:var(--shared)}.bucket__header{padding:var(--space-3);border-bottom:2px solid var(--line-strong);border-radius:6px 6px 0 0;background:var(--surface-sunken)}.phase--commons .bucket__header{background:var(--commons-wash);border-bottom-color:var(--commons)}.phase--lords .bucket__header{background:var(--lords-wash);border-bottom-color:var(--lords)}.phase--both .bucket__header{background:var(--shared-wash);border-bottom-color:var(--shared)}.bucket__step{display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;margin-right:var(--space-2);font-size:var(--text-xs);font-weight:700;color:var(--ink-inverse);background:var(--shared);border-radius:50%;vertical-align:-.35rem}.phase--commons .bucket__step{background:var(--commons)}.phase--lords .bucket__step{background:var(--lords)}.bucket__name{display:inline;font-size:var(--text-base)}.bucket__count{display:table;margin-top:var(--space-2);padding:1px var(--space-2);font-size:var(--text-xs);font-weight:700;color:var(--ink-strong);background:var(--surface-raised);border:1px solid var(--line-strong);border-radius:999px}.bucket__explanation{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--ink-muted)}.bucket__loop{display:block;margin-top:var(--space-2);font-size:var(--text-xs);font-weight:600;color:var(--ink-muted)}.bucket__list{display:grid;gap:var(--space-2);padding:var(--space-3);max-height:26rem;overflow-y:auto}.bucket__empty{padding:var(--space-3);font-size:var(--text-sm);color:var(--ink-subtle);font-style:italic}.card{display:block;width:100%;min-height:var(--touch-target);padding:var(--space-3);font:inherit;text-align:left;color:var(--ink-strong);background:var(--surface-raised);border:1px solid var(--line-strong);border-left:4px solid var(--line-strong);border-radius:var(--radius);cursor:pointer}.card:hover{background:var(--surface-sunken)}.card--commons{border-left-color:var(--commons)}.card--lords{border-left-color:var(--lords)}.card--unassigned{border-left-color:var(--shared)}.card__title{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-weight:600;font-size:var(--text-base)}.card__meta{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-2);margin-top:var(--space-2);font-size:var(--text-xs);color:var(--ink-muted)}.tag{display:inline-block;padding:1px var(--space-2);font-size:var(--text-xs);font-weight:600;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-sunken);color:var(--ink-strong)}.tag--commons{background:var(--commons-wash);border-color:var(--commons)}.tag--lords{background:var(--lords-wash);border-color:var(--lords)}.tag--warning{background:var(--status-warning-wash);border-color:var(--status-warning);color:var(--status-warning)}.tag--accent{background:var(--accent-wash);border-color:var(--accent);color:var(--accent-strong)}.section{margin:var(--space-5) 0;padding:var(--space-4);background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.section__title{font-size:var(--text-lg)}.section__intro{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--ink-muted)}.section__grid{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));margin-top:var(--space-4)}.no-results{margin:var(--space-5) 0;padding:var(--space-5);text-align:center;background:var(--surface-raised);border:1px dashed var(--line-strong);border-radius:var(--radius-lg)}.sheet-backdrop{position:fixed;inset:0;z-index:40;background:#101d3373}.sheet{position:fixed;inset-block:0;inset-inline-end:0;z-index:50;width:min(34rem,100vw);display:flex;flex-direction:column;background:var(--surface-raised);box-shadow:var(--shadow-sheet);overflow-y:auto}.sheet__header{position:sticky;top:0;display:flex;gap:var(--space-3);align-items:flex-start;justify-content:space-between;padding:var(--space-4);background:var(--surface-raised);border-bottom:1px solid var(--line)}.sheet__title{font-size:var(--text-lg)}.sheet__close{flex:none;width:var(--touch-target);height:var(--touch-target);font:inherit;font-size:var(--text-lg);line-height:1;color:var(--ink-strong);background:var(--surface-sunken);border:1px solid var(--line-strong);border-radius:var(--radius);cursor:pointer}.sheet__body{padding:var(--space-4);display:grid;gap:var(--space-5)}.detail-group__title{font-size:var(--text-md);margin-bottom:var(--space-2)}.detail-list{display:grid;grid-template-columns:minmax(8rem,auto) 1fr;gap:var(--space-2) var(--space-4);margin:0;font-size:var(--text-sm)}.detail-list dt{font-weight:600;color:var(--ink-muted)}.detail-list dd{margin:0;color:var(--ink-strong)}.timeline{display:grid;gap:var(--space-2)}.timeline__item{padding:var(--space-2) var(--space-3);border-left:3px solid var(--line-strong);background:var(--surface-sunken);border-radius:0 var(--radius) var(--radius) 0;font-size:var(--text-sm)}.timeline__item--commons{border-left-color:var(--commons)}.timeline__item--lords{border-left-color:var(--lords)}.timeline__meta{display:block;margin-top:2px;font-size:var(--text-xs);color:var(--ink-muted)}.external-link{display:inline-flex;align-items:center;min-height:var(--touch-target);padding:var(--space-2) var(--space-4);font-weight:600;color:var(--ink-inverse);background:var(--accent-strong);border-radius:var(--radius);text-decoration:none}.external-link:hover{background:var(--accent)}.footer{margin-top:auto;padding:var(--space-5) 0;background:var(--surface-inverse);color:#cfd7e4;font-size:var(--text-sm)}.footer a{color:#a7dbdb}.footer__grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}.footer__heading{color:var(--ink-inverse);font-size:var(--text-base);margin-bottom:var(--space-2)}.skeleton{background:linear-gradient(90deg,var(--surface-sunken) 25%,#dfe5ee 50%,var(--surface-sunken) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite;border-radius:var(--radius-sm)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton--line{height:.75rem;margin-bottom:var(--space-2)}.skeleton--card{height:3.5rem;margin-bottom:var(--space-2)}@media(min-width:1200px){.shell{padding:0 var(--space-5)}.phase__stages{grid-template-columns:repeat(5,minmax(0,1fr))}.phase--both .phase__stages{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:768px)and (max-width:1199px){.phase__stages{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:767px){.route__summary{cursor:pointer;min-height:var(--touch-target)}.route__summary:before{content:"▸";margin-right:var(--space-2);color:var(--ink-muted)}.route[open]>.route__summary:before{content:"▾"}.phase__stages{grid-template-columns:1fr;gap:var(--space-6)}.phase__stages>li:not(:first-child):before{inset-inline-start:50%;inset-block-start:calc(var(--space-6) * -1);inline-size:3px;block-size:var(--space-6);transform:translate(-1.5px)}.phase__stages>li:not(:first-child):after{inset-inline-start:50%;inset-block-start:-10px;border-block:none;border-inline:7px solid transparent;border-block-start:10px solid var(--flow-line, var(--line-strong));transform:translate(-7px)}.filters__secondary{grid-template-columns:1fr}.filters__secondary[hidden]{display:none}.filters__disclosure{display:inline-flex;margin-top:var(--space-3)}.sheet{width:100vw}.bucket__list{max-height:none}.detail-list{grid-template-columns:1fr;gap:var(--space-1)}.detail-list dd{margin-bottom:var(--space-2)}}.journey{padding-top:var(--space-4);padding-bottom:var(--space-6)}.journey__back{margin-bottom:var(--space-4);padding-left:0}.journey__header{padding:var(--space-5);background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.journey__title{font-size:var(--text-2xl);letter-spacing:-.01em}.journey__summary{margin-top:var(--space-2);max-width:60ch;color:var(--ink-muted)}.journey__facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:var(--space-4);margin:var(--space-5) 0 0}.journey__facts dt{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted)}.journey__facts dd{margin:var(--space-1) 0 0;color:var(--ink-strong);font-weight:600}.journey__warnings{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--status-warning-wash);border-left:4px solid var(--status-warning);border-radius:var(--radius);font-size:var(--text-sm)}.journey__warnings li+li{margin-top:var(--space-2)}.journey__flow{margin-top:var(--space-5);padding:var(--space-5) var(--space-4);background-image:radial-gradient(var(--line) 1px,transparent 1px);background-size:18px 18px;border:1px solid var(--line);border-radius:var(--radius-lg)}.journey__route-title{font-size:var(--text-lg);margin-bottom:var(--space-5)}.node{border-color:var(--line-strong)}.node .bucket__header{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3);align-items:baseline;justify-content:space-between;background:var(--surface-sunken);border-bottom-color:var(--line-strong)}.node__state{display:inline-flex;align-items:baseline;gap:var(--space-1);padding:1px var(--space-2);font-size:var(--text-xs);font-weight:700;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface-raised);white-space:nowrap}.node--completed{border-color:var(--status-ok)}.node--completed .bucket__header{background:var(--status-ok-wash);border-bottom-color:var(--status-ok)}.node__state--completed{color:var(--status-ok);border-color:var(--status-ok)}.node--current{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-wash)}.node--current .bucket__header{background:var(--accent-wash);border-bottom-color:var(--accent)}.node__state--current{color:var(--accent-strong);border-color:var(--accent)}.node--stopped{border-color:var(--status-error)}.node--stopped .bucket__header{background:var(--status-error-wash);border-bottom-color:var(--status-error)}.node__state--stopped{color:var(--status-error);border-color:var(--status-error)}.node--skipped{border-style:dashed}.node__state--skipped,.node__state--upcoming{color:var(--ink-muted)}.node--upcoming{opacity:.85}.node__body{padding:var(--space-3)}.node__meaning{font-size:var(--text-sm);color:var(--ink-muted)}.node__events{margin-top:var(--space-2);font-size:var(--text-sm)}.node__events li+li{margin-top:var(--space-1)}.node__event-name{font-weight:600;color:var(--ink-strong)}.node__event-date{color:var(--ink-muted)}.node__side{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px dashed var(--line-strong)}.node__side-title{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted)}.journey__fallback{margin-top:var(--space-4);text-align:left}.journey__external{margin-top:var(--space-5)}.journey__anytime{margin-top:var(--space-3);font-size:var(--text-sm)}.journey__anytime li+li{margin-top:var(--space-2)}.journey__steps>li:not(:first-child):before,.journey__steps>li:not(:first-child):after{z-index:1}.bucket__branch{display:grid;gap:var(--space-1);padding:var(--space-2) var(--space-3);font-size:var(--text-xs);color:var(--ink-muted);background:var(--amber-wash);border-top:1px dashed var(--amber);border-bottom:1px dashed var(--amber)}.bucket__branch-question{font-weight:700;color:var(--ink-strong)}.bucket__branch-outcome strong{color:var(--status-warning)}.flow-scroll{overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:var(--space-2)}.flow{display:block;width:100%;min-width:660px;height:auto}.flow__lane{fill:var(--surface-sunken);stroke:var(--line);stroke-width:1.5}.flow__lane--commons{fill:var(--commons-wash);stroke:var(--commons)}.flow__lane--lords{fill:var(--lords-wash);stroke:var(--lords)}.flow__lane-label{fill:var(--ink);font-size:13px;font-weight:700;text-anchor:start}.flow__edge{fill:none;stroke:var(--line-strong);stroke-width:2;stroke-linecap:round}.flow__edge--taken{stroke:var(--accent);stroke-width:3}.flow__edge--untaken{stroke:var(--line);stroke-dasharray:5 5}.flow__edge--reject.flow__edge--taken{stroke:var(--status-error)}.flow__edge--loop.flow__edge--taken{stroke:var(--amber)}.flow__head{fill:var(--line-strong)}.flow__head--taken{fill:var(--accent)}.flow__head--untaken{fill:var(--line)}.flow__edge-label{fill:var(--ink-muted);font-size:11px;font-weight:600;paint-order:stroke;stroke:var(--surface-raised);stroke-width:4px;stroke-linejoin:round}.flow__edge-label--taken{fill:var(--accent-strong);font-weight:700}.flow__shape{fill:var(--surface-raised);stroke:var(--line-strong);stroke-width:2}.flow__label{fill:var(--ink-strong);font-size:13px;font-weight:600;text-anchor:middle}.flow__step{fill:var(--line-strong)}.flow__step-text{fill:var(--ink-inverse);font-size:11px;font-weight:700;text-anchor:middle}.flow__node--completed .flow__shape{fill:var(--status-ok-wash);stroke:var(--status-ok)}.flow__node--completed .flow__step{fill:var(--status-ok)}.flow__node--current .flow__shape{fill:var(--accent-wash);stroke:var(--accent);stroke-width:4}.flow__node--current .flow__step{fill:var(--accent)}.flow__node--stopped .flow__shape,.flow__node--fail .flow__shape{fill:var(--status-error-wash);stroke:var(--status-error);stroke-width:3}.flow__node--stopped .flow__step{fill:var(--status-error)}.flow__node--skipped .flow__shape{fill:var(--surface-raised);stroke:var(--line-strong);stroke-dasharray:6 4}.flow__node--upcoming .flow__shape{fill:var(--surface-raised);stroke:var(--line-strong)}.flow__node--upcoming .flow__label{fill:var(--ink-muted)}.flow__node--start .flow__shape{fill:var(--surface-inverse);stroke:var(--surface-inverse)}.flow__node--start .flow__label{fill:var(--ink-inverse);font-weight:700}.flow__node--end .flow__shape{fill:var(--status-ok);stroke:var(--status-ok)}.flow__node--end .flow__label{fill:var(--ink-inverse);font-weight:700}.flow__node--fail .flow__label{fill:var(--status-error);font-weight:700}.flow__shape--decision,.flow__node--completed .flow__shape--decision{fill:var(--amber-wash);stroke:var(--amber)}.flow-legend{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);align-items:center;margin-top:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--surface-sunken);border-radius:var(--radius);font-size:var(--text-sm)}.flow-legend__title{font-size:var(--text-sm);margin:0}.flow-legend ul{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4)}.flow-legend li{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:600;color:var(--ink)}.flow-legend__swatch{width:1rem;height:1rem;border:2px solid var(--line-strong);border-radius:4px;background:var(--surface-raised)}.flow-legend__swatch--completed{background:var(--status-ok-wash);border-color:var(--status-ok)}.flow-legend__swatch--current{background:var(--accent-wash);border-color:var(--accent)}.flow-legend__swatch--stopped{background:var(--status-error-wash);border-color:var(--status-error)}.flow-legend__swatch--skipped{border-style:dashed}.journey__steps{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));margin-top:var(--space-4)}.flow-scroll:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius)}
