:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#2b302e;background:#fafaf8;font-synthesis:none;font-size:16px;line-height:1.6;font-weight:400}
.identity{color:inherit;text-decoration:none}
.identity:hover{text-decoration:underline}
*{box-sizing:border-box}
body{margin:0;min-height:100dvh;display:flex;flex-direction:column}
button,textarea,select{font:inherit}
button,select{cursor:pointer}
button{color:inherit}
button:disabled{cursor:not-allowed;opacity:1;color:#526156;background:#e4e9e3;border-color:#a7b4a8}
button:focus-visible,a:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #677f73;outline-offset:4px}
[hidden]{display:none!important}
.topbar{height:78px;padding:20px 30px;display:flex;align-items:center;gap:14px;flex-shrink:0}
.identity{font-size:16px;font-weight:500;letter-spacing:.01em}
.dev-label{margin-left:auto;color:#34473a;font-size:13px;letter-spacing:.05em;border:1px solid #e2e5df;border-radius:5px;padding:1px 6px}
.icon-button{width:44px;height:44px;border:0;border-radius:50%;background:transparent;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:8px;color:#34473a}
.icon-button:hover{background:#ecefe9}
.icon-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
main{width:min(100% - 40px,720px);margin:0 auto;flex:1;display:flex;flex-direction:column;padding:20px 0 16px}
.welcome{margin:auto 0;text-align:center;padding:30px 0 52px}
.portrait{width:104px;height:104px;border-radius:50%;object-fit:cover;object-position:center 27%;border:5px solid white;box-shadow:0 2px 14px #293b2710}
h1{font-size:29px;font-weight:500;letter-spacing:-.7px;margin:20px 0 12px}
.welcome p{color:#34473a;font-size:16px;line-height:1.9;margin:0}
.resume{font-size:14px;color:#34473a;text-align:center;margin:4px 0 28px;white-space:pre-wrap}
.messages{display:flex;flex-direction:column;gap:26px}
.messages:empty{display:none}
.message{font-size:16px;line-height:1.7;overflow-wrap:anywhere;white-space:pre-wrap}
.message.user{background:#eff1ec;border-radius:20px 20px 5px 20px;padding:12px 18px;align-self:flex-end;max-width:88%}
.message.assistant{padding:0 4px;align-self:stretch}
.message.system{font-size:14px;color:#34473a;text-align:center;padding:2px 16px}
.message.error{color:#34473a}
.message.pending{color:#34473a}
.message-body{margin:0}
.response-tools{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:8px}
.response-tools button,.retry{border:0;background:transparent;font-size:13px;color:#34473a;padding:3px 0}
.response-tools button:hover,.retry:hover{color:#2f5944;text-decoration:underline}
.artifact{border-left:2px solid #abbcad;padding:10px 16px;font-size:16px}
.artifact a{color:#355d47;text-decoration:none}
.artifact a:hover{text-decoration:underline}
.dataset{color:#34473a;font-size:14px;padding:4px}
.dataset strong{font-weight:500}
.composer-area{position:sticky;bottom:0;width:min(100% - 40px,720px);margin:0 auto;padding:12px 0 16px;background:linear-gradient(transparent,#fafaf8 18px)}
.composer{background:white;border:1px solid #dfe3db;border-radius:22px;padding:16px 14px 10px;box-shadow:0 4px 20px #273f2510}
.composer:focus-within{border-color:#b4c2b5}
.composer textarea{display:block;width:100%;resize:none;background:transparent;border:0;padding:0 4px;outline:none;max-height:180px;min-height:32px;font-size:16px;line-height:1.7;color:#30372f}
.composer textarea::placeholder{color:#34473a}
.composer textarea:focus-visible{outline:none}
.composer-tools{display:flex;gap:8px;align-items:center;justify-content:space-between;margin-top:9px}
.input-tools{display:flex;gap:4px}
.send{background:#2f493c;color:white;width:44px;height:44px}
.send:hover{background:#3d5e4d}
.send:disabled{background:#e2e7df;color:#34473a;opacity:1}
#mic[aria-pressed=true]{background:#f5e4dd;color:#a04933}
.configuration,.status{font-size:14px;line-height:1.6;text-align:center;margin:0 12px 9px;color:#34473a}
.status{color:#34473a;min-height:0}
.status:empty{display:none}
.footnote{font-size:13px;color:#34473a;text-align:center;letter-spacing:.01em;margin:10px 0 0}
.history{position:fixed;inset:0 auto 0 0;margin:0;width:min(340px,90vw);max-width:90vw;height:100dvh;max-height:100dvh;border:0;border-right:1px solid #e4e7e0;padding:24px;background:#fafaf8;color:#333b32}
.history[open]{display:flex;flex-direction:column}
.history::backdrop{background:#202b2330;backdrop-filter:blur(2px)}
.drawer-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.drawer-heading h2{font-size:18px;font-weight:500;margin:0}
.drawer-heading button{font-size:26px}
.new-chat{border:1px solid #dce2d8;border-radius:10px;background:white;text-align:left;padding:11px 14px;font-size:15px}
.new-chat:hover{background:#edf1e9}
#session-list{flex:1;overflow:auto;margin:18px -8px;padding:0 8px}
.session{display:block;width:100%;border:0;background:transparent;border-radius:9px;text-align:left;padding:12px;font-size:15px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin:3px 0}
.session small{display:block;color:#34473a;font-size:13px;margin-top:3px}
.session:hover,.session[aria-current=true]{background:#eaf0e5}
.empty-history{font-size:14px;color:#34473a;padding:12px}
.drawer-settings{border-top:1px solid #e1e5dc;padding-top:18px;display:flex;align-items:center;justify-content:space-between;font-size:14px;color:#34473a}
.drawer-settings select{border:0;background:transparent;color:#4c5845;padding:5px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:900px){.welcome{padding-bottom:78px}
.composer-area{padding-bottom:24px}
main.has-messages{padding-top:25px}}
@media(max-width:600px){.topbar{height:64px;padding:14px 16px;gap:8px}
main,.composer-area{width:calc(100% - 28px)}
.welcome{padding:24px 6px 44px}
.portrait{width:88px;height:88px}
h1{font-size:27px}
.welcome p{font-size:16px}
.welcome br{display:none}
.composer-area{padding-bottom:max(12px,env(safe-area-inset-bottom))}
.message{font-size:16px}
.footnote{font-size:13px}
.composer{border-radius:20px}
.resume{margin-bottom:20px}}
@media(prefers-reduced-motion:no-preference){.icon-button{transition:background .15s}
dialog[open]{animation:appear .15s ease-out}
@keyframes appear{from{opacity:0;transform:translateX(-10px)}
to{opacity:1;transform:translateX(0)}}}

input{font:inherit;color:inherit}
input:focus-visible{outline:2px solid #677f73;outline-offset:3px}
.needs-auth main{justify-content:center;padding-top:8px;padding-bottom:20px}
.needs-auth .welcome{margin:0;padding:12px 0 20px}
.needs-auth .welcome p{max-width:480px;margin:auto}
.needs-auth .composer-area{position:static;padding-top:0}
.needs-auth .portrait{width:88px;height:88px}
.needs-auth h1{margin-top:12px;margin-bottom:8px}
.auth-panel{width:min(100%,380px);margin:0 auto;text-align:center}
.auth-panel h2{font-size:16px;font-weight:500;margin:0 0 14px;color:#4b584e}
.auth-panel form{text-align:left}
.auth-panel label{display:block;font-size:14px;color:#34473a;margin:10px 0 4px}
.auth-panel input{display:block;width:100%;min-height:42px;border:1px solid #d9e1d6;border-radius:9px;background:white;padding:9px 11px;font-size:16px}
.auth-panel input:disabled{opacity:.6}
.auth-submit,.google-signin{width:100%;display:block;border:1px solid #2f493c;border-radius:9px;padding:10px 14px;font-size:15px;text-align:center;text-decoration:none}
.auth-submit{background:#2f493c;color:white;margin-top:12px}
.auth-submit:hover{background:#3d5e4d}
.auth-switch{background:none;border:0;padding:12px 4px;font-size:14px;color:#48624d}
.auth-switch:hover{text-decoration:underline}
.google-signin{background:white;color:#3a493b;border-color:#d9e1d6;margin-top:3px}
.google-signin:hover{background:#edf1e9}
.auth-hint{font-size:13px;color:#34473a;line-height:1.6;margin:6px 0}
.auth-status{font-size:14px;color:#34473a;line-height:1.6;margin:8px 0}
.auth-status:empty{display:none}
.drawer-account{display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px 12px;border-top:1px solid #e1e5dc;padding-top:17px;font-size:14px;color:#34473a}
.drawer-account span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.drawer-account button{border:0;background:transparent;padding:3px 0;color:#4c664b;font-size:14px}
.drawer-account button:hover{text-decoration:underline}
.drawer-account small{grid-column:1/-1;color:#34473a;font-size:13px}
.message-body{white-space:normal}
.message-body p{margin:0 0 12px;white-space:pre-wrap}
.message-body p:last-child{margin-bottom:0}
.message-body h3,.message-body h4{font-size:16px;font-weight:600;line-height:1.5;margin:18px 0 8px}
.message-body h4{font-size:16px}
.message-body>:first-child{margin-top:0}
.message-body ul,.message-body ol{margin:8px 0 14px;padding-left:22px}
.message-body li{padding-left:2px;margin:3px 0}
.message-body strong{font-weight:600}
.message-body pre{overflow:auto;white-space:pre-wrap;background:#eff2eb;border-radius:10px;padding:12px 14px;font-size:14px;line-height:1.7;font-family:Consolas,monospace}
.response-tools .voice-button{padding:5px 0;min-height:30px}
.response-tools .voice-button[aria-pressed=true]{color:#2f5944}
.composer[aria-busy=true]{border-color:#788f7d}
@media(max-width:600px){.needs-auth .welcome{padding-top:4px;padding-bottom:16px}
.needs-auth .portrait{width:72px;height:72px}
.needs-auth h1{font-size:25px;margin-top:10px}
.needs-auth .welcome p{font-size:15px}
.auth-panel input{font-size:16px}
.auth-panel{width:min(100%,330px)}
.needs-auth main{padding-top:4px}
.message-body h3{font-size:16px}
.message-body h4{font-size:16px}}

/* Analysis workspace: a persistent conversation rail and a quiet chat canvas. */
:root{--paper:#fafaf8;--line:#e2e7dd;--sidebar:272px;--green:#315b47;color:#2e382f}
summary{cursor:pointer}
summary:focus-visible{outline:2px solid #677f73;outline-offset:4px}
a{text-underline-offset:3px}
.topbar{height:72px;min-height:72px;padding:16px 30px;position:sticky;top:0;z-index:4;background:#fafaf8f2;backdrop-filter:blur(12px)}
.identity{font-size:16px;font-weight:600;letter-spacing:-.3px;white-space:nowrap}
.identity span{font-weight:400;color:#34473a;margin-left:3px}
.conversation-title{font-size:14px;color:#34473a;border-left:1px solid var(--line);padding-left:14px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.dev-label{font-size:13px;white-space:nowrap;background:#f0f2eb;padding:2px 7px}
main{width:min(100% - 64px,1120px);padding:26px 0 28px;min-width:0}
.welcome{padding:28px 0 42px}
.portrait{width:76px;height:76px;border-width:4px}
.eyebrow{font-size:13px!important;letter-spacing:.035em;color:#34473a!important;margin:22px 0 7px!important}
h1{font-size:31px;font-weight:500;letter-spacing:-1px;line-height:1.3;margin:10px 0 13px}
.welcome p{font-size:16px;color:#34473a}
.welcome-actions{max-width:550px;margin:30px auto 0;text-align:left}
.demo-button{display:flex;align-items:center;gap:14px;width:100%;background:#f1f5eb;border:1px solid #dce5d5;border-radius:14px;padding:17px 18px;text-align:left}
.demo-button:hover{background:#eaf1e3;border-color:#cbdac0}
.demo-button>span:last-child{margin-left:auto;color:#34473a}
.demo-icon{display:grid;place-items:center;width:34px;height:34px;background:#e3ecd9;border-radius:10px;color:#34473a;font-size:23px}
.demo-button strong{font-size:15px;font-weight:600;display:block}
.demo-button small{display:block;color:#34473a;font-size:13px;margin-top:2px}
.starter-prompts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.starter{display:flex;justify-content:space-between;gap:8px;align-items:center;text-align:left;background:transparent;border:1px solid var(--line);border-radius:11px;padding:12px 14px;font-size:14px;color:#34473a}
.starter:hover{background:#f1f3ed}
.starter span{color:#34473a}
.messages{gap:32px;min-width:0}
.message{min-width:0}
.message.user{border:1px solid #e8ece1;border-radius:22px 22px 5px 22px;max-width:85%;color:#3c4936}
.message.assistant{padding:0 3px}
.assistant-label{font-size:13px;font-weight:600;color:#34473a;margin-bottom:13px;letter-spacing:.01em;display:flex;align-items:center;gap:8px}
.assistant-label:before{content:"K";width:21px;height:21px;display:grid;place-items:center;background:#e7edde;color:#34473a;border-radius:7px;font-size:13px}
.artifact{border:1px solid var(--line);border-radius:12px;padding:13px 16px;font-size:15px;background:#fff}
.dataset{padding:10px 14px;border:1px dashed #d6dfcc;border-radius:10px}
.synthetic-notice{margin:0;border:1px solid #e3dfcd;border-radius:10px;padding:10px 14px;color:#34473a;background:#f7f5eb;font-size:13px}
.resume{font-size:13px;margin:0 0 28px}
.composer-area{z-index:3;width:min(100% - 64px,1120px);padding:22px 0 14px;background:linear-gradient(transparent,var(--paper) 22px)}
.composer{border-color:#dce2d4;border-radius:23px;padding:17px 14px 10px;box-shadow:0 4px 24px #344b2810}
.composer:focus-within{border-color:#b6c6a7;box-shadow:0 4px 28px #344b2815}
.composer-tools{margin-top:12px}
.input-tools{align-items:center}
.composer-hint{font-size:13px;letter-spacing:.01em;color:#34473a;margin-left:6px}
.footnote{line-height:1.7;color:#34473a}
.history{width:var(--sidebar);padding:22px 16px 20px;background:#f2f4ed;border-right-color:#e5e9df}
.history::backdrop{background:#202b2340;backdrop-filter:blur(3px)}
.drawer-heading{gap:12px;margin:0 6px 25px;justify-content:flex-start}
.sidebar-brand{text-decoration:none;font-family:Georgia,serif;font-size:32px;font-weight:600;letter-spacing:-3px;line-height:1;color:#4a6040}
.sidebar-brand span{color:#34473a}
.drawer-heading h2{font-size:14px;font-weight:500;color:#34473a}
.drawer-heading button{font-size:24px;margin-left:auto}
.new-chat{border-color:#dce4d2;padding:10px 13px;font-size:14px;display:flex;align-items:center;gap:9px;box-shadow:0 1px 2px #35442a04}
.new-chat>span{font-size:18px;line-height:1}
.history-label{font-size:13px;letter-spacing:.025em;color:#34473a;margin:28px 11px 8px}
#session-list{margin:0 -5px 18px;padding:0 5px;scrollbar-width:thin;scrollbar-color:#d4ddc8 transparent}
.session{padding:8px 10px;font-size:14px;color:#34473a}
.session small{color:#34473a}
.session:hover{background:#e9efe1}
.session[aria-current=true]{background:#e2ead9;color:#3f5d33}
.drawer-account{gap:7px 10px;border-color:#dfe5d5;padding:17px 5px 0;font-size:13px;color:#34473a}
.drawer-account>span{font-weight:500;color:#34473a}
.drawer-account button{font-size:13px;color:#34473a}
.drawer-account>a{font-size:13px}
.mail-account{grid-column:1/-1;display:flex;flex-direction:column;gap:3px;font-size:13px;color:#34473a}
.mail-account span{overflow-wrap:anywhere;white-space:normal}
.mail-account a{font-size:13px}
.workflow{margin:0 0 16px;border:1px solid #e2e8d9;background:#f5f7f0;border-radius:10px;white-space:normal;font-size:14px;color:#34473a}
.workflow>summary{padding:10px 13px;font-size:13px;font-weight:500;line-height:1.6}
.workflow-body{padding:0 14px 12px}
.workflow-body>p{margin:0 0 12px;line-height:1.7;white-space:pre-wrap}
.skill-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:7px;font-size:13px}
.skill-label{min-width:52px;flex-shrink:0;color:#34473a}
.skill-chip{border:1px solid #dce6d1;background:#fff;border-radius:5px;padding:2px 7px;color:#34473a}
.muted{color:#34473a}
.saved-activity .workflow:last-child{margin-bottom:0}
.analysis-brief{margin:17px 0 0;border:1px solid #dbe4d1;border-radius:17px;background:#fff;padding:20px 22px;white-space:normal;overflow-wrap:anywhere}
.messages>.analysis-brief{margin:0}
.card-eyebrow{font-size:13px;letter-spacing:.13em;color:#34473a;margin:0 0 7px;font-weight:600}
.analysis-brief h3{font-size:18px;font-weight:500;line-height:1.4;letter-spacing:-.35px;color:#405734;margin:0 0 11px}
.brief-problem,.brief-decision{font-size:15px;line-height:1.7;margin:8px 0;color:#34473a}
.brief-decision strong{font-weight:500;color:#536e42}
.brief-scope{font-size:13px;color:#34473a;margin:12px 0 18px}
.breakdown>summary,.brief-details>summary{font-size:14px;font-weight:500;color:#34473a;padding:11px 0;line-height:1.5}
.breakdown{border-top:1px solid #edf0e7}
.breakdown-tree,.tree-children{list-style:none;margin:0;padding:0}
.breakdown-tree{margin:3px 0 14px}
.breakdown-tree>li{margin:8px 0}
.tree-branch{border:1px solid #e0e8d6;border-radius:10px;background:#f9fbf5;font-size:14px}
.tree-branch>summary{padding:11px 13px;color:#34473a;font-weight:500;line-height:1.5}
.branch-content{padding:0 13px 13px}
.branch-content>p{font-size:14px;line-height:1.7;color:#34473a;margin:0 0 9px}
.branch-content .formula{border-top:1px solid #e9eee0;padding-top:9px;display:flex;gap:7px;flex-wrap:wrap;margin-bottom:0}
.formula>span{font-size:13px;color:#34473a}
.formula code,.metric-definition code{font-family:Consolas,monospace;font-size:13px;color:#34473a;white-space:pre-wrap;overflow-wrap:anywhere}
.tree-children{margin:13px 0 0 3px;padding-left:14px;border-left:1px solid #dbe5cc;display:grid;gap:9px}
.tree-children .tree-branch{background:#fff}
.brief-details{border-top:1px solid #edf1e7}
.brief-details>ul{padding-left:18px;font-size:14px;color:#34473a;margin:0 0 13px}
.brief-details li{margin:7px 0}
.metric-definition{padding:0 0 14px;font-size:14px;color:#34473a}
.metric-definition strong{font-size:14px;font-weight:500;color:#34473a}
.metric-definition p{margin:5px 0}
.brief-sources a{color:#34473a;text-decoration:none}
.brief-sources a:hover{text-decoration:underline}
.brief-sources small{display:block;font-size:13px;color:#34473a;margin-top:2px}
.brief-note{font-size:13px;color:#34473a;margin:14px 0 0;line-height:1.7;border-top:1px solid #edf1e7;padding-top:12px}
.email-card{border:1px solid #dde4d3;background:#fff;border-radius:17px;padding:20px 22px;overflow-wrap:anywhere}
.email-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.email-heading h3{font-weight:500;font-size:18px;letter-spacing:-.2px;margin:0;color:#4f693d}
.email-status{font-size:13px;background:#eef3e6;border-radius:6px;color:#34473a;padding:3px 8px}
.status-sent{background:#e5f2df;color:#34473a}
.status-unknown,.status-failed{background:#fbf0de;color:#34473a}
.email-help{font-size:14px;color:#34473a;line-height:1.7;margin:10px 0 16px}
.email-label{display:block;font-size:13px;color:#34473a;margin-top:11px}
.email-label input,.email-label textarea{display:block;width:100%;border:1px solid #dfe7d4;background:#fbfcf8;border-radius:8px;padding:10px 12px;font-size:15px;color:#516840;line-height:1.7;margin-top:5px;min-width:0}
.email-label textarea{resize:vertical;min-height:140px;max-height:500px}
.email-label input:disabled,.email-label textarea:disabled{color:#34473a;background:#f7f9f2}
.email-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:16px}
.email-actions button{border:1px solid #d8e3ca;border-radius:8px;padding:8px 13px;font-size:13px;background:#fff;color:#34473a}
.email-actions .email-send{background:#4f7040;border-color:#4f7040;color:white}
.email-actions button:hover:not(:disabled){filter:brightness(.97)}
.email-download{margin-left:auto;font-size:13px;color:#34473a;text-decoration:none}
.email-download:hover{text-decoration:underline}
.email-feedback{margin:10px 0 0;color:#34473a;font-size:13px}
.email-feedback:empty{display:none}
.email-sender{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;border-top:1px solid #e8edde;margin-top:16px;padding-top:12px;font-size:13px;color:#34473a}
.email-sender a{color:#34473a}
.needs-auth .welcome .eyebrow{display:none}
.needs-auth .portrait{width:72px;height:72px}
.needs-auth h1{font-size:25px;margin-top:14px;margin-bottom:8px}
.needs-auth .welcome{padding-bottom:24px}
@media(min-width:960px){body:not(.needs-auth){padding-left:var(--sidebar)}
.topbar #history-toggle{display:inline-flex}
.history #history-close{display:none}
.welcome{padding-bottom:56px}
.composer-area{padding-bottom:18px}
main.has-messages{padding-top:24px}
.history{z-index:5}
.drawer-heading{margin-top:3px;margin-bottom:30px}}
@media(max-width:959px){.history{width:290px}
.topbar{height:64px;min-height:64px;padding:12px 20px}
.conversation-title{max-width:280px}
.welcome{padding-top:20px}
.composer-area,main{width:min(100% - 40px,760px)}}
@media(max-width:600px){.topbar{padding:12px 14px;gap:8px}
.identity{font-size:16px}
.conversation-title{display:none}
.dev-label{font-size:13px}
main,.composer-area{width:calc(100% - 28px)}
main{padding-top:18px}
.welcome{padding:18px 4px 28px}
.portrait{width:64px;height:64px}
h1{font-size:26px;letter-spacing:-.8px;max-width:320px;margin:10px auto 13px}
.welcome p{font-size:15px}
.eyebrow{font-size:13px!important;margin-top:17px!important}
.welcome-actions{margin-top:23px}
.demo-button{padding:13px;gap:10px}
.demo-button strong{font-size:14px}
.demo-button small{font-size:13px}
.demo-icon{width:30px;height:30px}
.starter{font-size:13px;padding:10px}
.composer-area{padding-bottom:max(12px,env(safe-area-inset-bottom));padding-top:18px}
.composer{padding:13px 10px 8px;border-radius:20px}
.composer textarea{font-size:16px}
.composer-hint{font-size:13px}
.messages{gap:26px}
.message.user{padding:10px 15px;max-width:90%}
.analysis-brief,.email-card{padding:16px 14px;border-radius:13px}
.analysis-brief h3{font-size:18px}
.tree-children{padding-left:10px;margin-left:0}
.tree-branch>summary{padding:10px}
.branch-content{padding:0 10px 10px}
.email-label input,.email-label textarea{font-size:16px}
.email-download{font-size:13px}
.needs-auth .welcome{padding-top:4px;padding-bottom:17px}
.needs-auth .portrait{width:60px;height:60px}
.needs-auth h1{font-size:23px;margin-top:10px}
.needs-auth .welcome p{font-size:14px}}
@media(prefers-reduced-motion:no-preference){.demo-button,.starter,.session{transition:background .15s,border-color .15s}}

/* Clear surface hierarchy and readable secondary text throughout the workspace. */
:root{
  --paper:#f1f4f0;--line:#b5c1b8;--green:#24513a;
  --ink:#13271c;--secondary:#34473a;--muted:#34473a;
  color:var(--ink);background:var(--paper);
}
body{background:var(--paper)}
a{color:var(--green)}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #286543;outline-offset:3px}
.topbar{background:#f1f4f0f5;border-bottom:1px solid #c3cec4}
.identity span,.conversation-title,.dev-label{color:var(--secondary)}
.dev-label{background:#e3e9e1;border-color:#bbc7ba}
.welcome p,.resume,.auth-hint,.composer-hint,.footnote,.status{color:var(--secondary)}
.eyebrow{color:var(--secondary)!important}
.footnote,.composer-hint{font-size:13px}
.messages{gap:28px}
.message.user{background:#dfebe2;border-color:#9fb6a5;color:#253e2d;box-shadow:0 2px 5px #233d2810}
.message.assistant{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px 22px;box-shadow:0 3px 12px #21382b0a}
.assistant-label{color:#2d543c;font-size:14px;font-weight:600;padding-bottom:12px;border-bottom:1px solid #d6dfd7}
.assistant-label:before{background:#d4e5d7;color:#244f35;border:1px solid #a3baa8}
.message.system{color:var(--secondary);background:#e5eae3;border:1px solid #c0cbbd;border-radius:9px;padding:9px 14px}
.message.error{color:#7b342a;background:#fff0ec;border-color:#d2a59b}
.response-tools button,.retry{color:#45644e;font-size:14px;font-weight:500}
.message-body pre{background:#eaf0eb;border:1px solid #c2cfc5;color:#2d4536}
.artifact{border-color:#9bb5a2;border-left:4px solid #3b6c4d;box-shadow:0 2px 7px #21382b08}
.artifact a{color:#24513a;font-weight:600}
.dataset{background:#e7ece7;border-color:#96a79a;color:#3f5546;font-size:14px}
.synthetic-notice{background:#f9efd7;border-color:#c4ae7d;color:#70551e}
.history{background:#dce6dd;border-right:1px solid #9ead9e}
.drawer-heading h2,.history-label,.session small,.empty-history,.drawer-account,.drawer-account small,.mail-account{color:var(--secondary)}
.history-label{font-size:13px;font-weight:600;letter-spacing:.04em}
.session{color:#344c3b;font-size:14px;border:1px solid transparent}
.session small,.drawer-account small,.mail-account{font-size:13px}
.session:hover{background:#d2e0d1;border-color:#acbea9}
.session[aria-current=true]{background:#c9ddcd;color:#23482e;border-color:#8faa97;box-shadow:inset 3px 0 #315b47;font-weight:600}
.session[aria-current=true] small{color:#405c48;font-weight:400}
.drawer-account{border-color:#aebdaf}
.drawer-account>span,.drawer-account button{color:#3f5a45}
.new-chat{border-color:#95a998;font-weight:500}
.new-chat:hover{background:#f3f7f1;border-color:#6f8b73}
.workflow{background:#e8eff5;border-color:#aebccc;color:#344d62}
.workflow>summary{color:#274358;font-weight:600;font-size:14px}
.skill-label,.muted{color:#536371}
.skill-chip{border-color:#afc1b2;color:#345c3e;background:#fff;font-size:13px}
.analysis-brief{border:1px solid #9fb5a3;border-top:3px solid #51785a;background:#f8faf7;box-shadow:0 2px 7px #233d2808}
.analysis-brief h3,.email-heading h3{color:#25482f;font-weight:600}
.card-eyebrow{font-size:13px;color:#476048}
.brief-problem,.brief-decision,.brief-scope,.brief-note,.brief-details>ul,.metric-definition,.brief-sources small{color:var(--secondary)}
.brief-decision strong,.metric-definition strong{color:#31513a;font-weight:600}
.brief-scope,.brief-note,.brief-sources small{font-size:13px}
.breakdown,.brief-details,.brief-note{border-color:#bccabd}
.breakdown>summary,.brief-details>summary{color:#34583d;font-weight:600;font-size:15px}
.tree-branch{border-color:#a7bca9;background:#eaf1e9}
.tree-branch>summary{color:#2e5035;font-weight:600;background:#e3ece1;border-radius:9px;padding:12px 13px}
.tree-branch[open]>summary{border-radius:9px 9px 0 0;border-bottom:1px solid #b8cbb8;margin-bottom:11px}
.branch-content>p{color:#435e48;font-size:15px}
.branch-content .formula{background:#eef3ee;border:1px solid #c4d1c4;border-radius:6px;padding:8px 10px}
.formula>span{color:#536b55;font-size:13px}
.formula code,.metric-definition code{color:#35523b;font-size:14px}
.tree-children{border-left:2px solid #7b8f7f;padding-left:16px;gap:12px}
.tree-children .tree-branch{border-color:#afc1b0;background:#fff}
.tree-children .tree-branch>summary{background:#f0f5ee}
.brief-sources a{color:#2d6039;text-decoration:underline}
.email-card{border-color:#b6b39d;border-top:3px solid #7c8062;background:#fffef9;box-shadow:0 3px 12px #3a3e280b}
.email-help,.email-label,.email-sender{color:#53634b}
.email-label{font-size:14px;font-weight:500}
.email-label input,.email-label textarea{background:#fff;border-color:#9cab95;color:#2f462f;font-weight:400}
.email-label input:disabled,.email-label textarea:disabled{color:#53634b;background:#eaf0e5}
.email-status{background:#e1ead8;color:#405b32;border:1px solid #a5b994;font-size:13px;font-weight:600}
.status-sent{background:#d8ecd3;color:#2c5b28;border-color:#94b58c}
.status-unknown,.status-failed{background:#f9e8c5;color:#785112;border-color:#c7a973}
.email-actions button{border-color:#93aa81;color:#34552b;font-size:14px}
.email-actions .email-send{background:#315b3b;border-color:#315b3b;color:#fff}
.email-download,.email-sender a{color:#3e632f;font-size:14px}
.email-feedback{color:#785112;font-size:14px}
.email-sender{border-color:#c5ceba;font-size:13px}
.composer{border:1px solid #8ea693;box-shadow:0 5px 24px #203d2920}
.composer:focus-within{border-color:#3b6b48;box-shadow:0 0 0 2px #3b6b4826,0 5px 24px #203d2918}
.composer textarea{color:var(--ink)}
.composer textarea::placeholder{color:#34473a}
.icon-button{color:#435e49}
.icon-button:hover{background:#dce7db}
.send{background:#2f513c;color:#fff}
.send:hover{background:#24432f}
.send:disabled{background:#d5dfd3;color:#34473a}
.demo-button{background:#e1ecdb;border-color:#a8bd9b}
.demo-button:hover{background:#d4e4cb;border-color:#8aa77b}
.demo-button small,.demo-button>span:last-child,.starter,.starter span{color:#4c6543}
.demo-icon{background:#ccddc0;color:#3d6233}
.starter{background:#fff;border-color:#b5c5aa}
.starter:hover{background:#e6eee0}
.auth-panel label{color:#485d46}
.auth-panel input,.google-signin{border-color:#99ac95}
@media(max-width:600px){
  .message.assistant{padding:16px 14px;border-radius:14px}
  .assistant-label{font-size:14px}
.composer-hint,.footnote{font-size:13px}
  .tree-children{padding-left:10px}
.tree-branch>summary{padding:10px}
}

/* Inline evidence stays readable at its own scale inside the conversation. */
main,.messages,.message.assistant,.analysis-brief,.analysis-chart{min-width:0;max-width:100%}
.analysis-brief{background:#fff}
.analysis-brief h3,.analysis-chart h3{color:#14565b}
.tree-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:20px 0 5px;border-top:1px solid #bccabd;padding-top:12px}
.tree-heading h4{font-size:15px;color:#164e4f;margin:0;font-weight:600}
.tree-heading span{color:#53695c;font-size:13px}
.tree-scroll,.chart-scroll,.chart-table-scroll{width:100%;max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-color:#8cab97 #eff5ef;scrollbar-width:thin}
.tree-scroll{padding:10px 2px 18px;margin-bottom:10px}
.tree-scroll:focus-visible,.chart-scroll:focus-visible{outline:2px solid #286543;outline-offset:2px;border-radius:4px}
.visual-tree,.visual-tree-children{list-style:none;margin:0;padding:0}
.visual-tree{width:max-content;min-width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:22px}
.visual-tree>.visual-tree-branch{margin:0}
.visual-tree-branch{display:flex;align-items:center;position:relative;padding:9px 0}
.tree-fold{position:relative;width:max-content}
.tree-fold>summary{cursor:pointer;list-style:none}
.tree-fold>summary::-webkit-details-marker{display:none}
.tree-fold[open]>summary{position:absolute;top:50%;left:0;transform:translateY(-50%)}
.tree-fold[open]>.visual-tree-children{margin-left:196px}
.visual-tree>.visual-tree-branch>.tree-fold[open]>.visual-tree-children{margin-left:216px}
.tree-fold>summary:focus-visible{outline:3px solid #315d4c;outline-offset:3px}
.tree-fold[open]>summary:not(.tree-root){background:#c2e4b9;border-color:#315d4c}
.tree-expand-hint{display:block;font-size:11px;font-weight:400;opacity:.8;margin-top:3px}
.tree-fold>summary .tree-expand-hint:before{content:'▸ '}
.tree-fold[open]>summary .tree-expand-hint:before{content:'▾ '}
.tree-node{flex:0 0 196px;width:196px;padding:12px 14px;border:1px solid #69a778;border-radius:10px;background:#d5efce;color:#164f45;font-size:15px;line-height:1.5;font-weight:500;overflow-wrap:anywhere;white-space:normal;box-shadow:0 2px 3px #244f3510}
.tree-root{width:216px;flex-basis:216px;background:#a9dca6;border-color:#4f9461;font-weight:600;color:#114d46;padding:17px 15px}
.tree-node-formula{display:block;border-top:1px solid #86ba8a;margin-top:9px;padding-top:8px;color:#285748;font:13px/1.5 Consolas,monospace;white-space:normal;overflow-wrap:anywhere}
.visual-tree-children{position:relative;padding-left:40px;display:flex;flex-direction:column}
.visual-tree-children:before{content:"";position:absolute;top:50%;left:0;width:20px;border-top:2px solid #6ca86c}
.visual-tree-children>.visual-tree-branch:before{content:"";position:absolute;left:-20px;top:0;bottom:0;border-left:2px solid #6ca86c}
.visual-tree-children>.visual-tree-branch:after{content:"";position:absolute;left:-20px;top:50%;width:20px;border-top:2px solid #6ca86c}
.visual-tree-children>.visual-tree-branch:first-child:before{top:50%}
.visual-tree-children>.visual-tree-branch:last-child:before{bottom:50%}
.visual-tree-children>.visual-tree-branch:only-child:before{display:none}
.tree-limit{font-size:13px;color:#526154;margin:0 0 12px}
.question-details>.tree-branch{margin:0 0 9px}
.question-details>.tree-branch>summary{font-size:14px}
.analysis-chart{margin:17px 0 0;padding:20px 22px;border:1px solid #9fb5a3;border-top:3px solid #317660;border-radius:15px;background:#fff;white-space:normal;overflow-wrap:anywhere}
.messages>.analysis-chart{margin:0}
.analysis-chart h3{font-size:18px;line-height:1.4;font-weight:600;letter-spacing:-.25px;margin:0 0 6px}
.chart-subtitle{font-size:14px;color:#526154;margin:0 0 13px}
.chart-legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin:0 0 17px;font-size:13px;color:#354e43}
.chart-legend-item{display:inline-flex;align-items:center;gap:6px;min-width:0;overflow-wrap:anywhere}
.chart-swatch{display:inline-block;width:10px;height:10px;border-radius:3px;flex:0 0 10px}
.chart-scroll{padding:5px 2px 12px}
.chart-scroll-hint{display:none;font-size:13px;line-height:1.5;color:#526154;margin:0 0 5px}
.chart-plot{min-width:540px;width:100%}
.chart-svg{display:block;width:100%;min-width:680px;height:auto;font:13px system-ui,sans-serif;fill:#314a3e}
.chart-scope{font-size:13px;line-height:1.5;color:#526154;margin:7px 0}
.chart-axis,.chart-row{display:grid;grid-template-columns:144px minmax(260px,1fr) 110px;column-gap:12px;align-items:center}
.chart-axis{color:#526154;font-size:13px;min-height:25px;margin-bottom:6px}
.chart-axis>span:last-child{text-align:right}
.chart-axis-scale{position:relative;height:22px;border-bottom:1px solid #cad7ce}
.chart-tick{position:absolute;bottom:4px;transform:translateX(-50%);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:13px}
.chart-tick.tick-start{transform:none}
.chart-tick.tick-end{transform:translateX(-100%)}
.chart-row{min-height:44px;border-bottom:1px solid #eef2ee;padding:6px 0}
.chart-category{font-size:14px;line-height:1.4;overflow-wrap:anywhere;color:#29493d}
.chart-category>span{display:block}
.chart-category small{display:block;font-size:13px;color:#53695c;margin-top:2px}
.chart-track{position:relative;height:28px;background:#f0f5f1;border-radius:3px}
.chart-baseline{position:absolute;top:-7px;bottom:-7px;width:1px;background:#6f8176;z-index:1}
.chart-bar{position:absolute;top:4px;height:20px;border-radius:3px;z-index:2;min-width:0}
.chart-bar.is-negative{background-image:repeating-linear-gradient(135deg,transparent,transparent 4px,#ffffff26 4px,#ffffff26 6px)}
.chart-zero-mark{position:absolute;top:8px;width:4px;height:12px;transform:translateX(-50%);border:1px solid #fff;z-index:3}
.chart-missing{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(135deg,#f1f3f1,#f1f3f1 4px,#e4eae5 4px,#e4eae5 5px);color:#5a675e;font-size:13px;font-style:italic}
.chart-value{text-align:right;color:#314a3c;font-size:14px;line-height:1.4;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.chart-source,.chart-provenance{font-size:13px;line-height:1.65;color:#526154;margin:10px 0}
.chart-details>summary{font-size:14px}
.chart-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:440px;font-size:14px;line-height:1.5}
.chart-table th,.chart-table td{border-bottom:1px solid #c8d5cb;padding:8px 10px;text-align:left;overflow-wrap:anywhere}
.chart-table th{background:#e7f0e7;font-weight:600;color:#2e533f}
.chart-table td:last-child,.chart-table th:last-child{text-align:right;font-variant-numeric:tabular-nums}
.chart-detail-label{font-size:13px;font-weight:600;color:#385440;margin:12px 0 4px}
.chart-metadata{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.5;margin:0;background:#f0f4ef;border:1px solid #ccd8cc;border-radius:6px;padding:9px;color:#3c5142}
.chart-empty{font-size:14px;color:#526154}
.input-tools{align-items:center;flex-wrap:wrap;min-width:0}
.sample-csv{border:0;background:transparent;color:#315f43;font-size:13px;line-height:1.4;text-decoration:underline;text-underline-offset:3px;padding:6px 4px;white-space:nowrap}
.sample-csv:hover:not(:disabled){color:#19462b;background:#eff5ed;border-radius:5px}
.current-result-label{font-size:13px;color:#355d47;margin:0 0 12px;font-weight:600}
.verification-log,.previous-versions{border:1px solid #d6ded4;border-radius:10px;background:#f5f7f3;font-size:14px;line-height:1.6;white-space:normal;overflow-wrap:anywhere;max-width:100%}
.verification-log{margin:0 0 15px}
.verification-log>summary,.previous-versions>summary{padding:10px 13px;font-weight:500;color:#405b48;cursor:pointer}
.verification-entry{padding:0 14px 12px;border-top:1px solid #e1e7dd}
.verification-entry h4{font-size:14px;margin:12px 0 7px}
.verification-entry ul{padding-left:18px;margin:6px 0}
.verification-entry li{margin:6px 0}
.verification-entry strong{font-weight:500}
.check-failed{color:#8a4939}
.check-warning{color:#806421}
.verification-correction,.verification-claims{font-size:13px;margin:7px 0;color:#53644f}
.verification-note{font-size:13px;padding:0 14px 12px;margin:0;color:#34473a}
.verification-download{display:inline-block;margin:0 14px 12px;font-size:13px;color:#3e5b49;text-underline-offset:3px}
.brief-plan-status{font-size:13px;color:#34473a;margin:0 0 13px;line-height:1.6}
.checked-formulas{margin-top:15px}
.checked-formulas>summary{color:#285b45}
.checked-formula{padding:12px 0;border-top:1px solid #e3e9df}
.checked-formula>code{display:block;font:13px/1.7 Consolas,monospace;color:#234c39;white-space:pre-wrap;overflow-wrap:anywhere}
.formula-scope,.formula-note{font-size:13px;line-height:1.6;color:#34473a;margin:7px 0}
.formula-provenance{font-size:13px;color:#34473a;overflow-wrap:anywhere}
.formula-provenance>summary{padding:3px 0;cursor:pointer}
.formula-provenance>p{margin:5px 0}
.previous-versions-body{display:flex;flex-direction:column;gap:20px;padding:4px 14px 16px;min-width:0}
.previous-versions-body>.analysis-chart,.previous-versions-body>.analysis-brief{margin:0}
.previous-versions-body .message{font-size:16px}
.analysis-progress-card{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #dfe5da;padding:12px 0;font-size:14px}
.analysis-progress{margin:0;color:#34473a}
.resume-analysis{border:1px solid #b7c5af;border-radius:8px;padding:7px 11px;background:#fff;color:#3f5a35;white-space:nowrap;font-size:13px}
.resume-analysis:disabled{display:none}
@media(max-width:600px){.previous-versions-body{padding:4px 8px 12px}
.analysis-progress-card{align-items:flex-start}
.verification-entry{padding:0 11px 11px}}
@media(max-width:600px){.analysis-chart{padding:16px 14px;border-radius:13px}
.analysis-chart h3{font-size:18px}
.tree-node{flex-basis:180px;width:180px}
.tree-fold[open]>.visual-tree-children{margin-left:180px}
.visual-tree>.visual-tree-branch>.tree-fold[open]>.visual-tree-children{margin-left:200px}
.tree-root{flex-basis:200px;width:200px}
.tree-heading{gap:4px}
.chart-axis,.chart-row{grid-template-columns:136px minmax(250px,1fr) 110px}
.chart-plot{min-width:520px}
.chart-scroll-hint{display:block}
.composer-hint{font-size:13px}
.sample-csv{font-size:13px;padding:6px 3px}}

.credit-status{margin:0 0 7px;color:#294335;font-size:14px;font-weight:600;text-align:center}
.credit-status[hidden]{display:none}

/* Compact type hierarchy; dark text stays independent of its size. */
.session small{font-size:12px;line-height:1.45;margin-top:3px}
.message-body h3{font-size:18px}
.message-body h4{font-size:16px}
.response-tools .voice-button{font-size:13px;line-height:1.4;padding:7px 12px;min-height:34px;max-width:100%;white-space:normal;font-weight:500}
.brief-details{margin-top:6px;border-top:0}

/* Visible action labels, keyboard affordances and the private feedback form. */
.topbar{height:auto;min-height:78px;flex-wrap:wrap;gap:12px}
.topbar .conversation-title{flex:1;min-width:0}
.feedback-open,.history-trigger,.composer-action{width:auto;min-width:44px;min-height:36px;height:auto;display:inline-flex;gap:8px;align-items:center;justify-content:center;border:1px solid #668071;border-radius:10px;padding:7px 10px;background:#fff;color:#183d28;font-size:14px;font-weight:600;white-space:nowrap}
.feedback-open:hover,.history-trigger:hover,.composer-action:hover:not(:disabled){background:#e0eddf;border-color:#24513a}
.feedback-open{margin-left:auto}
.action-label{line-height:1.35}
.composer .send{background:#24513a;border-color:#24513a;color:#fff;min-width:76px}
.composer .send:hover:not(:disabled){background:#183c28}
.composer .send:disabled,.composer-action:disabled{background:#e4e9e3;color:#526156;border-color:#a7b4a8}
.composer-tools{align-items:flex-end;gap:12px}
.input-tools{gap:8px;flex:1}
.composer-hint{flex-basis:100%;margin-left:0;order:3}
.composer textarea::placeholder{color:#4b5d50;opacity:1}
.new-chat,.starter,.demo-button,.auth-panel input,.google-signin,.composer{border-color:#7d9482}
.new-chat,.starter,.google-signin,.auth-submit,.auth-switch{min-height:38px}
.response-tools button,.retry,.sample-csv,.resume-analysis{border:1px solid #668071;border-radius:8px;background:#f2f7ef;padding:6px 10px;min-height:34px;text-decoration:underline;text-underline-offset:4px}
.response-tools button:hover:not(:disabled),.sample-csv:hover:not(:disabled),.retry:hover{background:#dcebd8;border-color:#24513a;color:#183c28}
.artifact a,.drawer-account a,.drawer-account button,.brief-sources a{font-weight:600;text-decoration:underline;text-underline-offset:4px}
.drawer-account button{min-height:44px}
.session{border-color:#98ad9a;background:#edf3eb;margin:4px 0;line-height:1.5}
.session:hover{background:#c8dfc9;border-color:#496c4c}
.workflow>summary,.verification-log>summary,.previous-versions>summary,.brief-details>summary,.breakdown>summary{min-height:38px;padding:8px 11px;border:1px solid #91a68e;border-radius:8px;background:#edf4e9;font-size:14px;font-weight:600}
.workflow>summary:hover,.verification-log>summary:hover,.previous-versions>summary:hover,.brief-details>summary:hover,.breakdown>summary:hover{background:#dcebd4;border-color:#315b39}
.disclosure-cue{display:inline-block;margin-left:9px;font-size:12px;font-weight:500;text-decoration:underline;text-underline-offset:3px;color:#234d30}
details[open]>summary .disclosure-cue{color:#34473a}
.skill-label{min-width:52px}
.feedback-dialog{width:min(560px,calc(100% - 28px));max-width:calc(100% - 28px);max-height:calc(100dvh - 32px);margin:auto;padding:26px;border:2px solid #6f8a75;border-radius:18px;background:#fff;color:#13271c;box-shadow:0 20px 70px #10271840;overflow-y:auto}
.feedback-dialog::backdrop{background:#15251dcc;backdrop-filter:blur(2px)}
.feedback-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}
.feedback-heading h2{font-size:22px;line-height:1.3;margin:0}
.feedback-close{min-width:44px;min-height:44px;flex-shrink:0;white-space:nowrap;border:1px solid #668071;border-radius:8px;padding:6px 12px;background:#fff;color:#183d28;font:inherit;font-size:14px;font-weight:600;line-height:1.4}
.feedback-field{display:block;margin:16px 0;font-size:15px;font-weight:600}
.feedback-field input,.feedback-field select,.feedback-field textarea,.feedback-form select,.feedback-form textarea{display:block;width:100%;min-height:48px;margin-top:7px;padding:10px 12px;border:1px solid #668071;border-radius:9px;background:#fff;color:#13271c;font:inherit;font-weight:400;line-height:1.6}
.feedback-form textarea{min-height:180px;resize:vertical}
.feedback-form select,.feedback-form textarea{font-size:16px}
.feedback-form textarea::placeholder{color:#4b5d50;opacity:1}
.feedback-context,.feedback-check{display:flex;align-items:flex-start;gap:10px;font-size:14px;font-weight:500;line-height:1.6;margin:15px 0;overflow-wrap:anywhere}
.feedback-context input,.feedback-check input{width:21px;height:21px;flex-shrink:0;margin:4px 0 0;accent-color:#24513a}
.feedback-check .feedback-context{display:block;margin:0;flex:1;min-width:0}
.feedback-note,.feedback-status{font-size:13px;color:#34473a;line-height:1.6;margin:12px 0}
.feedback-status{font-weight:600;overflow-wrap:anywhere}
.feedback-status:empty{display:none}
.feedback-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:20px}
.feedback-submit{min-height:48px;padding:11px 18px;border:1px solid #24513a;border-radius:9px;background:#24513a;color:#fff;font-size:15px;font-weight:600}
.feedback-submit:hover:not(:disabled){background:#183c28}
.feedback-submit:disabled{background:#e4e9e3;color:#526156;border-color:#a7b4a8}
@media(max-width:600px){
  .topbar .identity{font-size:16px}
  .topbar .dev-label{display:none}
  .starter-prompts{grid-template-columns:1fr}
  .feedback-dialog{padding:20px}
  .feedback-form textarea{min-height:140px}
  .feedback-heading h2{font-size:20px}
  .feedback-context{font-size:13px}
}

/* Compact chat shell: one composer row, secondary actions on demand. */
.topbar{min-height:60px;height:60px;padding:8px 24px;flex-wrap:nowrap;gap:10px}
.history-trigger,.feedback-open{min-height:44px;border-color:transparent;background:transparent;padding:8px;gap:7px}
.feedback-open svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.composer-area{padding-top:10px;padding-bottom:max(10px,env(safe-area-inset-bottom));flex-shrink:0}
.composer{display:grid;grid-template-columns:44px minmax(0,1fr) 44px 44px;align-items:end;gap:4px;padding:6px;border-radius:28px;position:relative}
.composer textarea{min-width:0;min-height:44px;max-height:180px;padding:10px 4px;line-height:24px;font-size:16px;scrollbar-width:thin}
.composer-add{position:relative}
.composer .icon-button{width:44px;height:44px;min-width:44px;min-height:44px;border-radius:50%;padding:10px;border:0;background:transparent;color:#244d35}
.composer .icon-button:hover:not(:disabled){background:#e0eddf}
.composer .send{background:#24513a;color:#fff}
.composer .send:hover:not(:disabled){background:#183c28}
.composer .send:disabled{background:#dce5dc;color:#526156}
.composer .icon-button:disabled:not(.send){background:transparent;color:#647269}
.composer #mic[aria-pressed=true]{background:#fae2db;color:#922f21;box-shadow:inset 0 0 0 1px #b96756}
.composer #mic[aria-pressed=true] svg{fill:currentColor}
.composer-menu{position:absolute;bottom:calc(100% + 14px);left:-6px;z-index:6;width:280px;max-width:calc(100vw - 24px);padding:6px;border:1px solid #8ea693;border-radius:16px;background:#fff;box-shadow:0 8px 32px #183c2829}
.composer-menu .composer-menu-action{display:block;width:100%;text-align:left;white-space:normal;border:0;border-radius:10px;background:transparent;padding:11px 12px;margin:0;min-height:44px;color:#183d28;text-decoration:none}
.composer-menu .composer-menu-action:hover:not(:disabled){background:#e7f0e4}
.composer-menu-action strong{display:block;font-size:14px;font-weight:600;line-height:1.5}
.composer-menu-action span{display:block;color:#34473a;font-size:12px;line-height:1.5;margin-top:2px}
.composer-meta{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:2px 12px;padding:6px 4px 0}
.composer-meta .credit-status,.composer-meta .footnote{font-size:12px;line-height:1.5;margin:0;font-weight:400;letter-spacing:0}
.composer-meta .credit-status{font-variant-numeric:tabular-nums;color:#294335}
.run-activity:empty{display:none}
.response-tools .voice-button{background:transparent;border-color:transparent;padding:5px 2px;text-decoration:none;font-size:13px}
.response-tools .voice-button:hover:not(:disabled){background:#e7f0e4;text-decoration:underline}

@media(max-width:600px){
  .topbar{height:56px;min-height:56px;padding:6px 12px;position:static;gap:8px}
  .history-trigger,.feedback-open{width:44px;min-width:44px;height:44px;padding:10px;border:0;border-radius:50%}
  .history-trigger .action-label,.feedback-open .action-label{display:none}
  .history-trigger svg{display:block}
  main,.composer-area{width:calc(100% - 24px)}
  body:not(.needs-auth) main{padding:18px 0 20px}
  .composer-area{position:relative;bottom:auto;padding-top:8px;padding-bottom:max(8px,env(safe-area-inset-bottom));background:var(--paper)}
  .composer{border-radius:28px;padding:5px;gap:2px}
  .composer textarea{max-height:144px}
  .composer-meta{gap:2px 10px;padding-top:5px}
  .messages{gap:22px}
  .message.assistant{border:0;border-radius:0;box-shadow:none;background:transparent;padding:0 4px}
  .message.user{max-width:92%;padding:9px 13px;border-radius:18px 18px 4px 18px}
  .assistant-label{border:0;padding-bottom:0;margin-bottom:9px;font-size:13px}
  .response-tools{margin-top:5px}
  .response-tools .voice-button{min-height:44px}
  .analysis-brief,.analysis-chart{padding:14px 12px;border-radius:12px}
  .workflow>summary,.verification-log>summary,.previous-versions>summary,.brief-details>summary,.breakdown>summary{font-size:13px;min-height:44px;padding:10px}
  .welcome{padding:18px 4px 24px}
  .welcome .portrait{width:56px;height:56px}
  .welcome h1{font-size:24px;letter-spacing:-.6px;max-width:300px}
  .welcome-actions{margin-top:20px}
  .welcome p{line-height:1.65}
  .demo-button{padding:12px}
  .starter{min-height:44px}
}

/* A single viewport shell and transcript scroller keep keyboard and replies stable. */
.chat-shell{display:flex;flex-direction:column;min-height:100dvh;width:100%}
body:not(.needs-auth){padding-left:0;min-height:0;height:100dvh;overflow:hidden}
body:not(.needs-auth) .chat-shell{position:fixed;inset:auto 0 auto 0;top:var(--chat-top,0px);height:var(--chat-height,100dvh);min-height:0;width:auto}
body:not(.needs-auth) .chat-shell main{min-height:0;flex:1;overflow-y:auto;overscroll-behavior-y:contain;overflow-anchor:none;scroll-behavior:auto;scrollbar-width:thin}
.chat-shell .topbar{position:relative;top:auto;flex-shrink:0}
.chat-shell .composer-area{position:relative;bottom:auto;flex-shrink:0}
.assistant-activity{padding:0 4px;white-space:normal;min-height:68px;align-self:stretch}
.assistant-activity .assistant-label{border:0;margin:0 0 7px;padding:0}
.assistant-activity .analysis-progress-card{border:0;padding:0;min-height:28px}
.thinking-line{display:flex;align-items:center;gap:9px}
.thinking-line:before{content:"";width:7px;height:7px;background:#317153;border-radius:50%;flex-shrink:0}
.thinking-status{margin:0;font-size:14px;color:#34473a;line-height:1.6}
.jump-latest{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);z-index:4;min-height:40px;max-width:calc(100% - 20px);padding:8px 15px;border:1px solid #7d9482;border-radius:22px;background:#fff;color:#234c35;box-shadow:0 3px 16px #203d2926;font-size:13px;line-height:1.4;white-space:nowrap}
.jump-latest:hover{background:#e7f0e4;border-color:#24513a}
@media(min-width:960px){body:not(.needs-auth) .chat-shell{left:var(--sidebar)}}
/* Keep the toggle reachable when the sidebar is hidden; expand the actual shell. */
.action-plan{min-width:0;max-width:100%;margin:16px 0;white-space:normal;color:var(--ink,#233d30)}
.action-plan-title{font-size:16px;margin:0 0 3px;font-weight:600}
.action-plan-note{font-size:13px;margin:0 0 12px;color:#526556}
.action-table-scroll{width:100%;max-width:100%;overflow-x:auto;border:1px solid #bdcbbf;border-radius:10px;overscroll-behavior-x:contain}
.action-table{width:100%;min-width:480px;border-collapse:collapse;text-align:left;font-size:14px;line-height:1.55;background:#fff;table-layout:fixed}
.action-plan>.action-table-scroll .action-table{min-width:0}
.action-table th,.action-table td{padding:11px 13px;vertical-align:top;overflow-wrap:anywhere;border-bottom:1px solid #dce4dc}
.action-table th{background:#eaf0e8;font-weight:600}.action-table tr:last-child td{border-bottom:0}
.action-table th:first-child{width:22%}.action-table th:nth-child(2){width:34%}
.action-dictionary,.action-implementation{margin-top:10px;border:1px solid #bdcbbf;border-radius:10px;background:#f8faf6;overflow:hidden}
.action-dictionary>summary,.action-implementation>summary{cursor:pointer;padding:11px 13px;min-height:44px;font-size:14px;font-weight:600}
.action-field-group,.action-detail-group{padding:0 13px 14px;min-width:0}
.action-field-group h4,.action-detail-group h4{font-size:14px;margin:12px 0 5px}
.action-grain{font-size:12px;color:#526556;overflow-wrap:anywhere;margin:0 0 8px}
.action-field-group .action-table th:first-child{width:29%}.action-field-group .action-table th:nth-child(2){width:16%}
.action-detail-group p,.action-detail-group ul{font-size:14px;margin:6px 0}.action-detail-group ul{padding-left:20px}.action-detail-label{font-weight:600}
@media(max-width:600px){.action-plan{margin:12px 0}.action-table{font-size:13px;min-width:440px}.action-table th,.action-table td{padding:9px 10px}}
.topbar .history-trigger{width:44px;height:44px;padding:10px;border-radius:10px}
.needs-auth #history-toggle{display:none}
@media(min-width:960px){
  body:not(.needs-auth).sidebar-collapsed .chat-shell{left:0}
  body.sidebar-collapsed main,body.sidebar-collapsed .composer-area{width:calc(100% - 64px)}
}
@media(prefers-reduced-motion:no-preference){.thinking-line:before{animation:thinking-pulse 1.4s ease-in-out infinite}@keyframes thinking-pulse{50%{opacity:.35}}}

@media(max-width:600px){
  .tree-node{width:130px;flex-basis:130px;font-size:13px;padding:10px}
  .tree-root{width:136px;flex-basis:136px}
  .tree-fold[open]>.visual-tree-children{margin-left:130px}
  .visual-tree>.visual-tree-branch>.tree-fold[open]>.visual-tree-children{margin-left:136px}
  .visual-tree-children{padding-left:24px}
  .visual-tree-children:before{width:12px}
  .visual-tree-children>.visual-tree-branch:before{left:-12px}
  .visual-tree-children>.visual-tree-branch:after{left:-12px;width:12px}
}
