:root{color-scheme:dark;--bg:#080607;--panel:#100b0c;--panel2:#160c0d;--line:#2d1719;--text:#f0ebeb;--muted:#766d6e;--red:#cf1824;--hot:#f02332;--mono:'DM Mono',monospace;--sans:'Space Grotesk',sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 50% -35%,#3e0d13 0%,transparent 60%),var(--bg);color:var(--text);font-family:var(--sans)}button,textarea,input{font:inherit}.shell{max-width:1020px;min-height:100vh;margin:auto;padding:22px 30px;display:flex;flex-direction:column}.topbar{height:48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #291314}.brand{font-size:15px;font-weight:700;letter-spacing:2px;margin:0;color:#f2eeee}.top-actions{display:flex;align-items:center;gap:15px}.live-status{font:9px var(--mono);letter-spacing:1px;color:#baafb0}.live-status i,.room-dot{display:inline-block;width:6px;height:6px;background:#f02332;border-radius:50%;margin-right:6px;box-shadow:0 0 10px #e21628}.key-button{width:32px;height:32px;border:1px solid #461a1f;background:#170c0e;border-radius:8px;color:#e33a45;font-size:20px;cursor:pointer}.key-button:hover{background:#2a0e12;color:#ff4a54}.room{flex:1;display:flex;align-items:center;justify-content:center;padding:25px 0}.chat-card{width:min(100%,780px);height:min(76vh,720px);min-height:430px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(160deg,#120b0d,#0b0809);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 26px 100px #0008}.chat-head{height:48px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:9px;padding:0 14px;flex:0 0 auto}.chat-head strong,.admin-badge,.admin-bar{font:10px var(--mono);letter-spacing:1.2px}.chat-head strong{color:#e5dddd}.room-dot{margin:0}.chat-head #admin-badge{font:8px var(--mono);color:#ff5c67;border:1px solid #642027;padding:4px 6px;border-radius:4px}.chat-head .button{margin-left:auto}.button{border:1px solid #442025;background:#1b0d0f;color:#f2dfe0;border-radius:5px;padding:7px 9px;font:9px var(--mono);letter-spacing:.5px;cursor:pointer}.button:hover{background:#321014}.button-danger{background:#8d121b;border-color:#bd1b27;color:white}.button-danger:hover{background:#b31722}.button-quiet{color:#a58184}.admin-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;border-bottom:1px solid var(--line);color:#f04450}.messages{flex:1;overflow-y:auto;padding:20px 17px;display:flex;flex-direction:column;gap:12px}.message{display:flex;align-items:flex-start;gap:9px;max-width:88%;animation:appear .15s ease-out}.message.mine{align-self:flex-end;flex-direction:row-reverse}.msg-avatar{display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;border-radius:50%;background:#37151a;color:#e35a63;font:8px var(--mono)}.message.mine .msg-avatar{background:#68131c;color:#ffd5d8}.message-body{min-width:0}.msg-meta{display:flex;gap:9px;align-items:center;margin:2px 0 4px 2px;color:#74686a;font:8px var(--mono)}.message.mine .msg-meta{justify-content:flex-end}.bubble{border:1px solid #301a1c;background:#190f11;border-radius:3px 8px 8px 8px;padding:9px 11px;color:#e8dfe0;font-size:12px;line-height:1.5;overflow-wrap:anywhere;white-space:pre-wrap}.message.mine .bubble{border-color:#4a161d;background:#261012;border-radius:8px 3px 8px 8px}.attachment{display:block;margin-top:7px}.attachment img{max-width:min(100%,290px);max-height:220px;object-fit:contain;border-radius:4px}.attachment-link{display:inline-block;color:#ff727b;font:10px var(--mono);text-decoration:none;border:1px solid #552028;border-radius:4px;padding:7px}.delete-message{margin:5px 0 0 4px;border:0;background:transparent;color:#aa6369;font:10px var(--mono);cursor:pointer}.message.mine .delete-message{margin:5px 4px 0 0}.composer-wrap{min-height:51px;border-top:1px solid var(--line);display:flex;align-items:center;gap:6px;padding:7px 10px;background:#0d0809}.composer-wrap textarea{flex:1;resize:none;max-height:90px;min-height:22px;border:0;outline:0;background:transparent;color:var(--text);font-size:12px;line-height:1.45}.composer-wrap textarea::placeholder{color:#66595b}.attach-button,.send-button{width:31px;height:31px;display:grid;place-items:center;border:1px solid #35181b;border-radius:5px;background:#160b0d;color:#b7666c;cursor:pointer}.attach-button{font-size:20px}.send-button{background:#a8131f;color:#fff;font-size:16px}.attach-button:hover,.send-button:hover{background:#d21a27;color:white}.gate{position:fixed;inset:0;background:#080607f5;display:grid;place-items:center}.gate-form{width:min(320px,calc(100vw - 40px));display:flex;align-items:center;gap:9px;border-bottom:1px solid #72202a;padding:6px 0}.gate-form label,.key-panel label{font:11px var(--mono);color:#b8424c}.gate-form input,.key-panel input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#f7eff0;font:14px var(--mono);letter-spacing:2px}.gate-form button{border:0;background:transparent;color:#df3440;font-size:18px;cursor:pointer}.veil{position:fixed;inset:0;background:#000b;display:grid;place-items:center;padding:20px}.veil[hidden],.room[hidden],.gate[hidden]{display:none}.key-panel{position:relative;width:min(300px,100%);display:flex;flex-direction:column;gap:14px;padding:22px;border:1px solid #482025;background:#10090b;border-radius:9px;box-shadow:0 18px 80px #000c}.key-panel input{border-bottom:1px solid #57202a;padding:8px 0}.key-panel .button{align-self:flex-end}.close-key{position:absolute;top:8px;right:10px;border:0;background:transparent;color:#98696d;font-size:20px;cursor:pointer}.toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,10px);background:#241013;border:1px solid #63202a;border-radius:6px;padding:9px 13px;color:#f3dcde;font:10px var(--mono);opacity:0;transition:.18s;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}body.locked .room,body.locked .gate{display:none}@keyframes appear{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@media(max-width:600px){.shell{padding:15px 12px}.chat-card{height:78vh;min-height:350px}.messages{padding:14px 10px}.message{max-width:94%}.brand{font-size:13px}.room{padding:18px 0}}
