
:root{color-scheme:dark;--bg:#090b11;--panel:#111522;--panel2:#171c2c;--line:#293149;--text:#f4f6fb;--muted:#929bb2;--accent:#7c6cff;--accent2:#4ed2c5;--danger:#ff7488}
*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color:var(--text);background:radial-gradient(circle at 12% -10%,#282359 0,transparent 32rem),radial-gradient(circle at 95% 0,#123a43 0,transparent 27rem),var(--bg)}
button,input,select{font:inherit}.topbar{display:flex;align-items:center;justify-content:space-between;padding:22px clamp(18px,4vw,54px);border-bottom:1px solid var(--line);background:rgba(9,11,17,.74);backdrop-filter:blur(14px);position:sticky;top:0;z-index:5}.topbar h1{margin:0;font-size:1.45rem}.eyebrow{margin:0 0 5px;color:var(--accent2);font-size:.7rem;font-weight:800;letter-spacing:.16em}.muted,.status{color:var(--muted)}
.app-shell{width:min(1180px,calc(100% - 32px));margin:28px auto 60px}.panel{border:1px solid var(--line);border-radius:18px;background:rgba(17,21,34,.9);box-shadow:0 24px 70px rgba(0,0,0,.28)}.controls{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1.5fr) auto minmax(140px,auto);gap:16px;align-items:end;padding:18px;margin-bottom:18px}label{display:grid;gap:7px;color:#c8cede;font-size:.86rem;font-weight:650}select,input{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px 12px;background:#0c101a;color:var(--text);outline:none}select:focus,input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(124,108,255,.18)}button,.button-link{border:0;border-radius:10px;padding:11px 16px;background:linear-gradient(135deg,var(--accent),#5f8bff);color:white;font-weight:750;cursor:pointer;text-decoration:none;text-align:center}button.secondary{background:#20273a;border:1px solid #343e59}button:disabled{opacity:.45;cursor:not-allowed}
.viewer{min-height:500px;overflow:hidden}.viewer-head{display:flex;justify-content:space-between;align-items:center;padding:20px 22px;border-bottom:1px solid var(--line)}.viewer-head h2{margin:0;font-size:1.15rem}.auto-refresh{display:flex;grid-template-columns:auto auto;align-items:center}.auto-refresh input{width:auto}.messages{padding:8px 20px 24px}.message{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;padding:15px 2px;border-bottom:1px solid rgba(41,49,73,.72)}.avatar,.avatar-fallback{width:42px;height:42px;border-radius:50%;background:#292f45}.avatar-fallback{display:grid;place-items:center;color:#dcdfff;font-weight:800}.message-head{display:flex;gap:9px;align-items:baseline;flex-wrap:wrap}.author{font-weight:780}.bot-badge{font-size:.66rem;padding:2px 5px;border-radius:4px;background:var(--accent);color:white}.time,.edited{font-size:.75rem;color:var(--muted)}.content{margin-top:4px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}.attachments,.embeds,.reactions{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}.attachment,.reaction{padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:#0d111c;color:#cfd5e8;text-decoration:none}.embed{width:min(560px,100%);padding:10px 12px;border-left:3px solid var(--accent);background:#0d111c;border-radius:4px 9px 9px 4px}.embed-title{font-weight:750}.embed-description{margin-top:4px;white-space:pre-wrap;color:#c7cddd}.jump{margin-left:auto;color:var(--muted);text-decoration:none;font-size:.77rem}.empty{padding:80px 16px;text-align:center;color:var(--muted)}.older{display:block;margin:18px auto 4px}.login-shell{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:min(420px,100%);padding:30px;border:1px solid var(--line);border-radius:20px;background:rgba(17,21,34,.94);box-shadow:0 28px 90px rgba(0,0,0,.4)}.login-card h1{font-size:2rem;margin:0}.login-card form{display:grid;gap:16px;margin-top:25px}.login-error{color:#ffd4da;background:rgba(255,116,136,.12);border:1px solid rgba(255,116,136,.35);padding:10px;border-radius:9px}
@media(max-width:760px){.controls{grid-template-columns:1fr}.status{padding:4px 0}.viewer-head{align-items:flex-start;gap:15px;flex-direction:column}.messages{padding-inline:13px}.topbar{padding-inline:18px}}
