:root{font-family:system-ui,sans-serif;background:#0b1020;color:#e8edf5}
*{box-sizing:border-box}body{margin:0}main{width:min(760px,calc(100% - 20px));margin:20px auto}
header,.bar,.send,#renamePanel,#settingsPanel{display:flex;gap:8px;align-items:center}
header{justify-content:space-between;margin-bottom:12px}h1{margin:0;font-size:24px}
.card{background:#111827;border:1px solid #263247;border-radius:12px;padding:14px}
input,select,button{font:inherit;border-radius:8px;border:1px solid #334155;padding:9px;background:#0b1220;color:#e5e7eb}
input,select{width:100%}button{cursor:pointer;white-space:nowrap}#enter,#send{background:#2563eb}
#login{display:grid;gap:8px}#login button{width:100%}.bar{flex-wrap:wrap}.bar b{margin-right:auto}
#settingsPanel,#renamePanel{margin:10px 0}#settingsPanel select,#renamePanel input{flex:1}
#messages{height:60vh;min-height:350px;overflow:auto;margin:12px 0;padding:8px;background:#080d16;border-radius:8px}
.msg{margin:8px 0}.meta{font-size:12px;color:#7f8da3}.bubble{display:inline-block;background:#172033;border-radius:10px;padding:8px 10px;white-space:pre-wrap;word-break:break-word}.mine{text-align:right}.mine .bubble{background:#1e3a8a}
.system{text-align:center;color:#64748b;font-size:12px;margin:10px}.send input{flex:1}.error{color:#fca5a5;font-size:13px;min-height:18px;margin-top:6px}
#status{color:#94a3b8}.ok{color:#4ade80!important}
@media(max-width:500px){main{margin:10px auto}.bar button{padding:7px}.send button{padding:9px}}
