:root{font-family:"Segoe UI",Tahoma,Arial,sans-serif;font-synthesis:none;color:#253b50;background:#eef6fb;--blue:#00aff0;--deep:#1388cb;--shadow:0 15px 60px #15466522}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{height:100%;margin:0}
body{min-width:320px;font-size:15px}
button,input{font:inherit}
button{cursor:pointer;border:0;color:inherit;background:transparent}
button:disabled{opacity:.4;cursor:not-allowed}
button:focus-visible,input:focus-visible{outline:2px solid #118bcf;outline-offset:2px}
input{user-select:text}
.logo{width:37px;height:37px;border-radius:13px;background:#00aff0;display:inline-grid;place-items:center;color:#fff;font-size:24px;line-height:1;font-weight:800;flex:none;box-shadow:0 3px 6px #008bd32d;transform:rotate(-8deg)}
.tiny-logo{width:19px;height:19px;border-radius:7px;font-size:12px;box-shadow:none}
.big-logo{width:90px;height:90px;border-radius:32px;font-size:60px;box-shadow:0 15px 35px #008bc44d}
.status-dot{width:10px;height:10px;border-radius:50%;background:#7ac143;display:inline-block;flex:none}
.status-dot.offline{background:#a9b5bc}
.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:30px;background:radial-gradient(circle at 20% 85%,#d7f2ff 0,#d7f2ff00 30%),linear-gradient(135deg,#f5fbff,#dceffc 58%,#f6fafd);position:relative}
.auth-screen:before,.auth-screen:after{content:"";position:absolute;border:60px solid #ffffff4f;border-radius:50%;width:320px;height:320px;pointer-events:none}
.auth-screen:before{top:-200px;left:-110px}.auth-screen:after{right:-160px;bottom:-260px}
.auth-window{width:min(850px,100%);min-height:515px;display:grid;grid-template-columns:46% 54%;background:#fff;border:1px solid #d7e8f3;border-radius:16px;overflow:hidden;box-shadow:0 35px 90px #205b8b2b;z-index:1}
.auth-decoration{padding:65px 40px 30px;color:#fff;background:linear-gradient(147deg,#14b9f1,#079ddd 67%,#1880c6);position:relative;overflow:hidden}
.auth-decoration:before{content:"";position:absolute;width:320px;height:320px;border-radius:50%;background:#ffffff13;right:-130px;top:-100px}
.auth-decoration h1{font-size:54px;font-weight:400;letter-spacing:-3px;margin:23px 0 4px}.auth-decoration .trade{font-size:13px;vertical-align:top;letter-spacing:0;margin-left:3px}
.auth-decoration p{font-size:17px;line-height:1.6;color:#e8faff;max-width:250px}
.bubble-art{display:flex;gap:10px;transform:rotate(-9deg);position:absolute;bottom:56px;left:45px}.bubble-art span{background:#ffffff24;color:#fff;border:1px solid #ffffff40;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;font-size:31px}.bubble-art span:nth-child(2){transform:translateY(20px)}.bubble-art span:nth-child(3){transform:translateY(-9px)}
.auth-panel{padding:64px 60px 44px;display:flex;flex-direction:column}.welcome-icon{width:41px;height:41px;border-radius:50%;background:#e4f5fd;display:grid;place-items:center;color:#009fe7;font-size:25px;margin-bottom:10px}
.auth-panel h2{font-size:27px;font-weight:500;margin:2px 0 7px;letter-spacing:-.5px}.auth-panel>p{font-size:14px;color:#6d7f8c;margin:0 0 25px;line-height:1.5}
.auth-panel label,.dialog label{font-size:13px;color:#657989;font-weight:600;display:block;margin:13px 0 7px}
.auth-panel input,.dialog input{width:100%;height:44px;border-radius:6px;border:1px solid #cadce8;background:#f9fcff;padding:0 13px;color:#294155;outline:none}
.auth-panel input:focus,.dialog input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #00aff01c}
.primary-button{background:#00a9e9;color:#fff;border-radius:6px;padding:11px 19px;font-weight:600;transition:background .15s}.primary-button:hover{background:#008dcc}
.auth-submit{width:100%;margin-top:25px;display:flex;align-items:center;justify-content:space-between;font-size:15px;height:46px}.auth-submit span{font-size:24px;font-weight:300}
.auth-note{margin-top:auto;padding-top:26px;font-size:12px;color:#90a0aa;display:flex;align-items:center;gap:8px}.auth-note .status-dot{width:7px;height:7px}
.auth-footer{position:absolute;bottom:12px;color:#94aab8;font-size:11px;text-align:center;padding:0 20px}
.form-error{color:#cc3656;font-size:13px;line-height:1.4;margin:10px 0 0}
.app{height:100dvh;min-height:420px;display:grid;grid-template-rows:33px 32px minmax(0,1fr);background:#fff;box-shadow:0 0 0 1px #c7dce8}
.window-bar{display:flex;align-items:center;padding-left:11px;color:#42494e;background:#fff;font-size:13px;justify-content:space-between;user-select:none}
.window-identity{display:flex;align-items:center;gap:7px}.muted{color:#90a1ad}
.window-actions{display:flex;height:100%}.window-actions button{width:48px;color:#65757f}.window-actions button:hover{background:#e8f4fc}
.menu-bar{height:32px;display:flex;align-items:stretch;gap:2px;padding-left:5px;border-bottom:1px solid #dbe9f1;font-size:13px;background:#fff}
.menu-bar button{padding:0 11px}.menu-bar button:hover{background:#ddf0fc}.menu-bar button span{color:#8ba2b0}
.layout{display:grid;grid-template-columns:345px minmax(0,1fr);min-height:0}
.sidebar{display:flex;flex-direction:column;min-width:0;min-height:0;background:linear-gradient(175deg,#d1edfc 0%,#ebf8ff 44%,#f4fbff 100%);border-right:1px solid #cfdfeb}
.self{display:flex;align-items:center;gap:12px;padding:19px 20px 15px;position:relative}.avatar{display:grid;place-items:center;flex:none;width:48px;height:48px;color:#fff;font-size:17px;font-weight:700;border-radius:12px;background:#208dd1;user-select:none}.avatar.mine{border-radius:15px;background:linear-gradient(145deg,#427ad9,#36b5ee);font-size:20px}
.self-dot{position:absolute;left:55px;top:58px;border:3px solid #e3f5ff;width:16px;height:16px}.self-text{display:flex;flex-direction:column;gap:4px;overflow:hidden}.self-text strong{font-size:19px;font-weight:500;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.self-text small{color:#657988;font-size:13px}.little-arrow{font-size:10px}.self-settings{margin-left:auto;font-size:24px;color:#5583a3}.self-settings:hover{color:#107fc6}
.search-box{margin:0 19px 9px;padding:5px 2px;display:flex;gap:10px;align-items:center;color:#527f99;border-bottom:1px solid #adcfe4}.search-box input{border:0;background:transparent;outline:0;min-width:0;width:100%;height:28px;font-size:15px;color:#35586b}.search-box input::placeholder{color:#7697a9}
.shortcut-row{display:flex;justify-content:space-around;align-items:center;padding:5px 20px 14px}.shortcut-row button{color:#2792cb;font-size:27px;width:41px;height:37px;border-radius:7px;display:grid;place-items:center}.shortcut-row button:hover{background:#b9e5fb}
.sidebar-heading{display:flex;justify-content:space-between;align-items:center;padding:10px 20px;border-top:1px solid #d5ecf8;color:#4986ac;letter-spacing:.6px;font-weight:600;font-size:12px}.online-counter{color:#7298ac;font-size:11px;font-weight:400;letter-spacing:0}
.contact-list{flex:1;overflow-y:auto}.contact-item{position:relative;display:flex;align-items:center;gap:14px;width:100%;height:70px;padding:8px 17px;text-align:left;border-left:3px solid transparent}.contact-item:hover{background:#d2ecfa}.contact-item.active{background:#c1e5fa;border-left-color:#159bd5}.contact-item .avatar{width:45px;height:45px;font-size:15px}.contact-item .group-avatar{background:linear-gradient(145deg,#00aeef,#3886ce);border-radius:50%;font-size:22px}.contact-item .contact-info{min-width:0;flex:1;display:flex;flex-direction:column;gap:5px}.contact-item strong{font-size:15px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#2c4354}.contact-item small{font-size:12px;color:#6b8b9e;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-item .status-dot{position:absolute;left:49px;top:45px;border:2px solid #e3f5ff;width:13px;height:13px}.contact-item .unread{margin-left:auto;background:#159bd5;color:white;border-radius:20px;padding:3px 7px;font-size:11px}.contact-item .pin{font-size:13px;color:#e9b632}
.sidebar-foot{height:60px;display:flex;gap:10px;padding:12px 20px;border-top:1px solid #d7eaf5;align-items:center;color:#4c829e}.footer-logo{width:31px;height:31px;border-radius:11px;font-size:19px}.sidebar-foot div{display:flex;flex-direction:column;gap:3px}.sidebar-foot b{font-size:13px;font-weight:600}.sidebar-foot small{font-size:11px;color:#87a6b7}.foot-hearts{margin-left:auto;color:#83bedf}
.conversation{display:flex;flex-direction:column;min-width:0;min-height:0;position:relative;background:#fff}.chat-header{height:93px;min-height:93px;display:flex;align-items:center;gap:17px;padding:10px 29px;border-bottom:1px solid #e7eef2}.heading-avatar{width:59px;height:59px;border-radius:16px;font-size:24px}.chat-details{min-width:0}.chat-details h1{font-size:26px;font-weight:400;color:#3b4e5c;margin:0 0 6px;display:flex;gap:8px;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-details h1 span{overflow:hidden;text-overflow:ellipsis}.chat-details h1 button{font-size:27px;color:#8f9ca5}.chat-details h1 button.faved{color:#eebd37}.presence{color:#78909f;font-size:13px;display:flex;align-items:center;gap:7px}.presence .status-dot{width:9px;height:9px}.chat-actions{margin-left:auto;display:flex;gap:10px}.circle-action{width:48px;height:48px;background:#d3edfa;border-radius:25px;color:#fff;display:grid;place-items:center}.circle-action svg{filter:drop-shadow(0 1px 1px #8ac2e4)}.circle-action:hover{background:#b6dff5}
.message-scroller{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:22px 28px}.message-list{min-height:10px}.date-divider{text-align:center;color:#3b94c2;font-size:13px;margin:4px 0 24px;display:flex;align-items:center;justify-content:center;gap:13px}.date-divider:before,.date-divider:after{content:"";height:1px;background:#ecf1f5;flex:1;max-width:150px}
.message-row{display:flex;gap:13px;align-items:flex-start;margin-bottom:14px;max-width:100%}.message-row.me{flex-direction:row-reverse}.message-row .avatar{width:37px;height:37px;border-radius:11px;font-size:12px}.message-row .avatar-spacer{width:37px;flex:none}.message-body{max-width:min(640px,80%);min-width:0}.message-meta{display:flex;gap:11px;align-items:baseline;color:#7b93a2;font-size:12px;margin:0 0 5px}.message-row.me .message-meta{flex-direction:row-reverse}.message-meta strong{font-weight:600;color:#558db4}.message-bubble{font-size:16px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;background:#f0f2f4;padding:11px 16px;border-radius:5px;color:#314454;max-width:100%}.message-row.me .message-bubble{background:#d8effd}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:45vh;min-height:230px;gap:13px;text-align:center;color:#8199a8}.empty-state .logo{width:62px;height:62px;border-radius:20px;font-size:38px}.empty-state strong{color:#426178;font-size:18px;font-weight:500}.empty-state p{font-size:14px;max-width:350px;line-height:1.6;margin:0}
.typing-indicator{font-size:12px;height:20px;color:#7f9fb3;padding-left:47px}.composer{height:72px;min-height:72px;border-top:1px solid #e7eef2;display:flex;align-items:center;gap:15px;padding:0 27px}.composer input{border:0;outline:0;flex:1;min-width:0;font-size:16px;color:#294055}.composer input::placeholder{color:#9daeba}.compose-attach{font-size:28px;color:#4499c7}.compose-attach:hover{color:#047fbf}.send-button{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#cfeaf9;color:#fff}.send-button:hover{background:#159bdc}.send-button svg{width:20px}.emoji-menu{position:absolute;bottom:78px;left:26px;background:#fff;border:1px solid #cbdde9;box-shadow:0 8px 25px #244b662e;border-radius:8px;padding:10px;display:grid;grid-template-columns:repeat(6,35px);z-index:5}.emoji-menu button{font-size:23px;padding:3px;border-radius:6px}.emoji-menu button:hover{background:#e5f5ff}
.incoming-card{position:fixed;z-index:50;right:30px;bottom:30px;width:315px;padding:17px 21px 21px;background:linear-gradient(160deg,#fff,#e4f5fe);border:1px solid #b0d7ec;border-radius:13px;box-shadow:var(--shadow)}.incoming-top{display:flex;align-items:center;gap:10px;color:#4d8db6;font-size:12px}.incoming-top .logo{width:26px;height:26px;border-radius:9px;font-size:17px}.incoming-card h2{font-size:23px;font-weight:500;margin:17px 0 4px}.incoming-card p{margin:0 0 22px;color:#7291a1}.incoming-actions{display:flex;gap:10px}.incoming-actions button{flex:1;color:#fff;border-radius:22px;padding:10px}.red-button{background:#e64251}.green-button{background:#57b75a}.red-button:hover{background:#c62c3b}.green-button:hover{background:#3c9b3f}
.call-overlay{position:fixed;inset:0;background:#0d2130eb;backdrop-filter:blur(10px);z-index:40;padding:30px;display:grid;place-items:center}.call-surface{width:min(1100px,100%);height:min(750px,100%);display:flex;flex-direction:column;border-radius:22px;overflow:hidden;background:linear-gradient(140deg,#214b6b,#0e253c 64%,#173b56);color:#fff;box-shadow:0 25px 80px #0005}.call-top{height:67px;display:flex;gap:14px;align-items:center;padding:0 25px;border-bottom:1px solid #ffffff15;font-size:15px}.call-top .logo{width:30px;height:30px;border-radius:10px;font-size:20px}#callTimer{margin-left:auto;color:#bddeed;font-variant-numeric:tabular-nums}.call-content{flex:1;min-height:0;display:flex;flex-direction:column;text-align:center;align-items:center;padding:18px 25px}.call-content h2{font-weight:400;font-size:27px;margin:4px 0 5px}.call-content p{color:#bed5e6;font-size:14px;margin:0 0 22px}.video-grid{width:100%;height:100%;min-height:0;display:flex;align-items:stretch;justify-content:center;gap:12px}.video-tile{flex:1;min-width:0;max-width:520px;background:#082036;border:1px solid #ffffff19;border-radius:13px;position:relative;overflow:hidden;display:grid;place-items:center}.video-tile video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.video-tile .tile-avatar{width:84px;height:84px;border-radius:50%;background:#218ec8;display:grid;place-items:center;font-size:37px;font-weight:600}.video-tile .tile-name{position:absolute;bottom:14px;left:14px;background:#001d32a6;padding:7px 12px;border-radius:6px;font-size:13px}.video-tile.audio-only video{width:1px;height:1px;opacity:0;pointer-events:none}.video-tile.audio-only .tile-avatar{width:116px;height:116px;font-size:44px}.call-controls{height:106px;flex:none;display:flex;justify-content:center;gap:18px;align-items:center;padding:12px 16px}.call-control{min-width:85px;min-height:65px;display:flex;flex-direction:column;align-items:center;gap:7px;color:white;font-size:25px;border-radius:12px;padding:8px 12px;background:#ffffff17}.call-control span{font-size:12px}.call-control:hover{background:#ffffff30}.call-control.off{background:#e8ac353b}.call-control.danger{background:#df384b}.call-control.danger:hover{background:#bd2539}
.dialog{border:0;background:transparent;padding:18px;max-width:560px;width:100%;max-height:90vh;color:#344e60}.dialog::backdrop{background:#061c2a8a;backdrop-filter:blur(4px)}.dialog-window{border-radius:12px;background:#fff;box-shadow:0 20px 70px #051f3c55;overflow:hidden;display:flex;flex-direction:column;max-height:calc(90vh - 36px)}.dialog header{padding:18px 22px;border-bottom:1px solid #e6edf3;display:flex;align-items:center;justify-content:space-between}.dialog h2{font-size:21px;font-weight:500;margin:0}.icon-close{font-size:26px;line-height:1;color:#9aafbd}.dialog-content{padding:18px 22px;overflow-y:auto}.dialog footer{padding:13px 22px;display:flex;justify-content:flex-end;background:#f4f9fc;border-top:1px solid #e7eef3}.section-name{color:#2b87ba;font-size:14px;font-weight:700;margin-bottom:11px}.settings-user{font-size:13px;color:#7691a0;margin:0 0 15px}.secondary-button{background:#e0f2fb;color:#0679b7;padding:10px 14px;border-radius:6px;margin-top:13px}.secondary-button:hover{background:#cceafb}.dialog hr{border:0;border-top:1px solid #e8eff4;margin:24px 0}.dialog .settings-hint{line-height:1.7;color:#8496a3;font-size:13px}.text-danger{color:#bc3c4c;padding:7px 0}.text-danger:hover{text-decoration:underline}.admin-user{display:flex;gap:10px;align-items:center;padding:7px 0;border-bottom:1px solid #edf2f5}.admin-user .avatar{width:31px;height:31px;font-size:11px}.admin-user-text{display:flex;flex-direction:column;flex:1;gap:2px}.admin-user-text b{font-weight:500;font-size:14px}.admin-user-text small{font-size:11px;color:#8fa5b2}.admin-user button{font-size:12px;color:#317fae}.admin-user button.remove{color:#b94250}.create-friend{margin-top:16px}.help-logo{display:flex;gap:20px;align-items:center;color:#1b97cb;font-size:30px}.help-logo .logo{width:60px;height:60px;border-radius:22px;font-size:40px}.dialog-content>p{line-height:1.7}.dialog-content>small{font-size:11px;color:#a3b2bd}.toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,15px);padding:11px 18px;background:#243c4f;color:#fff;border-radius:7px;box-shadow:0 5px 20px #0003;font-size:13px;z-index:99;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media (max-width:850px){.layout{grid-template-columns:270px minmax(0,1fr)}.chat-header{padding:12px 16px}.message-scroller{padding:18px 14px}.composer{padding:0 17px}.chat-details h1{font-size:21px}.sidebar-foot{display:none}.contact-item{height:64px}.auth-panel{padding:48px 36px 30px}}
@media (max-width:620px){.app{grid-template-rows:29px 31px minmax(0,1fr)}.window-bar{font-size:12px}.window-actions button{width:36px}.menu-bar button{padding:0 8px;font-size:12px}.menu-bar button:nth-child(2){display:none}.layout{grid-template-columns:85px minmax(0,1fr)}.sidebar .self{justify-content:center;padding:14px 0 12px}.sidebar .self-text,.sidebar .self-settings,.sidebar .search-box,.sidebar .shortcut-row,.sidebar .sidebar-heading,.sidebar .contact-info,.contact-item .unread,.contact-item .pin{display:none}.sidebar .self-dot{left:48px;top:46px}.contact-item{padding:10px 18px;justify-content:center;height:64px}.contact-item .status-dot{left:48px;top:43px}.chat-header{height:75px;min-height:75px;gap:10px;padding:7px 11px}.heading-avatar{width:40px;height:40px;border-radius:11px;font-size:17px}.chat-details h1{font-size:17px;margin:0 0 5px}.chat-details h1 button{font-size:19px}.presence{font-size:11px}.chat-actions{gap:4px}.circle-action{width:34px;height:34px}.circle-action svg{width:17px;height:17px}.message-body{max-width:87%}.message-bubble{font-size:14px;padding:9px 12px}.message-row{gap:8px}.message-row .avatar,.message-row .avatar-spacer{width:30px;height:30px}.composer{height:63px;min-height:63px;padding:0 11px;gap:8px}.composer input{font-size:14px}.send-button{width:36px;height:36px}.call-overlay{padding:0}.call-surface{border-radius:0;height:100%}.video-grid{flex-direction:column}.video-tile{max-width:none;min-height:80px}.call-content{padding:10px}.call-content h2{font-size:21px}.call-controls{gap:5px;height:89px}.call-control{min-width:65px;padding:8px 6px;font-size:20px}.call-control span{font-size:10px}.incoming-card{right:10px;left:10px;bottom:10px;width:auto}.auth-window{grid-template-columns:1fr;max-width:430px}.auth-decoration{padding:21px 25px;display:flex;gap:14px;align-items:center}.auth-decoration .big-logo{width:50px;height:50px;border-radius:18px;font-size:35px}.auth-decoration h1{font-size:30px;margin:0}.auth-decoration p,.bubble-art{display:none}.auth-panel{padding:28px 27px 25px}.auth-panel>p{margin-bottom:10px}.auth-screen{align-items:flex-start;padding:45px 16px}.auth-footer{bottom:6px}}
