body:has(.chat-shell){height:100dvh;min-height:0;overflow:hidden}body:has(.chat-shell)>footer{display:none}.chat-shell{--chat-ivory:#f7f1ea;--chat-muted:#a89d95;--chat-line:#f7f1ea1a;--chat-champagne:#e8c9a0;--chat-rose:#d99a8e;--chat-ease:cubic-bezier(.22, 1, .36, 1);isolation:isolate;flex-direction:column;flex:1;width:100%;max-width:720px;min-height:0;margin-inline:auto;display:flex;position:relative}@media (min-width:1024px){.chat-shell:before,.chat-shell:after{content:"";z-index:-1;filter:blur(96px);pointer-events:none;border-radius:9999px;width:320px;position:absolute;top:12%;bottom:12%}.chat-shell:before{background:#5c1a2e8c;left:-260px}.chat-shell:after{background:#c9826b29;right:-260px}}.chat-topbar{z-index:20;border:1px solid var(--chat-line);-webkit-backdrop-filter:blur(20px)saturate(140%);backdrop-filter:blur(20px)saturate(140%);background:#140f0e99;border-radius:9999px;align-items:center;gap:12px;margin:8px 16px 0;padding:8px 8px 8px 4px;display:flex;position:relative;box-shadow:inset 0 1px #f7f1ea0f}.chat-icon-button{width:44px;height:44px;color:var(--chat-ivory);transition:background-color .3s var(--chat-ease), transform .3s var(--chat-ease);border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.chat-icon-button:hover,.chat-icon-button[aria-expanded=true]{background:#f7f1ea14}.chat-icon-button:active{transform:scale(.96)}.chat-bond{color:var(--chat-champagne)}.chat-initial{color:var(--chat-ivory);background:#272727;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.chat-menu{z-index:30;border:1px solid var(--chat-line);width:240px;animation:chat-pop .3s var(--chat-ease) both;transform-origin:100% 0;background:#181818;border-radius:24px;flex-direction:column;gap:2px;padding:8px;display:flex;position:absolute;top:52px;right:0;box-shadow:0 24px 64px #00000080}.chat-menu-item{color:var(--chat-ivory);transition:background-color .3s var(--chat-ease)}.chat-menu-item:hover:not(:disabled){background:#f7f1ea14}.chat-menu-item:disabled{cursor:not-allowed;opacity:.5}.chat-menu-danger{color:var(--chat-rose)}@keyframes chat-pop{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:none}}.chat-stage{flex:1;min-height:0;position:relative}.chat-scroll{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#f7f1ea1f transparent;height:100%;padding:24px 16px 16px;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000 0,#000 24px);mask-image:linear-gradient(#0000 0,#000 24px)}.chat-thread{flex-direction:column;justify-content:flex-end;gap:16px;min-height:100%;display:flex}.chat-portrait{text-align:center;flex-direction:column;align-items:center;gap:4px;padding:16px 0 24px;display:flex}.chat-portrait-ring{border-radius:9999px;margin-bottom:12px;display:inline-flex;position:relative;box-shadow:0 0 0 1px #e8c9a040,0 0 0 8px #e8c9a00a,0 24px 80px #c9826b59}.chat-day{color:var(--chat-muted);letter-spacing:.08em;text-transform:uppercase;align-self:center}.chat-pill{border:1px solid var(--chat-line);max-width:85%;color:var(--chat-muted);text-align:center;text-wrap:pretty;background:#f7f1ea08;border-radius:9999px;align-self:center;padding:4px 12px}.chat-group{flex-direction:column;gap:4px;display:flex}.chat-row{display:flex}.chat-row-me{justify-content:flex-end}.chat-bubble{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:20px;max-width:min(85%,520px);padding:8px 16px}.chat-bubble[data-from=them]{color:var(--chat-ivory);background:#f7f1ea12;border:1px solid #f7f1ea0f;border-bottom-left-radius:6px}.chat-bubble[data-from=them][data-pos=middle],.chat-bubble[data-from=them][data-pos=last]{border-top-left-radius:6px}.chat-bubble[data-from=me]{color:#160d0a;background-image:linear-gradient(110deg,#f8e8cf 0%,#e8c9a0 60%,#dba493 100%);border-bottom-right-radius:6px}.chat-bubble[data-from=me][data-pos=middle],.chat-bubble[data-from=me][data-pos=last]{border-top-right-radius:6px}.chat-time{color:var(--chat-muted);padding-inline:4px}.chat-group-me .chat-time{text-align:right}.chat-in{animation:chat-in .5s var(--chat-ease) both}@keyframes chat-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.chat-typing{align-items:center;gap:4px;min-height:42px;display:inline-flex}.chat-typing span{background:var(--chat-muted);width:6px;height:6px;animation:chat-typing 1.2s var(--chat-ease) infinite;border-radius:9999px}.chat-typing span:nth-child(2){animation-delay:.16s}.chat-typing span:nth-child(3){animation-delay:.32s}@keyframes chat-typing{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.chat-skeleton{height:40px;animation:chat-shimmer 1.6s var(--chat-ease) infinite alternate;background:#f7f1ea0f;border-radius:20px;display:block}.chat-skeleton-me{border-bottom-right-radius:6px;align-self:flex-end}.chat-skeleton-them{border-bottom-left-radius:6px}@keyframes chat-shimmer{to{opacity:.45}}.chat-crisis{background:#5c1a2e59;border:1px solid #d99a8e59;border-radius:24px;flex-direction:column;align-self:stretch;gap:12px;padding:16px;display:flex}.chat-crisis-link{min-height:44px;color:var(--chat-ivory);transition:background-color .3s var(--chat-ease), transform .3s var(--chat-ease);background:#f7f1ea14;border-radius:9999px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 16px;display:flex}.chat-crisis-link:hover{background:#f7f1ea24}.chat-crisis-link:active{transform:scale(.98)}.chat-card{width:100%;max-width:440px;animation:chat-in .5s var(--chat-ease) both;border-radius:24px;flex-direction:column;align-self:center;gap:12px;padding:16px;display:flex}.chat-jump{min-height:44px;color:var(--chat-ivory);animation:chat-jump-in .3s var(--chat-ease) both;transition:background-color .3s var(--chat-ease);border-radius:9999px;align-items:center;gap:8px;padding:8px 16px;display:inline-flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.chat-jump:hover{background:#281e1ce6}@keyframes chat-jump-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.chat-error{color:var(--chat-ivory);background:#5c1a2e66;border:1px solid #d99a8e4d;border-radius:16px;margin:0 16px;padding:8px 16px}.chat-composer{padding:8px 16px max(12px, env(safe-area-inset-bottom))}.chat-composer-box{transition:border-color .3s var(--chat-ease);border-radius:28px;align-items:flex-end;gap:8px;padding:4px 4px 4px 16px;display:flex;position:relative}.chat-composer-box:focus-within{border-color:#e8c9a059}.chat-composer-box:has(.chat-input:focus-visible){outline:2px solid var(--chat-champagne);outline-offset:2px}.chat-input{resize:none;min-width:0;min-height:48px;max-height:144px;color:var(--chat-ivory);background:0 0;flex:1;padding:12px 0;overflow-y:hidden}.chat-input::placeholder{color:#8f847d}.chat-composer .chat-input:focus-visible{outline:none}.chat-input:disabled{cursor:not-allowed;opacity:.6}.chat-counter{color:var(--chat-muted);position:absolute;top:-20px;right:16px}.chat-counter[data-low=true]{color:var(--chat-rose)}.chat-send{color:#160d0a;width:48px;height:48px;transition:transform .3s var(--chat-ease), opacity .3s var(--chat-ease);background-image:linear-gradient(110deg,#f8e8cf 0%,#e8c9a0 50%,#dba493 100%);border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;box-shadow:0 8px 32px #dba49333}.chat-send:hover:not(:disabled){transform:translateY(-1px)}.chat-send:active:not(:disabled){transform:scale(.96)}.chat-send:disabled{cursor:not-allowed;opacity:.35;box-shadow:none}.chat-send[aria-busy=true]{opacity:.6}.chat-send[aria-busy=true] svg{animation:chat-sending 1.2s var(--chat-ease) infinite alternate}@keyframes chat-sending{to{opacity:.4;transform:translate(2px)}}.chat-readonly{margin:8px 16px max(12px, env(safe-area-inset-bottom));text-align:center;border-radius:24px;padding:12px 16px}
