/* Quiet surfaces and restrained champagne accents. */
:root { color-scheme:light; --bg-primary:#faf9f6; --bg-secondary:#fff; --sidebar:#efeee9; --surface:#f3f2ed; --surface-hover:#e9e7e0; --text-primary:#252923; --text-secondary:#666a61; --accent:#8a5d16; --accent-fill:#edc676; --border:#dddfd7; --code-bg:#f0f1ed; --error:#a13535; --radius:14px; font-family:'Segoe UI',ui-sans-serif,system-ui,-apple-system,sans-serif; font-synthesis:none; }
:root[data-theme='dark'] { color-scheme:dark; --bg-primary:#191c19; --bg-secondary:#222622; --sidebar:#141714; --surface:#282d27; --surface-hover:#343a32; --text-primary:#eeefe7; --text-secondary:#a5ad9e; --accent:#e7bd70; --border:#383f35; --code-bg:#151a15; --error:#f29a93; }
* { box-sizing:border-box; } [hidden] { display:none!important; }
html,body { height:100%; margin:0; } body { background:var(--bg-primary); color:var(--text-primary); line-height:1.55; font-family:inherit; }
button,input,textarea,select { font:inherit; } button,a { -webkit-tap-highlight-color:transparent; } button { color:inherit; cursor:pointer; }
button:disabled { cursor:not-allowed; opacity:.45; } :focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
a { color:var(--accent); text-decoration-thickness:1px; text-underline-offset:3px; }
svg { width:21px; height:21px; stroke:currentColor; stroke-width:1.65; fill:none; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.icon-definitions { position:absolute; width:0; height:0; overflow:hidden; }
.visually-hidden { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.skip-link { position:fixed; top:-100px; left:16px; z-index:100; background:var(--bg-secondary); padding:12px; border:1px solid var(--accent); border-radius:8px; } .skip-link:focus { top:12px; }
.app-shell { display:grid; grid-template-columns:264px minmax(0,1fr); height:100vh; height:100dvh; overflow:hidden; }
.sidebar { display:flex; flex-direction:column; background:var(--sidebar); padding:28px 18px 18px; min-width:0; border-right:1px solid var(--border); overflow-y:auto; }
.sidebar-brand { display:flex; align-items:center; justify-content:space-between; margin:0 8px 33px; }
.brand { display:flex; align-items:center; gap:10px; color:var(--text-primary); font-size:30px; line-height:1; font-weight:650; letter-spacing:-1.7px; text-decoration:none; }
.brand-mark { display:grid; place-items:center; background:var(--accent-fill); color:#453717; border-radius:11px; width:36px; height:36px; } .brand-mark svg { width:24px; height:24px; }
.brand-ai { font-size:11px; letter-spacing:1px; align-self:flex-start; margin-top:4px; color:var(--text-secondary); }
.new-chat-button { min-height:46px; width:100%; display:flex; align-items:center; gap:10px; padding:10px 13px; background:var(--bg-secondary); border:1px solid var(--border); border-radius:10px; font-size:13px; font-weight:600; text-align:left; transition:background .15s; }
.new-chat-button:hover { background:var(--surface-hover); } .shortcut { font-size:11px; font-weight:400; color:var(--text-secondary); margin-left:auto; }
.history-heading { display:flex; justify-content:space-between; margin:34px 10px 12px; font-size:10px; font-weight:650; letter-spacing:1.2px; color:var(--text-secondary); } .history-scope { letter-spacing:0; font-weight:400; }
.conversation-list { display:grid; gap:5px; }
.history-item { display:flex; width:100%; align-items:center; gap:9px; padding:11px 12px; min-height:44px; text-align:left; background:none; border:1px solid transparent; border-radius:9px; font-size:13px; }
.history-item:hover { background:var(--surface-hover); } .history-item[aria-current='true'] { background:var(--surface-hover); border-color:var(--border); }
.history-item span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } .history-item small { font-size:9px; color:var(--accent); margin-left:auto; flex-shrink:0; }
.history-empty { margin:0 12px; color:var(--text-secondary); font-size:12px; max-width:175px; } .history-empty p { color:var(--text-primary); font-size:13px; margin:6px 0; }
.sidebar-footer { margin-top:auto; padding-top:32px; } .sidebar-note { margin:20px 12px; font-family:Georgia,serif; font-style:italic; font-size:15px; color:var(--text-secondary); }
.sidebar-control { display:flex; align-items:center; gap:12px; width:100%; min-height:44px; padding:10px 12px; background:none; border:0; border-radius:9px; color:var(--text-primary); font-size:13px; text-align:left; } .sidebar-control:hover { background:var(--surface-hover); }
.account-button::before { content:''; display:block; width:20px; height:20px; border:1.5px solid var(--text-secondary); border-radius:50%; background:var(--bg-secondary); }
.history-footnote { font-size:10px; color:var(--text-secondary); margin:15px 12px 0; }
.workspace { display:grid; grid-template-rows:78px minmax(0,1fr) auto; min-width:0; min-height:0; }
.workspace-header { display:flex; align-items:center; justify-content:space-between; padding:0 34px; gap:16px; }
.header-leading { display:flex; gap:14px; align-items:center; min-width:0; } .conversation-heading { min-width:0; }
.conversation-heading h1 { font-size:13px; font-weight:600; margin:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } .workspace-caption { font-size:11px; color:var(--text-secondary); }
.header-wordmark { font-size:11px; letter-spacing:1.5px; font-weight:650; white-space:nowrap; color:var(--text-secondary); } .header-wordmark span { font-size:9px; border:1px solid var(--border); padding:3px 6px; border-radius:5px; margin-left:5px; letter-spacing:0; }
.icon-button { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; border:1px solid transparent; background:transparent; color:var(--text-secondary); border-radius:10px; } .icon-button:hover { background:var(--surface-hover); color:var(--text-primary); }
.header-new,.mobile-only { display:none; }
.chat-section { min-height:0; min-width:0; position:relative; display:flex; flex-direction:column; }
#answer { flex:1; min-height:0; overflow:auto; overscroll-behavior-y:contain; scrollbar-width:thin; scrollbar-color:var(--border) transparent; padding:16px 34px 38px; }
.empty-state { width:min(100%,720px); margin:20px auto 0; text-align:center; animation:appear .35s ease-out both; }
.empty-state-mark { display:grid; place-items:center; width:56px; height:56px; border-radius:18px; background:var(--surface); color:var(--accent); margin:0 auto 24px; } .empty-state-mark svg { width:34px; height:34px; stroke-width:1.5; }
.eyebrow { color:var(--text-secondary); font-size:9px; letter-spacing:2.1px; font-weight:600; }
.empty-state h2 { font-family:Georgia,'Times New Roman',serif; font-weight:400; font-size:clamp(38px,4vw,58px); line-height:1.08; letter-spacing:-2px; margin:22px 0 20px; }
.empty-copy { color:var(--text-secondary); font-size:14px; line-height:1.75; margin:0; }
.empty-suggestions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:35px auto 0; max-width:620px; }
.discovery-card { min-width:0; min-height:94px; display:grid; grid-template-columns:30px minmax(0,1fr); gap:3px 12px; align-content:center; text-align:left; border:1px solid var(--border); border-radius:12px; background:var(--bg-secondary); padding:19px 21px; transition:border-color .15s,transform .15s,background .15s; }
.discovery-card:hover { border-color:var(--accent); transform:translateY(-2px); background:var(--surface); }
.discovery-card svg { grid-row:1/3; color:var(--accent); margin-top:2px; } .discovery-card strong { font-size:12px; font-weight:600; line-height:1.5; } .discovery-card span { font-size:11px; color:var(--text-secondary); }
.topic-chips { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px; margin:22px 0 15px; font-size:11px; color:var(--text-secondary); } .topic-chips>span { margin-right:3px; }
.topic-chips button { min-height:36px; background:none; border:1px solid var(--border); border-radius:20px; padding:6px 12px; color:var(--text-secondary); font-size:11px; } .topic-chips button:hover { color:var(--accent); border-color:var(--accent); }
#messages { width:min(100%,790px); margin:0 auto; }
.chat-message { position:relative; overflow-wrap:anywhere; min-width:0; margin-bottom:32px; font-size:15px; line-height:1.75; }
.user-message { width:fit-content; max-width:85%; margin-left:auto; padding:12px 19px; border-radius:20px 20px 5px 20px; background:var(--surface-hover); } .user-message-text { white-space:pre-wrap; }
.message-heading { display:flex; align-items:center; gap:10px; margin:26px 0 12px; font-size:12px; font-weight:650; line-height:1; } .message-heading svg { width:21px; height:21px; color:var(--accent); }
.message-body { min-width:0; } .message-body>:first-child { margin-top:0; } .message-body p { margin:0 0 14px; }
.message-body h1,.message-body h2,.message-body h3,.message-body h4 { line-height:1.35; letter-spacing:-.3px; margin:26px 0 12px; } .message-body h1 { font-size:25px; } .message-body h2 { font-size:22px; } .message-body h3 { font-size:18px; }
.message-body ul,.message-body ol { padding-left:24px; } .message-body li { margin-bottom:5px; }
.message-body blockquote { margin:20px 0; padding:3px 0 3px 18px; border-left:3px solid var(--accent); color:var(--text-secondary); } .message-body hr { border:0; border-top:1px solid var(--border); margin:24px 0; }
.message-body :not(pre)>code { padding:2px 5px; border-radius:4px; font-size:.88em; background:var(--surface-hover); }
.message-body pre { position:relative; overflow-x:auto; max-width:100%; background:var(--code-bg); border:1px solid var(--border); border-radius:12px; padding:44px 18px 18px; line-height:1.6; tab-size:4; } .message-body pre code { font:12px/1.65 Consolas,'SFMono-Regular',monospace; white-space:pre; }
.copy-code-btn { position:absolute; top:6px; right:6px; min-height:32px; background:var(--surface); border:1px solid var(--border); border-radius:7px; padding:3px 10px; font-size:11px; }
.code-language { position:absolute; top:13px; left:18px; font:10px/1.5 'Segoe UI',sans-serif; color:var(--text-secondary); text-transform:uppercase; letter-spacing:1px; }
.table-scroll { overflow-x:auto; max-width:100%; margin:20px 0; border:1px solid var(--border); border-radius:10px; }
.message-body table { border-collapse:collapse; width:100%; font-size:13px; text-align:left; } .message-body th { background:var(--surface); font-weight:600; }
.message-body td,.message-body th { border-bottom:1px solid var(--border); padding:12px 15px; min-width:110px; vertical-align:top; } .message-body tr:last-child td { border:0; }
.message-actions { display:flex; flex-wrap:wrap; gap:5px; margin-top:12px; } .message-action { min-height:36px; border:0; border-radius:7px; background:none; color:var(--text-secondary); font-size:11px; padding:5px 10px; } .message-action:hover { background:var(--surface); color:var(--text-primary); }
.user-message .message-actions { margin-top:2px; justify-content:flex-end; } .message-note { font-size:11px; color:var(--text-secondary); margin-top:10px; } .message-error { color:var(--error); }
.thinking-message .message-body { color:var(--text-secondary); font-size:13px; } .thinking-indicator { display:inline-flex; width:8px; height:8px; border-radius:50%; background:var(--accent); margin-right:9px; animation:breathe 1.8s ease-in-out infinite; }
.history-banner { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; align-items:center; padding:10px 16px; background:var(--surface); border-block:1px solid var(--border); color:var(--text-secondary); font-size:12px; } .history-banner button { border:0; background:none; color:var(--accent); text-decoration:underline; min-height:36px; }
.scroll-bottom { position:absolute; bottom:12px; left:calc(50% - 22px); background:var(--bg-secondary); border-color:var(--border); border-radius:50%; box-shadow:0 3px 12px #0001; }
.composer-area { width:min(100%,860px); margin:0 auto; padding:0 34px max(16px,env(safe-area-inset-bottom)); min-width:0; }
.composer { position:relative; border:1px solid var(--border); border-radius:19px; background:var(--bg-secondary); box-shadow:0 5px 22px #151e0e05; transition:border-color .15s; } .composer:focus-within { border-color:var(--accent); }
.composer textarea { display:block; resize:none; width:100%; min-height:54px; max-height:170px; background:transparent; border:0; border-radius:19px; padding:20px 20px 6px; color:var(--text-primary); font-size:14px; line-height:1.6; outline:0; } .composer textarea::placeholder { color:var(--text-secondary); } .composer:has(textarea:focus-visible) { outline:2px solid var(--accent); outline-offset:3px; }
.composer-toolbar { display:flex; align-items:center; justify-content:space-between; padding:4px 10px 9px; gap:8px; } .attachment-controls,.send-controls { display:flex; align-items:center; gap:8px; min-width:0; }
.composer-brand { font-size:10px; color:var(--text-secondary); letter-spacing:.3px; } .composer-brand strong { font-weight:650; }
.ask-button { display:grid; place-items:center; width:40px; height:40px; background:var(--accent-fill); color:#433417; border:0; border-radius:12px; } .ask-button:hover:not(:disabled) { filter:brightness(.95); }
.stop-button { min-height:40px; border:1px solid var(--border); border-radius:10px; background:var(--surface); padding:6px 12px; font-size:12px; display:flex; gap:7px; align-items:center; }
.generation-status { font-size:10px; color:var(--text-secondary); } .composer-bottom { display:flex; gap:12px; justify-content:space-between; color:var(--text-secondary); font-size:9px; margin-top:10px; } .composer-bottom p { margin:0; } .keyboard-hint { white-space:nowrap; }
.composer-feedback { min-height:24px; color:var(--error); font-size:12px; padding:2px 10px; }
.attachment-menu { position:absolute; bottom:60px; left:10px; z-index:5; width:178px; padding:6px; border:1px solid var(--border); border-radius:12px; background:var(--bg-secondary); box-shadow:0 8px 30px #0002; } .attachment-menu button { width:100%; min-height:44px; border:0; background:none; border-radius:7px; display:flex; align-items:center; gap:12px; padding:8px 12px; font-size:13px; } .attachment-menu button:hover { background:var(--surface); }
.attachment-preview,.user-attachments { display:flex; flex-wrap:wrap; gap:8px; padding:12px 12px 0; } .user-attachments { padding:0; margin-bottom:7px; }
.attachment-chip { min-width:0; max-width:100%; display:flex; align-items:center; gap:9px; padding:6px 8px; background:var(--surface); border:1px solid var(--border); border-radius:10px; font-size:11px; }
.attachment-thumbnail { width:38px; height:38px; object-fit:cover; border-radius:6px; } .attachment-file-icon { font-size:9px; font-weight:650; letter-spacing:.5px; color:var(--accent); }
.attachment-filename { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:160px; } .attachment-size { display:block; color:var(--text-secondary); font-size:9px; }
.attachment-remove { min-width:36px; min-height:36px; border:0; border-radius:7px; background:none; font-size:21px; } .attachment-remove:hover { background:var(--surface-hover); }
.plain-response { white-space:pre-wrap; }
.real-estate-handoff { display:inline-block; max-width:100%; padding:12px 15px; margin-top:12px; font-size:13px; border:1px solid var(--border); border-radius:10px; background:var(--surface); }
.button-primary,.button-secondary { min-height:44px; padding:10px 16px; border:1px solid var(--border); border-radius:10px; font-weight:600; font-size:14px; } .button-primary { background:var(--accent-fill); color:#433417; border-color:transparent; } .button-secondary { background:var(--surface); color:var(--text-primary); }
.account-close { min-width:44px; min-height:44px; } .account-dialog .memory-primary { background:var(--accent-fill); color:#433417; } .account-dialog .google-button { border-color:var(--border); } .account-dialog .memory-action,.account-dialog .memory-delete-all { min-height:36px; }
.chat-budget { background:var(--surface)!important; border-color:var(--border)!important; color:var(--text-primary); } .chat-budget input { max-width:100%; }
.chat-budget p,.chat-budget label { color:var(--text-secondary); }
.chat-budget input[type='number'] { color:var(--text-primary); background:var(--bg-secondary); border-color:var(--border); min-height:44px; font-size:16px; }
.chat-budget button { background:var(--accent-fill); color:#433417; min-height:44px; }
.chat-budget-track input { background-color:var(--border); }
.chat-budget-track input::-webkit-slider-thumb { background:var(--accent-fill); width:24px; height:24px; }
.chat-budget-track input::-moz-range-thumb { background:var(--accent-fill); width:24px; height:24px; }
.google-button svg { stroke:none; }
.hljs-comment,.hljs-quote { color:var(--text-secondary); font-style:italic; } .hljs-keyword,.hljs-selector-tag,.hljs-literal { color:var(--accent); } .hljs-string,.hljs-title,.hljs-attr { color:#347042; } .hljs-number,.hljs-built_in,.hljs-type { color:#7d4d9b; }
[data-theme='dark'] .hljs-string,[data-theme='dark'] .hljs-title,[data-theme='dark'] .hljs-attr { color:#9bce98; } [data-theme='dark'] .hljs-number,[data-theme='dark'] .hljs-built_in,[data-theme='dark'] .hljs-type { color:#c5a7e4; }
.sidebar-overlay { display:none; } .sidebar-collapsed .app-shell { grid-template-columns:minmax(0,1fr); } .sidebar-collapsed .sidebar { display:none; }
@keyframes appear { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:none; } } @keyframes breathe { 50% { opacity:.35; } }
@media (min-height:850px) and (min-width:761px) { .empty-state { margin-top:6vh; } .empty-suggestions { margin-top:42px; } }
@media (max-width:1050px) { .app-shell { grid-template-columns:232px minmax(0,1fr); } .workspace-header { padding-inline:22px; } #answer { padding-inline:22px; } .composer-area { padding-inline:22px; } .keyboard-hint { display:none; } .discovery-card { padding:16px; } .empty-state h2 { font-size:45px; } }
@media (max-width:760px) {
    .app-shell,.sidebar-collapsed .app-shell { grid-template-columns:minmax(0,1fr); } .workspace { grid-template-rows:calc(66px + env(safe-area-inset-top)) minmax(0,1fr) auto; }
    .sidebar,.sidebar-collapsed .sidebar { display:flex; position:fixed; inset:0 auto 0 0; width:min(290px,85vw); z-index:30; transform:translateX(-100%); visibility:hidden; transition:transform .2s ease,visibility .2s; padding-bottom:max(20px,env(safe-area-inset-bottom)); } .sidebar-open .sidebar { transform:none; visibility:visible; }
    .sidebar-overlay:not([hidden]) { display:block; position:fixed; inset:0; z-index:29; background:#0006; border:0; } .mobile-only { display:inline-flex; }
    .workspace-header { padding:env(safe-area-inset-top) max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left)); gap:8px; border-bottom:1px solid var(--border); } .header-leading { gap:7px; flex:1; } .header-wordmark { display:none; } .header-new { display:inline-flex; } .workspace-caption { font-size:10px; }
    .sidebar { padding-top:max(28px,env(safe-area-inset-top)); }
    #answer { padding:14px 18px 28px; } .empty-state { margin-top:24px; } .empty-state-mark { margin-bottom:20px; width:47px; height:47px; border-radius:14px; } .empty-state h2 { font-size:43px; margin-block:17px; } .eyebrow { font-size:8px; letter-spacing:1.1px; } .empty-copy { font-size:13px; }
    .empty-suggestions { gap:9px; margin-top:28px; } .discovery-card { padding:15px 12px; grid-template-columns:22px minmax(0,1fr); gap:4px 9px; } .discovery-card svg { width:19px; height:19px; } .discovery-card strong { font-size:11px; } .discovery-card span { font-size:10px; }
    .topic-chips { gap:7px; margin-top:18px; } .topic-chips button { min-height:44px; font-size:10px; }
    .composer-area { padding-inline:12px; padding-bottom:max(10px,env(safe-area-inset-bottom)); } .composer textarea { padding:17px 16px 5px; font-size:16px; } .composer-bottom { justify-content:center; font-size:9px; } .composer-feedback { min-height:18px; font-size:11px; }
    .ask-button { width:44px; height:44px; } .stop-button { min-height:44px; } .message-action,.attachment-remove { min-height:44px; } .copy-code-btn { min-height:36px; } .chat-message { font-size:14px; } .user-message { max-width:92%; } .attachment-filename { max-width:135px; } .generation-status { max-width:94px; font-size:9px; }
}
@media (max-width:360px) { #answer { padding-inline:14px; } .empty-state h2 { font-size:38px; } .discovery-card { display:flex; flex-direction:column; align-items:flex-start; gap:6px; padding:12px; } .composer-brand { display:none; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }

/* ZEN premium identity: typography and surfaces; approved artwork is unfiltered. */
:root { --brand-bronze:#8a5d16; --brand-gold:#e7bd70; --brand-shadow:0 8px 28px #33230d0b; }
html { text-size-adjust:100%; -webkit-text-size-adjust:100%; }
/* Only chat uses a viewport shell; content pages scroll in the document. */
body.zen-chat { overflow:hidden; }
.sidebar { background:var(--sidebar); padding-top:22px; }
.sidebar-brand { margin:0 6px 25px; gap:8px; }
.brand { gap:12px; letter-spacing:.5px; font-size:25px; }
.brand-wordmark { color:var(--accent); text-shadow:0 1px 0 #fff7,0 2px 2px #54390716; white-space:nowrap; }
[data-theme='dark'] .brand-wordmark { text-shadow:0 1px 0 #0009,0 2px 4px #0005; }
.brand-ai { font-size:13px; color:var(--accent); letter-spacing:1px; }
.brand-logo,.mobile-brand-logo,.welcome-brand-logo { object-fit:contain; flex-shrink:0; }
.brand-logo { width:64px; height:64px; }
.welcome-brand-logo { display:block; width:132px; height:132px; margin:0 auto 20px; }
.mobile-brand-logo,.mobile-brand-name { display:none; }
.sidebar-note { font-family:inherit; font-style:normal; font-size:12px; font-weight:600; color:var(--accent); }
.workspace-header { border-bottom:1px solid var(--border); background:var(--bg-primary); }
.header-wordmark { color:var(--accent); }
.empty-state { max-width:740px; margin-top:24px; }
.empty-state h2 { font-family:inherit; font-weight:650; font-size:clamp(36px,4vw,55px); letter-spacing:-1.8px; line-height:1.13; color:var(--text-primary); }
.eyebrow { color:var(--accent); }
.discovery-card { border-radius:16px; box-shadow:0 1px 0 #fff5 inset,var(--brand-shadow); min-height:100px; }
.discovery-card strong { font-size:13px; }
.discovery-card:hover { transform:translateY(-2px); }
.composer { border-radius:22px; box-shadow:0 1px 0 #fff4 inset,0 8px 32px #33230d0a; }
.composer:focus-within { box-shadow:0 0 0 3px #b88b3020,0 8px 32px #33230d0a; }
.ask-button,.button-primary { background:linear-gradient(145deg,#f4da9b,#edc676 55%,#d8af60); box-shadow:0 1px 0 #fff8 inset,0 2px 4px #39230920; }
.message-body img { max-width:100%; height:auto; }
.message-body pre,.table-scroll { overscroll-behavior-x:contain; }
.copy-code-btn { min-height:44px; }
.attachment-remove { min-width:44px; min-height:44px; }
.history-item,.discovery-card,.chat-message,.composer-feedback { overflow-wrap:anywhere; }
.account-dialog { border-radius:22px; }
@media (max-width:1050px) and (min-width:761px) {
    .brand-logo { width:48px; height:48px; } .brand { gap:9px; font-size:22px; }
    .empty-state h2 { font-size:42px; }
}
@media (max-width:760px) {
    .workspace { grid-template-rows:calc(64px + env(safe-area-inset-top)) minmax(0,1fr) auto; }
    .workspace-header { gap:4px; } .header-leading { gap:6px; }
    .mobile-brand-logo { display:block; width:40px; height:40px; }
    .mobile-brand-name { display:block; font-size:13px; font-weight:700; letter-spacing:1px; color:var(--accent); }
    .conversation-heading { flex:1; } .conversation-heading h1 { font-size:11px; max-width:45vw; color:var(--text-secondary); }
    .workspace-caption { display:none; }
    .sidebar { width:min(310px,88vw); padding-inline:16px; }
    .sidebar-brand { margin-bottom:22px; } .brand { font-size:24px; }
    #answer { padding:18px max(16px,env(safe-area-inset-right)) 24px max(16px,env(safe-area-inset-left)); }
    .empty-state { margin-top:12px; } .welcome-brand-logo { width:104px; height:104px; margin-bottom:18px; }
    .empty-state h2 { font-size:clamp(35px,9vw,43px); margin:16px 0; }
    .empty-copy { font-size:13px; line-height:1.65; }
    .empty-suggestions { margin-top:24px; gap:10px; }
    .discovery-card { min-height:98px; padding:14px 12px; }
    .discovery-card strong { font-size:12px; } .discovery-card span { font-size:11px; }
    .chat-message { margin-bottom:24px; font-size:15px; line-height:1.7; }
    .user-message { max-width:90%; padding:12px 15px; border-radius:18px 18px 5px 18px; }
    .message-heading { margin-top:20px; }
    .composer-area { padding-inline:max(10px,env(safe-area-inset-left)) max(10px,env(safe-area-inset-right)); padding-bottom:max(10px,env(safe-area-inset-bottom)); }
    .composer textarea { min-height:54px; max-height:170px; padding:16px 16px 5px; }
    .composer-toolbar { padding:4px 8px 8px; }
    .composer-bottom { margin-top:7px; line-height:1.5; }
    .generation-status { overflow-wrap:anywhere; }
    .account-dialog { padding:28px 20px 22px; }
}
@media (max-width:360px) {
    .mobile-brand-logo { width:34px; height:34px; } .header-leading { gap:3px; }
    .conversation-heading h1 { max-width:39vw; }
    .empty-suggestions { grid-template-columns:minmax(0,1fr); gap:8px; }
    .discovery-card { display:grid; grid-template-columns:24px minmax(0,1fr); min-height:76px; padding:12px 14px; gap:2px 10px; }
    .discovery-card svg { grid-row:1/3; }
    .eyebrow { letter-spacing:.8px; } .topic-chips { gap:6px; }
}
@media (max-height:650px) and (max-width:760px) {
    .welcome-brand-logo { width:72px; height:72px; } .empty-state { margin-top:4px; }
    .empty-state h2 { font-size:32px; } .empty-suggestions { margin-top:18px; }
}

/* Exact approved side-by-side artwork, cropped without recoloring. */
.brand-logo { width:192px; height:auto; aspect-ratio:935/415; border-radius:10px; }
.brand:has(.brand-logo:not([hidden])) .brand-wordmark { display:none; }
.welcome-brand-logo { width:min(100%,640px); height:auto; aspect-ratio:935/415; border-radius:18px; margin-bottom:22px; }
.mobile-brand-logo { object-fit:contain; border-radius:7px; }
@media (max-width:1050px) and (min-width:761px) { .brand-logo { width:176px; height:auto; } }
@media (max-width:760px) {
    .brand-logo { width:210px; height:auto; }
    .welcome-brand-logo { width:min(100%,430px); height:auto; margin-bottom:16px; }
}
@media (max-height:650px) and (max-width:760px) { .welcome-brand-logo { width:min(100%,300px); height:auto; } }

/* Focused layout polish: contain intrinsic widths, reserve the composer row. */
:root { --sidebar:#f0ede6; --brand-panel:#faf5ec; --brand-panel-border:#ddd2bd; }
:root[data-theme='dark'] { --sidebar:#151410; --brand-panel:#100e09; --brand-panel-border:#393022; }
.sidebar { min-height:0; }
.sidebar-brand { min-width:0; flex-shrink:0; }
.sidebar-brand .brand { flex:1 1 0; min-width:0; max-width:100%; padding:8px; border:1px solid var(--brand-panel-border); border-radius:14px; background:var(--brand-panel); box-shadow:0 1px 0 #ffffff08 inset; }
.sidebar-brand .brand-logo { width:100%; max-width:192px; min-width:0; height:auto; border-radius:8px; }
.sidebar-brand .brand-wordmark { font-size:clamp(18px,2vw,25px); }
.sidebar-brand .icon-button { flex:0 0 44px; }
.conversation-list { min-width:0; grid-template-columns:minmax(0,1fr); }
.history-item { min-width:0; max-width:100%; flex-shrink:0; }
.history-item span { flex:1 1 0; min-width:0; display:block; }
.history-item small { flex:0 0 auto; }
.history-heading,.sidebar-footer,.sidebar-control,.history-empty { min-width:0; max-width:100%; }
.sidebar-control { white-space:normal; overflow-wrap:anywhere; }
.workspace { height:100%; overflow:hidden; }
.workspace-header { grid-row:1; min-width:0; }
.chat-section { grid-row:2; overflow:hidden; }
#answer { min-width:0; padding-bottom:56px; scroll-padding-block-end:56px; }
.composer-area { grid-row:3; position:relative; max-height:45vh; max-height:45dvh; overflow-y:auto; overscroll-behavior-y:contain; background:var(--bg-primary); }
.composer { min-width:0; }
@media (max-width:760px) {
    .sidebar-brand .brand-logo { max-width:210px; }
    #answer { padding-bottom:52px; scroll-padding-block-end:52px; }
}

/* A saved chat shows a neutral loading state, never a flash of welcome. */
.initial-conversation-status { display:none; color:var(--text-secondary); text-align:center; margin:32px auto; }
html[data-initial-view='restoring'] .initial-conversation-status { display:block; }
html[data-initial-view='restoring'] #empty-state { visibility:hidden; }
.empty-state { padding-top:8px; }
#answer { scroll-padding-block-start:24px; }

/* ZEN 2.0 luxury foundation; retain the existing light appearance and layout. */
:root[data-theme='dark']{--bg-primary:#08090b;--bg-secondary:#0d0f12;--sidebar:#0a0b0e;--surface:#13161b;--surface-hover:#1b1e24;--text-primary:#eceef1;--text-secondary:#a0a5ae;--accent:#c9a55c;--accent-fill:#c9a55c;--border:#282c33;--code-bg:#101318}
.zen-shop-card{display:grid;gap:7px;margin:14px 0;padding:18px 16px;border:1px solid var(--border);border-radius:15px;background:var(--bg-secondary);color:var(--text-primary);text-decoration:none;transition:border-color .18s,background .18s}
.zen-shop-card span{font-size:10px;letter-spacing:2px;color:var(--accent);font-weight:700}.zen-shop-card strong{font-size:15px;font-weight:500}.zen-shop-card small{font-size:11px;color:var(--text-secondary)}.zen-shop-card:hover{border-color:var(--accent);background:var(--surface)}
.zen-property-card{margin-top:0}.sidebar{overflow-y:auto;overscroll-behavior:contain}.zen-shop-card:focus-visible{border-color:var(--accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.message-body pre{border:1px solid var(--border);border-radius:14px}.composer{box-shadow:0 10px 30px #0002}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.workflow-open{border:0;background:none;color:var(--accent);font-size:11px;min-height:36px;cursor:pointer}.workflow-dialog{width:min(640px,calc(100% - 24px));max-height:85dvh;overflow:auto;padding:28px;border:1px solid var(--border);border-radius:20px;background:var(--bg-secondary);color:var(--text-primary)}.workflow-dialog::backdrop{background:#000a}.workflow-heading,.workflow-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.workflow-dialog label{display:grid;gap:7px;margin:14px 0;font-size:13px}.workflow-dialog input,.workflow-dialog select,.workflow-dialog textarea,.workflow-dialog button{min-height:44px;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text-primary);max-width:100%}.workflow-dialog textarea{width:100%;resize:vertical}.workflow-dialog p{color:var(--text-secondary);font-size:13px;line-height:1.6}.workflow-dialog .workflow-consent{display:flex;align-items:center}.workflow-dialog fieldset{border:1px solid var(--border);border-radius:12px;padding:14px}.workflow-heading h2{font-size:20px}@media(max-width:450px){.workflow-dialog{padding:18px}.workflow-actions{flex-direction:column;align-items:stretch}.composer-bottom{flex-wrap:wrap}}
.chat-shop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}.chat-shop-card{padding:18px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.chat-shop-card small,.chat-shop-card a{display:block;margin-top:8px}.chat-shop-card a{min-height:36px;color:var(--accent)}@media(max-width:500px){.chat-shop-grid{grid-template-columns:1fr}}
.data-chart{margin:20px 0;padding:18px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.data-chart figcaption,.data-chart p{font-size:12px;color:var(--text-secondary)}.data-chart svg{width:100%;height:auto}.data-chart button{min-height:44px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary);color:var(--accent)}

/* Public storefronts use document scrolling, never the chat viewport shell. */
html:has(body.zen-content){height:auto;min-height:100%;overflow-y:auto;overflow-x:clip}body.zen-content{height:auto;min-height:100vh;overflow:visible;touch-action:pan-y pinch-zoom}body.zen-content main{min-width:0}body.zen-content:has(dialog[open]){overflow:visible}
/* Private document exports remain in the chat flow. */
.document-download-card{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:20px;border:1px solid var(--gold,#c9a55c);border-radius:16px;background:rgba(201,165,92,.07)}
.document-download-button{display:inline-flex;min-height:44px;align-items:center;padding:10px 16px;border:1px solid #c9a55c;border-radius:10px;color:inherit;text-decoration:none;font-weight:600}
.document-download-button:focus-visible{outline:3px solid #e9cc8b;outline-offset:3px}
@media(max-width:390px){.document-download-card{padding:12px;gap:8px}.document-download-button{flex:1;justify-content:center}}

/* Compact composer suggestions replace the welcome cards. */
.composer-suggestions { position:relative; }
.composer-suggestions > summary { display:flex; align-items:center; gap:4px; padding:8px 10px; border-radius:8px; cursor:pointer; list-style:none; font-size:12px; }
.composer-suggestions > summary::-webkit-details-marker { display:none; }
.composer-suggestions > summary:hover,.composer-suggestions[open] > summary { background:var(--surface); color:var(--accent); }
.suggestions-menu { position:absolute; bottom:calc(100% + 12px); left:0; width:min(300px,calc(100vw - 80px)); max-height: min(440px,55dvh); overflow-y:auto; padding:12px; background:var(--bg-secondary); border:1px solid var(--border); border-radius:16px; box-shadow:0 14px 40px #0002; z-index:30; }
.suggestions-menu p { margin:4px 10px 8px; font-size:11px; color:var(--text-secondary); }
.suggestions-menu button { display:block; width:100%; text-align:left; background:none; border:0; border-radius:9px; padding:10px; font-size:13px; }
.suggestions-menu button:hover { background:var(--surface); }
@media(max-width:360px) { .composer-suggestions > .composer-brand { display:flex; } }
.suggestions-menu { position:fixed; left:var(--suggestion-left,20px); bottom:var(--suggestion-bottom,100px); }
