:root{--ink:#202638;--muted:#8a93a7;--purple:#6358df;--purple-soft:#efeefe;--line:#eaeaf1;--bg:#f7f8fb;--white:#fff;--danger:#dc4b60;--shadow:0 18px 70px #161a3b17;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);font-size:14px}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.icons{position:absolute;width:0;height:0;overflow:hidden}.hidden{display:none!important}input,textarea{outline:0}input:focus,textarea:focus{border-color:#978ff0!important;box-shadow:0 0 0 4px #8e83ed1a}.brand{font-family:system-ui,sans-serif;font-size:28px;font-weight:800;letter-spacing:-1.8px;display:flex;align-items:center;gap:10px}.brand-mark{display:inline-grid;place-items:center;background:var(--purple);color:white;width:40px;height:40px;border-radius:13px;font-size:28px;font-family:system-ui;font-weight:800;letter-spacing:-3px;padding-right:4px}.brand-dot{color:var(--purple)}.brand.small{font-size:25px;gap:9px}.brand.small .brand-mark{width:36px;height:36px;font-size:26px}
.primary-btn{border:0;background:var(--purple);color:white;border-radius:12px;min-height:48px;padding:0 20px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 8px 20px #6358df28;transition:transform .15s,background .15s}.primary-btn:hover{background:#554bcf;transform:translateY(-1px)}.primary-btn svg{width:18px;height:18px}.wide{width:100%;justify-content:space-between}.eyebrow{color:var(--purple);font-size:11px;letter-spacing:2px;font-weight:800}.subtle{color:var(--muted);line-height:1.6}.form-error{color:var(--danger);font-size:12px;min-height:16px;margin:0 0 6px}
.auth-screen{min-height:100vh;display:grid;grid-template-columns:51% 49%;background:white}.auth-decoration{position:relative;overflow:hidden;background:#121a32;color:white;padding:56px max(45px,9%);min-height:600px;display:flex;flex-direction:column}.auth-decoration:before{content:'';width:550px;height:550px;background:#664ed7;filter:blur(125px);opacity:.22;position:absolute;top:14%;left:38%;pointer-events:none}.auth-decoration:after{content:'';width:580px;height:580px;border:1px solid #ffffff12;border-radius:50%;position:absolute;right:-260px;bottom:-220px;box-shadow:0 0 0 90px #ffffff04,0 0 0 180px #ffffff04}.auth-decoration .brand{position:relative;z-index:1}.auth-decoration .brand-dot{color:#a7a0fb}.auth-pitch{position:relative;z-index:1;margin:auto 0;max-width:540px}.pill-label{font-size:10px;font-weight:800;letter-spacing:2px;color:#d0ccff;display:flex;align-items:center;gap:10px}.dot-glow{width:8px;height:8px;background:#9f91ff;border-radius:50%;box-shadow:0 0 0 5px #a99aff1d}.auth-pitch h1{font-family:system-ui,sans-serif;font-size:clamp(40px,4vw,67px);line-height:1.1;letter-spacing:-2.5px;margin:26px 0}.auth-pitch h1 em{font-style:normal;color:#aba5ff}.auth-pitch>p{font-size:15px;line-height:1.8;max-width:410px;color:#a6afc8}.auth-bubbles{height:145px;position:relative;z-index:1}.float-bubble{max-width:300px;padding:17px 20px;font-weight:600;display:inline-block;box-shadow:0 12px 40px #0002}.bubble-left{background:#303c5c;border-radius:14px 14px 14px 3px;transform:rotate(-5deg);position:absolute;left:5%;top:2%}.bubble-right{background:#7566ed;border-radius:14px 14px 3px 14px;transform:rotate(5deg);position:absolute;top:60px;left:25%}.bubble-right span{font-size:11px;color:#cad0ff;margin-left:6px}.auth-foot{margin-top:auto;color:#8e9bb8;font-size:12px;position:relative;z-index:1}.auth-foot span{color:#aaa4ff;margin-left:6px}.auth-panel{display:grid;place-items:center;padding:50px}.auth-card{width:min(100%,405px)}.auth-card h2{font-size:34px;letter-spacing:-1.3px;font-family:system-ui,sans-serif;margin:12px 0 4px}.auth-card>.subtle{margin:0 0 34px}.auth-card form label,.settings-label{display:block;font-size:12px;font-weight:700;color:#515971;margin:17px 0 8px}.auth-card input,.settings-label input{display:block;margin-top:8px;width:100%;height:48px;border:1px solid #e0e3eb;padding:0 15px;border-radius:10px;background:white;font-size:14px}.auth-card .field-prefix{position:relative}.auth-card .field-prefix span{position:absolute;left:16px;top:24px;color:var(--purple);font-weight:800;font-size:15px}.auth-card .field-prefix input{padding-left:32px}.auth-card .primary-btn{margin-top:8px}.auth-toggle{text-align:center;color:var(--muted);margin:25px 0}.auth-toggle button{border:0;background:transparent;color:var(--purple);font-weight:800}.auth-note{display:flex;align-items:center;gap:8px;color:#a3aabd;border-top:1px solid var(--line);padding-top:20px;font-size:11px;margin-top:50px}.auth-note svg{width:15px;height:15px}.mobile-brand{display:none}
.app-shell{height:100vh;height:100dvh;display:flex;max-width:1880px;margin:0 auto;overflow:hidden;background:white;box-shadow:0 0 100px #11203d06}.sidebar{width:362px;min-width:320px;border-right:1px solid var(--line);display:flex;flex-direction:column;background:white;z-index:3}.sidebar-top{padding:27px 24px 22px;display:flex;align-items:center;justify-content:space-between}.top-actions{display:flex;gap:8px}.icon-button{display:grid;place-items:center;border:0;background:transparent;color:#808aa0;border-radius:11px;width:38px;height:38px;flex:none}.icon-button:hover{background:#f2f1fc;color:var(--purple)}.sidebar-title{display:flex;align-items:center;gap:11px;padding:0 26px;margin-bottom:20px}.sidebar-title h2{font-family:system-ui,sans-serif;font-size:25px;margin:0;letter-spacing:-.6px}.title-count{font-size:12px;font-weight:800;border-radius:6px;background:#f2f1ff;color:var(--purple);padding:3px 8px}.sidebar-search{height:45px;margin:0 22px 20px;background:#f5f6fa;border-radius:11px;display:flex;gap:9px;align-items:center;padding:0 14px;color:#9da6b8}.sidebar-search svg{width:18px;height:18px}.sidebar-search input{border:0;background:transparent;min-width:0;width:100%;box-shadow:none!important;color:var(--ink)}.sidebar-search input::placeholder{color:#a0a6b5}.chat-list{overflow:auto;flex:1;scrollbar-width:thin}.chat-list-empty{padding:35px 28px;color:#9aa2b4;text-align:center;line-height:1.7}.chat-item{border:0;background:transparent;text-align:left;width:100%;display:flex;gap:12px;align-items:center;padding:16px 23px;min-height:87px;border-left:3px solid transparent;transition:background .15s}.chat-item:hover{background:#f8f8fd}.chat-item.active{background:#f4f2fe;border-left-color:var(--purple)}.avatar,.chat-head-avatar,.my-avatar{display:grid;place-items:center;flex:none;background:#d7d7fc;color:#4c42aa;font-family:system-ui;font-weight:700;border-radius:17px}.avatar{width:49px;height:49px;font-size:20px}.avatar[data-variant="1"]{background:#fce6df;color:#b76b56}.avatar[data-variant="2"]{background:#d9f2e9;color:#498a70}.avatar[data-variant="3"]{background:#f5e5f2;color:#a86796}.chat-item-content{flex:1;min-width:0}.chat-item-top,.chat-item-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px}.chat-item-top strong{font-size:14px;max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-item-time{font-size:10px;color:#a0a8b7;white-space:nowrap}.chat-item-bottom{margin-top:6px}.chat-item-preview{font-size:12px;color:#9aa2b4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.unread-pill{background:var(--purple);color:white;font-size:10px;min-width:19px;height:19px;padding:0 5px;border-radius:11px;display:grid;place-items:center;font-weight:800}.sidebar-bottom{display:flex;align-items:center;gap:11px;padding:16px 22px;border-top:1px solid var(--line);background:#fcfcff}.my-avatar{width:40px;height:40px;border-radius:13px;font-size:17px;background:#e9e5ff}.my-meta{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.my-meta strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.my-meta span{font-size:11px;color:#9aa2b4}
.main-content{flex:1;min-width:0;position:relative;background:#fcfcfe}.empty-screen{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:35px}.welcome-icon{width:115px;height:115px;border-radius:38px;background:#f0eeff;color:var(--purple);display:grid;place-items:center;position:relative}.welcome-icon svg{width:60px;height:60px;stroke-width:1.2}.welcome-icon span{position:absolute;right:-7px;top:-14px;color:#a79afe;font-size:32px}.empty-screen h2{font-family:system-ui;font-size:29px;letter-spacing:-.8px;margin:30px 0 5px}.empty-screen>p{max-width:365px;color:#969eb0;line-height:1.75;margin:5px 0 30px}.welcome-footer{display:flex;gap:8px;align-items:center;color:#a7aebd;font-size:11px;margin-top:65px}.welcome-footer svg{width:14px;height:14px}.conversation{height:100%;display:flex;flex-direction:column}.chat-header{height:79px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:13px;padding:0 27px;flex:none}.chat-head-avatar{width:44px;height:44px;border-radius:14px;font-size:19px}.chat-head-info{flex:1;min-width:0}.chat-head-info strong{display:block;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.peer-status{font-size:11px;color:#9aa2b4;margin-top:4px}.peer-status.online{color:#38a37a}.chat-body{flex:1;overflow:auto;min-height:0;padding:24px clamp(18px,5%,75px);scrollbar-width:thin;background:radial-gradient(circle at 16% 12%,#e5e4fb22 0,transparent 33%),radial-gradient(circle at 87% 82%,#eceafd22 0,transparent 30%)}.messages{display:flex;flex-direction:column;gap:14px;margin-top:auto}.date-pill{align-self:center;font-size:10px;color:#a0a6b6;background:#f0f1f7;padding:6px 12px;border-radius:30px;margin:11px 0}.message-row{display:flex;gap:7px;max-width:100%}.message-row.outgoing{justify-content:flex-end}.message-bubble{background:white;border:1px solid #f0f0f5;border-radius:5px 15px 15px 15px;padding:10px 13px;box-shadow:0 3px 13px #11203d08;max-width:min(72%,470px);min-width:75px;overflow-wrap:anywhere}.outgoing .message-bubble{background:var(--purple);border-color:var(--purple);border-radius:15px 5px 15px 15px;color:#fff}.message-text{white-space:pre-wrap;font-size:13px;line-height:1.65}.message-meta{margin-top:5px;font-size:10px;display:flex;gap:6px;align-items:center;justify-content:flex-end;color:#a0a7b6}.outgoing .message-meta{color:#d1ccff}.message-meta svg{width:15px;height:15px;stroke-width:1.8}.message-meta .seen{color:#a9ffe1}.message-row .message-menu{width:26px;height:26px;border:0;background:transparent;color:#abb1c0;border-radius:7px;opacity:0;align-self:center;transition:opacity .1s}.message-row:hover .message-menu,.message-menu:focus{opacity:1}.message-menu:hover{background:#edeaf9;color:var(--purple)}.outgoing .message-menu{order:-1}.deleted-message{font-style:italic;opacity:.7}.attachment-img{display:block;max-width:100%;max-height:320px;width:auto;border-radius:9px;cursor:zoom-in}.attachment-video{max-width:100%;width:330px;max-height:330px;border-radius:9px;background:#171b2d}.attachment-audio{width:min(280px,100%);height:38px}.file-card{display:flex;align-items:center;gap:11px;padding:4px;min-width:200px;max-width:330px;text-decoration:none;color:inherit}.file-card .file-icon{background:#f1f0ff;color:#6658db;display:grid;place-items:center;width:43px;height:43px;border-radius:10px;flex:none}.file-card svg{height:22px;width:22px}.file-card .file-name{font-size:12px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:185px}.file-card .file-size{font-size:10px;opacity:.72;margin-top:3px}.file-card>.dl-icon{margin-left:auto;width:18px;height:18px}.outgoing .file-icon{background:#fff3;color:white}.older-wrap{text-align:center;margin-bottom:13px}.text-btn{border:0;background:#eeeefb;color:var(--purple);border-radius:9px;padding:8px 16px;font-size:12px;font-weight:700}.typing-indicator{display:flex;align-items:center;gap:4px;margin:14px 0;color:#9ba4b4}.typing-indicator>span{background:#b8b4e6;height:5px;width:5px;border-radius:50%;animation:typing 1s infinite alternate}.typing-indicator>span:nth-child(2){animation-delay:.2s}.typing-indicator>span:nth-child(3){animation-delay:.4s}.typing-indicator small{margin-left:7px}@keyframes typing{to{opacity:.3;transform:translateY(-4px)}}
.composer-wrap{background:white;border-top:1px solid var(--line);padding:16px clamp(18px,5%,75px) 12px}.composer{display:flex;align-items:center;gap:9px;background:#f5f6fa;padding:7px;border-radius:13px}.compose-tool{display:grid;place-items:center;border:0;background:transparent;color:#9098ae;width:38px;height:38px;border-radius:9px;flex:none}.compose-tool:hover{color:var(--purple);background:#e9e7fc}.compose-tool.recording{color:var(--danger);background:#fff1f3;animation:pulse 1s infinite alternate}@keyframes pulse{to{box-shadow:0 0 0 5px #dc4b601c}}.composer textarea{border:0;background:transparent;resize:none;min-height:35px;max-height:140px;line-height:21px;padding:7px 3px;flex:1;min-width:0;box-shadow:none!important;scrollbar-width:thin}.send-btn{width:40px;height:40px;border:0;border-radius:10px;background:var(--purple);color:white;display:grid;place-items:center;flex:none}.send-btn:hover{background:#554acc}.send-btn svg{width:19px;height:19px}.composer-hint{display:flex;justify-content:space-between;gap:7px;font-size:10px;color:#adb3c0;margin-top:10px}.upload-status{padding:9px 22px;background:#edeafd;color:#6256d6;font-weight:700;font-size:12px}
.modal-overlay{position:fixed;inset:0;background:#0d15366e;z-index:20;display:flex;align-items:center;justify-content:center;padding:17px;backdrop-filter:blur(3px)}.dialog{width:min(100%,470px);background:white;padding:29px;border-radius:19px;box-shadow:var(--shadow);max-height:85vh;overflow:auto}.dialog.compact{width:min(100%,405px)}.dialog-head{display:flex;align-items:start;justify-content:space-between;gap:8px}.dialog-head h3{font-family:system-ui;font-size:23px;margin:5px 0 11px;letter-spacing:-.5px}.dialog>.subtle{margin-top:2px}.search-field{display:flex;align-items:center;border:1px solid #dedfe9;border-radius:12px;margin-top:22px;padding:0 14px;height:50px;color:var(--purple);font-weight:800}.search-field input{border:0;width:100%;padding:8px;font-weight:500;box-shadow:none!important}.search-results{max-height:330px;overflow:auto;margin-top:13px}.search-help{font-size:12px;color:#a7adbc;padding:24px 5px;text-align:center}.search-person{width:100%;border:0;background:transparent;display:flex;text-align:left;align-items:center;gap:11px;padding:12px 3px;border-bottom:1px solid #f1f1f6;border-radius:8px}.search-person:hover{background:#fafaff}.person-name{display:flex;flex-direction:column;gap:4px;flex:1}.person-name strong{font-size:13px}.person-name span{font-size:11px;color:#a0a7b8}.search-person>span:last-child{color:var(--purple);font-size:12px;font-weight:800}.menu-line{display:block;width:100%;border:0;border-radius:9px;background:white;text-align:left;padding:13px;font-weight:600;color:#4d566d}.menu-line:hover{background:#f5f5ff}.menu-line.danger{color:var(--danger)}.settings-label{margin:20px 0}.small-note{font-size:11px;line-height:1.6;color:#a2a9ba}.image-dialog{max-width:min(90vw,1100px);max-height:90vh;position:relative}.image-dialog img{display:block;max-height:85vh;max-width:90vw;object-fit:contain;border-radius:12px}.image-close{position:absolute;right:10px;top:10px;background:#101528b8;color:white}.drop-overlay{position:fixed;inset:0;z-index:10;background:#6258dfe8;display:grid;place-items:center;text-align:center;color:white;pointer-events:none}.drop-overlay svg{width:55px;height:55px}.drop-overlay h2{font-family:system-ui;font-size:34px}.toast{position:fixed;bottom:28px;right:28px;background:#202944;color:white;padding:14px 19px;border-radius:12px;box-shadow:var(--shadow);z-index:30;opacity:0;transform:translateY(20px);transition:opacity .2s,transform .2s;max-width:360px;font-size:13px;pointer-events:none}.toast.show{opacity:1;transform:none}.mobile-back{display:none}
@media(max-width:920px){.auth-decoration{padding:38px}.sidebar{width:325px;min-width:285px}.chat-header{padding:0 18px}.chat-body{padding:20px}.composer-wrap{padding:13px 18px}.message-bubble{max-width:83%}}
@media(max-width:700px){.auth-screen{display:block}.auth-decoration{display:none}.mobile-brand{display:flex;align-items:center;gap:8px;font:800 26px Outfit;margin:0 0 50px}.auth-panel{display:block;padding:35px 25px;min-height:100vh}.auth-card{margin:auto;max-width:420px}.app-shell{position:relative}.sidebar{width:100%;min-width:0}.app-shell.in-chat .sidebar{display:none}.main-content{display:none}.app-shell.in-chat .main-content{display:block}.chat-header{height:69px;padding:0 10px}.mobile-back{display:grid}.chat-head-avatar{width:39px;height:39px}.composer-wrap{padding:10px 10px 8px}.composer-hint{padding:0 4px}.composer-hint>span:last-child{display:none}.chat-body{padding:14px}.message-bubble{max-width:89%}.message-menu{opacity:.85!important}.sidebar-top{padding:22px}.sidebar-title{padding:0 24px}.sidebar-search{margin:0 21px 15px}.chat-item{padding:15px 20px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
