.advisor-launcher{position:fixed;right:24px;bottom:24px;z-index:50;display:flex;align-items:center;gap:11px;background:var(--ink);color:var(--paper);border:1px solid #ffffff35;border-radius:100px;padding:14px 19px;box-shadow:0 12px 36px #18232128;font-size:.86rem;cursor:pointer;transition:transform .22s var(--ease),background .22s}
.advisor-launcher svg{width:19px;height:19px}.advisor-launcher:hover{background:#2c3935;transform:translateY(-2px)}
.advisor-dialog{position:fixed;inset:0 0 0 auto;margin:0 0 0 auto;width:min(560px,100vw);height:100dvh;max-height:100dvh;padding:0;border:0;border-left:1px solid var(--line);border-radius:0;background:#f7f5ef;color:var(--ink);box-shadow:-24px 0 80px #18232125;overflow:hidden}
.advisor-dialog::backdrop{background:#1018168a;backdrop-filter:blur(4px)}.advisor-dialog[open]{animation:advisor-enter .3s cubic-bezier(.22,.68,0,1) both}
@keyframes advisor-enter{from{opacity:.7;transform:translateX(28px)}to{opacity:1;transform:none}}
.advisor-shell{height:100%;display:flex;flex-direction:column;min-height:0}
.advisor-head{padding:26px 28px 18px;border-bottom:1px solid var(--line);position:relative;background:linear-gradient(145deg,#f7f5ef,#f0eee8)}
.advisor-head .eyebrow{font:400 .68rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 52px 10px 0}
.advisor-head h2{font:500 clamp(1.7rem,3vw,2.25rem)/1.1 var(--display);letter-spacing:-.045em;padding-right:38px;margin:0;max-width:15ch}
.advisor-close{position:absolute;right:22px;top:20px;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);font-size:1.65rem;line-height:1;cursor:pointer}
.advisor-tabs{display:flex;gap:4px;margin-top:18px;background:#e9e7e0;border-radius:999px;padding:4px;width:max-content;max-width:100%}
.advisor-tabs button{border:0;padding:9px 16px;min-height:38px;background:transparent;border-radius:999px;color:var(--muted);cursor:pointer;font-size:.8rem}
.advisor-tabs button[aria-selected=true]{background:var(--ink);color:var(--paper);box-shadow:0 2px 6px #1823211c}
.advisor-main{display:flex;flex:1;min-height:0;flex-direction:column;overflow:hidden}
.advisor-log{flex:1;overflow:auto;overscroll-behavior:contain;padding:24px 28px 12px;scroll-behavior:smooth}
.advisor-message{margin:0 0 18px;max-width:92%;font-size:.92rem;line-height:1.62;overflow-wrap:anywhere}
.advisor-message .speaker{display:block;font:400 .65rem var(--mono);text-transform:uppercase;letter-spacing:.09em;margin-bottom:6px;color:var(--muted)}
.advisor-message.user{margin-left:auto;background:#e8e9e3;border:1px solid #d7dbd3;border-radius:14px 14px 3px 14px;padding:12px 15px;color:var(--ink)}
.advisor-message.assistant{padding:0 8px 0 0}.advisor-message p{margin:0 0 10px}.advisor-message p:last-child{margin-bottom:0}.advisor-message h3{font:500 1.04rem/1.35 var(--display);margin:14px 0 6px}.advisor-message ul,.advisor-message ol{padding-left:1.3rem;margin:5px 0 10px}.advisor-message li+li{margin-top:4px}.advisor-message strong{font-weight:600}
.advisor-prompts{display:flex;gap:8px;flex-wrap:wrap;padding:0 28px 14px}
.advisor-prompts button{padding:8px 12px;border:1px solid #c8cdc5;border-radius:999px;background:transparent;color:var(--ink);font-size:.75rem;cursor:pointer;min-height:36px;transition:background .18s,border-color .18s}
.advisor-prompts button:hover{background:#ebe9e2;border-color:#9ca99e}
.advisor-routes{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:10px 28px 14px;border-top:1px solid var(--line)}
.advisor-routes p{width:100%;margin:0;color:var(--muted);font:400 .65rem var(--mono);letter-spacing:.08em;text-transform:uppercase}
.advisor-routes a{color:var(--ink);border-bottom:1px solid #aeb7ad;padding:4px 0 5px;font-size:.75rem;line-height:1.35;text-decoration:none}
.advisor-routes a:hover,.advisor-routes a:focus-visible{color:#405147;border-color:#405147}
.advisor-compose{padding:12px 20px;display:flex;align-items:flex-end;gap:10px;border-top:1px solid var(--line);background:#f7f5ef}
.advisor-compose textarea{flex:1;min-width:0;resize:none;background:#fffefa;border:1px solid #c7cbc4;border-radius:6px;padding:12px 13px;font:inherit;font-size:.9rem;line-height:1.45;max-height:130px;min-height:50px}
.advisor-compose textarea:focus{outline:2px solid var(--accent);outline-offset:2px}
.advisor-send{width:48px;height:48px;border:0;border-radius:6px;background:var(--ink);color:var(--paper);font-size:1.35rem;cursor:pointer;flex-shrink:0}.advisor-send:disabled{opacity:.45;cursor:wait}
.advisor-foot{padding:0 28px 16px;font-size:.7rem;line-height:1.45;color:var(--muted);margin:0;background:#f7f5ef}
.advisor-status{margin:0;padding:0 28px 8px;font-size:.72rem;color:var(--muted);min-height:22px}
.advisor-voice{padding:15px 24px 18px;border-top:1px solid var(--line);text-align:center}.advisor-voice p{font-size:.73rem;line-height:1.5;margin:8px 0;color:var(--muted)}
.voice-action{display:inline-flex;align-items:center;gap:12px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);border-radius:999px;padding:12px 18px;min-height:46px;cursor:pointer}.voice-action:disabled{opacity:.5;cursor:not-allowed}.voice-indicator{width:8px;height:8px;border-radius:50%;background:#99b29d}.voice-action[aria-pressed=true] .voice-indicator{background:#d88;animation:pulse 1s infinite alternate}@keyframes pulse{to{opacity:.4;transform:scale(.75)}}
.advisor-voice[hidden],#chat-panel[hidden],.advisor-prompts[hidden]{display:none}
@media(max-width:560px){.advisor-dialog{width:100vw;border-left:0}.advisor-head{padding:22px 20px 16px}.advisor-log{padding:20px 20px 10px}.advisor-prompts,.advisor-routes{padding-left:20px;padding-right:20px}.advisor-compose{padding:10px 14px}.advisor-foot,.advisor-status{padding-left:20px;padding-right:20px}.advisor-launcher{right:16px;bottom:16px}}
@media(prefers-reduced-motion:reduce){.advisor-dialog[open]{animation:none}.advisor-launcher:hover{transform:none}}

/* Conversation feedback: real pending state and progressive answer delivery. */
.advisor-pending{display:flex;gap:5px;padding:8px 28px}.advisor-pending[hidden],.advisor-response-controls button[hidden],.advisor-latest[hidden]{display:none}
.advisor-pending span{width:5px;height:5px;border-radius:50%;background:var(--muted);animation:advisor-dot 1.1s ease-in-out infinite}.advisor-pending span:nth-child(2){animation-delay:.15s}.advisor-pending span:nth-child(3){animation-delay:.3s}
@keyframes advisor-dot{0%,70%,100%{opacity:.3;transform:none}35%{opacity:1;transform:translateY(-3px)}}
.advisor-streaming{white-space:pre-wrap;overflow-wrap:anywhere}.advisor-response-controls{display:flex;gap:12px;padding:0 28px}.advisor-response-controls:has(button:not([hidden])){padding-bottom:8px}.advisor-response-controls button,.advisor-latest{border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);font:inherit;font-size:.75rem;min-height:36px;padding:6px 12px;cursor:pointer}
.advisor-latest{align-self:center;margin:0 0 8px}.advisor-log{scroll-behavior:auto}.advisor-compose textarea{font-size:max(16px,.9rem)}
@media(prefers-reduced-motion:reduce){.advisor-pending span,.voice-action[aria-pressed=true] .voice-indicator{animation:none}.advisor-log{scroll-behavior:auto}}
.advisor-main{position:relative}.advisor-handoff-trigger{font:inherit;font-size:.75rem;border:0;border-bottom:1px solid #aeb7ad;padding:4px 0 5px;background:transparent;color:var(--ink);text-align:left;cursor:pointer}
.advisor-handoff{position:absolute;inset:0;z-index:3;background:#f7f5ef;padding:22px 28px;overflow:auto;overscroll-behavior:contain}.advisor-handoff[hidden]{display:none}.advisor-handoff h3{font:500 1.5rem var(--display);margin:20px 0 12px}.advisor-handoff p{font-size:.85rem;line-height:1.6}.advisor-handoff label{display:flex;flex-direction:column;gap:6px;margin:14px 0;font-size:.8rem}.advisor-handoff input:not([type=checkbox]){width:100%;box-sizing:border-box;min-height:46px;padding:10px;border:1px solid var(--line);background:#fffefa;color:var(--ink);font:inherit;font-size:16px}.advisor-handoff .handoff-permission{flex-direction:row;align-items:flex-start;gap:10px;line-height:1.5}.handoff-permission input{margin-top:4px;flex:none}.handoff-back{border:0;background:transparent;color:var(--ink);padding:8px 0;cursor:pointer}.handoff-status{min-height:24px}.advisor-handoff .button{width:100%;white-space:normal}.handoff-verification{max-width:100%;overflow:hidden}

/* Compact conversation window; leave the site available behind it. */
.advisor-dialog{inset:auto 24px 86px auto;margin:0;width:min(400px,calc(100vw - 32px));height:min(660px,calc(100dvh - 110px));max-height:calc(100dvh - 110px);border:1px solid var(--line);border-radius:18px;z-index:60;box-shadow:0 18px 65px #18232130}.advisor-head{padding:18px 20px 14px}.advisor-head .eyebrow{margin-bottom:5px}.advisor-head h2{font-size:1.35rem;max-width:none}.advisor-close{top:12px;right:14px;width:36px;height:36px}.advisor-tabs{margin-top:12px}.advisor-log{padding:18px 20px 10px}.advisor-prompts,.advisor-routes{padding-left:20px;padding-right:20px}.advisor-routes{gap:10px;padding-top:8px;padding-bottom:8px}.advisor-foot{padding:0 20px 12px}.advisor-status{padding-left:20px;padding-right:20px}
@media(max-width:560px){.advisor-dialog{inset:auto 8px max(8px,env(safe-area-inset-bottom)) 8px;width:auto;max-width:none;height:min(650px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);border:1px solid var(--line);border-radius:16px}.advisor-head{padding:16px 18px 12px}.advisor-log{padding:16px 18px 8px}.advisor-close{position:absolute;top:12px;right:12px}.advisor-compose{padding-bottom:max(10px,env(safe-area-inset-bottom))}}

.advisor-routes p,.advisor-routes a{display:none}.advisor-routes{display:none;border:0;padding:0 20px 8px}.advisor-dialog.has-conversation .advisor-routes{display:flex}.advisor-handoff-trigger{font-size:.7rem;color:var(--muted)}
