.ingredient-main{max-width:1120px;margin:36px auto;padding:0 24px;line-height:1.7}
.ingredient-main *{box-sizing:border-box}
.ingredient-main button,.ingredient-main textarea{font:inherit}
.ingredient-main button{cursor:pointer}
.ingredient-main button:disabled{cursor:not-allowed;opacity:.5}
.ingredient-intro{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px}
.ingredient-eyebrow{font-size:12px;letter-spacing:.12em;color:var(--blue);font-weight:700}
.ingredient-main h2{font-size:24px;margin:4px 0 8px}
.ingredient-main h3{font-size:18px;margin:0 0 10px}
.ingredient-intro p,.ingredient-muted,.ingredient-footnote{color:var(--muted)}
.ingredient-intro p{margin:0}
.ingredient-notice{background:var(--blue-pill);border-left:3px solid var(--blue);padding:12px 16px;border-radius:6px;margin:16px 0;font-size:14px}
.ingredient-notice p{margin:0 0 8px}
.ingredient-composer,.ingredient-panel{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:24px}
.ingredient-composer label{display:block;font-size:14px;font-weight:700;margin-bottom:12px}
.ingredient-composer textarea{display:block;width:100%;resize:vertical;min-height:118px;border:0;background:transparent;line-height:1.8;color:var(--text);padding:4px 0;outline-offset:6px}
.ingredient-actions{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:16px;margin-top:16px;gap:16px}
.ingredient-actions>span{font-size:12px;color:var(--muted)}
.ingredient-actions>div{display:flex;gap:10px}
.ingredient-primary,.ingredient-secondary{padding:9px 17px;border-radius:7px;font-weight:600;border:1px solid var(--line)}
.ingredient-primary{background:var(--blue);border-color:var(--blue);color:white}
.ingredient-secondary{background:white;color:var(--text)}
.ingredient-examples{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 28px;font-size:13px;color:var(--muted);align-items:center}
.ingredient-examples button{border:1px solid var(--line);border-radius:20px;background:white;color:var(--muted);padding:4px 12px}
.ingredient-panel{margin:20px 0}
.ingredient-panel ul{padding-left:22px}
.ingredient-panel p{color:var(--muted);font-size:14px}
.ingredient-result-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:30px 0 12px}
.ingredient-result-heading p{margin:0;color:var(--muted);font-size:13px}
.ingredient-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:16px 0 28px}
.ingredient-card{background:white;border:1px solid var(--line);border-radius:10px;padding:22px;min-width:0;overflow-wrap:anywhere}
.ingredient-card-header{display:flex;align-items:start;justify-content:space-between;gap:12px}
.ingredient-badge{font-size:12px;border:1px solid var(--line);border-radius:4px;padding:2px 7px;color:var(--muted);white-space:nowrap}
.ingredient-card p{font-size:14px;margin:10px 0}
.ingredient-card .ingredient-original{color:var(--muted);font-size:12px;margin-top:0}
.ingredient-card details{border-top:1px solid var(--line);padding-top:12px;margin-top:14px;font-size:13px}
.ingredient-card summary{cursor:pointer;font-weight:600}
.ingredient-card ul{padding-left:18px}
.ingredient-card a{color:var(--blue)}
.ingredient-card dl{font-size:13px}
.ingredient-card dt{color:var(--muted);margin-top:8px}
.ingredient-card dd{margin:0}
.ingredient-compare-check{display:flex;gap:8px;align-items:center;margin-top:16px;font-size:13px}
.ingredient-table-scroll{overflow-x:auto}
.ingredient-table-scroll table{border-collapse:collapse;min-width:580px;width:100%;font-size:13px}
.ingredient-table-scroll th,.ingredient-table-scroll td{text-align:left;vertical-align:top;padding:12px;border:1px solid var(--line);min-width:180px;white-space:pre-line}
.ingredient-table-scroll th{background:var(--blue-pill)}
.ingredient-history{margin:24px 0;font-size:14px}
.ingredient-history li{padding:8px 0;white-space:pre-wrap;overflow-wrap:anywhere}
.ingredient-footnote{font-size:12px;border-top:1px solid var(--line);padding-top:18px;margin-top:32px}
@media(max-width:720px){.ingredient-main{margin:24px auto;padding:0 16px}.ingredient-intro{align-items:start}.ingredient-intro h2{font-size:21px}.ingredient-intro>button{white-space:nowrap;padding:6px 10px;font-size:12px}.ingredient-composer,.ingredient-panel{padding:18px}.ingredient-grid{grid-template-columns:1fr}.ingredient-result-heading{align-items:start}.ingredient-result-heading h2{font-size:21px}.ingredient-result-heading button{font-size:12px}.ingredient-actions{align-items:end}.ingredient-actions>div{flex-wrap:wrap;justify-content:end}.ingredient-primary,.ingredient-secondary{padding:8px 12px;font-size:14px}}

/* Progressive disclosure is scoped to the ingredient workspace. */
.ingredient-main{max-width:960px;line-height:1.65}
.ingredient-main [hidden]{display:none!important}
.ingredient-main button{white-space:nowrap}
.ingredient-main :focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.ingredient-main summary{cursor:pointer}
.ingredient-connection{color:var(--muted);font-size:14px;margin:12px 0}
.ingredient-intro{margin-bottom:22px}
.ingredient-intro h2{font-size:26px;letter-spacing:-.02em}
.ingredient-intro p{font-size:14px}
.ingredient-composer{padding:20px 24px}
.ingredient-composer textarea{min-height:88px}
.ingredient-composer-compact textarea{min-height:60px;height:60px}
.ingredient-composer-compact label{margin-bottom:6px}
.ingredient-composer-compact .ingredient-actions{margin-top:8px;padding-top:12px}
.ingredient-current-demand{font-size:14px;border-left:2px solid var(--blue);padding:2px 0 2px 14px;margin:0 0 18px;overflow-wrap:anywhere;color:var(--text)}
.ingredient-progress{display:flex;align-items:baseline;justify-content:space-between;gap:16px;font-size:13px;color:var(--muted);margin:20px 0}
.ingredient-progress>p{margin:0}
.ingredient-task-details{max-width:360px;flex-shrink:0}
.ingredient-task-details>summary{font-size:12px}
.ingredient-task-details[open]{padding:12px;background:var(--card);border:1px solid var(--line);border-radius:8px}
.ingredient-task-details button{font-size:12px;margin:4px 0}
#questions{border-left:3px solid var(--blue);padding:18px 22px;margin:18px 0}
#questions h2{font-size:17px}
#questions ul{font-size:14px;margin:10px 0 14px}
#questions li+li{margin-top:8px}
#more-questions{font-size:13px;margin-bottom:14px}
.ingredient-answer-hint{font-size:12px;color:var(--muted);margin-left:12px}
.ingredient-result-heading{margin:22px 0 8px;align-items:start}
.ingredient-result-heading h2{font-size:21px}
.ingredient-result-meta{font-size:12px;color:var(--muted);margin:8px 0 14px}
.ingredient-grid{grid-template-columns:1fr;gap:12px;margin:12px 0 18px}
.ingredient-card{padding:18px 22px}
.ingredient-card h3{font-size:18px;margin:0}
.ingredient-card-state{color:var(--muted);font-size:13px!important}
.ingredient-key-component{font-weight:600;font-size:14px}
.ingredient-card details{font-size:14px}
.ingredient-card details details{background:var(--blue-pill);padding:12px 16px;border:0;border-radius:6px}
.ingredient-card details summary{color:var(--blue);font-size:13px}
.ingredient-card details p,.ingredient-card li{max-width:76ch}
.ingredient-disclosure{border:1px solid var(--line);border-radius:10px;background:var(--card);margin:12px 0;padding:0 20px}
.ingredient-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 0;font-size:15px;font-weight:600;list-style:none}
.ingredient-disclosure>summary::-webkit-details-marker{display:none}
.ingredient-disclosure>summary::after{content:'＋';font-size:18px;color:var(--muted)}
.ingredient-disclosure[open]>summary::after{content:'−'}
.ingredient-disclosure-hint{margin-left:auto;color:var(--muted);font-weight:400;font-size:12px}
.ingredient-disclosure[open]>summary{border-bottom:1px solid var(--line)}
.ingredient-disclosure>p{color:var(--muted);font-size:13px}
.ingredient-source-row{border-bottom:1px solid var(--line);padding:0 0 12px;min-width:0;overflow-wrap:anywhere}
.ingredient-source-row:last-child{border-bottom:0}
.ingredient-source-row>summary{display:flex;align-items:start;gap:16px;justify-content:space-between;list-style:none;padding:12px 0}
.ingredient-source-row>summary::-webkit-details-marker{display:none}
.ingredient-source-row>summary::before{content:'›';color:var(--blue);font-size:20px;line-height:1.3}
.ingredient-source-row[open]>summary::before{content:'⌄'}
.ingredient-source-title{flex:1;min-width:0}
.ingredient-source-title strong{font-size:15px;display:block}
.ingredient-source-title small{display:block;color:var(--muted);font-size:12px;font-weight:400;margin-top:4px}
.ingredient-source-row p,.ingredient-source-row li{font-size:14px;max-width:76ch}
.ingredient-source-row>details{margin:16px 0;background:var(--blue-pill);padding:14px;border-radius:6px;font-size:13px}
.ingredient-source-row a{display:block;color:var(--blue);margin:8px 0}
#contribution-panel{padding:16px 20px;font-size:14px;margin:12px 0}
#contribution-form .ingredient-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
#history{margin:16px 0;font-size:13px;color:var(--muted)}
.ingredient-footnote{margin-top:20px}
@media(max-width:720px){
 .ingredient-main{margin:22px auto}.ingredient-intro{gap:12px}.ingredient-intro h2{font-size:22px}
 .ingredient-composer,.ingredient-card{padding:16px}.ingredient-progress{display:block}.ingredient-task-details{margin-top:8px;max-width:none}
 .ingredient-disclosure{padding:0 16px}.ingredient-disclosure-hint{display:none}
 .ingredient-source-row>summary{gap:8px;flex-wrap:wrap}.ingredient-source-row .ingredient-badge{margin-left:20px}
 .ingredient-actions{gap:8px}.ingredient-actions>div{gap:6px}.ingredient-actions button{font-size:13px;padding:8px 10px}
 #contribution-form .ingredient-grid{grid-template-columns:1fr}
}

.ingredient-main{margin:24px auto;padding:0}
@media(max-width:720px){.ingredient-main{margin:18px auto;padding:0}.ingredient-actions{flex-wrap:wrap}.ingredient-actions>div{flex:1;justify-content:flex-end}}

/* Conversation: result and follow-up first, one composer after the response. */
.ingredient-conversation{margin:22px 0}
.ingredient-message{margin:20px 0;min-width:0;overflow-wrap:anywhere}
.ingredient-message-user{margin-left:auto;background:var(--blue-pill);border-radius:12px;padding:14px 20px;max-width:84%;width:fit-content}
.ingredient-message-user>p{margin:4px 0;white-space:pre-wrap;font-size:14px}
.ingredient-speaker{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:8px}
.ingredient-message-assistant{padding:8px 0 18px}
.ingredient-message-assistant>p{font-size:15px;line-height:1.85;margin:8px 0}
.ingredient-message-assistant>ul{font-size:14px;line-height:1.9}
.ingredient-answer-title{font-size:18px!important;margin:6px 0!important}
#result-summary{font-size:15px;line-height:1.85}
.ingredient-followup{border:0!important;background:transparent;padding:0!important;margin:18px 0!important}
.ingredient-followup>p{font-size:15px;margin:8px 0}
.ingredient-followup .ingredient-muted{font-size:13px}
.ingredient-followup ul{padding-left:22px}
.ingredient-analysis-process{border:1px solid var(--line);border-radius:8px;margin:18px 0 0;background:var(--card);padding:0 16px}
.ingredient-analysis-process>summary{padding:13px 0;font-size:13px;font-weight:600;color:var(--muted)}
.ingredient-analysis-process>summary>span{font-weight:400;margin-left:14px;font-size:12px}
.ingredient-analysis-process[open]>summary{border-bottom:1px solid var(--line);margin-bottom:16px}
.ingredient-analysis-process .ingredient-task-details{max-width:none;margin:12px 0}
.ingredient-candidate-evidence{border-bottom:1px solid var(--line);padding:12px 0;font-size:14px;overflow-wrap:anywhere}
.ingredient-candidate-evidence>summary{font-weight:600;color:var(--blue)}
.ingredient-candidate-evidence a{color:var(--blue)}
.ingredient-candidate-evidence dd{margin:0}.ingredient-candidate-evidence dt{color:var(--muted);margin-top:8px}
.ingredient-candidate-evidence>details{margin:12px 0;background:var(--blue-pill);padding:12px;border-radius:6px}
.ingredient-composer{margin-top:20px}
.ingredient-composer-hint{font-size:12px;color:var(--muted);text-align:center;margin:10px 0 0}
#progress-panel{font-size:14px;color:var(--muted)}
@media(max-width:720px){.ingredient-message-user{max-width:94%;padding:12px 16px}.ingredient-analysis-process>summary>span{display:none}.ingredient-conversation{margin:16px 0}.ingredient-main button{white-space:normal}.ingredient-actions button{white-space:nowrap}}

.ingredient-reference-analysis{border-top:1px solid var(--line);padding:12px 0}.ingredient-reference-analysis h3{font-size:16px;margin:4px 0 10px}.ingredient-reference-analysis p{font-size:14px;line-height:1.85;margin:8px 0}.ingredient-reference-analysis a{font-size:12px;white-space:normal}.ingredient-analysis-note{font-size:13px;color:var(--muted);line-height:1.8}

.ingredient-selection-advice{margin:18px 0 24px;padding:16px 20px;border-left:3px solid var(--blue);background:var(--card);border-radius:0 8px 8px 0;font-size:14px;line-height:1.85}
.ingredient-selection-advice h3{margin:0 0 8px;font-size:16px}
.ingredient-selection-advice p{margin:8px 0}.ingredient-advice-conclusion{font-weight:600}
.ingredient-selection-advice ol{margin:10px 0 0;padding-left:22px}

/* Recommendation-specific reading layout; shared surfaces come from tool-ui. */
.ingredient-advice-overview{margin-bottom:var(--tool-space-6)}
.ingredient-advice-overview p{margin:var(--tool-space-3) 0;line-height:1.8}
.ingredient-reference-analysis h4{margin:var(--tool-space-2) 0;font-size:1rem}

.legacy-history #demand-form,.legacy-history .ingredient-examples,.legacy-history #recover-run,.legacy-history #continue-run{display:none}

/* Chat workspace: scoped to the current assistant, preserving legacy pages. */
.ingredient-chat{display:flex;flex-direction:column;max-width:960px;min-height:calc(100dvh - 245px);margin-block:0;padding-block:var(--tool-space-6);--chat-reading-width:760px}
.ingredient-chat .ingredient-intro{flex:0 0 auto;gap:var(--tool-space-4);margin-bottom:var(--tool-space-6);padding-bottom:var(--tool-space-4);border-bottom:1px solid var(--tool-color-border)}
.ingredient-chat .ingredient-intro h2{font-size:16px;letter-spacing:0;margin:0 0 4px;font-weight:600}
.ingredient-chat .ingredient-intro p{font-size:12px}
.ingredient-welcome{width:100%;max-width:var(--chat-reading-width);margin:auto; padding:var(--tool-space-8) 0 var(--tool-space-12);text-align:center}
.ingredient-welcome-mark{display:block;font-size:42px;color:var(--tool-color-primary);line-height:1;margin-bottom:var(--tool-space-6)}
.ingredient-chat .ingredient-welcome h2{font-size:clamp(24px,3.2vw,32px);font-weight:600;letter-spacing:-.03em;margin:0 0 var(--tool-space-4)}
.ingredient-welcome>p{color:var(--tool-color-muted);font-size:14px;line-height:1.9;margin:0}
.ingredient-starters{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--tool-space-2);margin-top:var(--tool-space-8)}
.ingredient-starters span{margin-left:var(--tool-space-3)}
.ingredient-chat .ingredient-conversation{width:100%;max-width:var(--chat-reading-width);margin:0 auto;flex:1}
.ingredient-chat .ingredient-conversation:has(#trial-messages:empty):has(#trial-status:empty){flex:0}
.ingredient-chat .ingredient-message{margin:var(--tool-space-6) 0 var(--tool-space-8)}
.ingredient-chat .ingredient-message-user{background:var(--tool-color-surface);border:1px solid var(--tool-color-border);border-radius:var(--tool-radius-lg);padding:var(--tool-space-3) var(--tool-space-4);max-width:85%}
.ingredient-chat .ingredient-message-user .ingredient-speaker{display:none}
.ingredient-chat .ingredient-message-assistant>.ingredient-speaker{color:var(--tool-color-text);font-size:13px;margin-bottom:var(--tool-space-4)}
.ingredient-chat .ingredient-message-assistant>.ingredient-speaker::before{content:'✳';color:var(--tool-color-primary);margin-right:var(--tool-space-2);font-size:18px}
.ingredient-compose-dock{position:relative;bottom:0;z-index:2;width:100%;max-width:var(--chat-reading-width);margin:0 auto;padding-top:var(--tool-space-3);padding-bottom:var(--tool-space-3);background:var(--tool-color-page)}
.ingredient-chat #trial-status{font-size:13px;color:var(--tool-color-muted);margin:0 0 var(--tool-space-2);white-space:pre-wrap;overflow-wrap:anywhere}
.ingredient-chat #trial-status:empty{display:none}
.ingredient-chat .ingredient-composer{margin:0}

.ingredient-chat .ingredient-composer textarea{min-height:64px;max-height:200px;resize:none;padding:0;outline:none;font-size:15px;line-height:1.8}
.ingredient-chat .ingredient-actions{border:0;margin-top:var(--tool-space-3);padding:0;align-items:center;flex-wrap:nowrap}
.ingredient-chat .ingredient-actions>span{font-size:11px}
.ingredient-chat .ingredient-composer-hint{font-size:11px;margin-top:var(--tool-space-2)}
@media(max-width:720px){
 .ingredient-chat{min-height:calc(100dvh - 235px);padding-block:var(--tool-space-4)}
 .ingredient-chat .ingredient-intro{gap:var(--tool-space-3);margin-bottom:var(--tool-space-4)}
 .ingredient-chat .ingredient-intro h2{font-size:15px}
 .ingredient-chat .ingredient-intro p{display:none}
 .ingredient-welcome{padding:var(--tool-space-8) 0}
 .ingredient-welcome-mark{font-size:34px;margin-bottom:var(--tool-space-4)}
 .ingredient-starters{gap:var(--tool-space-2);margin-top:var(--tool-space-6)}
 .ingredient-starters span{margin-left:var(--tool-space-1)}
 .ingredient-chat .ingredient-actions>span{max-width:120px;font-size:10px}
 .ingredient-chat .ingredient-message-user{max-width:92%}
 .ingredient-compose-dock{padding-bottom:max(var(--tool-space-3),env(safe-area-inset-bottom))}
}



/* Account-scoped conversation navigation. Shared buttons keep their own visual rules. */
.ingredient-workspace{display:grid;grid-template-columns:240px minmax(0,1fr);gap:var(--tool-space-8);align-items:start}
.ingredient-workspace .ingredient-chat{width:100%;min-width:0;padding:0;margin:0}
.ingredient-sidebar{position:sticky;top:var(--tool-space-6);padding:var(--tool-space-4);border:1px solid var(--tool-color-border);border-radius:var(--tool-radius-lg);background:var(--tool-color-surface);max-height:calc(100dvh - 48px);overflow:auto;min-width:0}
.ingredient-sidebar summary{cursor:pointer;font-size:14px;font-weight:600;padding-block:var(--tool-space-2)}
.ingredient-history-caption{color:var(--tool-color-muted);font-size:12px;margin:var(--tool-space-3) 0}
#trial-history-status{font-size:13px;line-height:1.7;color:var(--tool-color-muted);overflow-wrap:anywhere}
#trial-history-status:empty{display:none}
.ingredient-history-item{border-radius:var(--tool-radius-sm);margin-block:var(--tool-space-2);padding:var(--tool-space-2);overflow-wrap:anywhere}
.ingredient-history-item.is-current{background:var(--tool-color-primary-soft);box-shadow:inset 2px 0 var(--tool-color-primary)}
.ingredient-history-item small{display:block;font-size:11px;color:var(--tool-color-muted);padding-inline:var(--tool-space-2)}
@media(max-width:900px){
 .ingredient-workspace{grid-template-columns:minmax(0,1fr);gap:var(--tool-space-4)}
 .ingredient-sidebar{position:static;max-height:320px;padding:var(--tool-space-2) var(--tool-space-4)}
}

.ingredient-history-item>button{width:100%;justify-content:flex-start}
.ingredient-history-title{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.ingredient-workspace [hidden]{display:none!important}

/* Status belongs to the latest assistant turn, above the sticky composer. */
.ingredient-progress-message{margin:var(--tool-space-6) 0 var(--tool-space-8);padding-top:var(--tool-space-2)}
.ingredient-progress-message:has(#trial-status:empty):not(:has(#trial-refresh:not([hidden]))){display:none}
.ingredient-progress-message>.ingredient-speaker{font-size:13px;color:var(--tool-color-text);margin-bottom:var(--tool-space-3)}
.ingredient-progress-message>.ingredient-speaker::before{content:'✳';color:var(--tool-color-primary);margin-right:var(--tool-space-2);font-size:18px}

.ingredient-chat .ingredient-message-user{scroll-margin-top:var(--tool-space-6)}

/* Fixed workspace rows: only the message viewport scrolls. */
.tool-ui .ingredient-workspace{box-sizing:border-box;height:calc(100dvh - 144px);min-height:420px;padding-block:var(--tool-space-4);align-items:stretch}
.ingredient-workspace .ingredient-chat{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100%;min-height:0;overflow:hidden}
.ingredient-chat .ingredient-intro{margin-bottom:0}
.ingredient-chat-scroll{min-width:0;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;container-type:size;padding:var(--tool-space-4);scrollbar-gutter:stable;overflow-anchor:none}
.ingredient-chat-scroll .ingredient-welcome{padding-block:var(--tool-space-8)}
.ingredient-chat .ingredient-conversation{max-width:var(--chat-reading-width);margin:0 auto}
.ingredient-turn{display:flow-root}
.ingredient-turn:last-child{min-height:100cqh}
.ingredient-chat .ingredient-turn>.ingredient-message-user{margin-top:0;scroll-margin-top:0}
.ingredient-chat .ingredient-compose-dock{position:static;min-width:0;max-width:var(--chat-reading-width);margin:0 auto}
.ingredient-workspace .ingredient-sidebar{position:static;max-height:100%;min-height:0}
@media(max-width:900px){
 .tool-ui .ingredient-workspace{min-height:340px;grid-template-rows:auto minmax(0,1fr)}
 .ingredient-workspace .ingredient-sidebar{max-height:min(240px,30dvh)}
 .ingredient-chat-scroll{padding-inline:var(--tool-space-1)}
}

@media(max-width:720px){.tool-ui .ingredient-workspace{height:calc(100dvh - 170px)}}
