@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-latin-600-normal-DjKNqYRj.woff2)format("woff2"),url(/assets/space-grotesk-latin-600-normal-BflQw4A9.woff)format("woff")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-700-normal-RjhwGPKo.woff2)format("woff2"),url(/assets/space-grotesk-latin-700-normal-CwsQ-cCU.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f4f5f1;--canvas:#f7f8f4;--grid:#edefea;--card:#fff;--chip-bg:#f2f4f0;--option-bg:#fafbf9;--line:#d9ded7;--ink:#161f2b;--muted:#5d6b7a;--label-unlit:#68726a;--sublabel-unlit:#68726a;--path:#007a64;--path-soft:#dff0eb;--rej:#c0362a;--rej-soft:#fbeae7;--ghost:#c7cec8;--amber:#8a5a00;--amber-soft:#fff3d6;--web:#2456a8;--web-soft:#e7edf8;--web-muted:#5b7099;--accent:#582c83;--accent-soft:#efe8f6;--hdr-fg:#f3f5f2;--hdr-eyebrow:#9db8b0;--hdr-sub:#aeb9b3;--crumb-border:#a9d4ca;--shadow-card:0 1px 3px #161f2b0f;--mark-fill:#fff;--hdr-btn-border:#f3f5f259;--legend-bg:#ffffffe6;--font-sans:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-disp:"Space Grotesk", var(--font-sans);--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--text-2xs:11px;--text-xs:10.5px;--text-sm:11.5px;--text-md:12.5px;--text-base:13px;--text-lg:15.5px;--text-panel:12px;--text-xl:22px;--text-h1:clamp(17px, 2vw, 22px);--map-label:11.5px;--map-sublabel:9.5px;--tracking-kicker:.12em;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-6:24px;--sp-8:32px;--r-sm:6px;--r-md:10px;--r-pill:999px;--control-h:32px;--ease-out:cubic-bezier(.23, 1, .32, 1);--pan-ease:cubic-bezier(.2, .7, .2, 1)}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);font:15px/1.5 var(--font-sans);margin:0}button,input,textarea,select{font:inherit}h1,h2,h3{margin:0 0 .4em;line-height:1.25}code{font-family:var(--font-mono);background:var(--chip-bg);border-radius:4px;padding:0 4px;font-size:.9em}:focus-visible{outline:3px solid var(--path);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}main{min-height:100vh}.app-header{align-items:center;gap:var(--sp-2) var(--sp-4);background:var(--ink);color:var(--hdr-fg);padding:14px var(--sp-6);border-bottom:4px solid var(--path);margin-bottom:var(--sp-4);flex-wrap:wrap;display:flex}.app-header .eyebrow{font:500 var(--text-xs) var(--font-mono);text-transform:uppercase;letter-spacing:var(--tracking-kicker);color:var(--hdr-eyebrow);flex-basis:100%}.app-header h1{font:700 var(--text-h1) var(--font-disp);letter-spacing:-.01em;color:var(--hdr-fg);margin:0}.app-header .badge{margin-left:var(--sp-1)}.app-header button{margin-left:auto}.app-header button+button{margin-left:var(--sp-2)}.page{padding:0 var(--sp-6) var(--sp-8)}.btn-ghost,.app-header button,.prescope>button,.overlay-editor button,.drop-zone .file-label{height:var(--control-h)}.btn-ghost,.app-header button,.prescope>button,.overlay-editor header button,button[data-id=cancel-revisit],button[data-id=forget-workspace]{font:500 var(--text-md) var(--font-sans);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--muted);cursor:pointer;background:0 0;padding:5px 11px;transition:border-color .15s,color .15s}.app-header button{color:var(--hdr-fg);border-color:var(--hdr-btn-border);background:0 0}.app-header button:hover{border-color:var(--hdr-fg)}.btn-ghost:hover,.prescope>button:hover,.overlay-editor header button:hover{border-color:var(--ink);color:var(--ink)}.btn-solid,button[data-id=open-folder],button[data-id=reopen-workspace],button[data-id=editor-save]{height:var(--control-h);font:500 var(--text-md) var(--font-sans);background:var(--path);color:var(--card);border:1px solid var(--path);border-radius:var(--r-sm);cursor:pointer;padding:5px 14px}button[data-id=open-folder]:hover,button[data-id=reopen-workspace]:hover,button[data-id=editor-save]:hover{filter:brightness(1.08)}.error{color:var(--rej);font-size:var(--text-md)}.badge{font:600 var(--text-sm) var(--font-sans);border-radius:var(--r-pill);white-space:nowrap;padding:2px 10px}.badge.ready{background:var(--path-soft);color:var(--path)}.badge.needs-prep{background:var(--amber-soft);color:var(--amber)}.badge.readonly{background:var(--rej-soft);color:var(--rej)}.badge.dict{background:var(--accent-soft);color:var(--accent)}.landing{max-width:640px;padding:0 var(--sp-4);margin:8vh auto}.landing h1{font:700 var(--text-xl) var(--font-disp);letter-spacing:-.01em}.landing>p{color:var(--muted);font-size:var(--text-md)}.landing .actions{gap:var(--sp-2);margin:var(--sp-4) 0;align-items:center;display:flex}.drop-zone{background:var(--card);border:1.5px dashed var(--line);border-radius:var(--r-md);padding:var(--sp-4);margin-top:var(--sp-4);text-align:center;transition:border-color .15s}.drop-zone.over{border-color:var(--path)}.drop-zone p{font:500 var(--text-xs) var(--font-mono);text-transform:uppercase;letter-spacing:var(--tracking-kicker);color:var(--muted);margin:var(--sp-2) 0}.drop-zone input[type=file]{clip-path:inset(50%);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.drop-zone .file-label{font:500 var(--text-md) var(--font-sans);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--muted);cursor:pointer;align-items:center;padding:5px 11px;display:inline-flex;position:relative}.drop-zone .file-label:hover{border-color:var(--ink);color:var(--ink)}.drop-zone .file-label:focus-within{outline:3px solid var(--path);outline-offset:2px}.flow-list ul{gap:var(--sp-2);flex-direction:column;max-width:760px;padding:0;list-style:none;display:flex}.flow-list li button{justify-content:space-between;align-items:center;gap:var(--sp-4);width:100%;padding:var(--sp-3) 14px;cursor:pointer;border:1px solid var(--line);border-radius:var(--r-md);background:var(--card);box-shadow:var(--shadow-card);text-align:left;font:500 var(--text-base) var(--font-sans);color:var(--ink);transition:border-color .15s;display:flex}.flow-list li button:hover{border-color:var(--path)}.flow-explorer .top{gap:var(--sp-6);padding:0 var(--sp-6);align-items:flex-start;display:flex}.question-card,.outcome-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-4);box-shadow:var(--shadow-card)}.question-card{flex:2}.outcome-panel{flex:1;min-width:300px}.q-step{font:500 var(--text-xs) var(--font-mono);text-transform:uppercase;letter-spacing:var(--tracking-kicker);color:var(--accent);margin-bottom:var(--sp-1)}.question-card h2{font:600 var(--text-lg) var(--font-disp);margin:0 0 var(--sp-1);line-height:1.35}.q-action{font:400 var(--text-2xs) var(--font-mono);color:var(--muted);background:var(--chip-bg);border:1px solid var(--line);border-radius:var(--r-sm);word-break:break-all;margin:var(--sp-2) 0;padding:3px 8px;display:inline-block}.question-card .help{font-size:var(--text-md);color:var(--muted);margin:0 0 var(--sp-3)}.question-card .options{gap:var(--sp-2);flex-wrap:wrap;align-items:stretch;display:flex}.question-card .options button{text-align:left;background:var(--option-bg);border:1.5px solid var(--line);padding:var(--sp-2) var(--sp-3);cursor:pointer;transition:border-color .15s, background .15s, transform .14s var(--ease-out);border-radius:8px;flex-direction:column;flex:180px;align-items:flex-start;display:flex}.question-card .options button span{font:500 var(--text-base) var(--font-sans);color:var(--ink)}.question-card .options button small{font:400 var(--text-sm) var(--font-sans);color:var(--muted);margin-top:1px}.question-card .options button:hover{border-color:var(--path);background:var(--path-soft)}.question-card .options button:active{transform:scale(.98)}.question-card .options button.selected{border-color:var(--accent);background:var(--accent-soft)}.question-card .options button.selected span:after{content:" · current";font:600 var(--text-2xs) var(--font-sans);color:var(--accent)}.question-card .options button[data-id=cancel-revisit]{height:var(--control-h);border:1px solid var(--line);border-radius:var(--r-sm);background:0 0;flex:none;align-self:center;padding:5px 11px}.question-card .options button[data-id=cancel-revisit]:hover{border-color:var(--ink);background:0 0}.crumbs{margin-bottom:var(--sp-2);flex-wrap:wrap;gap:6px;display:flex}.crumb{font:600 var(--text-sm) var(--font-sans);color:var(--path);background:var(--path-soft);border:1px solid var(--crumb-border);border-radius:var(--r-pill);cursor:pointer;padding:2px 10px;transition:border-color .15s}.crumb .crumb-n{color:var(--muted);margin-right:4px;font-weight:400}.crumb:hover{border-color:var(--path)}.crumb.restart{color:var(--muted);border-color:var(--line);background:0 0}.crumb.restart:hover{color:var(--rej);border-color:var(--rej);background:var(--rej-soft)}.done{font:600 var(--text-lg) var(--font-disp);align-items:center;gap:var(--sp-2);margin:var(--sp-2) 0 0;display:flex}.done:before{content:"";background:var(--path);border-radius:50%;width:11px;height:11px}.done.rejected{color:var(--rej)}.done.rejected:before{background:var(--rej)}.panel-heading,.outcome-panel h2,.overlay-editor h3{font:600 var(--text-panel) var(--font-disp);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 var(--sp-2)}.outcome-panel ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.outcome-panel li{font-size:var(--text-md);padding-left:18px;position:relative}.outcome-panel li:before{content:"";background:var(--path);border-radius:2px;width:8px;height:8px;position:absolute;top:6px;left:0}.outcome-panel li.destructive:before,.outcome-panel li.rejection:before{background:var(--rej)}.outcome-panel .flags{margin-top:var(--sp-3);border-top:1px solid var(--line);padding-top:var(--sp-2)}.outcome-panel .flags li:before{background:var(--amber)}.outcome-panel .flag-amber{color:var(--amber)}.outcome-panel p[data-id=outcome-empty]{font-size:var(--text-md);color:var(--muted);font-style:italic}.outcome-panel .attr{font:400 var(--text-2xs) var(--font-mono);background:var(--chip-bg);color:var(--muted);border-radius:4px;margin-left:6px;padding:0 4px;display:inline-block}.map-wrap{margin-top:var(--sp-4);border-top:1px solid var(--line);background:linear-gradient(var(--grid) 1px, transparent 1px) 0 0 / 100% 44px, linear-gradient(90deg, var(--grid) 1px, transparent 1px) 0 0 / 44px 100%, var(--canvas);overflow:auto}.pan-container{touch-action:none;cursor:grab}path.track{stroke:var(--ghost);stroke-width:5px;stroke-linecap:round;stroke-linejoin:round;transition:stroke .3s,stroke-width .3s}path.trace.taken{stroke:var(--path);stroke-width:8px;stroke-linecap:round;stroke-linejoin:round;transition:stroke .3s,stroke-width .3s}path.trace.red{stroke:var(--rej);stroke-width:8px;stroke-linecap:round;stroke-linejoin:round;transition:stroke .3s,stroke-width .3s}.station{fill:var(--mark-fill);stroke:var(--ghost);stroke-width:3.5px}.station.roundel{stroke-width:4px;cursor:default}.station.roundel.lit.taken{stroke:var(--ink);cursor:pointer}.station.stop.lit.taken{stroke:var(--path)}.station.lit.red{stroke:var(--rej)}.station.stop.lit.red{fill:var(--rej-soft)}.station.roundel.lit.red{cursor:pointer}.station.terminus{fill:var(--ghost);stroke:none}.station.terminus.flag-amber{stroke:none}.station.terminus.lit.taken{fill:var(--path)}.station.terminus.lit.red{fill:var(--rej);stroke:none}.station.diamond.person.lit.taken{stroke:var(--path);fill:var(--path-soft)}.station.circle.web.lit.taken{stroke:var(--web);fill:var(--web-soft)}.station.flag-amber,.station.stop.lit.taken.flag-amber,.station.roundel.lit.taken.flag-amber,.station.diamond.person.lit.taken.flag-amber,.station.circle.web.lit.taken.flag-amber{stroke:var(--amber)}.station.stop.lit.taken.flag-amber,.station.diamond.person.lit.taken.flag-amber{fill:var(--amber-soft)}@keyframes station-pulse{0%,to{stroke-width:4px}50%{stroke-width:7px}}.station.pulse,.station.roundel.lit.taken.pulse,.station.roundel.lit.red.pulse{stroke:var(--accent);cursor:pointer;animation:1.6s ease-in-out infinite station-pulse}.station-label{font:400 var(--map-label) var(--font-sans);fill:var(--label-unlit);paint-order:stroke;stroke:var(--canvas);stroke-width:3px}.station-label.lit{fill:var(--ink);font-weight:600}.station-label.lit.red{fill:var(--rej)}.station-label.lit.web{fill:var(--web)}.station-label.pulsing{fill:var(--accent);font-weight:600}.station-sublabel{font:400 var(--map-sublabel) var(--font-sans);fill:var(--sublabel-unlit);paint-order:stroke;stroke:var(--canvas);stroke-width:3px}.station-label.lit .station-sublabel,.station-sublabel.lit{fill:var(--muted)}.station-sublabel.lit.web{fill:var(--web-muted)}.station-sublabel.auto-note.lit{fill:var(--accent);font-style:italic}.map-legend{left:var(--sp-3);bottom:var(--sp-3);gap:var(--sp-3);background:var(--legend-bg);border:1px solid var(--line);border-radius:var(--r-md);margin:var(--sp-3);font-size:var(--text-sm);color:var(--muted);align-items:center;padding:6px 12px;display:inline-flex;position:sticky}.map-legend .sw{vertical-align:middle;border-radius:3px;width:14px;height:5px;margin-right:5px;display:inline-block}.prescope{margin:0 var(--sp-6) var(--sp-3)}.prescope>button{font:500 var(--text-sm) var(--font-mono)}.prescope table{border-collapse:collapse;font-size:var(--text-md);margin-top:var(--sp-2);background:var(--card)}.prescope td,.prescope th{border:1px solid var(--line);text-align:left;padding:4px 10px}.prescope th{font:500 var(--text-xs) var(--font-mono);text-transform:uppercase;letter-spacing:var(--tracking-kicker);color:var(--muted)}.prescope td code{font-size:var(--text-2xs)}.prescope .trigger{font-size:var(--text-md);color:var(--muted);max-width:860px}.overlay-editor{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-4);margin:0 var(--sp-6) var(--sp-4);box-shadow:var(--shadow-card)}.overlay-editor header{margin-bottom:var(--sp-3);gap:var(--sp-2);background:0 0;border:none;align-items:center;padding:0;display:flex}.overlay-editor header h2{font:600 var(--text-lg) var(--font-disp);color:var(--ink);margin:0 auto 0 0}.overlay-editor .hint{font-size:var(--text-sm);color:var(--muted);margin:2px 0 var(--sp-2)}.overlay-editor input,.overlay-editor textarea{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);font-size:var(--text-base);height:var(--control-h);padding:0 10px}.overlay-editor textarea{height:auto;min-height:64px;padding:var(--sp-2) 10px;width:100%;max-width:860px}.editor-row{gap:var(--sp-2);margin-bottom:var(--sp-2);align-items:center;display:flex}.editor-row input{flex:1;min-width:120px}.editor-captions span{min-width:120px;font:500 var(--text-xs) var(--font-mono);color:var(--muted);text-transform:uppercase;letter-spacing:var(--tracking-kicker);flex:1}.editor-captions span:last-child,.editor-row>button{flex:none}ul[data-id=editor-errors]{margin:0 0 var(--sp-3);padding:0;list-style:none}ul[data-id=editor-errors] li{font-size:var(--text-md);color:var(--rej);padding-left:18px;position:relative}ul[data-id=editor-errors] li:before{content:"";background:var(--rej);border-radius:2px;width:8px;height:8px;position:absolute;top:6px;left:0}
