/* Reader Room V2 — Donald P Andrechek */
.rr-page { background:#f4f0e8; }
.rr-app { min-height:calc(100vh - 82px); display:grid; grid-template-columns:260px minmax(0,1fr); }
.rr-sidebar { background:#151612; color:#f7f2e8; padding:24px 18px; border-right:1px solid rgba(255,255,255,.08); position:sticky; top:82px; height:calc(100vh - 82px); overflow:auto; }
.rr-sidebar h2 { margin:2px 0 5px; font-size:25px; }
.rr-sidebar .rr-sub { color:#bcb8ae; font-size:12px; margin:0 0 22px; }
.rr-room-list { display:grid; gap:7px; }
.rr-room-button { width:100%; text-align:left; border:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.035); color:#f7f2e8; border-radius:12px; padding:11px 12px; cursor:pointer; transition:.18s ease; }
.rr-room-button:hover,.rr-room-button.active { background:#f2d47d; color:#151612; border-color:#f2d47d; transform:translateY(-1px); }
.rr-room-button strong { display:block; font-size:12px; line-height:1.25; }
.rr-room-button small { display:block; opacity:.72; margin-top:3px; font-size:9px; }
.rr-side-actions { margin-top:22px; padding-top:18px; border-top:1px solid rgba(255,255,255,.1); display:grid; gap:8px; }
.rr-side-actions a,.rr-side-actions button { color:#ddd7cb; background:none; border:0; padding:5px 0; text-align:left; font-size:11px; text-decoration:none; }
.rr-main { min-width:0; padding:22px; }
.rr-topbar { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px; align-items:center; margin-bottom:16px; }
.rr-topbar h1 { font-size:clamp(30px,4vw,48px); margin:2px 0 0; line-height:1; }
.rr-top-meta { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.rr-pill { display:inline-flex; align-items:center; gap:7px; border:1px solid #d9d1c2; background:#fffdfa; border-radius:999px; padding:7px 11px; font-size:10px; font-weight:750; }
.rr-dot { width:8px; height:8px; border-radius:50%; background:#777; }
.rr-dot.live { background:#1c9d54; box-shadow:0 0 0 4px rgba(28,157,84,.12); }
.rr-author-card { border:1px solid #d4bd72; background:linear-gradient(135deg,#171813,#2a271b); color:#fff8e8; border-radius:20px; padding:18px 20px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px; align-items:center; margin-bottom:16px; box-shadow:0 16px 40px rgba(20,18,12,.12); }
.rr-author-card h2 { margin:2px 0 5px; font-size:27px; }
.rr-author-card p { margin:0; color:#c9c3b7; font-size:12px; }
.rr-author-status { text-align:right; }
.rr-author-status strong { display:block; color:#f2d47d; font-size:12px; text-transform:uppercase; letter-spacing:.08em; }
.rr-author-status span { font-size:10px; color:#d7d1c5; }
.rr-layout { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:16px; align-items:start; }
.rr-chat { background:#fffdfa; border:1px solid #d9d1c2; border-radius:20px; overflow:hidden; box-shadow:0 14px 40px rgba(30,24,15,.07); }
.rr-chat-head { padding:16px 18px; border-bottom:1px solid #e1dacd; display:flex; justify-content:space-between; gap:14px; align-items:center; }
.rr-chat-head h2 { margin:0 0 3px; font-size:25px; }
.rr-chat-head p { margin:0; color:#6b675f; font-size:10px; }
.rr-load-earlier { border:1px solid #cfc7b8; background:#fff; border-radius:999px; padding:6px 10px; font-size:9px; font-weight:800; }
.rr-pinned { display:none; padding:10px 14px; background:#fff7d8; border-bottom:1px solid #ead896; font-size:10px; }
.rr-pinned.show { display:block; }
.rr-pinned strong { margin-right:7px; }
.rr-messages { height:min(58vh,620px); min-height:420px; overflow:auto; padding:18px; background:linear-gradient(180deg,#f9f6ef,#f2ece2); display:grid; align-content:start; gap:12px; scroll-behavior:smooth; }
.rr-empty { margin:auto; max-width:420px; text-align:center; color:#777166; padding:40px 20px; }
.rr-message { width:min(78%,720px); border:1px solid #dcd4c7; background:#fffdfa; border-radius:16px 16px 16px 5px; padding:11px 12px 9px; box-shadow:0 4px 15px rgba(25,20,12,.04); position:relative; }
.rr-message.mine { margin-left:auto; border-radius:16px 16px 5px 16px; background:#20211c; color:#fffaf1; border-color:#20211c; }
.rr-message.author { border-color:#c9a94c; background:#fff9e8; box-shadow:0 6px 20px rgba(180,142,38,.1); }
.rr-message.author.mine { background:#242014; color:#fff8e4; }
.rr-message.prompt { width:min(90%,850px); margin-left:auto; margin-right:auto; border:2px solid #d0ae4d; background:#fff7d8; }
.rr-message.announcement { width:min(90%,850px); margin-left:auto; margin-right:auto; border:2px solid #1f201b; background:#f3ead0; }
.rr-message-head { display:flex; gap:7px; align-items:center; flex-wrap:wrap; margin-bottom:5px; }
.rr-author-name { font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; color:#8a6c16; }
.rr-message.mine .rr-author-name { color:#f2d47d; }
.rr-verified { display:inline-flex; align-items:center; border-radius:999px; padding:2px 6px; font-size:8px; font-weight:900; background:#171813; color:#f2d47d; text-transform:uppercase; letter-spacing:.06em; }
.rr-kind { display:inline-flex; border:1px solid #d5bc66; border-radius:999px; padding:2px 6px; font-size:8px; font-weight:850; color:#6d5716; background:#fff8df; }
.rr-message.mine .rr-kind { background:rgba(242,212,125,.1); color:#f2d47d; }
.rr-reply-preview { border-left:3px solid #c6a94e; padding:6px 8px; margin:3px 0 7px; background:rgba(0,0,0,.035); border-radius:0 8px 8px 0; font-size:9px; opacity:.78; }
.rr-message.mine .rr-reply-preview { background:rgba(255,255,255,.08); }
.rr-body { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; font-size:13px; line-height:1.48; }
.rr-spoiler-cover { border:1px dashed #a99564; background:#eee6d3; color:#4f493d; padding:12px; border-radius:9px; text-align:center; cursor:pointer; font-size:10px; font-weight:800; }
.rr-message.mine .rr-spoiler-cover { background:#35352f; color:#f6efe0; }
.rr-message-foot { margin-top:8px; display:flex; gap:8px; align-items:center; justify-content:space-between; flex-wrap:wrap; }
.rr-time { font-size:8px; opacity:.55; }
.rr-message-actions { display:flex; gap:4px; flex-wrap:wrap; }
.rr-action { border:0; background:transparent; color:inherit; opacity:.7; font-size:8px; padding:3px 4px; border-radius:6px; }
.rr-action:hover { opacity:1; background:rgba(0,0,0,.06); }
.rr-message.mine .rr-action:hover { background:rgba(255,255,255,.1); }
.rr-reactions { display:flex; gap:4px; flex-wrap:wrap; margin-top:7px; }
.rr-reaction { border:1px solid #d9d1c2; background:#fff; border-radius:999px; padding:3px 7px; font-size:9px; }
.rr-message.mine .rr-reaction { background:#2f302a; border-color:#4a4a43; color:#fff; }
.rr-question-answered { color:#168247; font-size:8px; font-weight:850; text-transform:uppercase; }
.rr-typing { min-height:20px; padding:4px 18px 0; font-size:9px; color:#777166; background:#fffdfa; }
.rr-reply-bar { display:none; margin:10px 14px 0; border:1px solid #d9d1c2; background:#f5f1e8; border-radius:10px; padding:8px 10px; align-items:center; gap:10px; justify-content:space-between; font-size:9px; }
.rr-reply-bar.show { display:flex; }
.rr-compose { border-top:1px solid #e1dacd; padding:12px 14px 14px; background:#fffdfa; }
.rr-compose textarea { width:100%; min-height:82px; resize:vertical; border:1px solid #cfc7b8; border-radius:12px; padding:11px 12px; background:#fff; font:inherit; font-size:12px; }
.rr-compose textarea:focus { outline:2px solid rgba(206,167,53,.26); border-color:#b4912a; }
.rr-compose-row { margin-top:8px; display:flex; justify-content:space-between; gap:10px; align-items:center; flex-wrap:wrap; }
.rr-compose-options { display:flex; gap:10px; align-items:center; flex-wrap:wrap; font-size:9px; color:#686259; }
.rr-compose-options label { display:flex; align-items:center; gap:5px; }
.rr-compose-options select { border:1px solid #cfc7b8; border-radius:8px; padding:5px 7px; background:#fff; font-size:9px; }
.rr-send { border:0; background:#181914; color:#fff; border-radius:10px; padding:9px 16px; font-weight:850; font-size:10px; }
.rr-send:disabled { opacity:.5; }
.rr-rail { display:grid; gap:12px; }
.rr-card { border:1px solid #d9d1c2; background:#fffdfa; border-radius:16px; padding:15px; }
.rr-card h3 { margin:0 0 7px; font-size:17px; }
.rr-card p { margin:0; color:#6d675f; font-size:10px; line-height:1.5; }
.rr-card + .rr-card { margin-top:0; }
.rr-mini-rules { margin:8px 0 0; padding-left:17px; color:#625d55; font-size:9px; }
.rr-mini-rules li { margin:4px 0; }
.rr-session-time { margin-top:8px!important; color:#1b1c18!important; font-weight:800; }
.rr-status { min-height:18px; margin-top:7px; font-size:9px; }
.rr-status.error { color:#a83232; }.rr-status.success { color:#147542; }.rr-status.warning { color:#8a6515; }
.rr-dialog { width:min(680px,calc(100% - 28px)); border:0; border-radius:18px; padding:0; box-shadow:0 30px 100px rgba(0,0,0,.28); }
.rr-dialog::backdrop { background:rgba(10,10,8,.64); backdrop-filter:blur(4px); }
.rr-dialog-inner { padding:22px; background:#fffdfa; }
.rr-dialog h2 { font-size:30px; margin:0 0 7px; }
.rr-dialog p { color:#625d55; font-size:11px; }
.rr-rules-text { max-height:46vh; overflow:auto; white-space:pre-wrap; border:1px solid #d9d1c2; background:#f7f3ea; border-radius:12px; padding:14px; font-size:10px; line-height:1.55; }
.rr-dialog-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:14px; }
.rr-dialog-actions button { border-radius:9px; padding:8px 12px; font-weight:800; font-size:10px; }
.rr-primary { border:0; background:#181914; color:#fff; }.rr-secondary { border:1px solid #cfc7b8; background:#fff; }
.rr-report-form { display:grid; gap:10px; }
.rr-report-form select,.rr-report-form textarea { width:100%; border:1px solid #cfc7b8; border-radius:10px; padding:9px; font:inherit; font-size:11px; }
.rr-locked-note { padding:9px 12px; background:#fff0d9; border:1px solid #e4c78d; border-radius:10px; font-size:9px; }

/* Advanced admin controls */
.rr-admin-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:16px 20px; }
.rr-admin-member,.rr-admin-report,.rr-admin-room,.rr-admin-audit,.rr-admin-session { border:1px solid #ded6c9; background:#fff; border-radius:12px; padding:12px; }
.rr-admin-member h3,.rr-admin-report h3,.rr-admin-room h3,.rr-admin-session h3 { margin:0 0 4px; font-size:16px; }
.rr-admin-meta { font-size:9px; color:#746e65; margin-bottom:7px; }
.rr-admin-actions { display:flex; flex-wrap:wrap; gap:5px; margin-top:9px; }
.rr-admin-actions button { border:1px solid #cbc2b4; background:#fffdfa; border-radius:8px; padding:6px 8px; font-size:8px; font-weight:850; }
.rr-admin-actions .danger { border-color:#dca0a0; color:#9b2929; }.rr-admin-actions .warn { border-color:#dec483; color:#72550e; }.rr-admin-actions .good { border-color:#a8cdb5; color:#1e6d3d; }
.rr-admin-status-badge { display:inline-flex; margin-left:6px; padding:2px 6px; border-radius:999px; font-size:8px; font-weight:850; text-transform:uppercase; background:#eee9de; }
.rr-admin-status-badge.banned { background:#f5dddd;color:#9d2929; }.rr-admin-status-badge.suspended { background:#faead2;color:#8b5a0c; }.rr-admin-status-badge.muted { background:#fff1bf;color:#715500; }.rr-admin-status-badge.approved { background:#dff1e5;color:#236d3e; }
.rr-admin-textarea { width:100%; min-height:260px; resize:vertical; border:1px solid #cfc7b8; border-radius:10px; padding:11px; font:inherit; font-size:11px; }
.rr-admin-form-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.rr-admin-form-row input,.rr-admin-form-row select,.rr-admin-form-row textarea { width:100%; border:1px solid #cfc7b8; border-radius:9px; padding:8px; font:inherit; font-size:10px; }
.rr-admin-controls { padding:16px 20px; }
.rr-admin-empty { padding:18px; color:#777166; font-size:10px; }

@media(max-width:1050px){
  .rr-layout{grid-template-columns:1fr}.rr-rail{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:820px){
  .rr-app{grid-template-columns:1fr}.rr-sidebar{position:static;height:auto;padding:14px}.rr-room-list{grid-template-columns:repeat(2,1fr)}.rr-side-actions{display:none}.rr-main{padding:14px}.rr-topbar{grid-template-columns:1fr}.rr-top-meta{justify-content:flex-start}.rr-author-card{grid-template-columns:1fr}.rr-author-status{text-align:left}.rr-messages{height:58vh;min-height:360px}.rr-rail{grid-template-columns:1fr}.rr-admin-grid{grid-template-columns:1fr}
}
@media(max-width:520px){
  .rr-room-list{grid-template-columns:1fr}.rr-message{width:92%}.rr-message.prompt,.rr-message.announcement{width:100%}.rr-main{padding:10px}.rr-messages{padding:11px}.rr-topbar h1{font-size:32px}.rr-author-card{padding:15px}.rr-chat-head{align-items:flex-start}.rr-compose-row{align-items:flex-end}.rr-admin-form-row{grid-template-columns:1fr}
}
