:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#e6edf8;background:#060e1b;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}.shell{min-height:100dvh;display:flex;background:radial-gradient(circle at 80% 10%,#10243c,#060e1b 57%)}.sidebar{width:260px;flex-shrink:0;padding:28px 22px;background:#091421;border-right:1px solid #1d3446;display:flex;flex-direction:column}.brand-icon{width:48px;height:48px;color:#6dd8f4;background:#102d42;border:1px solid #225a70;border-radius:14px;display:grid;place-items:center}.sidebar h1{font-size:22px;letter-spacing:.12em;margin:18px 0 5px}.sidebar h1 small{display:block;font-size:10px;letter-spacing:.25em;color:#79bfd5;margin-top:6px}.muted,.sidebar p{color:#8aa2b7;font-size:13px;line-height:1.6}.status{margin-top:36px;border:1px solid #25465a;border-radius:12px;padding:12px;color:#b6d7e5;font-size:12px;background:#0c2030}.pulse{display:inline-block;background:#4ed1a6;width:8px;height:8px;border-radius:50%;margin-right:6px}.side-bottom{margin-top:auto;padding-top:28px;display:flex;align-items:center;gap:8px;color:#86a3b6;font-size:12px;flex-wrap:wrap}.signout{display:flex;gap:5px;align-items:center;border:0;color:#8ce5f8;background:none}.main{flex:1;min-width:0;display:flex;flex-direction:column;min-height:100dvh}.topbar{height:82px;border-bottom:1px solid #203547;display:flex;align-items:center;justify-content:space-between;padding:0 28px;gap:12px}.topbar strong,.topbar span{display:block}.topbar strong{font-size:16px}.topbar span{color:#83a1b6;font-size:12px;margin-top:5px}.room-badge{display:flex;gap:8px;align-items:center;background:#10283a;border:1px solid #28516a;border-radius:30px;padding:9px 12px;color:#99d8eb;font-size:12px}.messages{flex:1;overflow-y:auto;padding:24px 7%;max-height:calc(100dvh - 196px)}.message{display:flex;gap:11px;align-items:flex-start;margin-bottom:23px}.avatar{width:34px;height:34px;flex-shrink:0;display:grid;place-items:center;border-radius:12px;background:#16364a;border:1px solid #29607a;color:#7bdaf2;font-size:11px;font-weight:700}.bubble{max-width:min(85%,650px);padding:14px 16px;background:#112336;border:1px solid #213f54;border-radius:5px 16px 16px}.bubble p{margin:8px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55;font-size:14px}.message-meta{font-size:11px;color:#8ab1c6}.mine{flex-direction:row-reverse}.mine .bubble{background:#123a4c;border-color:#23647b;border-radius:16px 5px 16px 16px}.compose-wrap{border-top:1px solid #203547;padding:16px 7% 12px}.compose{display:flex;gap:10px;background:#0c1c2e;border:1px solid #2c5268;border-radius:16px;padding:8px}.compose:focus-within{border-color:#5bbdd9}.compose input{color:#ecf9ff;min-width:0;flex:1;border:0;outline:0;background:transparent;padding:9px}.compose button,.primary{background:#36b8d9;color:#051524;border:0;border-radius:11px;padding:10px 14px;font-weight:700}.compose button:disabled,.primary:disabled{opacity:.45;cursor:not-allowed}.footnote,.hint{font-size:11px;text-align:center;color:#698ca4;margin:9px 0 0}.error{color:#ff9c9c;font-size:12px}.empty{height:100%;min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#7aa8bb}.empty h2{font-size:20px;color:#d7f2ff;margin:14px 0 4px}.empty p{font-size:13px;max-width:320px;line-height:1.6}.login-center{flex:1;display:grid;place-items:center;padding:24px}.login{border:1px solid #24475e;background:#0d2031;padding:28px;border-radius:20px;width:min(100%,390px);display:flex;flex-direction:column;gap:14px}.login h2{margin:6px 0 0}.login p{margin:0;color:#8eacbe;font-size:13px;line-height:1.5}.login label{display:flex;flex-direction:column;gap:7px;font-size:13px;color:#c5dfec}.login input{background:#071523;border:1px solid #315269;color:#fff;border-radius:10px;padding:13px;outline:none}.login input:focus{border-color:#56bddb}.login .primary{margin-top:4px;padding:13px}.login .error{color:#ff9c9c}@media(max-width:700px){.shell{display:block}.sidebar{width:auto;padding:12px 16px;min-height:unset;display:flex;flex-direction:row;align-items:center;gap:12px;border-bottom:1px solid #1e3a4d}.sidebar .brand-icon{width:38px;height:38px;border-radius:11px}.sidebar h1{font-size:15px;margin:0}.sidebar h1 small{font-size:8px}.sidebar .muted,.status,.side-bottom{display:none}.main{min-height:calc(100dvh - 64px)}.topbar{padding:0 16px;height:66px}.messages{max-height:calc(100dvh - 246px);padding:20px 13px}.bubble{max-width:calc(100% - 46px)}.compose-wrap{padding:12px 12px 10px}.room-badge{font-size:11px}}
