/* The assistant is a quiet conversation within the Quartier's existing visual language. */
.assistant-dialog{width:min(720px,calc(100vw - 40px));height:min(790px,calc(var(--assistant-viewport-height,100dvh) - 36px));max-height:calc(var(--assistant-viewport-height,100dvh) - 36px);padding:0;overflow:hidden;background:#f4f5ef;color:#173e45;border:1px solid #9bafa7;top:var(--assistant-viewport-top,0px);bottom:auto;margin:18px auto;box-shadow:0 26px 95px rgba(5,28,36,.34)}
.assistant-dialog[open]{display:grid;grid-template-rows:auto minmax(80px,1fr) auto;opacity:1}.assistant-dialog:not([open]){display:none}.assistant-dialog::backdrop{background:rgba(6,29,38,.62)}
.assistant-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:29px 31px 22px;border-bottom:1px solid rgba(30,70,76,.2);background:linear-gradient(120deg,#e0e9e2,#f4f5ef 75%)}.assistant-eyebrow{font-size:11px;line-height:1.5;margin:0 0 12px;color:#536f70}.assistant-header h2{font-family:Bricolage,Geist,sans-serif;font-size:42px;font-weight:450;line-height:1.08;letter-spacing:-.045em;margin:0}.assistant-header>button{display:flex;align-items:center;gap:14px;min-height:44px;font-size:12px;padding:3px 0;white-space:nowrap}.assistant-header>button span{font-size:25px;font-weight:300}
.assistant-body{overflow:auto;min-height:0;overscroll-behavior:contain;scrollbar-width:thin;padding:22px 31px 8px;scroll-padding:16px}.assistant-intro{font-size:14px;line-height:1.7;margin:0 0 16px;max-width:61ch;color:#416067}.assistant-preview{background:#e7e9da;border-left:2px solid #ac9866;font-size:13px;line-height:1.6;padding:12px 14px;margin:0 0 15px}.assistant-preview strong{display:block;font-weight:550}.assistant-preview[hidden]{display:none}.assistant-prompts{display:flex;gap:8px 20px;flex-wrap:wrap;margin:0 0 17px}.assistant-prompts button{display:inline-flex;gap:17px;align-items:center;font-size:12px;min-height:44px;border-bottom:1px solid #9cafa5;padding:8px 0;text-align:left}.assistant-prompts button:hover{color:#7d693f;border-color:#a99768}
.assistant-log{list-style:none;margin:0;padding:0}.assistant-message{padding:18px 0;border-top:1px solid rgba(49,88,88,.18);margin:0}.assistant-message--user{padding-left:15px;border-left:2px solid #bcaa75}.assistant-role{display:block;font-size:11px;color:#647d7e;margin-bottom:7px;font-weight:550}.assistant-message p{font-size:15px;line-height:1.75;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.assistant-message--user p{color:#557075}.assistant-status{font-size:13px;line-height:1.65;min-height:0;margin:12px 0 9px;color:#547174}.assistant-status:empty{display:none}.assistant-status.is-error{border-left:2px solid #9a674f;padding:9px 13px;background:#f2e8df;color:#765240}
.assistant-composer{padding:19px 31px 23px;border-top:1px solid rgba(35,76,79,.2);background:#f4f5ef}.assistant-composer>label{display:block;font-size:12px;margin:0 0 9px;font-weight:550}.assistant-composer textarea{display:block;resize:vertical;width:100%;min-height:74px;max-height:155px;border:1px solid #8fa9a5;border-radius:0;background:#fcfcf6;color:#173e45;font:inherit;font-size:16px;line-height:1.6;padding:12px 14px;box-shadow:none}.assistant-composer textarea::placeholder{color:#718a88}.assistant-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:13px 0}.assistant-actions button{min-height:44px;font-size:12px;padding:9px 0;border-bottom:1px solid #a8b7ad}.assistant-actions .assistant-send{display:inline-flex;justify-content:space-between;align-items:center;gap:25px;min-width:164px;padding:11px 17px;background:#183f45;color:#f4f5eb;border:1px solid #183f45}.assistant-actions .assistant-send:hover{background:#28555b}.assistant-actions button[hidden]{display:none}.assistant-dialog button:disabled{cursor:not-allowed;opacity:.5}.assistant-dialog :is(a,button,textarea):focus-visible{outline:2px solid #976f31;outline-offset:4px}.assistant-privacy{font-size:11px;line-height:1.7;color:#5f7576;margin:0}.assistant-privacy a{text-decoration:underline;text-underline-offset:3px}.assistant-personal{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0 0;padding-top:7px;border-top:1px solid rgba(43,82,85,.15)}.assistant-personal :is(button,a){display:inline-flex;align-items:center;gap:14px;min-height:44px;font-size:12px;padding:7px 0}.assistant-personal a{font-size:11px;color:#597377}.assistant-personal button:hover,.assistant-personal a:hover{color:#8b723c}
@media(min-height:870px) and (min-width:701px){.assistant-dialog{margin:36px auto}}
@media(max-width:700px){.assistant-dialog{width:calc(100vw - 20px);height:calc(var(--assistant-viewport-height,100dvh) - 20px);max-height:calc(var(--assistant-viewport-height,100dvh) - 20px);margin:10px auto}.assistant-header{padding:20px 20px 16px;gap:14px}.assistant-eyebrow{font-size:10px;margin-bottom:10px}.assistant-header h2{font-size:34px}.assistant-header>button{font-size:11px;gap:9px}.assistant-body{padding:17px 20px 6px}.assistant-intro{font-size:13px;line-height:1.65}.assistant-prompts{gap:2px 17px}.assistant-prompts button{font-size:11px;gap:12px}.assistant-message p{font-size:14px;line-height:1.7}.assistant-message{padding-block:15px}.assistant-composer{padding:15px 20px 13px}.assistant-composer textarea{min-height:70px;padding:10px 12px}.assistant-actions{gap:11px;margin:10px 0}.assistant-actions button{font-size:11px}.assistant-actions .assistant-send{min-width:149px;padding:10px 14px;gap:20px}.assistant-privacy{font-size:10px;line-height:1.6}.assistant-personal{gap:0 12px;margin-top:9px;padding-top:3px}.assistant-personal :is(button,a){font-size:11px;min-height:44px}.assistant-personal a{font-size:10px}}
@media(max-height:620px){.assistant-header{padding-block:13px}.assistant-header h2{font-size:28px}.assistant-header h2 br{display:none}.assistant-eyebrow{margin-bottom:6px}.assistant-composer{padding-top:12px}.assistant-composer textarea{min-height:58px;max-height:84px}.assistant-actions{margin-block:8px}.assistant-personal{margin-top:6px}.assistant-personal a{display:none}}
@media(prefers-reduced-motion:reduce){.assistant-dialog[open]{animation:none;scroll-behavior:auto}}

/* Keep a readable two-line title and usable composer on compact phones. */
.assistant-dialog{max-width:none}
@media(max-width:370px){.assistant-header{display:block;position:relative;padding:17px 20px 14px}.assistant-header>button{position:absolute;right:20px;top:13px}.assistant-eyebrow{font-size:9px;padding-right:76px;line-height:1.45;margin-bottom:12px}.assistant-header h2{font-size:28px;line-height:1.08}.assistant-personal{gap:0}.assistant-personal a{min-height:30px}}
@media(max-height:620px){.assistant-dialog[open]{grid-template-rows:auto minmax(0,1fr) auto}}
