.factory-chat-shell{max-width:920px;margin-inline:auto;padding:30px 24px 60px}.factory-chat-shell[hidden]{display:none}.chat-page{max-width:760px;margin:auto}.chat-page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:12px 0 32px}.chat-page-heading h1,.chat-empty h1{font-size:clamp(28px,4vw,40px);letter-spacing:-.045em;line-height:1.15;margin:8px 0 12px}.chat-page-heading p{margin:6px 0}.chat-empty{text-align:center;padding:12vh 24px 6vh;line-height:1.7}.chat-signin{display:grid;gap:12px;max-width:300px;margin:28px auto}.chat-transcript{display:grid;gap:24px;margin-bottom:28px}.chat-message{max-width:90%;padding:18px 22px;border-radius:18px;background:var(--surface);border:1px solid var(--line)}.chat-message.from-user{justify-self:end;background:var(--surface-raised,var(--surface))}.chat-message.from-factory{justify-self:start;border-color:transparent;background:transparent;padding-left:0}.chat-message>span{font-size:11px;color:var(--quiet);font-weight:600}.chat-message p,.chat-task-description{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;font-size:15px;margin:8px 0 0}.chat-suggestion{color:var(--quiet);font-size:15px;line-height:1.7;padding:30px 0 50px;max-width:560px}.chat-composer{border:1px solid var(--line);border-radius:20px;padding:16px;background:var(--surface);box-shadow:0 6px 28px #00000008}.chat-composer textarea{display:block;resize:vertical;width:100%;min-height:95px;background:transparent;border:0;color:var(--ink);font:inherit;line-height:1.7;outline:none}.chat-composer:focus-within{outline:2px solid var(--accent,var(--ink));outline-offset:3px}.chat-composer-toolbar,.chat-selects{display:flex;align-items:center;gap:10px}.chat-composer-toolbar{justify-content:space-between;margin-top:16px}.chat-selects{flex-wrap:wrap}.chat-selects select{border:0;background:transparent;color:var(--quiet);font:inherit;font-size:12px;padding:8px 0;max-width:190px}.chat-footnote{font-size:12px;color:var(--quiet);line-height:1.6;margin:14px 6px}.chat-task{border:1px solid var(--line);border-radius:14px;padding:18px;margin:0 0 18px}.chat-task>div:first-child{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:14px}.chat-task strong{font-size:14px;line-height:1.5}.chat-state{font-size:11px;color:var(--quiet);white-space:nowrap}.chat-project-list,.chat-task-list{display:grid;gap:16px}.chat-project{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0;border-bottom:1px solid var(--line)}.chat-project h2{font-size:18px;font-weight:500;margin:0 0 8px}.chat-project-title{color:inherit;text-decoration:none}.chat-settings-section{padding:24px 0;border-bottom:1px solid var(--line);line-height:1.7}.chat-settings-section h2{font-size:18px;margin:0 0 10px}.chat-capability{padding:16px 0}.chat-capability>span{margin-left:20px;font-size:13px;color:var(--quiet)}.chat-capability p{margin:5px 0}.chat-activity{list-style:none;padding:0}.chat-activity li{display:flex;align-items:center;gap:20px;padding:16px 0;border-bottom:1px solid var(--line);font-size:13px}.chat-activity time{color:var(--quiet);font-size:11px}.chat-preview{width:min(1000px,95vw);border:1px solid var(--line);border-radius:18px;padding:18px;background:var(--surface);color:var(--ink)}.chat-preview iframe{display:block;width:100%;height:70vh;margin-top:16px;border:0;background:white}body:has(.factory-chat-shell.active) .sidebar [hidden]{display:none!important}@media(max-width:650px){.factory-chat-shell{padding:20px 12px 40px}.chat-page-heading{align-items:start;flex-direction:column;gap:10px}.chat-composer-toolbar{align-items:end}.chat-selects{display:grid;gap:0}.chat-project{align-items:start;flex-direction:column}.chat-activity li{flex-wrap:wrap;gap:8px}.chat-message{max-width:100%}}

.chat-page:has(.chat-message) .chat-page-heading h1{font-size:26px;max-width:560px;line-height:1.3}

/* Flow: repository work, with conversation and durable context side by side. */
body:has(.factory-chat-shell.active){--action:#285f4b;--action-hover:#1c4939;--on-action:#fff}
body:has(.factory-chat-shell.active) .sidebar{background:var(--paper)}
body:has(.factory-chat-shell.active) .topbar{background:var(--paper)}
body:has(.factory-chat-shell.active) .primary-nav .nav-item{gap:12px;border-radius:7px;margin-bottom:5px}
body:has(.factory-chat-shell.active) .primary-nav .nav-item.active{background:color-mix(in srgb,var(--green) 9%,var(--paper));color:var(--green);box-shadow:inset 2px 0 var(--green)}
body:has(.factory-chat-shell.active) .primary-nav svg{width:18px;height:18px}
.factory-chat-shell{max-width:1440px;padding:0 44px 36px}
.flow-workspace{display:grid;grid-template-columns:minmax(0,1fr) 274px;gap:50px;max-width:none;margin:0}
.flow-work-area{padding-top:46px;min-width:0}
.flow-kicker{display:flex;align-items:center;gap:10px;font:10px var(--mono);letter-spacing:.08em;color:var(--quiet)}
.flow-square{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--line);border-radius:9px;color:var(--green);background:var(--surface);flex-shrink:0}
.flow-square svg{width:18px;height:18px}
.flow-local{margin-left:auto;border:1px solid var(--line);border-radius:4px;padding:4px 7px;font-size:9px;letter-spacing:.02em}
.flow-workspace .chat-page-heading{margin:34px 0 32px;align-items:flex-start}
.flow-workspace .chat-page-heading h1{font-size:clamp(32px,3.6vw,52px);font-weight:500;letter-spacing:-.055em;line-height:1.09;margin:0 0 20px}
.flow-intro{color:var(--quiet);font-size:14px;line-height:1.75}
.flow-workspace .chat-transcript:empty{display:none}
.flow-workspace .chat-composer{border-radius:12px;padding:19px 20px 15px;box-shadow:0 4px 8px #00000002,0 16px 38px #00000004;transition:border-color .2s,box-shadow .2s}
.flow-workspace .chat-composer:focus-within{outline:2px solid var(--green);outline-offset:3px;box-shadow:0 10px 35px color-mix(in srgb,var(--green) 8%,transparent)}
.flow-composer-label{display:flex;gap:9px;align-items:center;font-size:13px;font-weight:500}
.flow-composer-label>svg{width:17px;height:17px;color:var(--green);flex-shrink:0}
.flow-workspace .chat-composer textarea{margin-top:14px;min-height:93px;font-size:13px;line-height:1.7}
.flow-workspace .chat-composer textarea::placeholder{color:var(--quiet);opacity:.9}
.flow-workspace .chat-composer-toolbar{border-top:1px solid var(--line);padding-top:14px;margin-top:5px;gap:14px}
.flow-scope{display:flex;align-items:center;gap:7px;min-width:0;max-width:60%;color:var(--quiet)}
.flow-scope>svg{width:15px;height:15px;flex-shrink:0}
.flow-scope select{border:0;background:transparent;font-size:11px;max-width:100%;padding:7px 0;text-overflow:ellipsis}
.flow-workspace .button.primary{font-size:11px;border-radius:6px;padding:10px 13px;gap:9px;white-space:nowrap}
.flow-workspace .button.primary>svg{width:15px;height:15px;transition:transform .2s}
.flow-workspace .button.primary:hover>svg{transform:translateX(3px)}
.flow-workspace .chat-footnote{display:flex;align-items:flex-start;gap:7px;font-size:10px;margin:13px 0 26px;line-height:1.7}
.chat-footnote>svg{width:14px;height:14px;flex-shrink:0;margin-top:2px}
.flow-starters{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:40px}
.flow-starters button{display:grid;grid-template-columns:1fr auto;text-align:left;border:1px solid var(--line);border-radius:9px;background:transparent;padding:16px;transition:transform .2s,background .2s,border-color .2s}
.flow-starters button:hover{background:var(--surface);border-color:var(--green);transform:translateY(-3px)}
.flow-starters svg{width:18px;height:18px;color:var(--quiet);grid-column:1;margin-bottom:14px}
.flow-starters strong{font-size:12px;font-weight:500;grid-column:1}
.flow-starters span{font-size:11px;color:var(--quiet);margin-top:5px;grid-column:1}
.flow-starters svg:last-child{grid-column:2;grid-row:2;width:14px;height:14px;margin:0}
.flow-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:13px;margin-bottom:4px}
.flow-section-heading h2{font:10px var(--mono);letter-spacing:.07em;color:var(--quiet)}
.flow-text-link{font-size:11px;text-decoration:none;color:var(--quiet);line-height:1.7}
.flow-text-link:hover{color:var(--green);text-decoration:underline;text-underline-offset:4px}
.flow-recent>a{display:flex;gap:13px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line);text-decoration:none;transition:padding .2s}
.flow-recent>a:hover{padding-left:8px}
.flow-recent strong{font-weight:500;font-size:12px;display:block;overflow-wrap:anywhere}
.flow-recent small{display:block;color:var(--quiet);font:10px var(--mono);margin-top:5px}
.flow-recent>a>svg{width:16px;height:16px;margin-left:auto;flex-shrink:0;color:var(--quiet)}
.flow-recent .flow-availability{padding:24px 0}
.flow-bottom-note{display:flex;gap:9px;align-items:center;color:var(--quiet);font:10px var(--mono);margin-top:32px}
.flow-tiny-mark{font-size:20px;color:var(--green)}
.flow-rail{border-left:1px solid var(--line);padding:48px 0 0 26px;min-width:0}
.flow-rail-title{display:flex;align-items:center;justify-content:space-between;font:10px var(--mono);letter-spacing:.08em;color:var(--quiet);margin-bottom:27px}
.flow-rail-title>svg{width:16px;height:16px}
.flow-context{display:flex;gap:10px;align-items:center;margin-bottom:25px}
.flow-context strong{display:block;font-size:12px;font-weight:500;overflow-wrap:anywhere}
.flow-context p{font:10px var(--mono);color:var(--quiet);margin-top:4px}
.flow-facts{margin:0 0 32px;padding:0}
.flow-facts>div{display:flex;gap:15px;justify-content:space-between;font-size:10px;padding:11px 0;border-bottom:1px solid var(--line)}
.flow-facts dt{color:var(--quiet)}.flow-facts dd{margin:0;text-align:right}.flow-warning{color:var(--amber)}
.flow-boundary{border:1px solid var(--line);border-radius:9px;padding:16px;background:linear-gradient(150deg,color-mix(in srgb,var(--green) 3%,var(--surface)),var(--paper));margin-bottom:19px}
.flow-boundary>.eyebrow{font-size:9px;color:var(--quiet)}
.flow-boundary ol{list-style:none;padding:0;margin:24px 0;position:relative}
.flow-boundary ol:before{content:'';position:absolute;left:11px;top:10px;bottom:20px;width:1px;background:var(--line);transform-origin:top;animation:flow-connect 1s ease both}
.flow-boundary li{display:flex;gap:12px;position:relative;padding-bottom:25px;animation:flow-enter .6s ease both}
.flow-boundary li:nth-child(2){animation-delay:.12s}.flow-boundary li:nth-child(3){animation-delay:.24s;padding-bottom:0}
.flow-boundary li i{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:23px;height:23px;background:var(--paper);border:1px solid var(--line);border-radius:50%;font:8px var(--mono);color:var(--green)}
.flow-boundary li strong{font-size:11px;font-weight:500}
.flow-boundary li p{font-size:10px;color:var(--quiet);margin-top:5px;line-height:1.65}
.flow-availability{font-size:10px;line-height:1.8;color:var(--quiet)}
.flow-boundary>.flow-availability{border-top:1px solid var(--line);padding-top:12px}
.flow-workspace .chat-task{background:var(--surface);border-radius:8px;margin-top:16px}
.flow-workspace .chat-state{background:var(--surface-alt);padding:3px 7px;border-radius:4px;white-space:normal;text-align:right}
.flow-workspace .chat-message{border-radius:10px;font-size:13px}
.flow-workspace .chat-message p{font-size:13px}
.flow-work-area>.flow-kicker,.flow-work-area>.chat-page-heading,.flow-work-area>.chat-composer,.flow-starters{animation:flow-enter .55s ease both}
.flow-work-area>.chat-page-heading{animation-delay:.06s}.flow-work-area>.chat-composer{animation-delay:.12s}.flow-starters{animation-delay:.18s}
@keyframes flow-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes flow-connect{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@media(min-width:1500px){.flow-workspace{gap:80px;grid-template-columns:minmax(0,1fr) 290px}.flow-work-area{padding-top:65px}.flow-rail{padding-top:65px}.factory-chat-shell{padding-inline:65px}}
@media(max-width:1150px){.factory-chat-shell{padding-inline:28px}.flow-workspace{gap:26px;grid-template-columns:minmax(0,1fr) 235px}.flow-rail{padding-left:20px}}
@media(max-width:950px){.flow-workspace{grid-template-columns:1fr}.flow-rail{border:0;border-top:1px solid var(--line);padding:25px 0}.flow-boundary ol{display:flex;gap:20px}.flow-boundary ol:before{display:none}.flow-boundary li{flex:1;padding:0}.flow-rail-title{margin-bottom:20px}.flow-facts{margin-bottom:20px}.flow-context{margin-bottom:15px}}
@media(max-width:650px){.factory-chat-shell{padding:0 22px 30px}.flow-work-area{padding-top:26px}.flow-workspace .chat-page-heading h1{font-size:36px}.flow-workspace .chat-page-heading{margin-top:26px}.flow-local{font-size:8px}.flow-workspace .chat-composer{padding:16px}.flow-composer-label{font-size:12px}.flow-workspace .chat-composer-toolbar{align-items:center;gap:7px}.flow-workspace .button.primary{padding:9px 10px;font-size:10px}.flow-scope{max-width:54%}.flow-starters{gap:9px;margin-bottom:30px}.flow-starters button{padding:13px}.flow-starters span{font-size:10px}.flow-boundary ol{display:block}.flow-boundary li{padding-bottom:20px}.flow-boundary ol:before{display:block}.flow-workspace .chat-task>div:first-child{gap:12px}}
@media(prefers-reduced-motion:reduce){.flow-workspace *,.flow-workspace *:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
:root[data-theme="dark"] body:has(.factory-chat-shell.active){--action:#7fc5a4;--action-hover:#a3dbbe;--on-action:#14251c}
.flow-import{margin-bottom:24px;padding-top:0}.flow-import summary{cursor:pointer;font-weight:500;font-size:14px}.flow-import>p{margin-top:12px;max-width:650px}.flow-import .cloud-form{max-width:620px;margin-top:20px}.flow-loading{display:flex;align-items:center;gap:12px;color:var(--quiet);font-size:12px;min-height:200px}.flow-loading>span{width:16px;height:16px;border:2px solid var(--line);border-top-color:var(--green);border-radius:50%;animation:flow-spin 1s linear infinite}@keyframes flow-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.flow-loading>span{animation:none}}
.flow-rail-tasks{margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}.flow-rail-tasks .chat-task{padding:13px}.flow-rail-tasks .chat-task>div:first-child{flex-direction:column;gap:8px}.flow-rail-tasks .chat-task strong{font-size:12px}.flow-rail-tasks .cloud-actions{gap:6px;flex-wrap:wrap}.flow-rail-tasks .button{font-size:10px;padding:6px 9px}.flow-rail-tasks .form-error{font-size:11px;overflow-wrap:anywhere}
/* Delivery control center: explicit controls, evidence provenance, and native capability boundaries. */
.delivery-control-center{padding-top:38px;max-width:1080px;margin:auto}.control-heading{display:flex;justify-content:space-between;margin-bottom:28px}.control-heading .eyebrow{color:var(--green);margin-bottom:18px}.control-heading h1{font-size:clamp(30px,4vw,46px);font-weight:500;line-height:1.12;margin:0 0 16px}.control-heading p:last-child{font-size:13px;color:var(--quiet);line-height:1.8}.control-project-picker{display:flex;align-items:center;gap:20px;font:10px var(--mono);color:var(--quiet);padding:15px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.control-project-picker select{max-width:70%;background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:8px 12px;color:var(--ink);font:12px var(--sans)}.control-tabs{display:flex;flex-wrap:wrap;gap:4px 20px;border-bottom:1px solid var(--line);margin:0 0 28px}.control-tabs>button{border:0;border-bottom:2px solid transparent;background:transparent;padding:15px 0;font-size:11px;color:var(--quiet)}.control-tabs>button[aria-selected=true]{color:var(--green);border-bottom-color:var(--green)}.control-panel{animation:flow-enter .3s ease both}.control-panel-heading{margin-bottom:24px}.control-panel-heading .eyebrow{font-size:9px;color:var(--quiet);margin-bottom:8px}.control-panel-heading h2{font-size:27px;font-weight:500;margin-bottom:12px}.control-panel-heading>p{font-size:12px;line-height:1.8;color:var(--quiet);max-width:730px}.control-form{display:grid;gap:18px;margin:24px 0;max-width:780px}.control-form label{display:grid;gap:8px;font-size:11px;color:var(--quiet);min-width:0}.control-form input,.control-form select,.control-form textarea{width:100%;border:1px solid var(--line);border-radius:7px;background:var(--surface);padding:11px 13px;font:12px/1.7 var(--sans);color:var(--ink);min-width:0}.control-form textarea{resize:vertical;min-height:80px}.control-form>button{justify-self:start;font-size:11px;border-radius:6px}.control-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.control-note{font-size:11px;line-height:1.9;color:var(--quiet);overflow-wrap:anywhere}.control-note code{font-size:10px}.control-banner{padding:16px 18px;background:color-mix(in srgb,var(--amber) 5%,var(--surface));border:1px solid color-mix(in srgb,var(--amber) 25%,var(--line));border-radius:8px;font-size:11px;line-height:1.9;margin:20px 0;color:var(--ink)}.control-disclosure{border:1px solid var(--line);border-radius:8px;padding:17px;margin:20px 0;font-size:12px;line-height:1.8;min-width:0}.control-disclosure summary{cursor:pointer;font-weight:500}.control-disclosure>p,.control-disclosure>.control-note,.control-disclosure>.control-grid,.control-disclosure>label{margin-top:15px}.control-disclosure pre{background:var(--surface-alt);padding:15px;border-radius:6px;overflow:auto;font:10px/1.9 var(--mono);margin-top:16px}.control-disclosure code{font-size:10px;overflow-wrap:anywhere}.control-baseline{margin-top:30px;padding:23px;background:var(--surface);border:1px solid var(--line);border-radius:10px;max-width:780px}.control-baseline h3{font-size:16px;font-weight:500}.control-baseline ol{margin:18px 0;padding-left:18px;font-size:11px;line-height:1.9;color:var(--quiet)}.control-baseline li+li{margin-top:9px}.control-status{display:flex;align-items:center;gap:10px;padding:11px 15px;font:10px/1.8 var(--mono);color:var(--quiet);background:var(--surface-alt);border-radius:6px}.control-status-dot{width:6px;height:6px;background:var(--green);border-radius:50%;flex-shrink:0}.control-records{margin:24px 0}.control-records article{display:flex;gap:15px;align-items:center;justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--line);font-size:12px;min-width:0}.control-records article>div{min-width:0;flex:1}.control-records strong{font-size:12px;font-weight:500;overflow-wrap:anywhere}.control-records small{display:block;font-size:10px;color:var(--quiet);margin-top:5px;line-height:1.8}.control-records code{font:9px/1.8 var(--mono);overflow-wrap:anywhere;color:var(--quiet);display:block;margin-top:6px;max-width:100%}.control-records article>code{max-width:30%}.control-source-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--line);border-radius:8px;color:var(--green);background:var(--surface);font:9px var(--mono);flex-shrink:0}.control-suggestions{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}.control-suggestions article{border:1px solid var(--line);border-radius:10px;padding:21px;background:var(--surface);min-width:0}.control-tag{display:inline-block;font:8px/1.8 var(--mono);letter-spacing:.04em;color:var(--quiet);padding:3px 6px;background:var(--surface-alt);border-radius:4px}.control-suggestions h3{font-size:17px;font-weight:500;margin:16px 0 10px}.control-suggestions p{font-size:12px;line-height:1.8;color:var(--quiet)}.control-suggestions small{display:block;color:var(--quiet);font:9px/1.8 var(--mono);margin-top:13px;overflow-wrap:anywhere}.control-suggestions button{border:0;padding:0;background:transparent;margin-top:16px;text-align:left;color:var(--green)}.control-edges article{border:1px solid var(--line);border-radius:8px;padding:20px;margin:16px 0;min-width:0}.control-edges article>div{display:flex;align-items:center;gap:20px;justify-content:space-between;font-size:12px;margin-bottom:12px}.control-edges article span{overflow-wrap:anywhere;min-width:0}.control-edges article b{color:var(--green);font-weight:400}.control-edges article p{font-size:11px;line-height:1.8;color:var(--quiet);margin-top:12px}.control-evidence-path{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:26px 0}.control-evidence-path>div{border:1px solid var(--line);border-radius:9px;padding:20px;background:var(--surface)}.control-evidence-path i{display:block;font:10px var(--mono);color:var(--green);margin-bottom:16px}.control-evidence-path strong{display:block;font-size:13px;font-weight:500}.control-evidence-path span{display:block;color:var(--quiet);font-size:10px;line-height:1.8;margin-top:8px}.control-panel [data-export-evidence]{margin-bottom:17px}.control-subheading{font-size:16px;margin-top:32px;font-weight:500}.control-language-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:22px}.control-language-grid article{border:1px solid var(--line);border-radius:7px;padding:14px;background:var(--surface)}.control-language-grid strong{display:block;font-size:13px;font-weight:500}.control-language-grid small{display:block;font-size:10px;color:var(--quiet);margin:7px 0 12px}.control-language-grid .control-tag{font-size:7px;letter-spacing:0}.control-feedback{font-size:12px;line-height:1.8;color:var(--green);margin:15px 0}.control-feedback:empty{margin:8px 0}.control-error{color:var(--red)}
@media(max-width:800px){.control-grid,.control-suggestions{grid-template-columns:1fr}.control-evidence-path{grid-template-columns:1fr}.control-evidence-path>div{display:grid;grid-template-columns:30px 1fr;gap:0 10px;padding:15px}.control-evidence-path i{grid-row:1/3;margin:0}.control-evidence-path span{grid-column:2}.control-language-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.control-panel-heading h2{font-size:24px}.control-records article>code{display:none}.control-tabs{gap:0 18px}.control-tabs>button{font-size:10px}.control-edges article>div{gap:12px}.control-records code{font-size:8px}.control-baseline{padding:18px}.delivery-control-center{padding-top:28px}}
@media(prefers-reduced-motion:reduce){.control-panel{animation:none}}
