/* Ask AI — chat shell: compact header + messages fill viewport, composer bottom */
body[data-page="ask-ai"]{display:flex;flex-direction:column;min-height:100vh;height:100vh;overflow:hidden}
body[data-page="ask-ai"] .home-header{flex-shrink:0}
.ai-main{flex:1 1 auto;min-height:0;width:100%;max-width:1400px;margin:0 auto;padding:10px 28px 12px;display:flex;flex-direction:column}
.ai-page-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 8px;flex-shrink:0}
.ai-page-heading-text{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px 16px;min-width:0}
.ai-page-heading h1{font-family:Georgia,"Times New Roman",serif;font-size:22px;letter-spacing:-.4px;margin:0;line-height:1.2}
.ai-page-heading p{font-size:12px;margin:0;color:var(--muted);max-width:560px;line-height:1.5}
.ai-provider{flex-shrink:0;border:1px solid #d8dfce;background:#eef2e6;border-radius:24px;padding:6px 12px;font-size:11px;color:#54734a;line-height:1.3}
.ai-workspace{display:grid;grid-template-columns:265px minmax(0,1fr);flex:1 1 auto;min-height:0;margin-top:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fdfdf8}
.ai-sidebar{background:#f0f2e9;border-right:1px solid var(--line);padding:16px 14px;min-width:0;min-height:0;overflow:auto;display:flex;flex-direction:column}
.ai-sidebar-heading{display:flex;flex-direction:column;gap:10px;margin-bottom:12px;flex-shrink:0}
.ai-sidebar-heading h2{font-size:15px;letter-spacing:0;margin:0}
.ai-sidebar-heading .button{width:100%;background:#fafbf5}
.ai-conversations{display:grid;gap:7px;align-content:start}
.ai-conversation{border:1px solid transparent;background:transparent;text-align:left;color:var(--ink);border-radius:7px;padding:11px 12px;width:100%;min-width:0}
.ai-conversation:hover{background:#e5ebdc}
.ai-conversation[aria-current=true]{background:#e1e9d7;border-color:#c9d6bc}
.ai-conversation-title{display:block;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.ai-conversation-date{display:block;margin-top:6px;font-size:10px;color:#76836e}
.ai-muted{font-size:11px;color:#7b8477;line-height:1.7;margin-bottom:0}
.ai-chat{min-width:0;min-height:0;height:100%;display:flex;flex-direction:column}
.ai-chat-heading{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid #e8eadf;flex-shrink:0}
.ai-chat-heading h2{font-size:16px;letter-spacing:0;margin:0 0 4px;overflow-wrap:anywhere}
.ai-chat-heading p{font-size:11px;margin:0;line-height:1.45}
.ai-chat-heading>.button{flex-shrink:0}
.ai-messages{padding:16px 20px;flex:1 1 auto;min-width:0;min-height:0;display:grid;gap:16px;align-content:start;overflow:auto;scroll-behavior:smooth}
.ai-welcome{text-align:center;padding:28px 12px 32px;align-self:center}
.ai-welcome-icon{display:block;font-size:28px;color:#6b8a5c;margin-bottom:12px}
.ai-welcome h3{font-family:Georgia,"Times New Roman",serif;font-size:22px;font-weight:400;margin-bottom:8px}
.ai-welcome p{font-size:12px;margin-bottom:0}
.ai-examples{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:18px}
.ai-examples button{border:1px solid #d6dec9;border-radius:7px;background:#f5f7ec;color:#58794e;padding:11px 14px;font-size:11px}
.ai-message{min-width:0}
.ai-message-label{display:block;font-size:10px;color:#7d8975;margin:0 0 9px;font-weight:600}
.ai-message-body{font-size:14px;line-height:1.85;overflow-wrap:anywhere;min-width:0}
.ai-message-body p{color:#344c3c;margin-bottom:15px;white-space:pre-wrap}
.ai-message-body h3,.ai-message-body h4,.ai-message-body h5,.ai-message-body h6{color:#2f573f;font-size:17px;line-height:1.6;margin:23px 0 10px;letter-spacing:0}
.ai-message-body>h3:first-child,.ai-message-body>h4:first-child{margin-top:0}
.ai-message-body li{margin:6px 0}
.ai-message-body ul,.ai-message-body ol{padding-left:25px;margin:12px 0 20px}
.ai-message-body blockquote{margin:15px 0;border-left:3px solid #adbda0;padding:7px 16px;background:#f2f5eb}
.ai-message-body pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f0f2ea;border:1px solid #e0e6d7;border-radius:7px;padding:15px;font-size:12px;line-height:1.7}
.ai-message-body code{background:#eff2e6;border-radius:3px;padding:2px 4px;font-size:12px}
.ai-message-body a{color:#2c7552;text-decoration:underline;text-underline-offset:3px}
.ai-message-user{margin-left:8%;padding:16px 19px;background:#eef3e6;border:1px solid #dce6cf;border-radius:12px}
.ai-message-user p:last-child{margin-bottom:0}
.ai-message-assistant{padding:3px 0}
.ai-message-pending{padding:15px 19px;border:1px dashed #c9d8bd;border-radius:10px;background:#f6f8ef;font-size:12px;color:#697d5c}
.ai-media{margin:15px 0;max-width:100%;min-width:0}
.ai-media img{display:block;max-width:100%;height:auto;max-height:480px;object-fit:contain;border-radius:8px}
.ai-media video{display:block;max-width:100%;max-height:440px;background:#152c20;border-radius:8px}
.ai-media audio{display:block;width:100%;max-width:480px}
.ai-media figcaption{font-size:11px;line-height:1.6;overflow-wrap:anywhere;margin-top:7px}
.ai-composer{margin:0 16px 8px;padding:10px 12px;border:1px solid #cdd9bf;border-radius:11px;background:#fffefa;flex-shrink:0}
.ai-composer.drag-over{border:2px dashed #6b8b57;background:#f0f5e6}
.ai-input-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ai-composer textarea{width:100%;min-width:0;border:0;background:transparent;padding:2px 1px;resize:vertical;min-height:40px;max-height:180px;font:inherit;font-size:14px;line-height:1.55;color:var(--ink)}
.ai-composer textarea:focus-visible{outline:2px solid #a5ba93;outline-offset:3px;border-radius:3px}
.ai-composer-tools,.ai-input-tools,.ai-send-row,.ai-send-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ai-composer-tools{justify-content:space-between;margin-top:6px}
.ai-input-tools .button,.ai-send-actions .button{font-size:11px;min-height:32px;padding:6px 10px}
.ai-file-button{position:relative;cursor:pointer}
.ai-file-button input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}
.ai-file-button:focus-within{outline:3px solid #c59950;outline-offset:3px}
.ai-file-button:has(input:disabled){opacity:.5;cursor:default}
.ai-audio-option{font-size:11px;display:flex;align-items:center;gap:6px;color:#6b7c62}
.ai-audio-option input{accent-color:var(--forest)}
.ai-send-row{justify-content:space-between;border-top:1px solid #e6eadc;padding-top:8px;margin-top:8px}
.ai-send-row>.ai-muted{flex:1;min-width:170px;font-size:10px}
.ai-send-actions{justify-content:flex-end}
.ai-send-actions .button-primary{min-height:36px;min-width:72px}
.ai-record-status{font-size:11px;margin:8px 0 0;color:#906443}
.ai-record-status:empty{display:none}
.ai-attachments{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:10px;margin-top:10px}
.ai-attachments:empty{display:none}
.ai-attachment{margin:0;min-width:0;max-width:100%;padding:10px;border:1px solid #dde5d2;border-radius:7px;background:#f5f7ef}
.ai-attachment img{width:100%;height:95px;object-fit:contain;background:#edf1e4;border-radius:4px}
.ai-attachment audio,.ai-attachment video{width:100%;max-height:140px;display:block}
.ai-attachment-name{font-size:11px;color:#3d6046;line-height:1.6;overflow-wrap:anywhere;display:block;margin:7px 0 3px}
.ai-attachment small{font-size:10px;color:#86917d;display:block}
.ai-attachment button{font-size:10px;border:0;padding:6px 0;background:transparent;color:#8d543f;text-decoration:underline}
.ai-attachment-placeholder{display:block;font-size:26px;color:#a0af90;margin:9px 0;text-align:center}
.ai-footnote{margin:4px 20px 10px;font-size:10px;line-height:1.6;color:#8a927f;flex-shrink:0}
.ai-login-gate{padding:24px 28px;background:#eaf0de;border:1px solid #d3dfc7;border-radius:10px;margin-top:12px;flex-shrink:0}
.ai-login-gate h2{font-size:22px;letter-spacing:0;margin-bottom:10px}
.ai-login-gate p{font-size:13px;max-width:820px}
.ai-login-gate~.ai-workspace{min-height:0}
.ai-login-gate:not([hidden])~.ai-workspace .ai-sidebar,.ai-login-gate:not([hidden])~.ai-workspace .ai-composer,.ai-login-gate:not([hidden])~.ai-workspace .ai-footnote,.ai-login-gate:not([hidden])~.ai-workspace #ai-delete{display:none}
.ai-login-gate:not([hidden])~.ai-workspace{grid-template-columns:1fr}
.ai-main .home-notice:not(:empty){margin-top:0;margin-bottom:8px;flex-shrink:0}

@media(max-width:950px){.ai-workspace{grid-template-columns:215px minmax(0,1fr)}.ai-chat-heading,.ai-messages{padding:14px 16px}.ai-page-heading{align-items:flex-start}.ai-composer{margin:0 12px}.ai-footnote{margin:4px 14px 10px}.ai-chat-heading>.button{font-size:10px;padding:8px 10px}.ai-send-row{align-items:flex-start}}
@media(max-width:650px){
body[data-page="ask-ai"]{height:auto;min-height:100vh;overflow:auto}
.ai-main{padding:12px 15px 16px;height:auto}
.ai-page-heading{gap:10px;flex-direction:column;align-items:flex-start}
.ai-page-heading h1{font-size:20px}
.ai-provider{font-size:10px;padding:5px 10px}
.ai-workspace{display:flex;flex-direction:column;flex:1 1 auto;min-height:min(70vh,620px);height:auto}
.ai-sidebar{border-right:0;border-bottom:1px solid var(--line);padding:12px;max-height:160px;overflow:auto}
.ai-sidebar-heading{flex-direction:row;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}
.ai-sidebar-heading h2{font-size:14px}
.ai-sidebar-heading .button{width:auto;font-size:10px}
.ai-conversations{display:flex;overflow:auto;gap:7px;padding-bottom:3px}
.ai-conversation{width:180px;min-width:155px;flex-shrink:0}
.ai-conversation-title{font-size:11px;max-height:38px;overflow:hidden}
.ai-history-status{font-size:10px}
.ai-chat{min-height:420px}
.ai-chat-heading{padding:12px 14px}
.ai-chat-heading h2{font-size:15px}
.ai-messages{padding:14px;flex:1 1 auto}
.ai-welcome{padding:20px 0}
.ai-welcome h3{font-size:20px}
.ai-message-body{font-size:14px}
.ai-message-user{margin-left:3%;padding:13px 15px}
.ai-composer{margin:0 10px;padding:12px}
.ai-composer textarea{font-size:16px;min-height:48px}
.ai-composer-tools{gap:10px}
.ai-input-tools{gap:6px}
.ai-send-row{gap:11px}
.ai-send-actions{margin-left:auto}
.ai-footnote{margin:6px 12px 12px}
.ai-login-gate{padding:22px}
.ai-login-gate h2{font-size:21px}
.ai-attachments{grid-template-columns:repeat(2,minmax(0,1fr))}
.ai-media audio{min-width:0}
}

.ai-table-scroll{max-width:100%;min-width:0;overflow-x:auto;margin:18px 0 22px;border:1px solid #d7e2cc;border-radius:7px}.ai-table-scroll:focus-visible{outline:3px solid #c59950;outline-offset:3px}.ai-table-scroll table{border-collapse:collapse;min-width:100%;width:max-content;font-size:12px;line-height:1.75}.ai-table-scroll th,.ai-table-scroll td{padding:10px 13px;min-width:105px;max-width:340px;border-right:1px solid #e1e8d8;border-bottom:1px solid #e1e8d8;vertical-align:top;white-space:normal;overflow-wrap:anywhere}.ai-table-scroll th{background:#eaf0df;color:#3b6346;font-weight:600}.ai-table-scroll tbody tr:nth-child(even){background:#f5f8ed}.ai-table-scroll tr>*:last-child{border-right:0}.ai-table-scroll tbody tr:last-child>*{border-bottom:0}.ai-table-scroll .ai-cell-left{text-align:left}.ai-table-scroll .ai-cell-center{text-align:center}.ai-table-scroll .ai-cell-right{text-align:right}
.ai-message-body .ai-reading-scope{font-size:11px;line-height:1.8;color:#7b806d;margin:7px 0 13px}.ai-attachment-reading{margin:12px 0 20px;padding:10px 13px;border:1px solid #dce5d1;border-radius:7px;background:#f6f8f0}.ai-attachment-reading summary{font-size:12px;color:#547548;cursor:pointer}.ai-attachment-reading>div{padding-top:13px;font-size:12px}.ai-attachment-reading[open] summary{padding-bottom:6px;border-bottom:1px solid #e0e7d9}.ai-message-body .ai-warning{font-size:12px;color:#86513b;background:#faf0e4;border:1px solid #ecd8c2;padding:11px 14px;border-radius:6px}
@media(max-width:950px){.ai-workspace{grid-template-columns:215px minmax(0,1fr)}.ai-chat-heading,.ai-messages{padding:21px}.ai-page-heading{align-items:flex-start}.ai-composer{margin:0 16px}.ai-footnote{margin:12px 22px 20px}.ai-chat-heading>.button{font-size:10px;padding:8px 10px}.ai-send-row{align-items:flex-start}}
@media(max-width:650px){.ai-main{padding:24px 15px 30px}.ai-page-heading{gap:15px;flex-direction:column}.ai-page-heading h1{font-size:31px}.ai-provider{font-size:10px;padding:7px 11px}.ai-workspace{display:flex;flex-direction:column;min-height:min(550px,calc(100vh - 220px));height:auto;max-height:none}.ai-sidebar{border-right:0;border-bottom:1px solid var(--line);padding:16px}.ai-sidebar-heading{flex-direction:row;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.ai-sidebar-heading h2{font-size:14px}.ai-sidebar-heading .button{width:auto;font-size:10px}.ai-conversations{display:flex;overflow:auto;gap:7px;padding-bottom:3px}.ai-conversation{width:180px;min-width:155px;flex-shrink:0}.ai-conversation-title{font-size:11px;max-height:38px;overflow:hidden}.ai-history-status{font-size:10px}.ai-chat-heading{padding:17px}.ai-chat-heading h2{font-size:16px}.ai-messages{padding:21px 17px;max-height:none}.ai-welcome{padding:27px 0}.ai-welcome h3{font-size:25px}.ai-message-body{font-size:14px}.ai-message-user{margin-left:3%;padding:13px 15px}.ai-composer{margin:0 12px;padding:13px}.ai-composer textarea{font-size:16px}.ai-composer-tools{gap:13px}.ai-input-tools{gap:6px}.ai-send-row{gap:11px}.ai-send-actions{margin-left:auto}.ai-footnote{margin:11px 17px 18px}.ai-login-gate{padding:22px}.ai-login-gate h2{font-size:21px}.ai-attachments{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-media audio{min-width:0}}
