:root{color-scheme:light;font-family:Trebuchet MS,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:#172126;background:radial-gradient(circle at top left,rgba(255,204,166,.46),transparent 28%),radial-gradient(circle at top right,rgba(121,173,150,.24),transparent 22%),radial-gradient(circle at bottom center,rgba(255,255,255,.6),transparent 44%),linear-gradient(180deg,#f8f3eb,#eef4ee);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--app-background: radial-gradient(circle at top left, rgba(255, 204, 166, .46), transparent 28%), radial-gradient(circle at top right, rgba(121, 173, 150, .24), transparent 22%), radial-gradient(circle at bottom center, rgba(255, 255, 255, .6), transparent 44%), linear-gradient(180deg, #f8f3eb 0%, #eef4ee 100%);--surface: rgba(255, 255, 255, .74);--surface-strong: rgba(255, 255, 255, .94);--surface-soft: rgba(255, 255, 255, .6);--surface-floating: rgba(255, 255, 255, .85);--surface-overlay: rgba(250, 245, 238, .96);--surface-muted: rgba(255, 255, 255, .48);--border: rgba(23, 33, 38, .1);--border-strong: rgba(23, 33, 38, .16);--shadow: 0 22px 56px rgba(70, 80, 67, .12);--shadow-soft: 0 14px 34px rgba(70, 80, 67, .09);--text-soft: #5a6972;--text-strong: #172126;--brand: #c86a39;--brand-dark: #a35228;--brand-rgb: 200, 106, 57;--accent: #2d7c66;--accent-rgb: 45, 124, 102;--error: #b23b32;--success: #23644b;--input-background: rgba(255, 255, 255, .9);--secondary-button-background: rgba(23, 33, 38, .07);--secondary-button-color: #172126;--viewport-height: 100dvh;--keyboard-inset: 0px}:root[data-theme=dark]{color-scheme:dark;color:#edf4f1;--app-background: radial-gradient(circle at top left, rgba(240, 147, 100, .2), transparent 25%), radial-gradient(circle at top right, rgba(81, 167, 137, .16), transparent 22%), radial-gradient(circle at bottom center, rgba(75, 97, 110, .14), transparent 46%), linear-gradient(180deg, #071015 0%, #0c1419 42%, #111b22 100%);--surface: rgba(14, 22, 27, .74);--surface-strong: rgba(18, 28, 34, .92);--surface-soft: rgba(14, 22, 27, .62);--surface-floating: rgba(12, 20, 25, .86);--surface-overlay: rgba(8, 15, 20, .95);--surface-muted: rgba(14, 22, 27, .52);--border: rgba(196, 212, 219, .12);--border-strong: rgba(196, 212, 219, .2);--shadow: 0 24px 64px rgba(0, 0, 0, .38);--shadow-soft: 0 16px 38px rgba(0, 0, 0, .26);--text-soft: #98adb4;--text-strong: #edf4f1;--brand: #e58c60;--brand-dark: #c16d46;--brand-rgb: 229, 140, 96;--accent: #56aa8b;--accent-rgb: 86, 170, 139;--input-background: rgba(8, 14, 18, .88);--secondary-button-background: rgba(237, 244, 241, .08);--secondary-button-color: #edf4f1}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{width:100%;height:var(--viewport-height);min-height:var(--viewport-height);overflow:hidden}body{position:fixed;top:0;right:0;bottom:0;left:0;margin:0;min-width:320px;overflow-wrap:anywhere;color:var(--text-strong);background:var(--app-background);overscroll-behavior-y:none}#root{position:relative}html.auth-route,body.auth-route,body.auth-route #root{height:auto;min-height:var(--viewport-height);overflow-y:auto}body.auth-route{position:relative;inset:auto;overscroll-behavior-y:auto}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer;touch-action:manipulation}input{width:100%;border:1px solid var(--border);border-radius:14px;padding:.85rem 1rem;background:var(--input-background);color:var(--text-strong)}textarea{font:inherit}input:focus{outline:2px solid rgba(var(--brand-rgb),.22);border-color:rgba(var(--brand-rgb),.45)}h1,h2,h3,p{margin:0}.auth-page,.page-state,.legal-page{height:100%;min-height:100%;display:grid;padding:2rem;overflow:auto}.auth-page,.page-state{place-items:center}.auth-card,.panel,.legal-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.auth-card{width:min(100%,440px);border-radius:28px;padding:2rem}.legal-card{width:min(100%,980px);margin:0 auto;border-radius:28px;padding:2rem}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;color:var(--brand);margin-bottom:.5rem}.muted{color:var(--text-soft)}.tiny{font-size:.82rem}.form-stack{display:grid;gap:1rem;margin-top:1.5rem}.form-stack label{display:grid;gap:.35rem;font-weight:600}.form-stack label,.profile-card>div,.candidate-card>div,.list-item.static>div{min-width:0}.field-note{font-size:.85rem;font-weight:400;color:var(--text-soft)}.checkbox-row{display:flex;align-items:flex-start;gap:.8rem;font-weight:400;color:var(--text-strong)}.checkbox-row input{width:1.05rem;height:1.05rem;margin:.2rem 0 0;accent-color:var(--brand);flex:0 0 auto}.auth-footer{margin-top:1rem}.auth-footer-link-accent{color:var(--brand);font-weight:700}.button{border:none;border-radius:14px;padding:.85rem 1.2rem;background:var(--brand);color:#fff;font-weight:700;box-shadow:0 12px 28px rgba(var(--brand-rgb),.18);transition:transform .15s ease,background .15s ease,box-shadow .15s ease}.button:hover:not(:disabled){transform:translateY(-1px);background:var(--brand-dark);box-shadow:0 16px 32px rgba(var(--brand-rgb),.22)}.button:disabled{opacity:.6;cursor:not-allowed}.button.secondary{background:var(--secondary-button-background);color:var(--secondary-button-color);box-shadow:none}.button.danger{background:#c74638;color:#fff;box-shadow:0 12px 28px #c7463833}.button.danger:hover:not(:disabled){background:#aa382d;box-shadow:0 16px 32px #c746383d}.error-box,.success-box,.empty-state{border-radius:16px;padding:.9rem 1rem}.error-box{background:#b23b3217;color:var(--error)}.success-box{background:#23644b1c;color:var(--success)}.empty-state{background:#1721260a;color:var(--text-soft)}.grow{flex:1}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:root[data-theme=dark] .error-box,:root[data-theme=dark] .success-box,:root[data-theme=dark] .empty-state{border:1px solid var(--border)}.app-shell{display:grid;grid-template-rows:auto auto auto minmax(0,1fr);gap:1rem;height:var(--viewport-height);max-height:var(--viewport-height);padding:1.5rem;overflow:hidden}.app-shell--chat{grid-template-rows:auto auto minmax(0,1fr)}.app-shell--fullscreen-chat{grid-template-rows:minmax(0,1fr);gap:0;padding:0}.app-shell-content{min-height:0;overflow:auto;display:grid;gap:1rem}.app-shell--chat .app-shell-content{overflow:hidden;gap:0}.install-banner{display:grid;gap:.8rem;padding:.95rem 1rem;margin:0;border-radius:22px;border:1px solid var(--border);background:var(--surface-floating);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.install-banner-copy{display:grid;gap:.25rem}.install-banner-actions{display:flex;gap:.65rem}.install-banner-actions .button{flex:1}.topbar{display:flex;align-items:center;margin:0}.topbar h1{font-size:clamp(1.7rem,2.3vw,2.5rem)}.nav-links{display:flex;gap:.75rem;margin:0}.nav-link{display:flex;align-items:center;justify-content:center;padding:.72rem 1rem;border-radius:999px;background:var(--surface-muted);border:1px solid var(--border);transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease}.nav-link-content,.list-item-trailing{display:inline-flex;align-items:center;gap:.55rem}.nav-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem}.nav-icon svg{width:1.35rem;height:1.35rem}.nav-badge{position:absolute;top:-.45rem;right:-.55rem;display:inline-flex;min-width:1.1rem;height:1.1rem;align-items:center;justify-content:center;padding:0 .25rem;border-radius:999px;background:var(--brand);color:#fff;font-size:.66rem;font-weight:700;line-height:1;box-shadow:0 4px 12px #1721262e}.nav-link.active{background:rgba(var(--brand-rgb),.14);border-color:rgba(var(--brand-rgb),.22);color:var(--brand-dark)}.nav-link:hover{transform:translateY(-1px);border-color:rgba(var(--brand-rgb),.16)}.legal-consent-box{display:grid;gap:1rem;padding:1rem;border-radius:20px;border:1px solid var(--border);background:var(--surface-soft)}.legal-consent-item{display:grid;gap:.9rem}.legal-consent-item+.legal-consent-item{padding-top:1rem;border-top:1px solid var(--border)}.legal-consent-header,.legal-actions,.legal-meta{display:flex;align-items:center;justify-content:space-between;gap:1rem}.legal-link-button{white-space:nowrap}.legal-meta{align-items:stretch;margin-bottom:1.5rem}.legal-meta>div{flex:1;border:1px solid var(--border);border-radius:18px;padding:.9rem 1rem;background:var(--surface-soft)}.legal-content{display:grid;gap:1.35rem}.legal-section{display:grid;gap:.8rem}.legal-section h2{font-size:1.05rem}.legal-section p{color:#243039}.legal-list{margin:0;padding-left:1.2rem;color:#243039}.legal-list li+li{margin-top:.55rem}.legal-actions{margin-top:1.5rem;justify-content:flex-start}.dashboard-grid,.friends-grid,.chat-layout,.profile-layout{display:grid;gap:1rem}.dashboard-grid,.chat-layout{grid-template-columns:minmax(280px,360px) minmax(0,1fr)}.chat-layout{min-height:0;height:100%;align-items:stretch}.profile-layout{grid-template-columns:minmax(0,1fr)}.friends-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{border-radius:28px;padding:1.25rem}.panel.full-width{grid-column:1 / -1}.panel-header{margin-bottom:1rem}.panel-header.with-action{display:flex;align-items:center;justify-content:space-between;gap:1rem}.profile-card{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.profile-panel{max-width:560px}.profile-actions{display:flex;margin-top:1rem}.search-row,.composer-row,.candidate-card,.list-item.static,.list-item-title-row,.list-item-actions{display:flex;align-items:center;gap:.75rem}.search-row{margin-bottom:1rem}.stack-list{display:grid;gap:.75rem}.stack-list.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.list-item{border:1px solid var(--border);border-radius:20px;padding:.95rem 1rem;background:var(--surface-soft);transition:border-color .15s ease,transform .15s ease}.chat-list-item{display:flex;align-items:flex-start;gap:.9rem}.user-avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;border-radius:999px;background:linear-gradient(145deg,#c55b2b29,#2d7a632e);color:#213039;font-weight:800;letter-spacing:.02em;flex:0 0 auto}.user-avatar-image,.user-avatar-fallback{width:100%;height:100%}.user-avatar-image{display:block;object-fit:cover}.user-avatar-fallback{display:inline-flex;align-items:center;justify-content:center}.chat-avatar{width:2.9rem;height:2.9rem}.chat-avatar--compact{width:2.6rem;height:2.6rem}.chat-item-body{min-width:0;flex:1;display:grid;gap:.3rem}.chat-item-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.chat-item-name,.chat-item-time,.chat-item-login{min-width:0}.chat-item-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-item-time{white-space:nowrap;flex:0 0 auto}.profile-card strong,.candidate-card strong,.list-item.static strong,.list-item.static .muted,.error-box,.success-box,.empty-state,.message-body{overflow-wrap:anywhere;word-break:break-word}.list-item:hover{transform:translateY(-1px);border-color:#2d7a6347}.list-item.active{border-color:rgba(var(--brand-rgb),.34);background:rgba(var(--brand-rgb),.09)}.list-item.unread{border-color:rgba(var(--accent-rgb),.34);background:rgba(var(--accent-rgb),.11)}.list-item.static{justify-content:space-between}.list-item-leading{display:flex;align-items:center;gap:.8rem;min-width:0}.list-item-leading>div{min-width:0}.list-item-preview{color:var(--text-soft);margin:0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere;word-break:break-word}.candidate-card{justify-content:space-between;border:1px solid var(--border);border-radius:20px;padding:1rem;background:var(--surface-soft)}.action-card{min-height:100%}.settings-layout{display:grid;gap:1rem;align-items:start}.settings-section{display:grid;gap:1.1rem;min-width:0}.settings-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.settings-section-heading h2{font-size:1.32rem;letter-spacing:-.03em}.settings-profile-main{display:grid;gap:1.1rem;grid-template-columns:auto minmax(0,1fr);align-items:start}.settings-avatar-card{display:grid;justify-items:start;gap:.8rem}.settings-avatar-input{display:none}.settings-avatar-button{position:relative;display:inline-grid;place-items:center;padding:0;border:none;background:transparent;border-radius:28px}.settings-photo-slot{display:grid;place-items:center;width:6.2rem;height:6.2rem;border-radius:28px;border:1px solid rgba(var(--brand-rgb),.16);box-shadow:0 18px 30px #1721261a}.settings-avatar-overlay{position:absolute;right:-.35rem;bottom:-.35rem;display:inline-flex;align-items:center;justify-content:center;width:2.3rem;height:2.3rem;border-radius:999px;border:1px solid rgba(255,255,255,.82);background:#172126b8;color:#fff;box-shadow:0 10px 24px #1721262e;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.settings-avatar-overlay svg{width:1rem;height:1rem}.settings-avatar-overlay.busy{cursor:progress}.settings-avatar-spinner{width:.92rem;height:.92rem;border:2px solid rgba(255,255,255,.36);border-top-color:#fff;border-radius:999px;animation:spin .75s linear infinite}.settings-avatar-remove{min-width:0}.settings-profile-body,.settings-display-editor,.settings-name-copy,.settings-password-copy,.settings-password-form,.settings-theme-copy,.settings-session-copy{display:grid;gap:.5rem}.settings-password-grid{display:grid;gap:.9rem;grid-template-columns:repeat(2,minmax(0,1fr))}.settings-switch-list{display:grid;gap:.9rem}.settings-switch-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;padding:1rem;border-radius:22px;border:1px solid var(--border);background:var(--surface-soft);color:var(--text-strong);text-align:left;transition:border-color .16s ease,background .16s ease,transform .16s ease}.settings-switch-row:hover:not(:disabled){transform:translateY(-1px);border-color:rgba(var(--brand-rgb),.24)}.settings-switch-row.active{border-color:rgba(var(--accent-rgb),.28);background:rgba(var(--accent-rgb),.08)}.settings-switch-row:disabled{opacity:.7;cursor:not-allowed}.settings-switch-copy{display:grid;gap:.32rem;min-width:0}.settings-switch-copy strong{font-size:1rem}.settings-switch-copy span{color:var(--text-soft);line-height:1.45}.settings-switch{position:relative;flex:0 0 auto;width:3.15rem;height:1.9rem;border-radius:999px;background:#1721261f;transition:background .16s ease}.settings-switch.active{background:rgba(var(--accent-rgb),.9)}.settings-switch-thumb{position:absolute;top:.18rem;left:.18rem;width:1.54rem;height:1.54rem;border-radius:999px;background:#fff;box-shadow:0 8px 18px #1721262e;transition:transform .16s ease}.settings-switch.active .settings-switch-thumb{transform:translate(1.24rem)}.settings-notification-status,.settings-notification-grid,.settings-toggle-card,.settings-toggle-copy,.settings-device-actions{display:grid;gap:.75rem}.settings-notification-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-toggle-card{align-content:start;padding:1rem;border-radius:22px;border:1px solid var(--border);background:var(--surface-soft)}.settings-toggle-copy{min-width:0}.settings-toggle-copy strong{font-size:1rem}.settings-toggle-copy span{color:var(--text-soft);line-height:1.45}.settings-status-badge{display:inline-flex;align-items:center;gap:.6rem;justify-self:start;padding:.72rem .95rem;border-radius:999px;border:1px solid var(--border);background:var(--surface-muted);color:var(--text-strong);font-weight:700}.settings-status-badge svg{width:1rem;height:1rem}.settings-status-badge.active{border-color:rgba(var(--accent-rgb),.28);background:rgba(var(--accent-rgb),.12)}.settings-status-badge.muted{color:var(--text-soft)}.settings-toggle-button{justify-self:start;min-height:2.8rem;padding:.78rem 1rem;border-radius:999px;border:1px solid var(--border);background:var(--surface-strong);color:var(--text-strong);font-weight:700;transition:transform .16s ease,border-color .16s ease,background .16s ease}.settings-toggle-button:hover:not(:disabled){transform:translateY(-1px);border-color:rgba(var(--brand-rgb),.24)}.settings-toggle-button.active{border-color:rgba(var(--accent-rgb),.34);background:rgba(var(--accent-rgb),.14);color:var(--text-strong)}.settings-field{display:grid;gap:.55rem;font-weight:700}.settings-field--compact{gap:.4rem}.settings-display-name-input{border-radius:18px;padding:.95rem 1rem;font-size:1.14rem;font-weight:700;letter-spacing:-.02em}.settings-name-row,.settings-inline-actions,.settings-session-row{display:flex;align-items:center;gap:.75rem}.settings-name-row{justify-content:space-between;align-items:flex-start}.settings-name-copy{min-width:0}.settings-name-copy strong{font-size:clamp(1.3rem,2vw,1.55rem);line-height:1.08;letter-spacing:-.03em;overflow-wrap:anywhere}.settings-login-pill{display:inline-flex;align-items:center;min-height:2.6rem;padding:.72rem .95rem;border-radius:999px;border:1px solid var(--border);background:var(--surface-muted);color:var(--text-strong);font-weight:700}.settings-icon-button{display:inline-flex;align-items:center;justify-content:center;width:2.6rem;height:2.6rem;border:1px solid var(--border);border-radius:999px;background:var(--surface-soft);color:var(--text-strong);transition:transform .16s ease,border-color .16s ease,background .16s ease}.settings-icon-button:hover{transform:translateY(-1px);border-color:rgba(var(--brand-rgb),.24);background:rgba(var(--brand-rgb),.08)}.settings-icon-button svg{width:1.05rem;height:1.05rem}.settings-inline-actions .button{min-width:10rem}.settings-theme-switcher{display:grid;gap:.8rem;grid-template-columns:repeat(3,minmax(0,1fr))}.settings-theme-option{display:grid;gap:.8rem;padding:.95rem 1rem;border:1px solid var(--border);border-radius:22px;background:linear-gradient(180deg,var(--surface-strong) 0%,var(--surface-soft) 100%);color:var(--text-strong);text-align:left;touch-action:manipulation;-webkit-user-select:none;user-select:none;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.settings-theme-option:hover{transform:translateY(-2px);border-color:rgba(var(--accent-rgb),.24)}.settings-theme-option.active{border-color:rgba(var(--accent-rgb),.34);background:linear-gradient(180deg,rgba(var(--accent-rgb),.12) 0%,var(--surface-strong) 100%);box-shadow:0 16px 30px rgba(var(--accent-rgb),.12)}.settings-theme-preview{display:block;width:100%;height:3.1rem;border-radius:16px;border:1px solid rgba(255,255,255,.08)}.settings-theme-preview--system{background:linear-gradient(135deg,#fff7ee,#dfeee3 44%,#132029)}.settings-theme-preview--light{background:linear-gradient(180deg,#fffaf2,#edf4ee)}.settings-theme-preview--dark{background:linear-gradient(180deg,#101920,#19262f)}.settings-theme-copy strong{font-size:1rem}.settings-theme-copy span{color:var(--text-soft);font-size:.9rem;line-height:1.45}.settings-danger-section{border-color:#c746382e}.settings-danger-copy{display:grid;gap:.45rem}.settings-danger-copy strong{color:#a53a30}.settings-danger-copy span{color:var(--text-soft);line-height:1.5}.settings-delete-button{justify-self:start}.settings-delete-overlay{z-index:70}.settings-delete-dialog{width:min(100%,31rem)}.settings-delete-actions{justify-content:flex-end}.settings-session-row{justify-content:space-between}.settings-logout-button{white-space:nowrap}:root[data-theme=dark] .nav-link.active,:root[data-theme=dark] .list-item.active{color:#ffd9c7}:root[data-theme=dark] .list-item.unread,:root[data-theme=dark] .settings-theme-option.active{background:rgba(var(--accent-rgb),.18)}:root[data-theme=dark] .settings-photo-slot,:root[data-theme=dark] .settings-theme-option{box-shadow:inset 0 1px #ffffff08}:root[data-theme=dark] .chat-avatar,:root[data-theme=dark] .user-avatar{color:var(--text-strong)}:root[data-theme=dark] .settings-avatar-overlay{background:#080f14c2}:root[data-theme=dark] .settings-danger-section{border-color:#e366543d}:root[data-theme=dark] .settings-danger-copy strong{color:#ffb6a8}:root[data-theme=dark] .legal-section p,:root[data-theme=dark] .legal-list{color:var(--text-strong)}.chat-sidebar,.chat-panel{min-height:72vh}.chat-panel{display:flex;flex-direction:column;min-height:0;overflow:hidden}.chat-sidebar,.chat-panel{min-height:0;height:100%}.chat-sidebar{display:flex;flex-direction:column;overflow:hidden}.chat-sidebar .stack-list{min-height:0;overflow-y:auto;padding-right:.2rem;scrollbar-width:thin}.chat-screen{height:100%;min-height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:calc(.45rem + env(safe-area-inset-top,0px)) .9rem 0;overflow:hidden;background:linear-gradient(180deg,#f7f1e8fa,#f2f5eff5)}.chat-screen .chat-mobile-header{position:relative;top:auto;z-index:1;flex:0 0 auto;margin:0 0 .55rem;padding:.15rem 0 .45rem;background:linear-gradient(180deg,#f7f1e8f5,#f7f1e89e);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.chat-screen .messages-shell{flex:1 1 auto;min-height:0;overflow:hidden}.chat-screen .messages-panel{min-height:0;padding-bottom:.9rem;flex:1 1 auto;touch-action:pan-y}.chat-screen .composer-row{position:static;margin:.45rem 0 0;gap:.7rem;flex-direction:row;align-items:flex-end;padding:.65rem 0 calc(.65rem + env(safe-area-inset-bottom,0px));background:linear-gradient(180deg,#f7f1e800,#f7f1e8fa 32%);-webkit-backdrop-filter:none;backdrop-filter:none;touch-action:manipulation}body.keyboard-open .chat-screen .composer-row{margin-top:0;padding-top:.05rem;padding-bottom:0;transform:translateY(-.2rem)}body.keyboard-open .chat-screen .messages-panel{padding-bottom:0}.messages-shell{position:relative;display:flex;flex-direction:column;flex:1;min-height:0}.messages-panel{display:flex;flex:1;flex-direction:column;gap:.75rem;overflow-y:auto;padding-right:.25rem;padding-bottom:.35rem;min-height:0;overscroll-behavior:contain;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.load-older-button{align-self:center;margin-bottom:.25rem;padding:.55rem .9rem;font-size:.9rem}.message-bubble{max-width:min(78%,560px);padding:.85rem 1rem;border-radius:20px 20px 20px 6px;background:#2d7a631a;border:1px solid rgba(45,122,99,.16);box-shadow:0 6px 18px #1721260d}.message-bubble.self{margin-left:auto;border-radius:20px 20px 6px;background:#c55b2b1f;border-color:#c55b2b2e}.message-bubble.deleted{background:#1721260d;border-color:#17212614;box-shadow:none}.message-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.35rem}.message-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem .65rem;font-size:.84rem;color:var(--text-soft)}.message-status{display:inline-flex;align-items:center;padding:.18rem .42rem;border-radius:999px;background:#1721260f;font-size:.72rem;line-height:1}.message-status.read{background:#2d7c661f;color:var(--accent)}.message-status.unread{background:#1721260f;color:var(--text-soft)}.message-menu-shell{position:relative;flex:0 0 auto}.message-menu-button{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;border-radius:999px;background:#ffffff8f;color:#4f5d66;box-shadow:inset 0 0 0 1px #17212614}.message-menu-button svg{width:1.15rem;height:1.15rem}.message-menu{position:fixed;z-index:80;display:grid;min-width:10.5rem;padding:.35rem;border:1px solid rgba(23,33,38,.08);border-radius:16px;background:#fffffff5;box-shadow:0 16px 32px #17212624;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.message-menu-portal{transform-origin:top right}.message-menu-top{transform-origin:bottom right}.message-menu-item{display:flex;width:100%;align-items:center;justify-content:flex-start;padding:.72rem .8rem;border:none;border-radius:12px;background:transparent;color:#172126;font-weight:600}.message-menu-item:hover{background:#1721260d}.message-menu-item.danger{color:var(--error)}.message-body-deleted{color:var(--text-soft);font-style:italic}.message-body{margin-top:.45rem;white-space:pre-wrap;word-break:break-word}.message-reply-preview{display:grid;gap:.18rem;margin:.15rem 0 .45rem;padding:.62rem .78rem;border-radius:14px;border-left:3px solid rgba(45,122,99,.62);background:#ffffff7a;min-width:0}.message-bubble.self .message-reply-preview{border-left-color:#c55b2bad}.message-reply-author,.message-reply-text{min-width:0;overflow-wrap:anywhere}.message-reply-author{font-size:.78rem;font-weight:700;color:var(--text-strong)}.message-reply-text{color:var(--text-soft);font-size:.84rem;line-height:1.35}.chat-mobile-header{display:flex;align-items:center;gap:.9rem;margin-bottom:.9rem}.chat-mobile-title{display:flex;align-items:center;gap:.75rem;min-width:0;flex:1 1 auto;padding:.58rem .95rem;border:1px solid rgba(23,33,38,.08);border-radius:999px;background:#ffffffd6;box-shadow:0 10px 24px #17212614}.chat-mobile-title h2{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.98rem;line-height:1.2}.chat-header-avatar{width:2.25rem;height:2.25rem;border:1px solid rgba(23,33,38,.08)}.chat-header-actions{position:relative;flex:0 0 auto}.chat-header-menu{position:absolute;top:calc(100% + .45rem);right:0;z-index:12;width:max-content;min-width:14rem;max-width:min(18rem,calc(100vw - 1.8rem));padding:.35rem;border:1px solid rgba(23,33,38,.08);border-radius:16px;background:#fffffff5;box-shadow:0 18px 36px #17212624;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.chat-header-menu-item{display:flex;width:100%;align-items:center;padding:.78rem .82rem;border:none;border-radius:12px;background:transparent;color:#172126;font-weight:600}.chat-header-menu-item:hover{background:#1721260d}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border:1px solid rgba(23,33,38,.08);border-radius:999px;background:#ffffffc7;color:#172126;box-shadow:0 8px 24px #17212614}.icon-button svg{width:1.25rem;height:1.25rem}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:1rem;background:#1721266b;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.dialog-card{width:min(100%,28rem);display:grid;gap:1rem;padding:1.15rem;border-radius:24px;background:#f8f7f3fa;border:1px solid rgba(23,33,38,.08);box-shadow:0 28px 48px #1721263d}.dialog-header,.dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.dialog-header{align-items:flex-start}.dialog-stack{display:grid;gap:.72rem}.dialog-meta{display:grid;gap:.12rem;padding:.85rem .95rem;border-radius:18px;background:#fffc;border:1px solid rgba(23,33,38,.08)}.dialog-subtle{margin:0}.contact-rename-overlay{z-index:110}.contact-rename-dialog{width:min(100%,26rem)}.contact-rename-meta strong,.contact-rename-meta span{overflow-wrap:anywhere}.contact-rename-actions{align-items:stretch;flex-wrap:wrap;justify-content:flex-end}.contact-rename-clear{margin-right:auto}.field-label{font-weight:700;color:#172126}.day-separator{display:flex;justify-content:center;margin:.2rem 0}.day-separator span{display:inline-flex;align-items:center;justify-content:center;padding:.35rem .75rem;border-radius:999px;background:#ffffffd1;border:1px solid rgba(23,33,38,.08);color:var(--text-soft);font-size:.78rem;box-shadow:0 8px 24px #1721260d}.composer-row{margin-top:1rem;flex-direction:row;flex:0 0 auto;align-items:flex-end;padding-top:.8rem;border-top:1px solid rgba(23,33,38,.08);background:linear-gradient(180deg,#f7f1e800,#f7f1e8eb 35%)}.composer-stack{display:grid;gap:.55rem;flex:0 0 auto}.composer-stack .composer-row{margin-top:0}.composer-mode-banner{display:flex;align-items:center;justify-content:space-between;gap:.9rem;padding:.85rem .95rem;border:1px solid rgba(45,122,99,.14);border-radius:18px;background:#2d7a6317}.composer-mode-banner-reply{border-color:#c55b2b2e;background:#c55b2b17}.composer-mode-copy{display:grid;gap:.15rem;min-width:0}.composer-mode-copy strong,.composer-mode-copy span{overflow-wrap:anywhere}.composer-mode-copy span{color:var(--text-soft);font-size:.84rem}.composer-mode-cancel{border:none;border-radius:999px;padding:.58rem .82rem;background:#ffffffb8;color:#172126;font-weight:700}.composer-voice-dot{width:.8rem;height:.8rem;border-radius:999px;background:#d44239;box-shadow:0 0 #d442396b;animation:voice-pulse 1.1s ease-out infinite}.composer-file-input{display:none}.composer-attach-button{width:3.25rem;min-width:3.25rem;height:3.25rem;border-radius:18px}.composer-textarea{flex:1 1 auto;min-width:0;min-height:3.2rem;max-height:8.25rem;resize:none;width:100%;border:1px solid var(--border);border-radius:18px;padding:.95rem 1rem;line-height:1.42;background:#ffffffeb}.composer-voice-field{flex:1 1 auto;min-width:0;min-height:3.2rem;display:grid;gap:.18rem;align-content:center;padding:.75rem 1rem;border:1px solid rgba(178,59,50,.18);border-radius:18px;background:#fffffff0;box-shadow:0 12px 28px #1721260d}.composer-voice-field-main{display:flex;align-items:center;gap:.6rem;min-width:0;font-weight:700;color:var(--text-strong)}.composer-voice-field-meta{color:var(--text-soft);font-size:.83rem;line-height:1.35;overflow-wrap:anywhere}.composer-voice-arm-hint{flex:1 1 auto;min-width:0;min-height:3.2rem;display:flex;align-items:center;justify-content:center;padding:.75rem 1rem;border:1px dashed rgba(197,91,43,.28);border-radius:18px;background:#c55b2b0f}.composer-voice-arm-hint-text{font-size:.88rem;font-weight:600;color:var(--text-soft);text-align:center}.composer-voice-recording-shell{flex:1 1 auto;min-width:0;min-height:3.2rem;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.5rem;padding:.55rem .65rem;border:1px solid rgba(178,59,50,.2);border-radius:18px;background:#fffffff0;box-shadow:0 12px 28px #1721260d}.composer-voice-recording-left{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;min-width:0}.composer-voice-recording-time{font-size:.88rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-strong);white-space:nowrap}.composer-voice-cancel-inline{justify-self:center;padding:.55rem 1.1rem;border:1px solid rgba(23,33,38,.1);border-radius:999px;background:#ffffff59;color:var(--text-strong);font-size:.88rem;font-weight:700;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background .15s,border-color .15s}.composer-voice-cancel-inline:hover:not(:disabled){background:#1721260f;border-color:#17212624}.composer-voice-cancel-inline:disabled{opacity:.45;cursor:default}.composer-voice-recording-right{min-width:0;display:flex;align-items:center;justify-content:flex-start}.composer-voice-recording-hint{font-size:.76rem;line-height:1.25;color:var(--text-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-submit-voice-send-expanded{width:4.15rem!important;min-width:4.15rem!important;height:3.45rem!important;border-radius:20px!important;transition:width .2s ease,min-width .2s ease,height .2s ease,border-radius .2s ease}.composer-voice-send-arrow{width:1.55rem;height:1.55rem}.composer-submit-voice-wait .voice-arm-spinner{border-color:#c55b2b40;border-top-color:var(--brand-dark)}.composer-submit{flex:0 0 auto}.icon-send-button{display:inline-flex;align-items:center;justify-content:center;width:3.25rem;min-width:3.25rem;height:3.25rem;padding:0;border-radius:18px}.icon-send-button svg{width:1.4rem;height:1.4rem}.composer-submit-edit{background:var(--accent)}.composer-submit-edit:hover:not(:disabled){background:#23644b}.composer-submit-voice{background:#c55b2b1f;color:var(--brand-dark);touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.composer-submit-voice:hover:not(:disabled){background:#c55b2b2e}.composer-submit-voice-recording{background:#d44239;color:#fff;box-shadow:0 12px 32px #d442393d}.composer-submit-voice-recording:hover:not(:disabled){background:#c23a32}.composer-attachment-card{display:grid;grid-template-columns:4rem minmax(0,1fr) auto;align-items:center;gap:.85rem;padding:.85rem .95rem;border:1px solid rgba(23,33,38,.08);border-radius:20px;background:#ffffffd1;box-shadow:0 14px 28px #1721260d}.composer-attachment-thumb{width:4rem;height:4rem;object-fit:cover;border-radius:14px}.composer-attachment-thumb-skeleton{background:linear-gradient(120deg,#1721260d 8%,#1721261c,#1721260d 68%);background-size:200% 100%;animation:shimmer 1.4s linear infinite}.composer-attachment-copy{display:grid;gap:.2rem;min-width:0}.composer-attachment-copy strong,.composer-attachment-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-attachment-copy span{color:var(--text-soft);font-size:.84rem}.composer-attachment-remove{border:none;border-radius:999px;padding:.58rem .88rem;background:#1721260f;color:inherit;font-weight:700}.composer-attachment-remove:disabled{opacity:.6;cursor:default}.send-spinner{width:1rem;height:1rem;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:999px;animation:spin .75s linear infinite}.jump-to-latest{position:absolute;right:.65rem;bottom:.75rem;z-index:4;border:1px solid rgba(23,33,38,.08);border-radius:999px;padding:.7rem .95rem;background:#fffffff0;color:#172126;font-weight:700;box-shadow:0 16px 30px #17212624}@keyframes spin{to{transform:rotate(360deg)}}@keyframes voice-pulse{0%{box-shadow:0 0 #d4423966}70%{box-shadow:0 0 0 12px #d4423900}to{box-shadow:0 0 #d4423900}}.badge{display:inline-flex;min-width:1.5rem;height:1.5rem;align-items:center;justify-content:center;padding:0 .45rem;border-radius:999px;background:#c55b2b24;color:var(--brand-dark);font-size:.78rem;font-weight:700;line-height:1}.badge.accent{background:#2d7a6329;color:var(--accent)}.message-image-button{display:block;width:100%;margin:0;padding:0;border:none;background:transparent;text-align:left}.message-image{display:block;width:100%;max-width:22rem;max-height:24rem;object-fit:cover;border-radius:18px;box-shadow:0 12px 28px #1721261f}.message-image-skeleton,.message-image-error{width:min(100%,22rem);border-radius:18px}.message-image-skeleton{aspect-ratio:4 / 5;background:linear-gradient(120deg,#1721260d 8%,#1721261c,#1721260d 68%);background-size:200% 100%;animation:shimmer 1.4s linear infinite}.message-image-error{padding:.9rem 1rem;background:#b23b3217;color:var(--error)}.message-voice-wrap{position:relative;width:min(100%,22rem);margin-top:.35rem}.message-voice-audio{position:absolute;width:0;height:0;opacity:0;pointer-events:none;overflow:hidden}.message-voice-row{display:flex;align-items:center;gap:.6rem;width:100%}.message-voice-playback-error{margin-top:.35rem;font-size:.8rem;color:var(--error)}.voice-play-btn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border:none;border-radius:999px;background:#2d7a6329;color:var(--accent);cursor:pointer;transition:background .14s}.message-bubble.self .voice-play-btn{background:#c55b2b29;color:var(--brand-dark)}.voice-play-btn:hover:not(:disabled){background:#2d7a6347}.message-bubble.self .voice-play-btn:hover:not(:disabled){background:#c55b2b47}.voice-play-btn:disabled{opacity:.65;cursor:default}.voice-play-spinner{width:1rem;height:1rem;border:2px solid rgba(45,122,99,.22);border-top-color:var(--accent);border-radius:999px;animation:spin .75s linear infinite}.message-bubble.self .voice-play-spinner{border-color:#c55b2b38;border-top-color:var(--brand-dark)}.voice-waveform{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:2px;height:2rem;cursor:pointer;border-radius:4px}.voice-bar{flex:1 1 0;min-width:2px;border-radius:2px;height:calc(var(--bar-h, .5) * 100%);background:#2d7a6338;transition:background .1s}.message-bubble.self .voice-bar{background:#c55b2b38}.voice-bar.voice-bar-filled{background:#2d7a63ad}.message-bubble.self .voice-bar.voice-bar-filled{background:#c55b2bad}.voice-time{flex:0 0 auto;color:var(--text-soft);font-size:.8rem;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:2.6rem;text-align:right}.message-voice-error{width:min(100%,22rem);border-radius:18px;padding:.9rem 1rem;background:#b23b3217;color:var(--error)}.message-image-viewer{z-index:120;padding:1rem}.message-image-viewer-card{position:relative;display:grid;max-width:min(96vw,68rem);max-height:min(90vh,68rem)}.message-image-viewer-img{max-width:100%;max-height:min(90vh,68rem);border-radius:24px;object-fit:contain;background:#080f14e0;box-shadow:0 30px 60px #00000057}.message-image-viewer-close{position:absolute;top:.8rem;right:.8rem;display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border:none;border-radius:999px;background:#080f14a3;color:#fff;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.message-image-viewer-close svg{width:1.35rem;height:1.35rem}.chat-screen .composer-stack{gap:.45rem}.chat-screen .composer-mode-banner{padding:.78rem .85rem;border-radius:16px}.chat-screen .composer-mode-copy strong,.chat-screen .composer-mode-copy span{overflow-wrap:anywhere}body.keyboard-open .chat-screen .composer-stack{gap:.2rem}.chat-screen .composer-voice-field,.chat-screen .composer-voice-arm-hint,.chat-screen .composer-voice-recording-shell{min-height:3.1rem}body.keyboard-open .chat-screen .composer-mode-banner{padding:.58rem .72rem;border-radius:14px}body.keyboard-open .chat-screen .composer-mode-copy{gap:0}body.keyboard-open .chat-screen .composer-mode-copy span{display:none}body.keyboard-open .chat-screen .composer-mode-cancel{padding:.44rem .72rem}body.keyboard-open .chat-screen .composer-voice-field{padding-top:.68rem;padding-bottom:.68rem}body.keyboard-open .chat-screen .composer-voice-recording-shell{padding-top:.5rem;padding-bottom:.5rem}:root[data-theme=dark] .chat-screen{background:var(--app-background)}:root[data-theme=dark] .chat-mobile-title,:root[data-theme=dark] .day-separator span,:root[data-theme=dark] .message-menu,:root[data-theme=dark] .chat-header-menu,:root[data-theme=dark] .dialog-card,:root[data-theme=dark] .dialog-meta{background:var(--surface-overlay);border-color:var(--border)}:root[data-theme=dark] .chat-screen .chat-mobile-header{background:linear-gradient(180deg,#080f141f,#080f148f)}:root[data-theme=dark] .chat-mobile-title{background:linear-gradient(180deg,#121c22c7,#0e161ba3);border-color:#c4d4db1f;box-shadow:0 12px 28px #0003}:root[data-theme=dark] .jump-to-latest{background:linear-gradient(180deg,#121c22e6,#0e161bd1);border-color:rgba(var(--accent-rgb),.24);color:var(--text-strong);box-shadow:0 16px 30px #00000047}:root[data-theme=dark] .icon-button,:root[data-theme=dark] .message-menu-button,:root[data-theme=dark] .composer-mode-cancel{background:var(--surface);color:var(--text-strong);border-color:var(--border)}:root[data-theme=dark] .composer-textarea{background:var(--input-background);color:var(--text-strong)}:root[data-theme=dark] .chat-header-menu-item,:root[data-theme=dark] .message-menu-item,:root[data-theme=dark] .field-label,:root[data-theme=dark] .jump-to-latest{color:var(--text-strong)}:root[data-theme=dark] .chat-header-menu-item:hover,:root[data-theme=dark] .message-menu-item:hover{background:#ffffff0f}:root[data-theme=dark] .composer-row{border-top-color:var(--border);background:linear-gradient(180deg,rgba(0,0,0,0) 0%,var(--surface-floating) 35%)}:root[data-theme=dark] .chat-screen .composer-row{background:linear-gradient(180deg,rgba(0,0,0,0) 0%,var(--surface-floating) 32%)}:root[data-theme=dark] .message-bubble{background:#2d7a632e;border-color:#2d7a6342}:root[data-theme=dark] .message-bubble.self{background:#c55b2b2e;border-color:#c55b2b42}:root[data-theme=dark] .message-bubble.deleted{background:#d6e1dd14;border-color:#d6e1dd1f}:root[data-theme=dark] .message-reply-preview{background:#080f1447;border-left-color:rgba(var(--accent-rgb),.72)}:root[data-theme=dark] .message-bubble.self .message-reply-preview{border-left-color:#ffab6cbd}:root[data-theme=dark] .message-reply-author{color:var(--text-strong)}:root[data-theme=dark] .composer-attachment-card{background:var(--surface-overlay);border-color:var(--border)}:root[data-theme=dark] .composer-submit-voice{background:#c55b2b38;color:var(--text-strong)}:root[data-theme=dark] .composer-submit-voice:hover:not(:disabled){background:#c55b2b47}:root[data-theme=dark] .composer-voice-field{border-color:#e962563d;background:#080f14eb}:root[data-theme=dark] .composer-voice-arm-hint{border-color:#e9625647;background:#080f148c}:root[data-theme=dark] .composer-voice-recording-shell{border-color:#e962563d;background:#080f14eb}:root[data-theme=dark] .composer-voice-cancel-inline{background:#ffffff0f;border-color:#ffffff1f;color:var(--text-strong)}:root[data-theme=dark] .composer-voice-cancel-inline:hover:not(:disabled){background:#ffffff1a;border-color:#ffffff29}:root[data-theme=dark] .composer-submit-voice-wait .voice-arm-spinner{border-color:#ffab6c38;border-top-color:#ffab6c}:root[data-theme=dark] .composer-attachment-remove{background:#ffffff14;color:var(--text-strong)}:root[data-theme=dark] .voice-play-btn{background:#2d7a6342;color:var(--accent)}:root[data-theme=dark] .message-bubble.self .voice-play-btn{background:#c55b2b42;color:#ffab6c}:root[data-theme=dark] .voice-play-btn:hover:not(:disabled){background:#2d7a6361}:root[data-theme=dark] .message-bubble.self .voice-play-btn:hover:not(:disabled){background:#c55b2b61}:root[data-theme=dark] .voice-play-spinner{border-color:#ffffff24;border-top-color:var(--accent)}:root[data-theme=dark] .message-bubble.self .voice-play-spinner{border-top-color:#ffab6c}:root[data-theme=dark] .voice-bar{background:#ffffff29}:root[data-theme=dark] .message-bubble.self .voice-bar{background:#ffab6c2e}:root[data-theme=dark] .voice-bar.voice-bar-filled{background:#2d7a63b8}:root[data-theme=dark] .message-bubble.self .voice-bar.voice-bar-filled{background:#ffab6cb8}:root[data-theme=dark] .message-image-viewer-img{background:#080f14f5}@keyframes shimmer{to{background-position:-200% 0}}@media (max-width: 960px){.dashboard-grid,.friends-grid,.chat-layout,.profile-layout,.stack-list.two-columns,.profile-card{grid-template-columns:1fr}.panel.full-width{grid-column:auto}.legal-meta{flex-direction:column}.settings-theme-switcher{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 680px){.auth-page,.page-state{padding:1rem}body.keyboard-open.auth-route .auth-page{place-items:start;align-content:start;padding-top:calc(.85rem + env(safe-area-inset-top,0px));padding-bottom:1rem}body.keyboard-open.auth-route .auth-card{width:100%;max-width:100%}.app-shell{height:var(--viewport-height);max-height:var(--viewport-height);padding:0;gap:.95rem}.app-shell-content{padding:0 .9rem calc(6.85rem + env(safe-area-inset-bottom,0px));scroll-padding-bottom:calc(6.85rem + env(safe-area-inset-bottom,0px))}.app-shell--chat .app-shell-content,.app-shell--fullscreen-chat .app-shell-content{padding:0}body.keyboard-open .app-shell-content{padding:0 .9rem calc(.9rem + env(safe-area-inset-bottom,0px));scroll-padding-bottom:calc(.9rem + env(safe-area-inset-bottom,0px))}body.keyboard-open .app-shell--chat .app-shell-content,body.keyboard-open .app-shell--fullscreen-chat .app-shell-content{padding:0;scroll-padding-bottom:0}.topbar,.panel-header.with-action,.search-row,.candidate-card,.list-item.static,.legal-consent-header,.legal-actions,.dialog-actions{flex-direction:column;align-items:stretch}.message-bubble{max-width:100%}.topbar{position:static;margin:0;padding:calc(.9rem + env(safe-area-inset-top,0px)) 1rem .85rem;background:linear-gradient(180deg,var(--surface-overlay) 0%,var(--surface-floating) 64%,transparent 100%)}.topbar h1{letter-spacing:-.02em}.install-banner{margin:0 .9rem;border-radius:24px}.nav-links{position:fixed;left:.85rem;right:.85rem;bottom:max(.55rem,env(safe-area-inset-bottom,0px));z-index:40;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin-bottom:0;padding:.42rem .45rem .46rem;border-radius:24px;background:var(--surface-floating);border:1px solid var(--border);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:transform .18s ease,opacity .18s ease}body.keyboard-open .nav-links{opacity:0;pointer-events:none;transform:translateY(calc(100% + env(safe-area-inset-bottom,0px) + .9rem))}body.keyboard-open .install-banner{display:none}.nav-link{min-height:3.55rem;padding:.62rem .35rem;border-radius:18px}.nav-link-content{width:100%;justify-content:center}.nav-icon{width:1.5rem;height:1.5rem}.nav-icon svg{width:1.5rem;height:1.5rem}.nav-label{display:none}.panel{background:var(--surface);padding:1rem;border-radius:22px;box-shadow:var(--shadow-soft)}.legal-page{padding:1rem}.legal-card{padding:1.15rem;border-radius:22px}.chat-layout{grid-template-columns:1fr;gap:0;height:100%;min-height:100%}.chat-sidebar{display:none}.chat-panel{min-height:0}.chat-mobile-header{position:sticky;top:0;z-index:5;margin:-.2rem -.1rem .7rem;padding:.25rem .1rem .8rem;background:linear-gradient(180deg,var(--surface-overlay) 0%,var(--surface) 100%);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.messages-shell{min-height:0;overflow:hidden}.messages-panel{min-height:0;padding-bottom:.9rem;flex:1 1 auto;touch-action:pan-y}.composer-textarea{border-radius:20px;font-size:16px}.composer-submit{width:3.25rem;min-width:3.25rem;height:3.25rem}.composer-attachment-card{grid-template-columns:3.4rem minmax(0,1fr) auto;padding:.72rem .8rem}.composer-attachment-thumb{width:3.4rem;height:3.4rem}.message-image{max-width:100%;max-height:20rem}.chat-list-item{padding:.9rem}.chat-avatar{width:2.7rem;height:2.7rem}.chat-header-menu{left:auto;right:0;min-width:min(16rem,calc(100vw - 1.8rem));max-width:min(18rem,calc(100vw - 1.8rem))}.dialog-card{width:100%;padding:1rem;border-radius:22px}.contact-rename-overlay{place-items:end center;padding:.75rem}.contact-rename-dialog{width:100%;border-radius:24px 24px 20px 20px;padding:1rem .95rem calc(.95rem + env(safe-area-inset-bottom,0px))}.contact-rename-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.settings-delete-actions{display:grid;grid-template-columns:1fr}.contact-rename-clear{grid-column:1 / -1;margin-right:0}.settings-profile-main,.settings-notification-grid,.settings-password-grid,.settings-theme-switcher,.settings-session-row{grid-template-columns:1fr}.settings-profile-main,.settings-session-row{display:grid}.settings-photo-slot{width:5rem;height:5rem;border-radius:24px}.settings-avatar-card{justify-items:stretch}.settings-avatar-button{justify-self:start;border-radius:24px}.settings-avatar-overlay{right:-.25rem;bottom:-.25rem;width:2.05rem;height:2.05rem}.settings-inline-actions{flex-direction:column;align-items:stretch}.settings-inline-actions .button,.settings-toggle-button,.settings-logout-button,.settings-delete-button{width:100%}.jump-to-latest{right:.4rem;bottom:.3rem;padding:.72rem .92rem}.search-row .button,.candidate-card .button,.list-item.static .button,.profile-actions .button,.install-banner-actions .button{width:100%}}body.is-standalone{background:var(--app-background)}body.is-standalone .topbar{padding-top:calc(.7rem + env(safe-area-inset-top,0px))}body.is-standalone .nav-links{bottom:max(.45rem,env(safe-area-inset-bottom,0px))}
