:root{font-family:Inter,system-ui,sans-serif;color:#e9eef5;background:#10151d}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;border:0;border-radius:8px;padding:.7rem 1rem;background:#5b7cfa;color:#fff}button:hover{filter:brightness(1.1)}button:disabled{opacity:.55;cursor:not-allowed}.auth{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 50% 20%,#23365a,#10151d 60%)}.auth-card{width:min(420px,calc(100% - 32px));padding:36px;background:#18212e;border:1px solid #2c3a4d;border-radius:18px;box-shadow:0 20px 80px #0005}.brand{font-size:1.35rem;font-weight:800;letter-spacing:.02em}.brand small{font-size:.65rem;color:#8ea7ff;margin-left:.4rem}.auth h1{font-size:1.5rem}.auth form{display:grid;gap:12px}.auth label{display:grid;gap:6px;color:#aab4c4;font-size:.9rem}.auth input,.composer input{background:#0f151e;color:#fff;border:1px solid #334257;border-radius:8px;padding:.8rem}.link{display:block;background:none;color:#9eb1ff;margin:14px auto 0}.error{color:#ff9b9b}.loading-screen{min-height:100vh;display:grid;place-items:center;color:#aab4c4;background:#10151d}.app{min-height:100vh}header{height:64px;display:flex;align-items:center;gap:24px;padding:0 24px;border-bottom:1px solid #273243;background:#151d28}.user{margin-left:auto;display:flex;align-items:center;gap:14px}.user button{padding:.45rem .7rem;background:#2b3748}.presence{color:#aab4c4;font-size:.85rem}.presence.on{color:#71e0a1}nav{display:flex;gap:8px;padding:12px 24px;border-bottom:1px solid #273243}nav button{background:transparent;color:#aab4c4}nav button.selected{background:#263758;color:#fff}.chat-layout{display:grid;grid-template-columns:310px 1fr;height:calc(100vh - 125px)}aside{border-right:1px solid #273243;overflow:auto}.section-title,.thread-head{padding:18px 20px;font-weight:700}.conv{display:grid;text-align:left;width:100%;border-radius:0;background:transparent;color:#fff;border-top:1px solid #222d3b}.conv small{color:#9ca9ba;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv.active{background:#243556}.thread{display:flex;flex-direction:column;min-width:0}.thread-head{border-bottom:1px solid #273243}.thread-head span{float:right;color:#71e0a1;font-size:.8rem;font-weight:400}.messages{flex:1;overflow:auto;padding:24px;display:flex;flex-direction:column;gap:12px;overscroll-behavior:contain}.bubble{max-width:min(70%,620px);align-self:flex-start;background:#263344;padding:12px 15px;border-radius:14px 14px 14px 4px;overflow-wrap:anywhere}.bubble.mine{align-self:flex-end;background:#3b55a1;border-radius:14px 14px 4px}.bubble small{display:block;color:#bbc6d3;font-size:.7rem;margin-top:6px}.composer{display:flex;gap:10px;padding:16px;border-top:1px solid #273243;padding-bottom:max(16px,env(safe-area-inset-bottom))}.composer input{flex:1}.empty,.empty-list{color:#9ca9ba}.empty{margin:auto}.empty-list{padding:18px 20px;line-height:1.5}.panel{padding:28px;max-width:760px}.row{display:flex;gap:10px;align-items:center;padding:14px 0;border-bottom:1px solid #273243}.row small{color:#9ca9ba;margin-left:auto}.toast{position:fixed;right:20px;top:80px;padding:12px 16px;background:#3b2024;border:1px solid #863f49;z-index:2}.toast button{background:none;padding:0;margin-left:12px}.back-mobile{display:none;background:transparent;color:#9eb1ff;text-align:left;padding:10px 16px;border-radius:0}@media(max-width:650px){header{padding:0 14px;gap:10px}.user{font-size:0}.user button{font-size:.8rem}.chat-layout{grid-template-columns:1fr;height:calc(100dvh - 125px)}aside{max-height:35vh;border-right:0;border-bottom:1px solid #273243}.thread{min-height:55vh}.bubble{max-width:88%}.row{align-items:flex-start;flex-direction:column;gap:4px}.row small{font-size:.7rem;margin-left:0}.chat-layout.show-list .thread{display:none}.chat-layout.show-thread aside{display:none}.chat-layout.show-thread .thread{display:flex}.back-mobile{display:block}nav{padding:8px 10px;overflow:auto}nav button{white-space:nowrap;padding:.6rem .8rem}.messages{padding:16px 12px}.composer{position:sticky;bottom:0;background:#151d28}.section-title{padding:14px 16px}.auth-card{padding:26px}}
