*{box-sizing:border-box}body{color:#edf4ff;background:#080f1d;min-height:100vh;margin:0;font-family:Inter,system-ui,sans-serif}button,input{font:inherit}.app{width:100%;max-width:1000px;min-height:100vh;margin:auto;padding:20px}.topbar{align-items:center;gap:14px;padding:12px 0 22px;display:flex}.logo{background:linear-gradient(135deg,#438bff,#7656f6);border-radius:15px;place-items:center;width:48px;height:48px;font-size:19px;font-weight:800;display:grid}h1,h2,p{margin-top:0}h1{margin-bottom:2px;font-size:23px}.topbar p,.chat-header p{color:#91a4bd;margin-bottom:0;font-size:13px}.login-card,#chat{background:#111d30;border:1px solid #253851;border-radius:20px;padding:22px;box-shadow:0 15px 50px #0005}.login-card{max-width:460px;margin:35px auto}.login-card>p{color:#91a4bd}label{color:#cbd8eb;margin:18px 0 8px;font-size:14px;display:block}input{color:#fff;background:#091426;border:1px solid #30445f;border-radius:12px;outline:none;width:100%;min-width:0;padding:14px}input:focus{border-color:#5593ff}button{color:#fff;cursor:pointer;background:#397cf5;border:0;border-radius:12px;padding:13px 17px;font-weight:700}button:hover{background:#2867dd}button:disabled{opacity:.6;cursor:wait}form>button{width:100%;margin-top:16px}.chat-header{border-bottom:1px solid #253851;justify-content:space-between;align-items:center;gap:12px;padding-bottom:18px;display:flex}.chat-header h2{margin-bottom:5px}.logout{background:#293b54;width:auto}.recipient{background:#0b1729;border:1px solid #253851;border-radius:14px;margin-top:18px;padding:16px}.recipient button{width:100%;margin-top:12px}.messages{background:radial-gradient(circle at 20% 20%,#152944 0,#0000 45%),#091426;border:1px solid #253851;border-radius:16px;flex-direction:column;gap:14px;height:430px;margin-top:18px;padding:20px 14px;display:flex;overflow-y:auto}.message{overflow-wrap:anywhere;border-radius:16px;max-width:82%;padding:11px 14px;animation:.2s ease-out appear}@keyframes appear{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.message p{white-space:pre-wrap;margin-bottom:7px;line-height:1.5}.message small{color:#b7c7dc;text-align:right;font-size:10px;display:block}.sent{background:linear-gradient(135deg,#2868d6,#394fc0);border-bottom-right-radius:4px;align-self:flex-end}.received{background:#24364e;border-bottom-left-radius:4px;align-self:flex-start}.message-form{gap:10px;margin-top:14px;display:flex}.message-form input{flex:1}.message-form button{width:auto;min-width:75px;margin:0}.empty{color:#91a4bd;text-align:center;margin:auto;font-size:14px}#status,#chat-status{overflow-wrap:anywhere;margin-top:16px;font-size:13px}.success{color:#80e6b0}.error{color:#ff9292}[hidden]{display:none!important}@media (width<=520px){.app{padding:12px}.login-card,#chat{padding:15px}.messages{height:55vh;min-height:280px}.message-form{gap:7px}.message-form button{min-width:65px;padding:12px}}
