html,body{height:100%;height:100dvh}.app{height:100vh;height:100dvh;min-height:0;overflow:hidden}.sidebar,.chat-pane,.empty-pane{min-width:0;min-height:0}.chat-pane{height:100%;min-height:0;overflow:hidden}.chat-header{flex:0 0 68px;min-height:68px;background:rgba(16,21,33,.88);backdrop-filter:blur(18px);z-index:4}.load-older,.message-state{flex:0 0 auto}.messages{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#2a3347 transparent}.composer{position:relative;flex:0 0 auto;min-height:66px;z-index:10;align-items:flex-end;padding-top:10px;padding-bottom:max(10px,env(safe-area-inset-bottom));background:rgba(15,20,32,.96);backdrop-filter:blur(22px);box-shadow:0 -10px 30px rgba(0,0,0,.16)}.composer .input-wrap{min-width:0}.composer textarea{display:block;line-height:20px;padding:12px 15px;border-color:rgba(255,255,255,.09);background:#0a0f19;box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}.composer textarea:focus{border-color:rgba(82,220,232,.58);box-shadow:0 0 0 3px rgba(82,220,232,.07)}.attach,.send{display:grid;place-items:center;flex:0 0 44px}.attach:hover{background:rgba(255,255,255,.06);color:var(--cyan)}.send{box-shadow:0 8px 22px rgba(82,220,232,.18)}button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.icon-button svg,.call-button svg{display:block;margin:auto}.icon-button svg circle{fill:currentColor;stroke:none}.header-actions{display:flex;align-items:center;gap:4px}.call-button,.icon-button{display:grid;place-items:center;width:40px;height:40px;padding:0;color:#8e99ae;transition:background .16s,color .16s,transform .16s}.call-button:hover,.icon-button:hover{background:rgba(82,220,232,.09);color:#67dfea}.call-button:active,.icon-button:active{transform:scale(.94)}.peer{min-width:0}.peer strong,.peer small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-item{border-left:2px solid transparent;transition:background .15s,border-color .15s}.chat-item.active{border-left-color:var(--cyan);background:linear-gradient(90deg,rgba(82,220,232,.08),rgba(255,255,255,.025))}.avatar-chip,#headerAvatar{box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}.badge{min-width:20px;text-align:center;background:linear-gradient(135deg,#4bdbe7,#7567f5);box-shadow:0 5px 14px rgba(82,220,232,.16)}.message{box-shadow:0 5px 18px rgba(0,0,0,.13);border:1px solid rgba(255,255,255,.035)}.message.own{border-color:rgba(118,105,245,.18)}.call-card-message{min-width:190px;padding:4px 2px}.call-card-message b{font-weight:700}.call-card-message small{color:#9ba6bb}.toast{max-width:min(90vw,520px);text-align:center;border:1px solid rgba(255,255,255,.09);box-shadow:0 15px 45px rgba(0,0,0,.35)}
.auth-view{height:100vh;height:100dvh;overflow:auto;padding:28px 18px}.auth-shell{position:relative;width:min(470px,100%);margin:auto;padding:28px 34px 32px;border:1px solid rgba(255,255,255,.09);border-radius:28px;background:linear-gradient(155deg,rgba(19,25,40,.97),rgba(11,15,25,.97));box-shadow:0 35px 100px rgba(0,0,0,.52),inset 0 1px 0 rgba(255,255,255,.04)}.auth-logo{margin-bottom:24px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:5px;border:1px solid rgba(255,255,255,.06);border-radius:14px;background:#080c14}.auth-tabs button{min-height:42px;border:0;border-radius:10px;background:transparent;color:#808ba1;font-weight:700;cursor:pointer}.auth-tabs button.active{color:#eef4ff;background:linear-gradient(135deg,rgba(82,220,232,.14),rgba(117,103,245,.18));box-shadow:inset 0 0 0 1px rgba(82,220,232,.13)}.auth-panel.login-card{width:100%;max-height:none;overflow:visible;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.auth-panel .login-copy h1{margin-top:25px;font-size:29px}.auth-panel label{margin-top:15px}.auth-panel input{background:#090e18}.auth-panel .primary-button{cursor:pointer;transition:filter .15s,transform .15s}.auth-panel .primary-button:hover{filter:brightness(1.08);transform:translateY(-1px)}.captcha-slot{min-height:65px;margin-top:18px;overflow:hidden}.invite-help{display:flex;align-items:center;justify-content:center;gap:7px;color:#808ba1}.text-button{border:0;background:none;color:var(--cyan);font-weight:700;cursor:pointer}.text-button:hover{text-decoration:underline}.form-error{padding-top:5px;line-height:1.35}
.web-modal{position:fixed;z-index:50;inset:0;display:grid;place-items:center;padding:18px;background:rgba(3,6,12,.82);backdrop-filter:blur(14px)}.web-modal-card{position:relative;width:min(500px,100%);max-height:calc(100dvh - 36px);overflow:auto;padding:34px;border:1px solid rgba(255,255,255,.1);border-radius:25px;background:linear-gradient(155deg,#151b2a,#0d111c);box-shadow:0 35px 110px rgba(0,0,0,.65)}.web-modal-card h2{font-size:30px;margin:9px 0}.web-modal-card>div>p{color:var(--muted)}.modal-x{position:absolute;right:14px;top:10px;border:0;background:none;color:#8e99ad;font-size:30px;cursor:pointer}.mini-kicker{font-size:11px;letter-spacing:.15em;color:var(--cyan);font-weight:800}.web-modal-card label{margin-top:14px}.web-modal-card textarea{resize:vertical}.invite-result{text-align:center;padding:25px 0}.result-mark{display:grid;place-items:center;width:62px;height:62px;margin:auto;border-radius:50%;background:rgba(65,219,179,.12);color:#42ddb4;font-size:30px}.web-invite-code{margin:20px 0;padding:15px;border:1px dashed var(--cyan);border-radius:13px;color:var(--cyan);font-size:23px;font-weight:800;letter-spacing:.07em;overflow-wrap:anywhere}
@media(max-width:720px){.app,.sidebar{height:100vh;height:100dvh}.chat-pane{height:100vh;height:100dvh;bottom:auto}.chat-header{flex-basis:62px;min-height:62px}.header-actions{gap:0}.call-button,.icon-button{width:36px;height:36px}.messages{padding:14px 10px}.composer{min-height:64px;padding:8px 9px max(8px,env(safe-area-inset-bottom))}.composer textarea{min-height:44px}.attach,.send{width:42px;height:42px;flex-basis:42px}.auth-view{padding:12px}.auth-shell{padding:22px 18px 25px;border-radius:22px}.web-modal-card{padding:29px 20px}.chat-header #headerAvatar{width:38px;height:38px}.peer{margin-left:9px}}
