:root{color-scheme:light;--bg:#f4f6fa;--panel:#fff;--ink:#172238;--muted:#78849a;--line:#e6eaf1;--accent:#2563eb;--soft:#edf3ff;--bubble:#fff;--own:#e6efff;--hover:#f3f6fc;--danger:#c13547;font-family:Inter,'Segoe UI',Arial,sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}body.dark{color-scheme:dark;--bg:#0e1420;--panel:#151e2d;--ink:#e5ecf8;--muted:#96a3ba;--line:#263247;--soft:#1d3152;--bubble:#1c293b;--own:#203e69;--hover:#1c293b;--danger:#ff9aa8}button,input,textarea{font:inherit}button{cursor:pointer;border:0}button:disabled{cursor:wait;opacity:.55}input,textarea{border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:12px;padding:13px 14px;outline:none;width:100%}input:focus,textarea:focus{border-color:#6b96f5;box-shadow:0 0 0 3px #2563eb15}button:focus-visible,a:focus-visible{outline:3px solid #739bf4;outline-offset:3px}textarea{resize:vertical}label{display:block;font-weight:600;font-size:13px}label input{margin-top:8px}.hidden{display:none!important}.muted{color:var(--muted)}.brand{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:800;letter-spacing:.5px}.brand small{display:block;font-size:9px;letter-spacing:2px;color:var(--muted);margin-top:3px}.primary{background:var(--accent);color:white;border-radius:12px;font-weight:650;padding:13px 20px;transition:background .15s}.primary:hover{background:#1d4ed8}.secondary{background:var(--soft);color:var(--accent);border:1px solid var(--line);border-radius:12px;padding:11px 15px;font-weight:600}.secondary:hover{filter:brightness(.96)}.full{width:100%}.icon{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;font-size:23px;border-radius:10px;background:transparent;color:var(--muted)}.icon:hover{background:var(--hover);color:var(--ink)}.eyebrow{font-size:10px;letter-spacing:2.2px;font-weight:750;color:var(--accent)}.auth-shell{display:grid;grid-template-columns:1fr 1fr;min-height:100dvh}.intro{padding:44px 9%;display:flex;flex-direction:column;position:relative;overflow:hidden;background:#eaf0fc}.intro .brand{color:#152744}.intro-copy{position:relative;margin:auto 0;padding:70px 0;z-index:1}.intro h1{font-size:clamp(58px,6.2vw,94px);line-height:1.02;letter-spacing:-5px;margin:22px 0;color:#142b50}.intro-copy p{font-size:17px;line-height:1.7;color:#58708f}.intro-footer{font-size:12px;color:#6e80a0}.potato{position:absolute;right:-20px;bottom:30px;transform:rotate(-15deg);font-size:115px;filter:drop-shadow(12px 20px 25px #1f45832b)}.auth-panel{display:flex;align-items:center;justify-content:center;padding:45px 30px;background:var(--panel)}.auth-card{width:100%;max-width:380px}.tag{font-size:10px;letter-spacing:1.6px;font-weight:750;color:var(--accent)}.auth-card h2{font-size:31px;letter-spacing:-1px;margin:16px 0 8px}.auth-card>p{line-height:1.6}.tabs{display:flex;padding:5px;background:var(--bg);border-radius:12px;margin:28px 0 24px;gap:5px}.tabs button{flex:1;padding:10px 4px;background:transparent;color:var(--muted);border-radius:9px;font-weight:600}.tabs .selected{background:var(--panel);color:var(--ink);box-shadow:0 2px 8px #1722380a}#auth-form label{margin-bottom:17px}.form-error{font-size:13px;color:var(--danger);line-height:1.5;min-height:8px}.auth-note{font-size:12px;color:var(--muted);margin-top:20px}.transport{font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:18px}.messenger{height:100dvh;display:grid;grid-template-columns:330px minmax(0,1fr);max-width:1800px;margin:auto;overflow:hidden}.sidebar{background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:24px 22px 20px}.searchbox{padding:0 20px 16px}.searchbox label{font-size:11px;color:var(--muted);margin-bottom:9px}.searchbox input{font-size:12px;padding:12px}.searchbox p{font-size:11px;margin:8px 0 0}.search-results{max-height:220px;overflow-y:auto;margin:0 12px}.list-label{padding:14px 22px;font-size:9px;letter-spacing:1.7px;color:var(--muted);font-weight:750}.chat-list{flex:1;overflow:auto;padding:0 10px}.chat-item,.user-item{border-radius:13px;width:100%;background:transparent;color:var(--ink);display:flex;align-items:center;gap:12px;padding:13px 12px;text-align:left;margin-bottom:4px}.chat-item:hover,.user-item:hover{background:var(--hover)}.chat-item.active{background:var(--soft)}.avatar{height:43px;width:43px;min-width:43px;border-radius:15px;background:#dfeaff;color:#2a61be;display:flex;align-items:center;justify-content:center;font-weight:750;font-size:16px}.chat-text{flex:1;min-width:0}.chat-text strong{display:block;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-text p{font-size:12px;color:var(--muted);margin:5px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-meta{text-align:right;align-self:flex-start;font-size:10px;color:var(--muted);padding-top:2px}.badge{display:block;margin:7px 0 0 auto;border-radius:20px;min-width:19px;padding:3px 5px;background:var(--accent);color:#fff}.profile{border-top:1px solid var(--line);padding:18px;display:flex;gap:11px;align-items:center}.profile-name{flex:1;overflow:hidden}.profile-name strong{display:block;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-name small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.conversation{display:flex;flex-direction:column;min-width:0;min-height:0}.conversation-header{display:flex;align-items:center;gap:13px;padding:19px 28px;border-bottom:1px solid var(--line);background:var(--panel);min-height:84px}.peer-info{min-width:0;flex:1}.peer-info h2{font-size:15px;margin:0 0 5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.peer-info span{font-size:11px}.connection{font-size:10px;white-space:nowrap;color:#279172;display:flex;align-items:center;gap:6px}.connection:before{content:'';width:6px;height:6px;background:currentColor;border-radius:50%}.connection.offline{color:#ba7841}.transport-bar{font-size:10px;text-align:center;padding:8px 15px;color:var(--muted);background:var(--panel);border-bottom:1px solid var(--line);line-height:1.4}.welcome{display:flex;flex:1;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:30px;color:var(--muted)}.welcome-symbol{font-size:70px;margin-bottom:30px}.welcome h2{color:var(--ink);font-size:34px;letter-spacing:-1px;margin:15px 0 0}.welcome p{font-size:14px;line-height:1.8;margin:18px 0 24px}.welcome small{font-size:10px;line-height:1.7;margin-top:14px}.thread{flex:1;overflow:auto;padding:18px 6% 28px;scrollbar-gutter:stable}.history-controls{display:flex;justify-content:center;gap:10px;margin:0 0 18px}.history-controls button{font-size:11px;padding:8px 12px}.date-label{text-align:center;font-size:10px;color:var(--muted);margin:20px 0}.message-row{display:flex;justify-content:flex-start;margin:8px 0}.message-row.own{justify-content:flex-end}.bubble{max-width:min(75%,650px);min-width:90px;padding:12px 15px 9px;border-radius:16px 16px 16px 4px;background:var(--bubble);border:1px solid var(--line);box-shadow:0 2px 3px #00000003}.own .bubble{background:var(--own);border-color:transparent;border-radius:16px 16px 4px 16px}.message-content{white-space:pre-wrap;word-break:break-word;line-height:1.55;font-size:14px}.message-content.deleted{font-style:italic;color:var(--muted)}.message-footer{display:flex;justify-content:flex-end;align-items:center;gap:8px;color:var(--muted);font-size:9px;margin-top:6px}.message-action{font-size:10px;padding:3px 0;background:transparent;color:var(--muted)}.message-action:hover{color:var(--accent)}.file-link{display:block;color:var(--accent);word-break:break-word;line-height:1.5;text-decoration:none;font-weight:600}.file-size{font-size:10px;color:var(--muted);display:block;margin-top:5px}.composer{border-top:1px solid var(--line);background:var(--panel);padding:16px 24px 12px}.composer-row{display:flex;align-items:flex-end;gap:10px}.composer textarea{background:var(--bg);resize:none;min-height:45px;max-height:130px;line-height:1.4}.composer .primary{white-space:nowrap;height:45px}.composer .icon{height:45px}.composer-hint{font-size:9px;display:flex;justify-content:space-between;color:var(--muted);padding:8px 0 0 48px}.file-preview{display:flex;align-items:center;justify-content:space-between;font-size:12px;padding:3px 10px 9px;color:var(--accent);word-break:break-word}.empty-state{text-align:center;font-size:12px;color:var(--muted);padding:30px 16px;line-height:1.8}.toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);max-width:min(90vw,620px);padding:14px 22px;background:#172a47;color:white;border-radius:12px;box-shadow:0 5px 30px #0003;z-index:100;font-size:13px;line-height:1.5}dialog{border:1px solid var(--line);border-radius:18px;background:var(--panel);color:var(--ink);padding:26px;max-width:500px;width:90%}dialog::backdrop{background:#101d3a88}dialog h2{font-size:19px;margin:0 0 18px}.dialog-buttons{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.mobile-only{display:none}@media(min-width:1600px){.messenger{border-left:1px solid var(--line);border-right:1px solid var(--line)}}@media(max-width:900px){.messenger{grid-template-columns:280px minmax(0,1fr)}.conversation-header{padding:17px}.composer{padding:12px}.thread{padding:14px 18px}.bubble{max-width:88%}.composer-hint{padding-left:0}.intro{padding:35px 9%}.potato{font-size:80px;right:-25px;bottom:0}}@media(max-width:650px){.auth-shell{display:block}.intro{padding:22px 25px}.intro-copy,.intro-footer{display:none}.auth-panel{padding:35px 25px;min-height:calc(100dvh - 92px)}.auth-card h2{font-size:28px}.messenger{display:block}.sidebar{height:100dvh}.conversation{height:100dvh;display:none}.messenger.chat-open .sidebar{display:none}.messenger.chat-open .conversation{display:flex}.mobile-only{display:inline-flex}.connection{font-size:9px}.conversation-header{gap:8px;padding:12px;min-height:75px}.conversation-header .avatar{width:35px;height:35px;min-width:35px;border-radius:11px}.peer-info h2{font-size:14px}.composer .primary{padding:11px;font-size:12px}.composer-row{gap:5px}.composer-hint{font-size:8px}.welcome h2{font-size:27px}.thread{padding:10px 12px}.bubble{max-width:90%}.transport-bar{font-size:9px}.sidebar-header{padding-top:20px}}
