:root{--ink:#1d1c38;--muted:#85839a;--brand:#5b4bff;--brand2:#9476ff;--line:#ecebf5;--paper:#fff;--bg:#f5f4fc}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Tahoma,"Segoe UI",sans-serif;min-height:100dvh}button,input{font:inherit}button{touch-action:manipulation}.auth{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 13% 15%,#c5baff 0,transparent 31%),radial-gradient(circle at 86% 88%,#c6f3ee 0,transparent 34%),#f8f7ff}.auth-card{width:min(100%,410px);padding:34px;border:1px solid #ffffffaa;border-radius:30px;background:#fffffff2;box-shadow:0 22px 65px #4c3cb52b}.brand-mark{width:52px;height:52px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(135deg,var(--brand),#a975ff);color:#fff;font-size:26px;box-shadow:0 10px 22px #5b4bff54}.auth h1{margin:19px 0 5px;font-size:27px;letter-spacing:-1px}.auth p{margin:0 0 24px;color:var(--muted);font-size:.91rem}.tabs{display:flex;gap:7px;padding:5px;border-radius:13px;background:#f3f2f9;margin-bottom:20px}.tabs button{flex:1;border:0;border-radius:9px;background:transparent;color:#77748d;padding:9px;cursor:pointer}.tabs .active{background:#fff;color:var(--brand);box-shadow:0 2px 7px #20175d12;font-weight:bold}label{display:block;margin:14px 0 0;font-size:.84rem;font-weight:bold}input{width:100%;border:1px solid #dfdeeb;border-radius:13px;padding:13px;margin-top:7px;outline:none;background:#fff;transition:.2s}input:focus{border-color:var(--brand);box-shadow:0 0 0 4px #5b4bff18}.primary{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;border:0;border-radius:13px;padding:13px;margin-top:21px;background:linear-gradient(135deg,var(--brand),#7658ff);color:#fff;font-weight:bold;box-shadow:0 9px 16px #5b4bff42;cursor:pointer}.primary span{font-size:20px}.auth form small{display:block;color:var(--muted);text-align:center;margin-top:13px;font-size:.75rem}#authError,#fileHint{display:block;color:#d82c55;min-height:19px;margin-top:12px;font-size:.82rem}.app{height:100dvh;max-width:1280px;margin:auto;display:grid;grid-template-columns:345px minmax(0,1fr);background:var(--paper);box-shadow:0 0 70px #30295c17}.app aside{border-left:1px solid var(--line);overflow:auto;background:#fcfcff}.profile{display:flex;align-items:center;gap:10px;padding:20px 16px 16px}.profile strong,.profile small{display:block}.profile small{font-size:.73rem;color:var(--muted);margin-top:3px}.avatar{display:grid;place-items:center;flex:none;border-radius:50%;color:#fff;background:linear-gradient(135deg,#6757ff,#b278ff);font-weight:bold}.avatar.big{width:43px;height:43px}.icon-button{margin-right:auto;width:34px;height:34px;border:0;border-radius:11px;background:#f1efff;color:var(--brand);font-size:19px;cursor:pointer}.search-wrap{display:flex;align-items:center;gap:8px;margin:0 13px 15px;padding:0 11px;background:#f2f1f8;border:1px solid transparent;border-radius:13px}.search-wrap:focus-within{background:#fff;border-color:#d7d1ff}.search-wrap span{font-size:23px;color:#7c7898}.search-wrap input{background:transparent;border:0;box-shadow:none;margin:0;padding:11px 0}.section-title{display:flex;justify-content:space-between;padding:0 18px 9px;color:#908da4;font-size:.76rem;font-weight:bold}.users{padding:0 8px 20px}.user{display:flex;gap:10px;align-items:center;padding:11px 9px;border-radius:14px;cursor:pointer;transition:.15s}.user:hover,.user.active{background:#eeecff}.user div{overflow:hidden;flex:1}.user strong,.user small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user strong{font-size:.9rem}.user small{font-size:.72rem;color:var(--muted);margin-top:3px}.chat{display:grid;min-width:0;grid-template-rows:76px 1fr auto;background:linear-gradient(145deg,#f7f8ff,#fafaff)}.chat-header{display:flex;align-items:center;gap:10px;padding:12px 22px;background:#fffffff2;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.chat-header strong,.chat-header small{display:block}.chat-header small{font-size:.74rem;color:var(--muted);margin-top:3px}.header-avatar{display:grid;place-items:center;width:39px;height:39px;border-radius:14px;background:#efedff;color:var(--brand);font-weight:bold}.back{display:none;border:0;background:none;font-size:30px;color:var(--brand);line-height:1}.messages{overflow:auto;padding:23px;display:flex;flex-direction:column;gap:10px}.welcome{margin:auto;text-align:center;max-width:320px;color:var(--muted)}.welcome div{width:70px;height:70px;display:grid;place-items:center;margin:0 auto 15px;border-radius:25px;background:linear-gradient(135deg,#6757ff,#b278ff);color:#fff;font-size:31px;box-shadow:0 15px 30px #6757ff33}.welcome strong{color:var(--ink)}.welcome p{font-size:.84rem;line-height:1.8}.message{max-width:min(76%,560px);padding:11px 13px 8px;border:1px solid #eeeeF5;border-radius:16px 16px 4px 16px;background:#fff;box-shadow:0 3px 10px #312b5710;white-space:pre-wrap;word-break:break-word;font-size:.9rem;line-height:1.75}.message.mine{align-self:flex-start;border:0;border-radius:16px 16px 16px 4px;background:linear-gradient(135deg,#6554ff,#7b64ff);color:#fff}.message time{display:block;font-size:.65rem;color:#8f8ca4;margin-top:3px}.message.mine time{color:#e9e5ff}.message a{display:inline-block;color:#3f32d1;text-decoration:none;margin-top:4px}.message.mine a{color:#fff}.composer{display:flex;align-items:center;gap:8px;padding:11px 16px max(11px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line)}.composer input{flex:1;margin:0;border:0;background:#f4f3f9;box-shadow:none;padding:12px 14px}.composer button{display:grid;place-items:center;flex:none;width:42px;height:42px;border:0;border-radius:13px;cursor:pointer}.attach{background:#efedff;color:var(--brand);font-size:23px}.send{background:var(--brand);color:#fff;font-size:18px;box-shadow:0 5px 11px #5b4bff3c}.composer button:disabled,.composer input:disabled{opacity:.45;cursor:not-allowed}#fileHint{margin:0;padding:0 17px 7px;background:#fff}@media(max-width:700px){body{background:#fff}.app{display:block;height:100dvh}.app aside{display:block;height:100dvh;border:0}.app .chat{display:none;height:100dvh}.app.chat-open aside{display:none}.app.chat-open .chat{display:grid}.profile{padding-top:max(19px,env(safe-area-inset-top))}.chat-header{padding-top:max(12px,env(safe-area-inset-top))}.back{display:block}.messages{padding:16px}.message{max-width:87%}.composer{padding-right:11px;padding-left:11px}.auth{padding:17px}.auth-card{padding:28px 23px;border-radius:25px}}@media(min-width:701px){.back{display:none}}

/* Dark theme */
[hidden]{display:none!important}.message{position:relative}.delete-message{position:absolute;top:6px;left:7px;border:0;border-radius:8px;padding:4px 7px;background:#ffffff18;color:#e6e3ff;cursor:pointer;font-size:.68rem;opacity:0}.message:hover .delete-message,.message:focus-within .delete-message{opacity:1}aside footer{margin:12px 0 8px;text-align:center;color:#77748f;font-size:.7rem}aside footer a{color:#a49bff;text-decoration:none}@media(max-width:700px){.delete-message{opacity:1}}
:root{--ink:#f3f1ff;--muted:#aaa7c0;--line:#28263c;--paper:#151421;--bg:#0d0c15}body{background:#0d0c15;color:var(--ink)}.auth{background:radial-gradient(circle at 13% 15%,#30277a 0,transparent 34%),radial-gradient(circle at 86% 88%,#123e45 0,transparent 34%),#0d0c15}.auth-card{background:#181724e8;border-color:#343149;box-shadow:0 22px 65px #0008}.tabs{background:#242238}.tabs button{color:#aaa7c0}.tabs .active{background:#343149;color:#d5d0ff;box-shadow:none}input{color:var(--ink);background:#222033;border-color:#393650}.search-wrap{background:#222033}.search-wrap:focus-within{background:#222033;border-color:#776cff}.app{background:#151421;box-shadow:none}.app aside{background:#12111d;border-color:#28263c}.icon-button{background:#2a2742;color:#c9c3ff}.user:hover,.user.active{background:#292646}.chat{background:radial-gradient(circle at 95% 0,#252044 0,transparent 38%),#11101a}.chat-header,.composer,#fileHint{background:#171622;border-color:#28263c}.header-avatar{background:#2b2845;color:#d8d3ff}.message{background:#242333;border-color:#353348;color:#f3f1ff;box-shadow:none}.message time{color:#b3afc8}.message a{color:#c3bcff}.composer input{background:#252334;color:#fff}.welcome strong{color:#f3f1ff}.welcome{color:#aaa7c0}@media(max-width:700px){body{background:#11101a}}
