:root{--color-primary: #4f46e5;--color-secondary: #14b8a6;--color-accent: #f59e0b;--color-background: #f8fafc;--color-surface: #ffffff;--color-text: #0f172a;--color-text-muted: #475569;--color-border: #cbd5e1;--color-danger: #dc2626;--color-success: #16a34a;--message-mine: #e0e7ff;--message-theirs: #f1f5f9;--composer-background: #ffffff;--reaction-background: #ffffff;--unread-background: #fef3c7;--focus-ring: #4f46e5;--disabled-bg: #e2e8f0;--disabled-text: #94a3b8}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--color-text);background:var(--color-background)}a{color:var(--color-primary)}input,button{font:inherit}input{width:100%;min-height:2.85rem;border-radius:.75rem;border:1px solid var(--color-border);padding:.7rem .85rem;background:var(--color-surface);color:var(--color-text)}input:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}button{cursor:pointer}.scroll-hidden{scrollbar-width:none;-ms-overflow-style:none}.scroll-hidden::-webkit-scrollbar{width:0;height:0;display:none}.app-shell{min-height:100dvh;display:flex;flex-direction:column}.app-header{background:linear-gradient(130deg,var(--color-primary) 0%,color-mix(in srgb,var(--color-primary) 82%,var(--color-secondary)) 100%);color:var(--color-surface);padding:max(1rem,env(safe-area-inset-top)) 1rem 1rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid color-mix(in srgb,var(--color-surface) 18%,transparent);box-shadow:0 8px 24px #0f172a1a}.app-header h1{margin:0;font-size:1.15rem}.header-button{border:1px solid color-mix(in srgb,var(--color-surface) 50%,transparent);background:transparent;color:var(--color-surface);border-radius:.65rem;padding:.45rem .7rem}.app-main{width:min(100%,80rem);margin:0 auto;padding:1rem;flex:1}.app-shell-mobile-chat .app-main,.app-main-mobile-chat{width:100%;max-width:none;margin:0;padding:0;min-height:100dvh}.center-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:1rem;padding:1.25rem}.auth-page{width:100%;min-height:calc(100dvh - 8.5rem);display:flex;align-items:center;justify-content:center;padding:1rem .65rem}.auth-card,.surface-card,.conversation-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:1rem;box-shadow:0 8px 30px #0f172a0f}.auth-card{width:min(100%,29rem);margin:0 auto;padding:1.4rem}.auth-card .primary-button{width:100%}.auth-card h2{margin:.3rem 0 0;font-size:clamp(1.35rem,5vw,1.7rem)}.auth-eyebrow{margin:0;color:var(--color-secondary);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.auth-intro{margin:.45rem 0 0}.auth-muted{color:var(--color-text-muted)}.form-stack{display:grid;gap:.8rem;margin-top:1.15rem}.form-stack label{font-weight:600}.password-field-group{display:grid;gap:.45rem}.password-row{position:relative;display:grid;align-items:center}.password-row input{padding-right:3.25rem}.password-visibility-button{position:absolute;right:.35rem;width:2.4rem;height:2.4rem;border:1px solid transparent;border-radius:.6rem;background:transparent;color:var(--color-text-muted);display:inline-flex;align-items:center;justify-content:center}.password-visibility-button svg{width:1.2rem;height:1.2rem}.text-button{border:1px solid var(--color-border);border-radius:.6rem;background:var(--color-surface);padding:.45rem .65rem;min-height:2.75rem}.password-visibility-button:hover,.password-visibility-button:focus-visible{color:var(--color-primary)}.primary-button,.secondary-button,.inline-button{border:none;text-decoration:none;border-radius:.75rem;min-height:2.85rem;padding:.65rem .95rem;display:inline-flex;align-items:center;justify-content:center}.primary-button{background:var(--color-primary);color:var(--color-surface)}.secondary-button{background:var(--color-secondary);color:var(--color-surface)}.primary-button:disabled,.secondary-button:disabled,.text-button:disabled,.password-visibility-button:disabled{background:var(--disabled-bg);color:var(--disabled-text);border-color:var(--disabled-bg);cursor:not-allowed}.form-error{margin:0;color:var(--color-danger);font-weight:600;border:1px solid color-mix(in srgb,var(--color-danger) 35%,var(--color-surface));background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));border-radius:.65rem;padding:.6rem .7rem}.form-success{margin:.25rem 0 0;color:var(--color-success)}.auth-inline-message{border:1px solid color-mix(in srgb,var(--color-success) 28%,var(--color-surface));background:color-mix(in srgb,var(--color-success) 10%,var(--color-surface));border-radius:.65rem;padding:.6rem .7rem}.auth-link-row{margin:1rem 0 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.home-dashboard{--home-mobile-launcher-clearance: calc(8rem + env(safe-area-inset-bottom)) ;min-height:calc(100dvh - 9rem);position:relative;width:min(100%,78rem);margin-inline:auto}.home-scroll-content{display:grid;gap:1rem;padding-inline:clamp(.5rem,2vw,1.2rem);padding-bottom:var(--home-mobile-launcher-clearance)}.home-top-row{display:grid;gap:1rem}.home-identity-hero{background:transparent;border:0;box-shadow:none;padding:0;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.9rem}.home-avatar{width:4.25rem;height:4.25rem;border-radius:999px;border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface));color:var(--color-primary);display:inline-flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:700}.home-identity-copy{display:grid;gap:.6rem}.home-identity-copy h2{margin:0;font-size:clamp(1.45rem,6vw,2rem)}.change-password-action{width:fit-content;border:0;background:transparent;color:var(--color-text-muted);padding:0;min-height:2rem;text-decoration:underline;text-underline-offset:3px}.change-password-action:hover,.change-password-action:focus-visible{color:var(--color-secondary)}.home-actions-grid{display:grid;gap:.8rem;align-items:start}.home-notifications-card{padding:.95rem;border-color:color-mix(in srgb,var(--color-primary) 14%,var(--color-border));box-shadow:0 8px 20px #0f172a0d;display:grid;gap:.65rem}.home-notifications-card h2{margin:0;font-size:1rem}.home-settings-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.home-settings-copy{display:grid;gap:.2rem}.home-settings-copy .auth-muted{margin:0;font-size:.83rem}.home-settings-title{margin:0;font-weight:650;color:var(--color-text)}.home-settings-status{color:var(--color-text-muted)}.home-settings-divider{height:1px;background:color-mix(in srgb,var(--color-primary) 12%,var(--color-border))}.settings-switch{border:0;padding:0;background:transparent;min-width:2.8rem;min-height:1.75rem;display:inline-flex;align-items:center;justify-content:center}.settings-switch:disabled{cursor:not-allowed;opacity:.65}.settings-switch-track{width:2.55rem;height:1.45rem;border-radius:999px;background:color-mix(in srgb,var(--color-text-muted) 30%,var(--color-surface));border:1px solid color-mix(in srgb,var(--color-primary) 12%,var(--color-border));display:inline-flex;align-items:center;transition:background-color .14s ease,border-color .14s ease;padding:.12rem}.settings-switch-thumb{width:1.1rem;height:1.1rem;border-radius:999px;background:#fff;box-shadow:0 1px 2px #0f172a38;transform:translate(0);transition:transform .14s ease}.settings-switch-on .settings-switch-track{background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 88%,#fff),color-mix(in srgb,var(--color-secondary) 88%,#fff));border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border))}.settings-switch-on .settings-switch-thumb{transform:translate(1.08rem)}.settings-switch:focus-visible .settings-switch-track{outline:2px solid color-mix(in srgb,var(--color-secondary) 45%,#fff);outline-offset:2px}.home-action-tile{width:100%;min-height:6.1rem;border:1px solid color-mix(in srgb,var(--color-primary) 14%,var(--color-border));border-radius:1rem;background:var(--color-surface);box-shadow:0 8px 20px #0f172a0d;padding:.95rem;text-align:left;display:grid;gap:.35rem;transition:border-color .14s ease,box-shadow .14s ease}.home-action-tile:hover,.home-action-tile:focus-visible{border-color:color-mix(in srgb,var(--color-secondary) 35%,var(--color-border));box-shadow:0 10px 24px #0f172a17}.home-action-title{font-weight:700;color:var(--color-text)}.home-mobile-conversation-region{position:fixed;left:0;right:0;bottom:max(.65rem,env(safe-area-inset-bottom));z-index:4;padding-inline:clamp(.75rem,3.5vw,1rem)}.mobile-conversation-bar{background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-primary) 12%,var(--color-border));padding:.78rem .82rem;display:grid;gap:.45rem;border-radius:.9rem;min-height:5.25rem}.mobile-conversation-bar-floating{box-shadow:0 8px 24px #0f172a1a,0 2px 6px #0f172a0f}.mobile-conversation-bar h3,.mobile-conversation-bar p{margin:0}.mobile-conversation-link{color:inherit;text-decoration:none}.desktop-conversation-preview{width:min(100%,32rem);min-height:6.6rem;border:1px solid color-mix(in srgb,var(--color-primary) 20%,var(--color-border));background:var(--color-surface);border-radius:1rem;padding:.8rem .9rem;box-shadow:0 8px 24px #0f172a0f;display:grid;gap:.3rem;align-content:center}.desktop-conversation-preview h3,.desktop-conversation-preview p{margin:0}.desktop-conversation-button{width:100%;text-align:left}.conversation-preview-copy{min-width:0;display:grid;gap:.24rem}.conversation-preview-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.25;min-height:2.45em;max-height:2.45em}.conversation-preview-time{font-size:.8rem}.chat-drawer-shell{position:fixed;inset:0;z-index:20;display:flex;justify-content:flex-end}.chat-drawer-backdrop{position:absolute;inset:0;border:0;background:#0206172e;transition:background-color .16s ease}.chat-drawer{position:relative;z-index:1;width:min(100vw,29.5rem);height:100dvh;padding:0;border-left:1px solid var(--color-border);box-shadow:-8px 0 22px #0f172a1a;background:var(--color-surface)}.chat-page-drawer{height:100%;max-width:none}.home-layout{display:grid;grid-template-rows:auto auto;gap:1rem;min-height:calc(100dvh - 10rem);padding-bottom:calc(6.5rem + env(safe-area-inset-bottom))}.home-top-grid{display:grid;gap:1rem;align-items:start}.surface-card,.conversation-card{padding:1rem}.field-stack{display:grid;gap:.35rem}.compact-note{margin:0;font-size:.92rem}.home-profile-card h2,.home-sessions-card h3{margin:0}.home-profile-card>.auth-muted,.home-sessions-card>.auth-muted{margin:.4rem 0 0}.session-header{display:grid;gap:.7rem}.sessions-disclosure{width:100%;margin-top:.85rem;border:1px solid var(--color-border);background:var(--color-surface);border-radius:.7rem;min-height:2.8rem;padding:.55rem .8rem;display:flex;align-items:center;justify-content:space-between;font-weight:600;color:var(--color-text)}.sessions-chevron{color:var(--color-text-muted)}.sessions-content{display:none;margin-top:.85rem}.sessions-content.expanded{display:grid;gap:.8rem}.sessions-actions-row{display:flex;justify-content:flex-start}.session-list{list-style:none;padding:0;margin:0;display:grid;gap:.6rem}.session-item{border:1px solid var(--color-border);border-radius:.75rem;padding:.75rem;display:grid;gap:.6rem}.session-item p{margin:.25rem 0 0}.session-current{font-weight:600;color:var(--color-secondary)}.home-conversation-region{position:sticky;bottom:calc(env(safe-area-inset-bottom) + .75rem);z-index:3}.conversation-card{text-decoration:none;color:inherit}.conversation-card-link{display:grid;gap:.65rem;border:1px solid color-mix(in srgb,var(--color-primary) 20%,var(--color-border))}.conversation-link-hint{color:var(--color-primary);font-weight:700}.conversation-card-head{position:relative;display:flex;align-items:flex-start;gap:.75rem;min-height:2.75rem;padding-right:2.3rem}.conversation-card-head h3{margin:0}.unread-badge{position:absolute;top:0;right:0;width:1.55rem;height:1.55rem;border-radius:999px;background:var(--color-accent);color:var(--color-surface);font-size:.76rem;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.overlay-shell{position:fixed;inset:0;z-index:10;display:flex;align-items:flex-end;justify-content:center}.overlay-backdrop{position:absolute;inset:0;border:0;background:#0f172a85}.overlay-panel{position:relative;z-index:1;width:min(100%,32rem);background:var(--color-surface);border:1px solid var(--color-border);border-bottom:0;border-radius:1rem 1rem 0 0;padding:1rem;max-height:90dvh;overflow-y:auto}.overlay-panel-header{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.overlay-panel-header h3{margin:0}.overlay-actions{display:flex;justify-content:flex-end;gap:.55rem}body.surface-open{overflow:hidden}.chat-page{height:calc(100dvh - 8.75rem);min-height:28rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:1rem;box-shadow:0 8px 30px #0f172a0f;display:flex;flex-direction:column;overflow:hidden}.chat-page-mobile{width:100vw;max-width:none;min-height:100dvh;height:100dvh;border:0;border-radius:0;box-shadow:none}.chat-header-bar{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:max(.75rem,env(safe-area-inset-top)) 1rem .82rem;border-bottom:1px solid var(--color-border);background:var(--color-surface);position:sticky;top:0;z-index:3}.chat-header-mobile{padding-inline:.5rem}.chat-header-identity{display:flex;align-items:center;gap:.55rem;min-width:0}.chat-header-copy{min-width:0}.chat-avatar{width:2.4rem;height:2.4rem;border-radius:999px;background:color-mix(in srgb,var(--color-primary) 14%,var(--color-surface));color:var(--color-primary);border:1px solid var(--color-border);display:inline-flex;align-items:center;justify-content:center;font-weight:700}.chat-header-bar h2{margin:0;font-size:1.05rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:10.5rem}.chat-header-bar p{margin:.25rem 0 0}.chat-header-actions{display:inline-flex;align-items:center;gap:.4rem}.chat-icon-button{width:2.4rem;height:2.4rem;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);display:inline-flex;align-items:center;justify-content:center}.chat-icon-button svg{width:1.1rem;height:1.1rem}.chat-back-button{width:2.55rem;height:2.55rem}.chat-history{flex:1;overflow-y:auto;overflow-x:hidden;padding:.82rem .92rem;background:color-mix(in srgb,var(--color-background) 55%,var(--color-surface))}.chat-page-drawer .message-list,.chat-page-drawer .chat-history-loading-older{width:min(100%,26.5rem);margin-inline:auto}.chat-history-state{min-height:100%;display:grid;place-items:center;color:var(--color-text-muted);text-align:center}.chat-history-loading-older{display:flex;justify-content:center;align-items:center;margin:0 0 .65rem;min-height:1.1rem}.chat-history-loading-older-spinner{width:.95rem;height:.95rem;border-radius:999px;border:2px solid color-mix(in srgb,var(--color-text-muted) 40%,transparent);border-top-color:var(--color-text-muted);animation:spin .75s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.message-list{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}.unread-separator{display:flex;align-items:center;justify-content:center;gap:.45rem;margin:.6rem 0}.unread-separator-line{height:1px;flex:1 1 auto;max-width:7rem;background:color-mix(in srgb,var(--color-text-muted) 32%,transparent)}.unread-separator-label{color:var(--color-text-muted);font-size:.72rem;letter-spacing:.02em;font-weight:600;line-height:1}.bubble-row{display:flex}.bubble-row.has-reactions{margin-bottom:.3rem}.bubble-row.mine{justify-content:flex-end}.bubble-row.theirs{justify-content:flex-start}.chat-bubble{max-width:min(76vw,26.5rem);padding:.6rem .72rem;border-radius:1rem;border:1px solid var(--color-border);background:var(--message-theirs);display:grid;gap:.45rem;position:relative;transition:transform .12s ease}.chat-bubble-theirs:after,.chat-bubble-mine:after{content:"";position:absolute;bottom:-1px;width:.85rem;height:.85rem;background:inherit;border-bottom:1px solid var(--color-border)}.chat-bubble-theirs:after{left:-.33rem;clip-path:polygon(100% 0,0 100%,100% 100%);border-left:1px solid var(--color-border)}.chat-bubble-mine:after{right:-.33rem;clip-path:polygon(0 0,0 100%,100% 100%);border-right:1px solid var(--color-border)}.bubble-row.mine .chat-bubble{background:var(--message-mine)}.reply-preview{border-left:3px solid var(--color-secondary);padding-left:.45rem}.reply-preview strong,.reply-preview p,.bubble-text{margin:0}.bubble-text{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.reply-preview p{white-space:pre-wrap;overflow-wrap:anywhere}.bubble-text-collapsed{display:-webkit-box;line-clamp:8;-webkit-line-clamp:8;-webkit-box-orient:vertical;overflow:hidden}.bubble-inline-toggle{min-height:1.5rem;padding:0;width:fit-content;font-size:.84rem;border:0;background:transparent;color:var(--color-secondary)}.bubble-inline-toggle:disabled{opacity:.65}.bubble-queued-media-list{display:grid;gap:.35rem;margin-bottom:.35rem}.bubble-queued-media-item{border:1px solid var(--color-border);border-radius:.5rem;padding:.35rem .45rem;background:color-mix(in oklab,var(--color-surface) 88%,transparent)}.bubble-queued-media-copy{display:flex;justify-content:space-between;gap:.4rem;align-items:baseline}.bubble-queued-media-hint{font-size:.72rem;color:var(--color-text-muted)}.bubble-queued-media-actions{margin-top:.2rem;display:inline-flex;gap:.55rem}.bubble-failure-row{display:grid;gap:.15rem}.bubble-failure-text{font-size:.75rem;font-weight:600;color:var(--color-danger)}.bubble-failure-actions{display:inline-flex;align-items:center;gap:.6rem}.bubble-meta{display:flex;justify-content:flex-end;align-items:center;gap:.3rem;color:var(--color-text-muted);font-size:.74rem}.bubble-single-check,.bubble-check{width:.88rem;height:.88rem}.bubble-double-check{position:relative;width:1.2rem;height:.88rem;display:inline-block}.bubble-double-check .bubble-check{position:absolute}.bubble-double-check .bubble-check-first{left:0;top:.18rem}.bubble-double-check .bubble-check-second{left:.34rem;top:.06rem;color:var(--color-secondary)}.reaction-chips{position:absolute;bottom:-.58rem;display:inline-flex;align-items:center;gap:.28rem;z-index:2;line-height:1}.reaction-chips.theirs{right:.52rem}.reaction-chips.mine{left:.52rem}.reaction-chip{display:inline-flex;align-items:center;gap:.14rem;padding:0;margin:0;background:transparent;border:0;box-shadow:none}.reaction-chip-emoji{font-size:1.25rem;line-height:1}.reaction-chip-count{font-size:.64rem;font-weight:700;color:var(--color-text-muted);line-height:1}.bubble-menu{position:fixed;z-index:30;background:var(--color-surface);border:1px solid var(--color-border);border-radius:.9rem;box-shadow:0 12px 28px #0f172a2e;padding:.55rem;display:grid;gap:.3rem;width:min(20rem,calc(100vw - 1.25rem))}.bubble-menu-item{background:transparent;border:0;text-align:left;padding:.55rem;border-radius:.5rem;display:flex;align-items:center;gap:.42rem}.bubble-menu-item:hover,.bubble-menu-item:focus-visible{background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface))}.bubble-menu-item-danger{color:var(--color-danger)}.bubble-menu-item-danger:hover,.bubble-menu-item-danger:focus-visible{background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface))}.bubble-reaction-grid{display:grid;grid-template-columns:repeat(6,minmax(2.75rem,1fr));justify-items:center;align-items:center;gap:.35rem;padding:.1rem .08rem}.bubble-emoji-button{width:2.8rem;height:2.8rem;min-width:2.8rem;min-height:2.8rem;display:inline-flex;align-items:center;justify-content:center;padding:0;margin:0;line-height:1;background:transparent;border:0;box-shadow:none;border-radius:.8rem}.bubble-emoji-glyph{display:inline-flex;align-items:center;justify-content:center;font-size:1.72rem;line-height:1}.bubble-emoji-button:hover,.bubble-emoji-button:focus-visible{background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface))}.bubble-emoji-button.selected{background:color-mix(in srgb,var(--color-primary) 14%,var(--color-surface));transform:scale(1.04)}.bubble-menu-error{margin:.15rem .3rem .1rem;color:var(--color-danger);font-size:.82rem}.chat-composer{border-top:1px solid var(--color-border);background:var(--composer-background);padding:.62rem .9rem calc(.72rem + env(safe-area-inset-bottom));display:grid;gap:.45rem;position:sticky;bottom:0;z-index:3}.composer-reply{border-left:3px solid var(--color-secondary);border-radius:.6rem;padding:.3rem .4rem .3rem .5rem;display:flex;align-items:center;justify-content:space-between;gap:.45rem;background:color-mix(in srgb,var(--color-secondary) 8%,var(--color-surface))}.composer-edit-strip{border-left-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 9%,var(--color-surface))}.composer-reply strong,.composer-reply p{margin:0}.composer-reply p{color:var(--color-text-muted);font-size:.85rem}.composer-icon-button{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:999px;width:2.7rem;height:2.7rem;min-height:2.7rem;min-width:2.7rem;flex:0 0 2.7rem;flex-shrink:0;align-self:flex-end}.composer-icon-button svg,.composer-send svg{width:1.18rem;height:1.18rem}.composer-row{display:flex;gap:.52rem;align-items:flex-end}.composer-media-preview{display:grid;gap:.45rem}.composer-media-counter{color:var(--color-text-muted);font-size:.76rem}.composer-media-list{display:flex;gap:.45rem;overflow-x:auto;padding-bottom:.15rem}.composer-media-item{position:relative;width:4.2rem;height:4.2rem;border-radius:.7rem;overflow:hidden;border:1px solid var(--color-border);background:var(--color-surface);flex:0 0 auto}.composer-media-retry{position:absolute;inset-inline:.2rem;bottom:.2rem;min-height:1.1rem;border-radius:.35rem;border:0;background:#0f172acc;color:#fff;font-size:.62rem;padding:.1rem .2rem}.composer-media-thumb{width:100%;height:100%;object-fit:cover}.composer-media-file{display:grid;place-items:center;text-align:center;font-size:.68rem;line-height:1.1;padding:.35rem;width:100%;height:100%}.composer-media-remove{position:absolute;top:.12rem;right:.12rem;width:1.2rem;height:1.2rem;border-radius:999px;border:0;background:#0f172a9e;color:#fff;display:inline-flex;align-items:center;justify-content:center;padding:0}.composer-media-remove svg{width:.72rem;height:.72rem}.composer-media-status{position:absolute;inset-inline:0;bottom:0;font-size:.64rem;color:#fff;background:#0f172a9e;padding:.12rem .2rem;text-align:center}.composer-add-more-tile{width:4.2rem;height:4.2rem;border:1px dashed color-mix(in srgb,var(--color-primary) 35%,var(--color-border));border-radius:.7rem;background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface));color:var(--color-primary);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.composer-add-more-tile svg{width:1rem;height:1rem}.composer-attach-wrap{position:relative;display:inline-flex}.composer-attach-menu{position:absolute;bottom:3rem;left:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:.75rem;box-shadow:0 10px 22px #0f172a24;display:grid;min-width:8.5rem;overflow:hidden;z-index:4}.composer-attach-menu-item{border:0;background:transparent;text-align:left;padding:.5rem .65rem}.composer-attach-menu-item:hover,.composer-attach-menu-item:focus-visible{background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface))}.composer-input-shell{display:flex;align-items:center;flex:1 1 auto;min-width:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:.24rem .3rem .24rem .72rem;gap:.3rem}.composer-input-shell textarea{border:0;background:transparent;resize:none;min-height:2.1rem;max-height:6.5rem;overflow-y:hidden;width:100%;min-width:0;flex:1 1 auto;color:var(--color-text);font:inherit;line-height:1.35;padding:.42rem .2rem}.composer-input-shell textarea:focus-visible{outline:none}.composer-gif-chip{min-width:2.55rem;height:1.95rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--color-secondary) 26%,var(--color-border));background:color-mix(in srgb,var(--color-secondary) 11%,var(--color-surface));color:color-mix(in srgb,var(--color-secondary) 80%,var(--color-text));font-size:.79rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.composer-gif-chip:disabled{opacity:.88}.composer-send{width:2.7rem;height:2.7rem;min-width:2.7rem;min-height:2.7rem;border-radius:999px;border:0;background:var(--color-primary);color:var(--color-surface);flex:0 0 2.7rem;flex-shrink:0;align-self:flex-end;font-size:.66rem;font-weight:700;padding:0;display:inline-flex;align-items:center;justify-content:center}.composer-send:disabled{opacity:.92;cursor:not-allowed}.composer-send-spinner{width:1rem;height:1rem;border-radius:999px;border:2px solid color-mix(in srgb,var(--color-surface) 38%,transparent);border-top-color:var(--color-surface);animation:composer-send-spin .8s linear infinite}.gif-picker{border-top:1px solid var(--color-border);background:color-mix(in srgb,var(--color-background) 30%,var(--color-surface));padding:.36rem .68rem .38rem;display:flex;flex-direction:column;gap:.3rem;--gif-sheet-compact-height: clamp(11.75rem, 36dvh, 19rem);--gif-sheet-expanded-height: clamp(18rem, 82dvh, 42rem);height:var(--gif-sheet-compact-height);max-height:min(var(--gif-sheet-compact-height),calc(100% - 3.5rem));overflow:hidden;transition:height .18s ease,transform .18s ease}.gif-picker[data-sheet-size=expanded]{height:var(--gif-sheet-expanded-height);max-height:min(var(--gif-sheet-expanded-height),calc(100% - 2.25rem))}.gif-picker-handle-row{display:flex;justify-content:center}.gif-picker-drag-handle{border:0;margin:0;padding:.22rem 0;width:100%;display:inline-flex;align-items:center;justify-content:center;background:transparent;touch-action:none;cursor:ns-resize}.gif-picker-drag-handle-bar{width:2rem;height:.28rem;border-radius:999px;background:color-mix(in srgb,var(--color-text-muted) 45%,transparent)}.gif-picker-controls-row{display:flex;align-items:center;gap:.4rem}.gif-picker-search-input{flex:1 1 auto;min-width:0}.gif-picker-close{width:2.15rem;height:2.15rem;min-width:2.15rem;min-height:2.15rem;border-radius:.62rem;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);padding:0;margin:0;line-height:0;display:inline-flex;align-items:center;justify-content:center}.gif-picker-close svg{width:1rem;height:1rem}.gif-picker input{min-height:2.15rem;border-radius:.62rem}.gif-picker-content{flex:1;min-height:0;overflow-y:auto;display:grid;align-content:start;gap:.42rem;padding-right:.08rem}.gif-picker-state{min-height:0;height:100%;display:flex;align-items:center;justify-content:center;text-align:center}.gif-picker-grid{column-count:var(--gif-columns, 3);column-gap:.35rem}.gif-picker-card{width:100%;border:1px solid var(--color-border);border-radius:.58rem;background:var(--color-surface);overflow:hidden;padding:0;line-height:0;display:block;margin:0 0 .35rem;break-inside:avoid;-webkit-column-break-inside:avoid}.gif-picker-image{width:100%;height:auto;object-fit:cover;display:block}.gif-picker-card:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.gif-picker-sentinel{width:100%;height:1px}.gif-picker-spinner{width:1rem;height:1rem;border-radius:999px;border:2px solid color-mix(in srgb,var(--color-primary) 25%,transparent);border-top-color:var(--color-primary);animation:gif-picker-spin .82s linear infinite}.gif-picker-spinner-small{width:.85rem;height:.85rem}.gif-picker-loading-more{margin:0;display:inline-flex;align-items:center;justify-content:center;min-height:1.2rem}.gif-picker-pagination-error{display:flex;align-items:center;justify-content:space-between;gap:.4rem;flex-wrap:wrap}.gif-picker-load-more-error{margin:0;color:var(--color-danger);font-size:.74rem}.gif-picker-retry{min-height:2.1rem;padding-inline:.55rem}.gif-picker-attribution{display:flex;justify-content:flex-start;padding-block:.06rem 0}.gif-picker-powered-by{width:clamp(70px,20vw,95px);max-width:95px;height:auto;display:block}.chat-page-drawer .gif-picker{padding-inline:.74rem;--gif-sheet-compact-height: clamp(12rem, 38%, 20rem);--gif-sheet-expanded-height: clamp(20rem, 84%, 46rem);max-height:calc(100% - 2.5rem)}.chat-typing-indicator{min-height:1.6rem;padding:.1rem 1rem 0;color:var(--color-text-muted);display:inline-flex;align-items:center;gap:.4rem;font-size:.82rem}.chat-typing-dots{display:inline-flex;gap:.2rem}.chat-typing-dot{width:.33rem;height:.33rem;border-radius:999px;background:color-mix(in srgb,var(--color-secondary) 68%,var(--color-text-muted));animation:typing-bounce 1s infinite ease-in-out}.chat-typing-dot:nth-child(2){animation-delay:.14s}.chat-typing-dot:nth-child(3){animation-delay:.28s}.unsend-dialog{width:min(100%,24rem)}.unsend-dialog h3{margin:0}.unsend-dialog p{margin:.55rem 0 0}.unsend-confirm-button{background:var(--color-danger)}.swipe-reply-indicator{position:absolute;top:50%;transform:translateY(-50%);opacity:.8}.swipe-reply-indicator.theirs{right:-1.4rem}.swipe-reply-indicator.mine{left:-1.4rem}@keyframes composer-send-spin{to{transform:rotate(360deg)}}@keyframes gif-picker-spin{to{transform:rotate(360deg)}}@keyframes typing-bounce{0%,80%,to{transform:translateY(0);opacity:.55}40%{transform:translateY(-.16rem);opacity:1}}@media(prefers-reduced-motion:reduce){.composer-send-spinner,.gif-picker-spinner{animation-duration:1.8s}.gif-picker{transition:none}}@media(max-width:767px){.auth-page{align-items:flex-start;padding-top:clamp(1rem,5vh,2.2rem)}.chat-page-mobile .chat-avatar{width:2.3rem;height:2.3rem}.chat-page-mobile .chat-header-bar h2{max-width:8.6rem;font-size:1rem}.session-header .secondary-button,.sessions-actions-row .secondary-button{width:100%}.conversation-card{box-shadow:0 10px 28px #0f172a24}}@media(min-width:768px){.app-main{padding:1.5rem}.auth-page{padding:2.5rem 1rem}.auth-card{width:min(100%,30rem);padding:1.65rem}.home-layout{min-height:calc(100dvh - 9.5rem);grid-template-rows:1fr auto;padding-bottom:1rem}.home-scroll-content{padding-bottom:1rem}.home-top-row{grid-template-columns:minmax(0,1fr) minmax(26rem,34rem);align-items:center}.home-actions-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.home-identity-hero{min-height:12.5rem}.home-avatar{width:5.5rem;height:5.5rem;font-size:1.8rem}.home-top-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.session-header{grid-template-columns:1fr auto;align-items:center}.sessions-disclosure{display:none}.sessions-content{display:grid;gap:.8rem;margin-top:.9rem}.session-item{grid-template-columns:1fr auto;align-items:center}.home-conversation-region{position:static;align-self:end}.conversation-card{width:min(100%,46rem);margin:0 auto}.overlay-shell{align-items:center;padding:1rem}.overlay-panel{border-radius:1rem;border-bottom:1px solid var(--color-border)}.chat-page{max-width:52rem;margin:0 auto;height:calc(100dvh - 10rem)}.app-shell-mobile-chat .chat-page,.app-shell-mobile-chat .chat-page-mobile{height:100dvh}.chat-page.chat-page-drawer{max-width:none;margin:0;width:100%;height:100%;border:0;border-radius:0;box-shadow:none}.chat-history{padding:.95rem 1rem}.gif-picker-powered-by{width:clamp(80px,14vw,108px);max-width:108px}.chat-header-bar h2{max-width:16rem}.chat-bubble{max-width:min(72%,26.5rem)}}.bubble-media-photo-grid{display:grid;gap:.35rem}.bubble-media-photo-button{position:relative;border:1px solid var(--color-border);padding:0;margin:0;background:transparent;border-radius:.75rem;overflow:hidden;width:100%;aspect-ratio:1 / 1}.bubble-media-overflow{position:absolute;inset:0;display:inline-flex;align-items:center;justify-content:center;background:#0f172a7f;color:#fff;font-size:1rem;font-weight:700}.bubble-media-photo-grid.single{grid-template-columns:1fr}.bubble-media-photo-grid.multi{grid-template-columns:repeat(2,minmax(0,1fr))}.bubble-media-image{width:100%;height:100%;display:block;object-fit:cover}.bubble-media-video-shell{width:100%;max-width:17rem;border-radius:.75rem;border:1px solid var(--color-border);overflow:hidden;background:color-mix(in srgb,var(--color-surface) 70%,black 30%);min-height:9rem}.bubble-media-video{width:100%;height:100%;display:block;border:0;object-fit:cover}.bubble-gallery{position:fixed;inset:0;z-index:40;overflow:hidden;display:grid;place-items:center}.bubble-gallery-backdrop{position:absolute;inset:0;border:0;background:#0f172ad9}.bubble-gallery-panel{position:relative;z-index:1;width:min(92vw,42rem);max-height:min(88dvh,88vh);display:grid;gap:.5rem;align-content:center}.bubble-gallery-stage{pointer-events:auto}.bubble-gallery-toolbar{position:fixed;top:calc(env(safe-area-inset-top) + .75rem);right:calc(env(safe-area-inset-right) + .75rem);display:inline-flex;gap:.35rem;z-index:3}.bubble-gallery-toolbar-button{width:2.4rem;height:2.4rem;border-radius:999px;border:1px solid rgb(255 255 255 / 42%);background:#0f172a8f;color:#fff;display:inline-flex;align-items:center;justify-content:center}.bubble-gallery-image{width:100%;max-height:min(78dvh,78vh);object-fit:contain;border-radius:.75rem}.bubble-gallery-meta{display:flex;align-items:center;justify-content:center;color:#fff}.bubble-gallery-error{margin:0;text-align:center;color:#fda4af;font-size:.82rem}.bubble-gallery-nav{position:absolute;top:50%;transform:translateY(-50%);width:2.2rem;height:2.2rem;border-radius:999px;border:1px solid rgb(255 255 255 / 45%);background:#0f172a7f;color:#fff;font-size:1.4rem;line-height:1}.bubble-gallery-prev{left:-.5rem}.bubble-gallery-next{right:-.5rem}.bubble-file-link{display:grid;gap:.2rem;text-decoration:none;color:var(--color-text);border:1px solid var(--color-border);border-radius:.65rem;padding:.45rem .5rem;width:100%;text-align:left;background:var(--color-surface)}.bubble-media-unavailable,.bubble-unsent{margin:0;color:var(--color-text-muted)}.chat-bubble-audio{width:clamp(15rem,78vw,24rem);min-width:15rem;max-width:min(82vw,24rem)}.chat-audio-player{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.6rem;align-items:center;width:100%;min-width:0;padding:.05rem 0}.chat-audio-toggle{width:2.4rem;height:2.4rem;flex:0 0 auto;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface)}.chat-audio-track-wrap{display:grid;gap:.25rem;min-width:0}.chat-audio-track{width:100%;height:.35rem;background:color-mix(in srgb,var(--color-text-muted) 20%,transparent);border-radius:999px;overflow:hidden}.chat-audio-track-fill{display:block;height:100%;background:var(--color-primary)}.chat-audio-time{display:flex;justify-content:space-between;font-size:.72rem;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.chat-audio-time span:first-child{text-align:left;min-width:2.6rem}.chat-audio-time span:last-child{text-align:right;min-width:2.6rem}@media(max-width:767px){.gif-picker[data-mobile=true]{--gif-sheet-compact-height: clamp(10.9rem, 33dvh, 15.4rem);--gif-sheet-expanded-height: clamp(18rem, 84dvh, 31rem);height:var(--gif-sheet-compact-height);max-height:min(var(--gif-sheet-compact-height),calc(var(--gif-sheet-viewport, 100dvh) - 9rem));border-top-left-radius:.95rem;border-top-right-radius:.95rem;box-shadow:0 -6px 20px #0f172a12}.gif-picker[data-mobile=true][data-sheet-size=expanded]{height:var(--gif-sheet-expanded-height);max-height:min(var(--gif-sheet-expanded-height),calc(var(--gif-sheet-viewport, 100dvh) - 7rem))}.gif-picker[data-mobile=true][data-dragging=true]{transition:none}}@media(max-width:430px){.chat-bubble-audio{width:clamp(14.5rem,80vw,21rem);min-width:14.5rem}.gif-picker-grid{column-count:3}}@media(max-width:359px){.gif-picker-grid{column-count:2}}@media(min-width:768px){.chat-page-drawer .chat-bubble-audio,.chat-page:not(.chat-page-mobile) .chat-bubble-audio{width:min(74%,23rem);min-width:17rem;max-width:min(74%,23rem)}}.bubble-status-indicator{display:inline-flex;align-items:center;justify-content:center;min-width:.95rem;height:.95rem;font-size:.72rem;line-height:1;color:var(--auth-muted)}.bubble-status-sending:before{content:"";width:.72rem;height:.72rem;border-radius:999px;border:2px solid color-mix(in oklab,var(--auth-muted) 35%,transparent);border-top-color:var(--auth-muted);animation:bubbleStatusSpin .8s linear infinite}.bubble-status-failed{color:var(--color-danger);font-weight:700}@keyframes bubbleStatusSpin{to{transform:rotate(360deg)}}.pwa-mobile-install-section{margin-top:.8rem;margin-bottom:0;border-radius:1rem;border:1px solid color-mix(in srgb,var(--color-primary) 14%,var(--color-border));background:var(--color-surface);box-shadow:0 8px 20px #0f172a0d;padding:.95rem;display:grid;gap:.75rem}.pwa-mobile-install-copy{display:grid;gap:.3rem}.pwa-mobile-install-copy strong{font-size:.98rem}.pwa-mobile-install-copy p{margin:0}.pwa-floating-card{position:fixed;z-index:90;display:grid;gap:.7rem;border-radius:.95rem;border:1px solid color-mix(in srgb,var(--color-primary) 18%,var(--color-border));background:var(--color-surface);box-shadow:0 12px 30px #0f172a29;padding:.8rem .9rem}.pwa-floating-card-copy{display:grid;gap:.3rem}.pwa-floating-card-copy strong{font-size:.95rem}.pwa-floating-card-copy p{margin:0;color:var(--color-text-muted);font-size:.9rem}.pwa-floating-card-actions{display:flex;justify-content:flex-end;gap:.5rem}.pwa-floating-card-mobile{left:1rem;right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom,0px))}.pwa-floating-card-desktop{right:.9rem;bottom:.9rem;width:min(350px,calc(100vw - 1.8rem))}.pwa-ios-steps{margin:0;padding-left:1.125rem;display:grid;gap:.35rem}.pwa-sheet-close{width:2.4rem;height:2.4rem;border:1px solid var(--color-border);border-radius:.6rem;background:var(--color-surface);color:var(--color-text-muted);display:inline-flex;align-items:center;justify-content:center;font-size:1.35rem;line-height:1}.pwa-sheet-close:hover,.pwa-sheet-close:focus-visible{color:var(--color-primary)}@media(min-width:1024px){.pwa-mobile-install-section{display:none}}
