/* Assistant widget: floating button and conversation panel, on every tab. */
.as-root{position:fixed;right:18px;bottom:18px;z-index:55;display:flex;flex-direction:column;align-items:flex-end;gap:12px;font-family:'Public Sans',system-ui,sans-serif}

.as-fab{display:inline-flex;align-items:center;gap:9px;height:46px;padding:0 18px 0 14px;background:var(--teal);color:var(--on-teal);border:0;border-radius:2px;font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 10px 28px color-mix(in srgb,var(--ink) 60%,transparent)}
.as-fab:hover{background:var(--teal-l)}
.as-fab:focus-visible{outline:2px solid var(--white);outline-offset:3px}
.as-fab svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}

.as-panel{display:flex;flex-direction:column;width:min(400px,calc(100vw - 36px));height:min(580px,72vh);background:var(--ink2);border:1px solid var(--line-d);box-shadow:0 24px 60px color-mix(in srgb,var(--ink) 70%,transparent);animation:asIn .26s cubic-bezier(.2,.8,.2,1) both}
.as-panel[hidden]{display:none}
@keyframes asIn{from{opacity:0;transform:translate3d(0,12px,0)}to{opacity:1;transform:none}}

.as-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line-d)}
.as-head b{display:block;font-family:'Source Serif 4',Georgia,serif;font-weight:500;font-size:17px;color:var(--white)}
.as-head span{display:block;margin-top:2px;font-size:12px;color:var(--mut-d)}
.as-close{flex:none;width:32px;height:32px;background:transparent;border:1px solid var(--line-d);color:var(--tx-d2);font-size:18px;line-height:1;cursor:pointer;border-radius:2px}
.as-close:hover{color:var(--white);border-color:var(--teal-l)}
.as-close:focus-visible{outline:2px solid var(--teal-l);outline-offset:2px}

.as-log{flex:1 1 auto;min-height:0;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.as-msg{max-width:92%;padding:10px 12px;border-radius:2px;font-size:13.5px;line-height:1.6}
.as-user{align-self:flex-end;background:color-mix(in srgb,var(--teal) 18%,transparent);color:var(--white);border:1px solid color-mix(in srgb,var(--teal-l) 35%,transparent)}
.as-agent{align-self:flex-start;background:var(--ink);border:1px solid var(--line-d);color:var(--tx-d1)}
.as-agent p{margin:0 0 8px}
.as-agent p:last-child{margin-bottom:0}
.as-agent strong{color:var(--white)}
.as-agent ul,.as-agent ol{margin:0 0 8px;padding-left:18px}
.as-agent h4{font-family:'Source Serif 4',Georgia,serif;font-size:15px;font-weight:600;color:var(--white);margin:6px 0}
.as-agent a{color:var(--teal-l)}
.as-agent code{font-family:'JetBrains Mono',monospace;font-size:.9em}
.as-agent.is-failed{color:var(--dn);border-color:color-mix(in srgb,var(--dn) 45%,transparent)}
.as-wait{display:flex;align-items:center;gap:8px;margin:0;color:var(--mut-d)}
.as-wait .spin{margin:0}
.as-note{margin:8px 0 0;padding-top:8px;border-top:1px solid var(--line-d);font-size:11.5px;color:var(--mut-d)}

.as-form{display:flex;align-items:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--line-d)}
.as-form textarea{flex:1 1 auto;min-width:0;max-height:120px;resize:none;background:var(--ink);border:1px solid var(--line-d);color:var(--white);padding:9px 11px;font-family:inherit;font-size:14px;line-height:1.4;border-radius:2px}
.as-form textarea::placeholder{color:var(--mut-d)}
.as-form textarea:focus-visible{outline:2px solid var(--teal-l);outline-offset:1px}
.as-form .btn{flex:none}

@media (max-width:720px){
  .as-root{right:12px;bottom:12px}
  .as-fab span{display:none}
  .as-fab{width:50px;height:50px;padding:0;justify-content:center}
  .as-panel{position:fixed;left:0;right:0;bottom:0;width:auto;height:78vh;border-left:0;border-right:0;border-bottom:0;border-radius:12px 12px 0 0}
}

@media (prefers-reduced-motion:reduce){
  .as-panel{animation:none}
}
