:root{--bg:#0e1621;--bg-accent:#17212b;--sidebar:#17212b;--sidebar-border:#22303d;--panel:#17212b;--chat-surface:#0f1b26;--chat-pattern:rgba(255,255,255,0.03);--card:rgba(23,33,43,0.96);--input:#242f3d;--border:#22303d;--text:#e6ebf0;--muted:#8ea2b5;--brand:#2b5278;--brand-strong:#64b5f6;--message-out:#2b5278;--message-in:#182533;--shadow:0 18px 40px rgba(0,0,0,0.28)}*{box-sizing:border-box}body,html{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);background:radial-gradient(circle at top left,rgba(100,181,246,.08),transparent 28%),linear-gradient(180deg,var(--bg) 0,var(--bg-accent) 100%)}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.auth-layout,.centered-panel{min-height:100vh;display:grid;place-items:center;padding:32px}.auth-card,.brand-card,.panel,.profile-card,.settings-card{background:var(--card);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow)}.auth-card,.settings-card{width:min(100%,520px);padding:28px;display:grid;grid-gap:16px;gap:16px}.auth-copy h1,.brand-card h2,.panel-head h1,.panel-head h3{margin:0}.auth-copy p,.brand-card p,.muted,.panel-head p,.profile-card p{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;color:var(--brand-strong);margin:0 0 8px;font-weight:700}.field{display:grid;grid-gap:8px;gap:8px}.input,.textarea{width:100%;border:1px solid var(--border);background:var(--input);border-radius:12px;padding:13px 14px;color:var(--text)}.textarea{resize:vertical}.button{border:none;border-radius:12px;padding:12px 16px;cursor:pointer;transition:transform .14s ease,opacity .14s ease,background .14s ease}.button:hover{transform:translateY(-1px)}.button:disabled{opacity:.6;cursor:not-allowed}.button-primary{background:var(--brand);color:white}.button-secondary{background:#22303d;color:var(--text)}.button-ghost{background:transparent;color:var(--muted)}.auth-switch,.error-text,.success-text{margin:0}.error-text{color:#ff8a8a}.success-text{color:#6bdb95}.app-shell{display:grid;grid-template-columns:286px 1fr;background:linear-gradient(180deg,#0e1621,#17212b)}.sidebar{border-right:1px solid var(--sidebar-border);padding:12px;display:grid;align-content:start;grid-gap:10px;background:var(--sidebar)}.brand-card,.panel,.profile-card{padding:16px}.brand-card{border-radius:16px}.nav-links{display:grid;grid-gap:8px;gap:8px}.nav-link{padding:9px 12px;border-radius:12px;color:var(--muted);font-weight:500;font-size:.95rem}.nav-link.active,.nav-link:hover{background:#22303d;color:var(--brand-strong)}.profile-card{display:flex;gap:12px;align-items:center}.profile-meta{min-width:0}.conversation-copy strong,.profile-meta strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;color:white;font-weight:700}.avatar.small{width:42px;height:42px;border-radius:50%;flex-shrink:0}.main-panel{padding:0;min-width:0;min-height:100vh}.chat-layout{display:grid;grid-template-columns:340px 1fr;min-height:100vh}.left-rail{display:grid;grid-template-rows:auto 1fr;grid-gap:12px;gap:12px;padding:16px;border-right:1px solid var(--sidebar-border);background:#111b26}.conversation-list{min-height:0}.panel-head{display:grid;grid-gap:4px;gap:4px;margin-bottom:14px}.conversation-items,.message-list,.user-results{display:grid;grid-gap:6px;gap:6px}.conversation-items{max-height:calc(100vh - 210px);overflow-y:auto;overflow-x:hidden}.conversation-row,.user-row{width:100%;border:none;background:transparent;border-radius:14px;padding:8px 10px;text-align:left;display:flex;gap:10px;align-items:center;cursor:pointer}.user-row.split{display:grid;grid-template-columns:1fr auto;grid-gap:8px;gap:8px;align-items:center}.user-row-main{border:none;background:transparent;color:inherit;display:flex;gap:12px;align-items:center;text-align:left;padding:0;cursor:pointer}.mini-action{border:none;background:rgba(100,181,246,.12);color:var(--brand-strong);border-radius:10px;padding:8px 10px;cursor:pointer}.mini-action.danger{background:rgba(255,138,138,.12);color:#ff8a8a}.blocked-list,.selected-users{display:flex;flex-wrap:wrap;gap:8px}.selected-chip{border:none;background:#22303d;color:var(--text);border-radius:999px;padding:8px 12px;cursor:pointer}.group-builder{display:grid;grid-gap:10px;gap:10px}.conversation-row:hover,.user-row:hover{background:#22303d}.conversation-row.active{background:var(--brand);color:white}.conversation-row.active small{color:rgba(255,255,255,.82)}.conversation-copy{display:grid;grid-gap:2px;gap:2px;min-width:0;width:100%}.conversation-headline{display:flex;justify-content:space-between;gap:12px;align-items:center}.conversation-headline small{flex-shrink:0}.conversation-row span,.user-row span{display:grid}.chat-header p,.conversation-row small,.info-card small,.message small,.user-row small{color:var(--muted)}.chat-window{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:100vh;border:none;border-radius:0;box-shadow:none;background:linear-gradient(0deg,transparent 24px,var(--chat-pattern) 25px,transparent 26px),linear-gradient(90deg,transparent 24px,var(--chat-pattern) 25px,transparent 26px),var(--chat-surface)}.chat-window.empty-state,.empty-state{place-items:center;text-align:center}.chat-header{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:0;padding:12px 16px;background:rgba(23,33,43,.92);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.pill{padding:7px 12px;border-radius:999px;background:#22303d;color:var(--brand-strong);font-size:.84rem;text-transform:lowercase}.message-list{align-content:start;padding:12px 16px;overflow-y:auto;overflow-x:hidden;min-height:0}.message{max-width:min(64%,540px);padding:8px 10px 7px;border-radius:12px;display:grid;grid-gap:4px;gap:4px;box-shadow:0 8px 20px rgba(0,0,0,.18);position:relative}.message small{font-size:.78rem}.message p{margin:0;line-height:1.42}.message-out{margin-left:auto;background:var(--message-out);border-bottom-right-radius:6px}.message-in{background:var(--message-in);border-bottom-left-radius:6px}.message-delete{position:absolute;top:8px;right:8px;opacity:0;border:none;background:rgba(0,0,0,.24);color:rgba(255,255,255,.92);border-radius:10px;padding:6px 8px;cursor:pointer;font-size:.76rem;transition:opacity .14s ease}.message-in .message-delete{color:var(--muted);background:rgba(255,255,255,.06)}.message:hover .message-delete{opacity:1}.message-composer{display:grid;grid-template-columns:auto 1fr auto;grid-gap:12px;gap:12px;padding:12px 16px 14px;background:rgba(23,33,43,.94);border-top:1px solid var(--border);align-items:center}.message-composer .input{border-radius:18px;padding:11px 16px;min-height:46px}.message-composer .button{border-radius:16px;min-width:78px;padding:11px 16px}.emoji-picker-toggle{width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:#22303d;color:var(--brand-strong);cursor:pointer}.composer-actions{display:flex;gap:10px;align-items:center}.composer-send{box-shadow:0 10px 22px rgba(43,82,120,.3)}.composer-picker{padding:10px 16px 0}.composer-error{margin:0;padding:0 16px 12px}.emoji-picker{display:flex;flex-wrap:wrap;gap:8px;padding:12px 20px 0}.emoji-item{border:none;background:#22303d;border-radius:12px;padding:8px 10px;cursor:pointer;font-size:1.1rem}.hidden-file-input{display:none}.file-picker{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#22303d;border:1px solid var(--border);color:var(--brand-strong);cursor:pointer;font-size:1.3rem;font-weight:600}.file-card{display:grid;grid-template-columns:auto 1fr auto;grid-gap:12px;gap:12px;align-items:center;min-width:280px}.file-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#22303d;color:var(--brand-strong);font-size:.68rem;font-weight:700;letter-spacing:.08em}.file-copy{display:grid;grid-gap:2px;gap:2px}.file-action{border:none;background:rgba(100,181,246,.12);color:var(--brand-strong);border-radius:12px;padding:10px 12px;cursor:pointer}.file-action:disabled{opacity:.6;cursor:not-allowed}.file-card-image{grid-template-columns:minmax(0,180px) 1fr auto;align-items:stretch}.image-preview{border:none;background:transparent;padding:0;border-radius:14px;overflow:hidden;cursor:pointer;min-height:120px}.image-preview img{display:block;width:100%;max-width:220px;max-height:220px;object-fit:cover}.settings-card{width:min(100%,760px);margin:18px}.toggle-row{display:flex;gap:10px;align-items:center}.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.info-card{background:#111b26;border:1px solid var(--border);border-radius:14px;padding:14px;display:grid;grid-gap:6px;gap:6px}@media (max-width:1080px){.app-shell,.chat-layout{grid-template-columns:1fr}.left-rail,.sidebar{border-right:none;border-bottom:1px solid var(--sidebar-border)}.chat-window{min-height:70vh}}@media (max-width:720px){.auth-layout,.main-panel,.sidebar{padding:14px}.left-rail{padding:12px}.info-grid,.message-composer{grid-template-columns:1fr}.settings-card{margin:16px 0}.composer-actions{order:2}.message-composer .input{order:1}.message-composer .button{order:3}}.sidebar{grid-template-rows:auto auto minmax(0,1fr) auto;gap:10px;min-height:100vh}.brand-card{padding:10px 12px}.brand-card h2{font-size:1.12rem;letter-spacing:.02em}.profile-card-mini{padding:8px 10px;border-radius:14px;gap:8px}.avatar.avatar-tiny{width:36px;height:36px;font-size:.92rem}.icon-button{width:34px;height:34px;margin-left:auto;border:1px solid var(--border);border-radius:999px;background:rgba(255,255,255,.03);color:var(--muted);display:grid;place-items:center;cursor:pointer;transition:transform .18s ease,color .18s ease,background .18s ease}.icon-button:hover{transform:translateY(-1px) rotate(4deg);color:var(--brand-strong);background:rgba(100,181,246,.12)}.chat-stage,.main-panel{min-height:100vh}.sidebar-section{display:grid}.sidebar-stack{grid-template-rows:auto minmax(0,1fr);gap:10px}.sidebar-search{display:grid;grid-gap:8px;gap:8px}.sidebar-search .input{padding:10px 12px;border-radius:10px}.sidebar-search-results{display:grid;grid-gap:4px;gap:4px;max-height:180px;overflow-y:auto;overflow-x:hidden}.sidebar-user-row{border:none;width:100%;background:transparent;color:inherit;display:flex;gap:10px;align-items:center;text-align:left;padding:7px 8px;border-radius:12px;cursor:pointer}.sidebar-user-row:hover{background:#22303d}.avatar.avatar-compact{width:30px;height:30px;font-size:.8rem}.compact-muted{font-size:.84rem;margin:0;padding:2px 4px}.sidebar-placeholder{align-content:start;gap:10px;padding:8px 2px 0}.mini-link{color:var(--brand-strong);font-size:.92rem}.sidebar-conversations .panel-head{margin-bottom:8px}.sidebar-conversations .conversation-items{max-height:none;padding-right:2px}.conversation-row:hover,.user-row:hover{transform:translateX(2px)}.conversation-row.active{box-shadow:inset 0 0 0 1px rgba(255,255,255,.04),0 12px 28px rgba(43,82,120,.25)}.chat-window,.settings-card{animation:soft-enter .28s ease}.message{animation:message-pop .22s ease}.settings-divider{height:1px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(100,181,246,.35),transparent)}.sidebar .brand-card,.sidebar .conversation-row,.sidebar .nav-link,.sidebar .profile-card-mini{animation:rise-in .26s ease both}@keyframes soft-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes message-pop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:1080px){.app-shell{grid-template-columns:1fr}.sidebar{grid-template-rows:auto auto auto auto;min-height:auto}.sidebar-section{max-height:320px}}body,html{height:100%;overflow:hidden}body{min-height:100vh;min-height:100dvh}.app-shell{height:100vh;height:100dvh;overflow:hidden}.chat-stage,.main-panel,.sidebar{min-height:0;height:100%;overflow:hidden}.chat-window{min-height:0;height:100%}.sidebar-section{min-height:0;overflow-y:auto;overflow-x:hidden}.conversation-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}.conversation-main{color:inherit;display:flex;gap:10px;align-items:center;min-width:0;text-align:left;padding:0}.conversation-delete,.conversation-main{border:none;background:transparent;cursor:pointer}.conversation-delete{color:var(--muted);width:28px;height:28px;border-radius:999px}.conversation-delete:hover{background:rgba(255,138,138,.12);color:#ff9a9a}.chat-header-actions{display:flex;gap:10px;align-items:center}.header-icon{border:1px solid var(--border);background:rgba(255,255,255,.03);color:var(--muted);border-radius:999px;padding:8px 12px;cursor:pointer}.header-icon.danger{color:#ff9a9a}.modal-backdrop{position:fixed;inset:0;background:rgba(4,10,17,.6);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;padding:20px;z-index:50}.modal-card{width:min(100%,420px);background:rgba(23,33,43,.98);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);padding:18px}.modal-head{margin-bottom:18px}.modal-actions{display:flex;justify-content:flex-end;gap:10px}.button-danger{background:#7a2f35;color:#fff}@media (max-width:1080px){.sidebar{height:auto}}.avatar{overflow:hidden;position:relative}.avatar.tiny{width:36px;height:36px;font-size:.92rem}.avatar.compact{width:30px;height:30px;font-size:.8rem}.avatar-image{width:100%;height:100%;display:block;object-fit:cover}.chat-header{gap:10px;padding:8px 14px}.chat-header-user{min-width:0;display:flex;gap:10px;align-items:center}.chat-header-avatar{box-shadow:0 6px 16px rgba(0,0,0,.22)}.chat-header-copy{min-width:0;display:grid;grid-gap:2px;gap:2px}.chat-header-copy h3{margin:0;font-size:1rem;line-height:1.15}.chat-header-copy p{margin:0;font-size:.86rem}.chat-header-actions{gap:8px}.pill{padding:6px 10px;font-size:.76rem}.header-icon{width:34px;height:34px;padding:0;display:grid;place-items:center}.avatar-settings-card{display:grid;grid-template-columns:auto 1fr auto;grid-gap:14px;gap:14px;align-items:center;background:#111b26;border:1px solid var(--border);border-radius:16px;padding:14px}.settings-avatar{width:64px;height:64px;font-size:1.2rem}.avatar-settings-copy{display:grid;grid-gap:4px;gap:4px}.avatar-settings-copy p,.avatar-settings-copy strong{margin:0}.avatar-upload-button{justify-self:end}@media (max-width:720px){.avatar-settings-card{grid-template-columns:1fr;justify-items:start}.pill{display:none}}body,html{height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto}.app-shell{height:auto;min-height:100vh;overflow:visible}.chat-stage,.chat-window,.main-panel,.sidebar{height:auto;min-height:0;overflow:visible}