/* HST AI: full-width living cloud. No cloned avatars or marquee. */
.main{grid-template-rows:auto 300px minmax(0,1fr) auto}
.avatar-runway{height:300px;min-height:300px;display:flex;flex-direction:column;align-items:stretch;overflow:hidden;padding:4px 0 0;background:transparent}
.avatar-runway .runway-head{flex:none;width:100%;max-width:none;margin:0;justify-content:center;z-index:1;pointer-events:none}
.avatar-runway .runway-mask{position:relative;flex:1;min-height:0;overflow:hidden;mask-image:none;-webkit-mask-image:none}
.avatar-runway .runway-track{position:relative;display:block;width:100%;height:100%;min-height:0;animation:none!important;transform:none!important}
.avatar-runway .runway-member{display:flex;position:absolute;width:72px;height:92px;min-width:0;max-width:none;align-items:center;justify-content:flex-start;flex-direction:column;gap:6px;margin:0;padding:0;background:transparent;border:0;color:#315c70;cursor:pointer;z-index:2;transform-origin:center;animation:cloudFloat var(--drift,17s) ease-in-out var(--phase,0s) infinite alternate;will-change:transform}
.avatar-runway .runway-member.host{width:106px;height:123px;min-width:0;max-width:none;z-index:3}
.avatar-runway .runway-member .runway-face{width:56px;height:56px;flex:none;border:3px solid #fff;border-radius:50%;background:#e8f5ff;box-shadow:0 4px 19px rgba(18,72,100,.2),0 0 0 2px rgba(81,175,109,.6);transition:filter .25s,box-shadow .25s}
.avatar-runway .runway-member.host .runway-face{width:84px;height:84px;border:4px solid #fff2d8;box-shadow:0 6px 25px rgba(230,104,31,.26),0 0 0 3px #f69a48}
.avatar-runway .runway-member .cloud-nick{display:block;max-width:105px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#234e68;font-size:11px;font-weight:850;text-shadow:0 2px 6px white}
.avatar-runway .runway-member.host .cloud-nick{color:#ac5817}
.avatar-runway .runway-member:hover .runway-face,.avatar-runway .runway-member:focus-visible .runway-face{box-shadow:0 0 0 4px #fff,0 0 24px #82dce3;filter:brightness(1.08)}
.avatar-runway .runway-member:focus-visible{outline:2px solid #ed8726;outline-offset:8px;border-radius:12px}
.avatar-runway .runway-member.typing-away .runway-face{opacity:0}
.avatar-runway .runway-member.typing-away .cloud-nick{opacity:.18}
.avatar-runway .cloud-empty{position:absolute;top:43%;left:50%;transform:translate(-50%,-50%);color:#365f75;font-size:13px}
@keyframes cloudFloat{0%{transform:translate(-50%,-50%) translate3d(0,0,0) rotate(-3deg) scale(.97)}33%{transform:translate(-50%,-50%) translate3d(var(--dx),calc(var(--dy)*-.72),0) rotate(5deg) scale(1.075)}70%{transform:translate(-50%,-50%) translate3d(calc(var(--dx)*-.64),var(--dy),0) rotate(-4deg) scale(.935)}100%{transform:translate(-50%,-50%) translate3d(calc(var(--dx)*.38),calc(var(--dy)*-.65),0) rotate(2deg) scale(1.035)}}
.cloud-flight{position:fixed!important;z-index:10020;pointer-events:none;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#fff;border:2px solid #ffb26c;box-shadow:0 4px 25px #15334944}
.cloud-flight img{width:100%;height:100%;object-fit:cover}
/* Animated avatar enters the next-message position. */
.typing-dock{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:7px 10px;background:rgba(248,255,250,.9)}
.typing-dock .typing-entry{display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:12px}
.typing-dock .typing-entry strong{color:#225b47}
.typing-dock .typing-entry .runway-face{width:42px;height:42px;flex:none;display:grid;place-items:center;border:3px solid #f5b36f;border-radius:50%;overflow:hidden;background:white}
.typing-dock .typing-entry .runway-face img{width:100%;height:100%;object-fit:cover}
.typing-dock .typing-entry .typing-dots{animation:cloudDots 1s ease-in-out infinite alternate}
@keyframes cloudDots{to{opacity:.25;transform:translateY(-3px)}}
/* Full-page frosted focus: only the selected portrait stays sharp. */
.cloud-profile-overlay{position:fixed;inset:0;z-index:10010;display:flex;align-items:center;justify-content:center;min-height:100dvh;padding:22px;background:rgba(6,29,51,.76);backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px);animation:cloudShow .24s ease-out}
.cloud-profile-card{width:min(390px,100%);position:relative;text-align:center;padding:37px 26px 34px;color:#14334d;border:1px solid #ffffffb0;border-radius:30px;background:linear-gradient(160deg,#fffef4,#e4f6ff 74%,#e4f5e4);box-shadow:0 24px 85px #0008,0 0 50px #3bc6f144}
.cloud-profile-close{position:absolute;right:14px;top:12px;width:40px;height:40px;border:0;border-radius:50%;background:#fff9;color:#183e56;font-size:30px;cursor:pointer;line-height:1}
.cloud-profile-photo{display:grid;place-items:center;overflow:hidden;width:min(230px,62vw);height:min(230px,62vw);margin:5px auto 22px;border:7px solid white;border-radius:50%;background:#b3dbed;color:#274b60;font-size:83px;font-weight:900;box-shadow:0 0 0 5px #ff9d46,0 8px 32px #235c7770}
.cloud-profile-photo img{width:100%;height:100%;object-fit:cover}
.cloud-profile-label{text-transform:uppercase;color:#e06f14;font-size:11px;font-weight:900;letter-spacing:.1em}
.cloud-profile-card h2{font-size:clamp(24px,3vw,35px);margin:7px 0 12px;line-height:1.12;overflow-wrap:anywhere}
.cloud-profile-role{font-size:15px;font-weight:750;color:#37627c}
.cloud-profile-status{display:flex;align-items:center;gap:7px;justify-content:center;color:#168041;font-weight:800;font-size:13px;margin-top:22px}
.cloud-status-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#30bc5a;box-shadow:0 0 11px #30bc5a}
@keyframes cloudShow{from{opacity:0}to{opacity:1}}
/* Quote the original text, never its database ID. */
.msg .reply-context{display:flex;flex-direction:column;gap:2px;text-align:left;max-width:min(650px,100%);width:max-content;padding:5px 9px;margin:0 0 8px;border:0;border-left:3px solid #f39b49;border-radius:0 9px 9px 0;background:rgba(255,255,255,.49);color:#315a73;cursor:pointer;font-family:inherit;line-height:1.35}
.msg .reply-context:hover,.msg .reply-context:focus-visible{background:rgba(255,255,255,.91);outline:1px solid #ffd0a1}
.msg .reply-author{color:#af571b;font-size:12px;font-weight:900}
.msg .reply-excerpt{display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap;font-size:13px;overflow-wrap:anywhere}
.composer-reply-name{display:block;font-weight:900;color:#b65e1c;font-size:12px}
.composer-reply-body{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:min(650px,75vw);white-space:pre-wrap;font-size:13px;overflow-wrap:anywhere}
.reply-highlight{animation:replyFlash 1.4s ease-out}
@keyframes replyFlash{20%{background:rgba(255,179,87,.28)}100%{background:transparent}}
@media(max-width:1024px){.main{grid-template-rows:auto 210px minmax(0,1fr) auto}.avatar-runway{height:210px;min-height:210px}}
@media(max-width:760px){.main{grid-template-rows:auto 166px minmax(0,1fr) auto}.avatar-runway{height:166px;min-height:166px}.avatar-runway .runway-member{width:59px;height:70px}.avatar-runway .runway-member .runway-face{width:45px;height:45px}.avatar-runway .runway-member.host{width:77px;height:95px}.avatar-runway .runway-member.host .runway-face{width:67px;height:67px}.avatar-runway .runway-member .cloud-nick{font-size:9px;max-width:74px}.avatar-runway .runway-head{font-size:10px}.cloud-profile-card{padding:35px 17px 25px}.typing-dock .typing-entry{font-size:10px}.typing-dock .typing-entry .runway-face{width:34px;height:34px}.msg .reply-excerpt{font-size:12px}}
@media(prefers-reduced-motion:reduce){.avatar-runway .runway-member,.cloud-profile-overlay,.typing-dock .typing-dots,.reply-highlight{animation:none!important}}
.typing-dock{position:relative;bottom:auto;margin:10px 0 16px 4px;max-width:max-content}
@media(max-width:760px){.avatar-runway .runway-member{--dx:9px!important;--dy:7px!important}}
