.as-chat {width:100%; max-width:42rem; margin:0 auto; color:var(--ink)}
.as-chat .h1 {margin:0 0 1rem}
.as-context {margin:-.5rem 0 1rem}
.as-log {display:flex; flex-direction:column; align-items:flex-start; gap:.65rem}
.as-log:not(:empty) {margin:1rem 0 1.25rem}
.as-question,.as-answer {margin:0; max-width:100%; box-sizing:border-box; overflow-wrap:anywhere; white-space:pre-wrap; font:inherit; font-size:1rem; line-height:1.5}
.as-question {align-self:flex-end; padding:.6rem .9rem; border-radius:1rem 1rem .25rem 1rem; background:var(--panel)}
.as-answer {padding:.25rem 0}
.as-action.btn {width:auto; text-align:left; min-height:44px; padding:.5rem .8rem; font-size:.9rem}
.as-compose {padding:1rem; border:1px solid var(--edge); background:var(--soft); border-radius:16px}
.as-compose .as-label {display:block; margin:0; font-weight:600}
.as-compose textarea {display:block; width:100%; min-height:5rem; margin:.4rem 0 .25rem; box-sizing:border-box; resize:vertical; border:1px solid var(--edge); border-radius:10px; padding:.65rem .75rem; background:var(--bg); color:var(--ink); font:inherit; font-weight:400; font-size:16px; line-height:1.45}
.as-error {margin:.5rem 0; font-size:.9rem; line-height:1.45; color:var(--bad-fg,var(--ink))}
.as-error:empty {display:none}
.as-live {position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%)}
.as-compose .btn {min-height:44px}
.hm-summary:has([data-go="assistant"]) {flex-wrap:wrap; gap:.4rem}
.as-head{display:flex;align-items:center;gap:.75rem;border-bottom:1px solid var(--edge);padding:.5rem 0 .9rem}
.as-head img,.as-avatar{border-radius:50%;background:#dff1ff}
.as-head img{width:46px;height:46px;object-fit:contain}
.as-head .h1{margin:0;font-size:1.35rem}
.as-head small,.as-bubble small{font-size:.8rem}
.as-context{margin:.5rem 0}
.as-row{display:flex;align-items:flex-end;gap:.4rem;max-width:94%}
.as-row.mine{align-self:flex-end;flex-direction:row-reverse}
.as-avatar{width:31px;height:31px;position:relative;overflow:hidden;flex:none;display:grid;place-items:center;color:#1a4662;font-size:11px;font-weight:700}
.as-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#dff1ff}
.as-bubble{min-width:0;border:1px solid var(--edge);background:var(--soft);padding:.6rem .8rem;border-radius:15px 15px 15px 4px}
.mine .as-bubble{background:#e3f3ff;color:#173850;border-color:#c8e5f8;border-radius:15px 15px 4px 15px}
.as-bubble small{display:block;font-weight:650;margin-bottom:.15rem}
.as-bubble p{margin:0;padding:0;background:none;line-height:1.45}
.as-bubble .as-action{display:block;margin-top:.55rem}
.as-bubble .as-typing{font-size:.9rem}
.as-dots{display:inline-flex;gap:3px;margin-left:5px}
.as-dots i{width:4px;height:4px;border-radius:50%;background:currentColor;animation:as-pulse 1.2s ease-in-out infinite}
.as-dots i:nth-child(2){animation-delay:.15s}.as-dots i:nth-child(3){animation-delay:.3s}
@keyframes as-pulse{50%{transform:translateY(-3px);opacity:.35}}
@media(prefers-reduced-motion:reduce){.as-dots i{animation:none}}
.as-compose textarea{min-height:3rem}

/* First-visit guide. A crop of the actual home screen makes the button recognizable. */
.as-intro {font-size:15px;line-height:1.48;color:var(--ink)}
.as-intro figure {margin:2px 0 17px}
.as-intro-preview {max-width:410px;margin:0 auto;padding:0 12px;overflow:hidden;border:1px solid var(--edge);border-radius:14px;background:var(--bg)}
.as-intro-toolbar {display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:58px}
.as-intro .as-intro-target {position:relative;display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:4px 8px;border:2px solid var(--line);border-radius:10px;cursor:default;background:var(--soft)}
.as-intro-clock {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--mut);font-size:12px;font-weight:400}
.as-intro-card {position:relative;display:flex;align-items:center;gap:9px;height:59px;margin-bottom:-1px;overflow:hidden;border-radius:9px 9px 0 0;background:var(--panel)}
.as-intro-card img {display:block;width:100%;height:100%;object-fit:cover;object-position:50% 18%}
.as-intro-profile {margin-left:14px;width:24px;height:24px;border-radius:50%;background:var(--edge)}
.as-intro-lines {width:52px;height:4px;background:var(--edge);box-shadow:0 8px var(--edge)}
.as-intro figcaption {margin-top:6px;color:var(--mut);font-size:13px;line-height:1.35}
.as-intro p {margin:0 0 12px}
@media(max-height:560px){.as-intro-card{height:33px}.as-intro figure{margin-bottom:10px}}
.as-intro-target svg {width:24px;height:24px;flex:none}
.as-intro-target span {display:grid;gap:2px;font-size:14px;font-weight:600;line-height:1}
.as-intro-target small {font-size:10px;font-weight:400;line-height:1.1;color:var(--mut)}
.sheet:has(.as-intro) .cab-sheet-close:focus-visible {outline:2px solid var(--line);outline-offset:-6px;border-radius:50%}
