:root{--flow-bg:#fafaf9;--flow-surface:#fff;--flow-surface-soft:#fafaf9;--flow-border:#d8d5cf;--flow-border-muted:#e5e3de;--flow-text:#1c1917;--flow-text-soft:#57534e;--flow-text-muted:#a8a29e;--flow-code-bg:#e7e5e4b3;--flow-green-stroke:#3d7a44;--flow-green-fill:#a9cbae;--flow-green-bg:#ecfdf599;--flow-green-text:#065f46;--flow-blue-stroke:#2477ad;--flow-blue-fill:#a6cce6;--flow-blue-text:#0369a1;--flow-amber-stroke:#a06e00;--flow-amber-fill:#e3ca8b;--flow-amber-text:#92400e;--flow-red-stroke:#b0413e;--flow-red-fill:#e2acaa;--flow-red-text:#991b1b;--flow-gray-stroke:#a8a29e;--flow-gray-fill:#dad7d2;color:var(--flow-text);background:var(--flow-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 20% 10%, #e3ca8b29, transparent 28rem), linear-gradient(0deg, #d8d5cf38 1px, transparent 1px), linear-gradient(90deg, #d8d5cf2e 1px, transparent 1px), var(--flow-bg);background-size:auto,28px 28px,28px 28px,auto;min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled,input:disabled,textarea:disabled{cursor:not-allowed;opacity:.58}a{color:inherit;text-decoration:none}.flow-shell{min-height:100vh;color:var(--flow-text);grid-template-columns:236px minmax(0,1fr);display:grid}.flow-sidebar{border-right:1px solid var(--flow-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffb8;flex-direction:column;gap:1.25rem;height:100vh;padding:1.25rem;display:flex;position:sticky;top:0}.brand-block{background:var(--flow-surface);border:1px solid var(--flow-border);align-items:center;gap:.75rem;padding:.7rem;display:flex;position:relative}.brand-block:after,.flow-card:after,.notice:after,.list-item:after,.table-row:after{content:"";pointer-events:none;z-index:0;border:1px solid #a8a29e80;position:absolute;inset:3px -3px -3px 3px}.brand-block>*,.flow-card>*,.notice>*,.list-item>*,.table-row>*{z-index:1;position:relative}.brand-block strong{font-family:ui-serif,Georgia,Cambria,Times New Roman,serif;font-size:1.05rem;display:block}.brand-block span:not(.brand-mark){color:var(--flow-text-soft);font-size:.78rem}.brand-mark{background:var(--flow-green-fill);border:1px solid var(--flow-green-stroke);width:42px;height:42px;color:var(--flow-green-text);place-items:center;font-weight:900;display:grid;transform:rotate(-2deg)}.nav-list{gap:.55rem;display:grid}.nav-list button{width:100%;color:var(--flow-text-soft);text-align:left;background:0 0;border:1px solid #0000;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem .75rem;display:flex}.nav-list button:hover{border-color:var(--flow-border-muted);background:#ffffffb8}.nav-list button.active{border-color:var(--flow-blue-stroke);color:var(--flow-text);background:#a6cce647}.nav-list small{text-transform:uppercase;letter-spacing:.16em;color:var(--flow-text-muted);font-size:.64rem}.flow-workspace{width:100%;min-width:0;max-width:80rem;margin:0 auto;padding:2rem 1.5rem 4rem}.route-header,.panel-heading,.goal-header,.notice{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.route-header{margin-bottom:1rem}.route-header h1,.flow-card h1,.flow-card h2{margin:0;font-family:ui-serif,Georgia,Cambria,Times New Roman,serif;line-height:1.1}.route-header h1{font-size:clamp(2rem,4vw,3.4rem)}.flow-card h1{font-size:clamp(2.2rem,5vw,4rem)}.flow-card h2{font-size:1.35rem}.eyebrow{color:var(--flow-text-muted);letter-spacing:.18em;text-transform:uppercase;margin:0 0 .4rem;font-size:.68rem;font-weight:700}.route-stack{gap:1rem;display:grid}.flow-card{background:var(--flow-surface);border:1px solid var(--flow-border);padding:1.25rem;position:relative}.flow-card[data-tone=green]{border-color:#3d7a4470}.flow-card[data-tone=blue]{border-color:#2477ad70}.flow-card[data-tone=amber]{border-color:#a06e0070}.flow-card[data-tone=red]{border-color:#b0413e70}.flow-hero{grid-template-columns:minmax(0,1fr) 132px;align-items:center;gap:2rem;min-height:220px;display:grid}.hero-copy p{max-width:60ch;color:var(--flow-text-soft);line-height:1.65}.flow-card code,.flow-code{background:var(--flow-code-bg);color:#292524;word-break:break-word;padding:.18rem .42rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.85em;display:inline-block}.progress-ring{border:3px solid var(--flow-green-stroke);outline:1px dashed var(--flow-green-stroke);outline-offset:5px;background:#a9cbae38;border-radius:50%;align-content:center;place-items:center;width:124px;height:124px;display:grid;transform:rotate(1.5deg)}.progress-ring strong{font-family:ui-serif,Georgia,serif;font-size:2.1rem}.progress-ring span{color:var(--flow-text-soft);font-size:.84rem}.flow-seal{white-space:nowrap;background:#fff9;border:1px solid;align-items:center;gap:.25rem;padding:.2rem .65rem;font-size:.75rem;font-weight:700;display:inline-flex;transform:rotate(-.6deg)}.flow-seal--green{color:var(--flow-green-text)}.flow-seal--amber{color:var(--flow-amber-text)}.flow-seal--red{color:var(--flow-red-text)}.flow-seal--gray{color:var(--flow-text-soft)}.progress-rail{grid-template-columns:repeat(5,minmax(90px,1fr));gap:.65rem;padding-top:1rem;display:grid;overflow-x:auto}.rail-step{color:var(--flow-text-soft);background:0 0;border:0;justify-items:center;gap:.45rem;min-width:86px;display:grid}.flow-node{border:1.6px solid var(--flow-gray-stroke);background:#fff;border-radius:50%;place-items:center;width:38px;height:38px;font-weight:800;display:grid}.node-green{border-color:var(--flow-green-stroke);background:var(--flow-green-fill);color:var(--flow-green-text)}.node-blue{border-color:var(--flow-blue-stroke);background:var(--flow-blue-fill);color:var(--flow-blue-text)}.node-gray{color:var(--flow-text-muted)}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.metric-card strong{margin:.35rem 0;font-family:ui-serif,Georgia,serif;font-size:2.6rem;display:block}.metric-card p,.flow-card p{color:var(--flow-text-soft);line-height:1.62}.flow-goal-card details{margin-top:1rem}.route-columns{grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:1.25rem;margin-top:1.1rem;display:grid}.wide-route{grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);align-items:start}.document-ingest-stack{gap:.9rem;display:grid}.mini-panel{border:1px dashed var(--flow-border);background:#ffffff8a;padding:.9rem}.mini-panel h3{margin:.15rem 0 0;font-size:1rem}.markdown-input{min-height:190px;font-family:var(--flow-mono);font-size:.86rem}.form-stack,.form-grid,.question-form{gap:.9rem;display:grid}.settings-form{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;align-items:end;margin-top:1rem}label{color:var(--flow-text-soft);gap:.42rem;font-size:.86rem;font-weight:700;display:grid}input,textarea{border:1px solid var(--flow-border);background:var(--flow-surface-soft);width:100%;color:var(--flow-text);border-radius:0;outline:none;font-size:.92rem}input{min-height:42px;padding:0 .75rem}textarea{resize:vertical;min-height:92px;padding:.7rem .75rem;line-height:1.55}input:focus,textarea:focus{border-color:var(--flow-blue-stroke);box-shadow:inset 0 0 0 1px var(--flow-blue-stroke)}.primary-button,.ghost-button{border-radius:0;min-height:42px;padding:0 .95rem;font-weight:800}.primary-button{border:1px solid var(--flow-text);background:var(--flow-text);color:#fff}.primary-button:hover:not(:disabled){background:#292524}.ghost-button{border:1px solid var(--flow-border);color:var(--flow-text-soft);background:#fff}.ghost-button:hover:not(:disabled){border-color:var(--flow-blue-stroke);color:var(--flow-blue-text)}.notice{border:1px solid var(--flow-border);background:var(--flow-surface);align-items:center;margin-bottom:1rem;padding:.75rem .85rem;position:relative}.notice.success{border-color:var(--flow-green-stroke);color:var(--flow-green-text)}.notice.error{border-color:var(--flow-red-stroke);color:var(--flow-red-text)}.notice.info{border-color:var(--flow-blue-stroke);color:var(--flow-blue-text)}.notice button{color:currentColor;background:0 0;border:0;width:28px;height:28px;font-weight:900}.item-list,.table-list{gap:.7rem;display:grid}.list-item,.table-row{border:1px solid var(--flow-border-muted);background:var(--flow-surface-soft);width:100%;color:var(--flow-text);text-align:left;gap:.45rem;padding:.9rem;display:grid;position:relative}.list-item.selected{border-color:var(--flow-green-stroke);background:var(--flow-green-bg)}.list-item strong,.list-item small{display:block}.list-item small,.meta-line,.muted,.table-row span{color:var(--flow-text-soft);font-size:.84rem}.table-row{grid-template-columns:minmax(140px,1.2fr) minmax(90px,.7fr) minmax(120px,1fr) auto auto auto;align-items:center}.document-filter,.pager{border:1px dashed var(--flow-border);background:#fafaf9b3;justify-content:space-between;align-items:end;gap:.75rem;padding:.75rem;display:flex}.document-filter label{flex:1}.pager span{color:var(--flow-text-soft);font-size:.84rem}.checkbox-row{align-items:center;gap:.65rem;display:flex}.checkbox-row input{width:18px;min-height:18px}.embed-panel{position:sticky;top:1.25rem}.code-box{border:1px solid var(--flow-border);background:var(--flow-code-bg);color:#292524;white-space:pre-wrap;word-break:break-all;min-height:190px;margin:1rem 0;padding:.9rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.82rem;line-height:1.6;overflow:auto}.question-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;margin-top:1rem}.question-form textarea{min-height:110px}.answer-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:1rem;margin-top:1rem;display:grid}.answer-box,.sources-box{border:1px solid var(--flow-border-muted);background:var(--flow-surface-soft);min-height:150px;padding:.9rem}.answer-box>strong,.sources-box>strong{margin-bottom:.65rem;display:block}.markdown-answer{color:var(--flow-text);gap:.62rem;line-height:1.72;display:grid}.markdown-answer h1,.markdown-answer h2,.markdown-answer h3,.markdown-answer h4{color:var(--flow-text);margin:.35rem 0 .1rem;line-height:1.28}.markdown-answer h1{font-size:1.25rem}.markdown-answer h2{font-size:1.14rem}.markdown-answer h3{font-size:1.02rem}.markdown-answer h4{font-size:.96rem}.markdown-answer p{margin:0}.markdown-answer ul,.markdown-answer ol{margin:0;padding-left:1.25rem}.markdown-answer li{margin:.18rem 0}.markdown-answer code{border:1px solid var(--flow-border-muted);font-family:var(--flow-mono);background:#ffffffc2;padding:.08rem .28rem;font-size:.86em}.markdown-answer pre{border:1px dashed var(--flow-border);background:#1c19170a;margin:.15rem 0;padding:.75rem;overflow:auto}.markdown-answer pre code{background:0 0;border:0;padding:0}.markdown-answer a{color:var(--flow-blue-text);text-underline-offset:3px;text-decoration:underline}.markdown-table-wrap{border:1px solid var(--flow-border-muted);background:#ffffff7a;overflow-x:auto}.markdown-table-wrap table{border-collapse:collapse;width:100%;min-width:520px;font-size:.9rem}.markdown-table-wrap th,.markdown-table-wrap td{border:1px solid var(--flow-border-muted);text-align:left;vertical-align:top;padding:.55rem .65rem}.markdown-table-wrap th{color:var(--flow-text);background:#a6cce62e}.sources-box article{border-top:1px dashed var(--flow-border);margin-top:.65rem;padding-top:.65rem}.sources-box span{color:var(--flow-blue-text);font-size:.82rem;font-weight:700}details>summary{cursor:pointer;color:var(--flow-text);font-weight:700;list-style:none}details>summary::-webkit-details-marker{display:none}details>summary:before{content:"▸";color:var(--flow-text-muted);margin-right:.5rem;transition:transform .15s;display:inline-block}details[open]>summary:before{transform:rotate(90deg)}.widget-chat-shell{background:var(--flow-bg);min-height:100vh;color:var(--flow-text);grid-template-rows:auto minmax(0,1fr) auto auto;display:grid}.widget-chat-header{border-bottom:1px solid var(--flow-border);background:#fff;align-items:center;gap:.75rem;padding:.9rem;display:flex}.widget-avatar{border:1px solid var(--flow-green-stroke);background:var(--flow-green-fill);width:42px;height:42px;color:var(--flow-green-text);place-items:center;font-weight:900;display:grid;overflow:hidden}.widget-avatar img{object-fit:cover;width:100%;height:100%}.widget-chat-header p{color:var(--flow-text-soft);margin:0;font-size:.78rem}.widget-chat-header strong{display:block}.widget-status{border:1px solid;margin-left:auto;padding:.15rem .45rem;font-size:.72rem}.widget-status.ready{color:var(--flow-green-text)}.widget-status.busy{color:var(--flow-blue-text)}.widget-chat-messages{flex-direction:column;gap:.75rem;min-height:0;padding:.9rem;display:flex;overflow:auto}.widget-message{gap:.25rem;max-width:86%;display:grid}.widget-message.user{align-self:end}.widget-message.assistant{align-self:start}.widget-message-bubble{border:1px solid var(--flow-border);background:#fff;padding:.65rem .75rem}.widget-message.user .widget-message-bubble{border-color:var(--flow-blue-stroke);background:#a6cce633}.widget-message p{margin:0;line-height:1.5}.widget-markdown-message{gap:.5rem;line-height:1.58;display:grid}.widget-markdown-message h3,.widget-markdown-message h4{margin:.15rem 0 0;line-height:1.3}.widget-markdown-message h3{font-size:1rem}.widget-markdown-message h4{font-size:.94rem}.widget-markdown-message ul,.widget-markdown-message ol{margin:0;padding-left:1.15rem}.widget-markdown-message li{margin:.2rem 0}.widget-markdown-message code{border:1px solid var(--flow-border-muted);font-family:var(--flow-mono);background:#ffffffb8;padding:.05rem .22rem;font-size:.86em}.widget-markdown-message pre{border:1px dashed var(--flow-border);background:#1c19170a;margin:0;padding:.55rem;overflow:auto}.widget-markdown-message pre code{background:0 0;border:0;padding:0}.widget-markdown-message a{color:var(--flow-blue-text);text-underline-offset:3px;text-decoration:underline}.widget-markdown-table-wrap{border:1px solid var(--flow-border-muted);max-width:100%;overflow-x:auto}.widget-markdown-table-wrap table{border-collapse:collapse;min-width:420px;font-size:.82rem}.widget-markdown-table-wrap th,.widget-markdown-table-wrap td{border:1px solid var(--flow-border-muted);text-align:left;vertical-align:top;padding:.42rem .5rem}.widget-markdown-table-wrap th{background:#a6cce629}.widget-message time{color:var(--flow-text-muted);font-size:.72rem}.widget-message.user time{text-align:right}.typing-dots{gap:.2rem;margin-top:.4rem;display:inline-flex}.typing-dots i{background:var(--flow-blue-stroke);border-radius:50%;width:5px;height:5px;animation:1s ease-in-out infinite pulse}.typing-dots i:nth-child(2){animation-delay:.12s}.typing-dots i:nth-child(3){animation-delay:.24s}@keyframes pulse{0%,80%,to{opacity:.35}40%{opacity:1}}.widget-sources,.widget-error{border:1px solid var(--flow-border);background:#fff;margin:0 .9rem .75rem;padding:.65rem}.widget-error{color:var(--flow-red-text);justify-content:space-between;gap:.75rem;display:flex}.widget-error button{border:1px solid var(--flow-red-stroke);color:var(--flow-red-text);background:#fff}.widget-chat-form{border-top:1px solid var(--flow-border);background:#fff;grid-template-columns:minmax(0,1fr) auto;gap:.6rem;padding:.75rem;display:grid}.widget-chat-form textarea{min-height:48px;max-height:120px}.widget-chat-form button{border:1px solid var(--flow-text);background:var(--flow-text);color:#fff;padding:0 .9rem}@media (width<=900px){.flow-shell{grid-template-columns:1fr}.flow-sidebar{height:auto;position:static}.nav-list{grid-template-columns:repeat(3,minmax(0,1fr))}.flow-workspace{padding:1rem}.flow-hero,.route-columns,.wide-route,.settings-form,.answer-grid,.question-form,.summary-grid{grid-template-columns:1fr}.embed-panel{position:relative;top:auto}.table-row{grid-template-columns:1fr}.document-filter,.pager{flex-direction:column;align-items:stretch}}@media (width<=560px){.route-header,.panel-heading,.notice{flex-direction:column;align-items:stretch}.nav-list{grid-template-columns:repeat(2,minmax(0,1fr))}.flow-hero{gap:1rem}}
