/* Self-contained site concierge. Shares Aster's palette, not the page's type scale. */
#aster-assistant-dock, #aster-assistant {
  --ag-bg:#121714; --ag-surface:#1b211c; --ag-raised:#242d24;
  --ag-text:#f2f3eb; --ag-muted:#afb9aa; --ag-line:#364233;
  --ag-lime:#d7fb8b; --ag-accent:#d7fb8b; --ag-ink:#182113;
  --ag-violet:#c4b4ef; --ag-shadow:0 24px 90px #0008,0 2px 8px #0004;
  font-family:Jakarta, sans-serif; font-size:16px; line-height:1.55; color:var(--ag-text);
  font-weight:400; letter-spacing:normal; text-align:left; color-scheme:dark;
}
html[data-theme="light"] #aster-assistant-dock, html[data-theme="light"] #aster-assistant {
  --ag-bg:#fafbf5; --ag-surface:#f0f3e9; --ag-raised:#e7eddc;
  --ag-text:#20291b; --ag-muted:#5c6755; --ag-line:#cbd3c1;
  --ag-accent:#46651d; --ag-violet:#604295; --ag-shadow:0 24px 80px #28381e2e,0 2px 8px #28381e1a;
  color-scheme:light;
}
#aster-assistant *, #aster-assistant-dock * {box-sizing:border-box}
#aster-assistant [hidden], #aster-assistant-dock[hidden] {display:none!important}
#aster-assistant button, #aster-assistant-dock button {font:inherit;letter-spacing:normal;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
#aster-assistant button {color:inherit;background:none;border:0;margin:0;text-transform:none}
#aster-assistant svg, #aster-assistant-dock svg {display:block;width:100%;height:100%;flex-shrink:0}
#aster-assistant :is(button,a,textarea):focus-visible, #aster-assistant-dock button:focus-visible {outline:3px solid var(--ag-accent);outline-offset:4px}
#aster-assistant-dock {position:fixed;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));z-index:85;pointer-events:none}
#aster-assistant-dock .ag-launcher {display:flex;align-items:center;gap:14px;border:0;padding:0;background:none;color:var(--ag-text);pointer-events:auto;transition:transform .22s,opacity .2s}
#aster-assistant-dock .ag-launcher-mark {display:grid;place-items:center;width:66px;height:66px;background:var(--ag-lime);color:var(--ag-ink);border:1px solid #edffbf;border-radius:23px;box-shadow:0 8px 26px #17230e40,0 0 24px #d7fb8b14;transition:transform .3s,box-shadow .3s}
#aster-assistant-dock .ag-spin {display:block;width:34px;height:34px;animation:ag-turn 7s cubic-bezier(.65,0,.25,1) infinite}
#aster-assistant-dock[data-open] {visibility:hidden;pointer-events:none}
body:has(.theme-picker-options:not([hidden])) #aster-assistant-dock {visibility:hidden}
#aster-assistant-dock[data-open] .ag-launcher {opacity:0;transform:scale(.85)}
@media (hover:hover) {
  #aster-assistant-dock .ag-launcher:hover .ag-launcher-mark {transform:translateY(-4px);box-shadow:0 12px 36px #17230e55,0 0 28px #d7fb8b24}
}
@keyframes ag-turn {0%,80%{transform:rotate(0)}100%{transform:rotate(360deg)}}
#aster-assistant.ag-dialog {position:fixed;inset:auto max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) auto;padding:0;margin:0;width:400px;height:min(540px,calc(100dvh - 48px));max-width:calc(100vw - 32px);max-height:none;overflow:hidden;border:1px solid var(--ag-line);border-radius:26px;background:var(--ag-bg);box-shadow:var(--ag-shadow);transform-origin:bottom right}
#aster-assistant::backdrop {background:#070c091a;backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px)}
#aster-assistant .ag-shell {display:flex;flex-direction:column;height:100%;min-height:0;isolation:isolate}
#aster-assistant .ag-header {display:flex;align-items:center;gap:9px;padding:14px 12px 10px 24px;border-bottom:0;flex-shrink:0;background:var(--ag-bg)}
#aster-assistant .ag-avatar {display:grid;place-items:center;flex-shrink:0;width:24px;height:24px;color:var(--ag-accent)}
#aster-assistant .ag-icon-button {display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;border-radius:12px;color:var(--ag-muted);transition:background .2s,color .2s}
#aster-assistant .ag-icon-button svg {width:19px;height:19px}
#aster-assistant .ag-icon-button[aria-pressed="true"] {color:var(--ag-accent)}
#aster-assistant .ag-scroll {min-height:0;min-width:0;flex:1;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--ag-line) transparent;padding:22px 24px 24px}
#aster-assistant .ag-welcome {padding:8px 0}
#aster-assistant .ag-welcome h3 {position:relative;z-index:1;font:500 32px/1.12 Jakarta,sans-serif;letter-spacing:-1.1px;color:var(--ag-text);margin:0 0 16px;max-width:330px}
#aster-assistant .ag-welcome em {font:italic 40px/1.12 Instrument,Georgia,serif;letter-spacing:-1px;color:var(--ag-accent)}
#aster-assistant .ag-welcome p {font:400 15px/1.7 Jakarta,sans-serif;margin:0 0 13px;color:var(--ag-muted);position:relative;z-index:1;max-width:330px}
#aster-assistant .ag-listen {display:inline-flex;align-items:center;gap:8px;min-height:36px;border:0;border-radius:8px;font-size:12px;font-weight:500;padding:7px 0;color:var(--ag-muted);background:none}
#aster-assistant .ag-listen>svg {width:14px;height:14px}
#aster-assistant .ag-shortcuts {display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
#aster-assistant .ag-shortcuts button {font-size:12px;min-height:40px;border:1px solid var(--ag-line);border-radius:9px;padding:8px 10px;color:var(--ag-muted);transition:background .2s,color .2s}
#aster-assistant .ag-composer {padding:12px 20px 14px;border-top:0;background:var(--ag-bg);flex-shrink:0}
#aster-assistant #ag-form {display:flex;align-items:flex-end;gap:8px;padding:6px;border:1px solid var(--ag-line);background:var(--ag-surface);border-radius:15px;margin:0}
#aster-assistant #ag-form:focus-within {border-color:var(--ag-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--ag-accent) 12%,transparent)}
#aster-assistant #ag-question {font:400 15px/1.5 Jakarta,sans-serif;color:var(--ag-text);background:none;border:0;outline:0;box-shadow:none;resize:none;min-width:0;width:100%;height:42px;min-height:42px;max-height:100px;overflow:auto;padding:9px 8px;margin:0;border-radius:8px}
#aster-assistant #ag-question::placeholder {color:var(--ag-muted);opacity:1}
#aster-assistant #ag-send {border-radius:10px;background:var(--ag-lime);color:var(--ag-ink);height:42px;min-width:52px;padding:0 13px;font-size:14px;font-weight:700;flex-shrink:0;transition:opacity .2s}
#aster-assistant #ag-send:disabled {opacity:.4;cursor:default}
#aster-assistant .ag-footnote {margin:10px 0 0;text-align:center;color:var(--ag-muted);font:400 11px/1.5 Jakarta,sans-serif;letter-spacing:0}
#aster-assistant .ag-turn {margin:0 0 26px;overflow-wrap:anywhere}
#aster-assistant .ag-question {margin:0 0 22px auto;max-width:90%;padding:11px 14px;border-radius:15px 15px 3px 15px;background:var(--ag-raised);color:var(--ag-text);font:400 14px/1.65 Jakarta,sans-serif;white-space:pre-wrap}
#aster-assistant .ag-reply-label {display:flex;align-items:center;gap:7px;font-size:12px;font-weight:600;letter-spacing:0;color:var(--ag-muted);margin-bottom:11px}
#aster-assistant .ag-reply-label svg {width:13px;height:13px;color:var(--ag-accent)}
#aster-assistant .ag-reply h3 {font:500 22px/1.3 Jakarta,sans-serif;letter-spacing:-.8px;margin:0 0 13px;color:var(--ag-text)}
#aster-assistant .ag-reply p {font:400 15px/1.75 Jakarta,sans-serif;margin:0 0 12px;color:var(--ag-muted)}
#aster-assistant .ag-reply .ag-listen {margin:3px 0 12px}
#aster-assistant .ag-steps {list-style:none;counter-reset:guide-step;margin:17px 0;padding:0;display:grid;gap:12px;font-size:13px}
#aster-assistant .ag-steps li {display:flex;align-items:center;gap:10px;counter-increment:guide-step}
#aster-assistant .ag-steps li:before {content:counter(guide-step,decimal-leading-zero);display:grid;place-items:center;width:25px;height:25px;border:1px solid var(--ag-line);border-radius:8px;font-size:10px;color:var(--ag-accent);flex-shrink:0}
#aster-assistant .ag-links {display:grid;gap:8px;margin-top:17px}
#aster-assistant .ag-links a {display:flex;align-items:center;justify-content:center;padding:12px 14px;min-height:44px;border-radius:12px;background:var(--ag-lime);color:var(--ag-ink);font:600 13px/1.5 Jakarta,sans-serif;text-decoration:none;border:1px solid transparent;transition:filter .2s,background .2s}
#aster-assistant .ag-links a+a {background:transparent;color:var(--ag-muted);text-decoration:underline;text-underline-offset:4px}
#aster-assistant .ag-plan-list {border:1px solid var(--ag-line);border-radius:15px;padding:0 14px;margin:16px 0}
#aster-assistant .ag-plan-row {display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:13px 0}
#aster-assistant .ag-plan-row+.ag-plan-row {border-top:1px solid var(--ag-line)}
#aster-assistant .ag-plan-row strong {font-size:14px;font-weight:600}
#aster-assistant .ag-plan-row>span {font-size:13px;color:var(--ag-accent)}
#aster-assistant .ag-plan-row small {grid-column:1/-1;color:var(--ag-muted);font-size:11px}
#aster-assistant .ag-sr-only {position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (hover:hover) {
  #aster-assistant .ag-listen:hover {border-color:var(--ag-accent)}
}
@media (max-width:600px) {
  #aster-assistant-dock {right:16px;bottom:max(16px,env(safe-area-inset-bottom))}
  #aster-assistant-dock .ag-launcher-mark {width:58px;height:58px;border-radius:20px}
  #aster-assistant-dock .ag-spin {width:30px;height:30px}
  #aster-assistant.ag-dialog {inset:auto 8px calc(max(8px,env(safe-area-inset-bottom)) + var(--ag-keyboard-inset,0px)) 8px;width:auto;max-width:none;height:min(540px,calc(var(--ag-viewport,100dvh) - 16px - env(safe-area-inset-bottom)));border-radius:23px;transform-origin:bottom center}
  #aster-assistant .ag-header {padding:12px 10px 8px 20px;gap:8px}
  #aster-assistant .ag-icon-button {width:44px}
  #aster-assistant .ag-scroll {padding:20px}
  #aster-assistant .ag-composer {padding:12px 14px 14px}
  #aster-assistant #ag-question {font-size:16px}
  #aster-assistant .ag-shortcuts button {min-height:44px}
  #aster-assistant .ag-listen {min-height:44px}
}
@media (max-width:350px) {
  #aster-assistant .ag-avatar {width:22px;height:22px}
  #aster-assistant .ag-header {padding-left:14px;gap:6px}
  #aster-assistant .ag-welcome h3 {font-size:28px}
  #aster-assistant .ag-welcome em {font-size:34px}
}
@media (max-height:480px) and (min-width:601px) {
  #aster-assistant.ag-dialog {bottom:8px;height:calc(100dvh - 16px)}
  #aster-assistant .ag-header {padding-top:8px;padding-bottom:6px}
}
html.ag-document-hidden :is(#aster-assistant,#aster-assistant-dock) * {animation-play-state:paused!important}
@media (prefers-reduced-motion:reduce) {
  #aster-assistant *, #aster-assistant-dock * {animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

#aster-assistant .ag-header h2 {flex:1;min-width:0;font:600 18px/1.3 Jakarta,sans-serif;color:var(--ag-text);letter-spacing:-.4px;margin:0}
#aster-assistant .ag-prompts {display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
#aster-assistant .ag-prompts button {border:1px solid var(--ag-line);border-radius:12px;padding:10px 12px;min-height:44px;font:500 13px/1.5 Jakarta,sans-serif;color:var(--ag-text);transition:background .2s,border-color .2s}
#aster-assistant .ag-listen[data-playing] {color:var(--ag-accent)}
#aster-assistant .ag-listen[data-playing]>svg {fill:currentColor}
@media (hover:hover) {
  #aster-assistant :is(.ag-icon-button,.ag-shortcuts button,.ag-prompts button):hover {background:var(--ag-raised);color:var(--ag-text)}
  #aster-assistant .ag-prompts button:hover {border-color:var(--ag-accent)}
  #aster-assistant .ag-links a:first-child:hover {filter:brightness(1.06)}
  #aster-assistant .ag-listen:hover {color:var(--ag-accent)}
}
@media (max-width:350px) {#aster-assistant .ag-prompts {gap:6px} #aster-assistant .ag-prompts button {padding-inline:10px;font-size:12px}}
