:root{font-family:system-ui,-apple-system,"Microsoft YaHei",sans-serif;color:#edf2f7;background:#0b1020}*{box-sizing:border-box}body{margin:0;min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top,#24345d,#0b1020 58%)}main{width:min(760px,100vw);height:min(820px,100vh);padding:18px;display:flex;flex-direction:column}header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}header strong{font-size:20px;display:block}header span{font-size:13px;color:#aab7d3}.actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.card{margin:auto;width:min(460px,100%);text-align:center;padding:34px;border:1px solid #314264;border-radius:20px;background:#121b31cc}.card h1{margin-top:0}.stack{display:grid;gap:11px}.stack input{width:100%;border:1px solid #354a76;border-radius:10px;background:#101a30;color:#fff;padding:12px;font:inherit;text-align:center}.stack input[type=password]{font-size:22px;letter-spacing:8px}.error{min-height:22px;color:#ff9bad}button{border:0;border-radius:10px;padding:10px 15px;background:#5688ff;color:white;font:inherit;cursor:pointer}button:disabled{opacity:.45;cursor:default}.danger{background:#77344a}.notice{min-height:22px;text-align:center;color:#aab7d3;font-size:13px;padding-bottom:8px}#chat{min-height:0;flex:1;display:flex;flex-direction:column}#messages{flex:1;overflow:auto;padding:8px 2px;display:flex;gap:10px;flex-direction:column}article{display:flex;flex-direction:column;max-width:82%;align-self:flex-start}article.mine{align-self:flex-end;align-items:flex-end}.bubble{padding:10px 13px;border-radius:14px;background:#1e2a47;line-height:1.5;white-space:pre-wrap;word-break:break-word}.mine .bubble{background:#2d66d5}.bubble img{display:block;max-width:min(300px,70vw);max-height:360px;border-radius:8px}small{margin:4px 5px;color:#8392b2}#messageForm{display:flex;gap:8px;padding-top:12px}#messageForm input#text{min-width:0;flex:1;border:1px solid #354a76;border-radius:10px;background:#101a30;color:#fff;padding:10px;font:inherit}.image{padding:7px 12px;border:1px solid #354a76;border-radius:10px;cursor:pointer;font-size:20px}.image input{display:none}dialog{width:min(480px,90vw);border:1px solid #415a91;border-radius:16px;background:#17223c;color:#f4f7ff;padding:22px}dialog::backdrop{background:#000a}textarea{width:100%;height:110px;margin:10px 0;background:#0c1427;color:#dbe7ff;border:1px solid #415a91;border-radius:8px;padding:9px;resize:none}dialog button{margin-right:8px}@media(max-width:600px){main{padding:12px}header{align-items:flex-start}.actions button{padding:8px 10px;font-size:13px}.card{padding:24px 18px}}
