/* Keep disclosure controls reliable and improve contrast on dark displays. */
[hidden]{display:none!important}
.room[hidden],.admin-bar[hidden],.veil[hidden],.gate[hidden],.admin-tools[hidden]{display:none!important}
:root{--bg:#100a0b;--panel:#1b1113;--panel2:#211416;--line:#51272d;--text:#fff7f7;--muted:#c0aeb0;--red:#e51c2a;--hot:#ff3442}
body{background:radial-gradient(ellipse at 50% -35%,#58121a 0%,transparent 60%),var(--bg)}
.topbar{border-bottom-color:#4a2026}.brand{color:#fff7f7}.key-button{display:grid;place-items:center;width:34px;height:34px;background:#241215;border-color:#71313a;color:#ff626c}
.key-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.chat-card{background:linear-gradient(160deg,#211416,#130d0e);border-color:#51272d}.chat-head,.admin-bar,.composer-wrap{border-color:#51272d}.chat-head strong{color:#fff0f1}
.chat-head #admin-badge{color:#ff7b84;border-color:#9b3a44}.button{border-color:#71313a;background:#291518;color:#ffebed}.button-danger{background:#b81422;border-color:#ed2634;color:white}.button-quiet{color:#e7a4a9}
.bubble{background:#2a1b1e;border-color:#543036;color:#fff1f2}.message.mine .bubble{background:#3b191d;border-color:#75272f}.msg-meta{color:#baa5a8}.msg-avatar{background:#522027;color:#ff9da4}.message.mine .msg-avatar{background:#9f1723;color:#fff}
.composer-wrap{background:#180f11}.composer-wrap textarea::placeholder{color:#b69da1}.attach-button,.send-button{background:#291518;border-color:#71313a;color:#ffb4b9}.send-button{background:#d01928;color:#fff}
.gate{background:#100a0bf7}.gate-form{border-bottom-color:#bc303b}.gate-form label,.key-panel label{color:#ff737c}.gate-form input,.key-panel input{color:#fff7f7}.gate-form button{color:#ff5965}
.key-panel{background:#1a1012;border-color:#71313a}.close-key{color:#dca2a6}.admin-tools{color:#ff7580}.toast{background:#30171b;border-color:#86414a;color:#fff1f2}
.chat-head #clear-all{margin-left:0}.chat-head #clear-mine{margin-left:auto}.clear-panel label{font-size:12px;color:#fff}.clear-panel .button{align-self:stretch}
.image-thumb{display:block;padding:0;border:0;background:transparent;cursor:zoom-in}.image-thumb img{display:block}.attachment-download,.reply-button{display:inline-block;margin:5px 5px 0 0;padding:4px 0;border:0;background:transparent;color:#ff9ca3;font:8px var(--mono);letter-spacing:.5px;text-decoration:none;cursor:pointer}.reply-quote{display:block;max-width:100%;margin:-1px 0 7px;padding:0 0 0 8px;border:0;border-left:2px solid #ee5360;background:transparent;color:#e9a0a5;font:9px var(--mono);text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.reply-target .bubble{outline:2px solid #ff5965}.replying-to{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:34px;padding:6px 11px;border-top:1px solid #51272d;color:#ff9ca3;font:9px var(--mono)}.replying-to button{border:0;background:transparent;color:#ffb6bb;font-size:18px;cursor:pointer}.image-viewer{position:fixed;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;padding:55px 24px 60px;background:#080607ed}.image-viewer[hidden]{display:none!important}.image-viewer img{max-width:100%;max-height:100%;object-fit:contain}.image-viewer #image-close{position:absolute;top:15px;right:20px;border:1px solid #91434b;border-radius:5px;background:#2a1417;color:#fff;padding:7px 12px;font-size:20px;cursor:pointer}.image-viewer #image-download{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);border:1px solid #91434b;border-radius:5px;background:#b81422;color:#fff;padding:9px 14px;font:10px var(--mono);text-decoration:none}
@media(max-width:600px){.chat-head{gap:5px;padding:0 8px}.chat-head .button{font-size:8px;padding:6px}.chat-head #clear-all{margin-left:0}}
