:root{
  --rc-bg:#0b0f14;
  --rc-panel:#101824;
  --rc-border:rgba(255,255,255,.08);
  --rc-text:rgba(255,255,255,.92);
  --rc-muted:rgba(255,255,255,.68);
  --rc-danger:#b91c1c;
  --rc-warn:#b45309;
  --rc-ok:#166534;
  --rc-accent:#2563eb;
  --rc-shadow:0 10px 30px rgba(0,0,0,.35);
  --rc-radius:14px;
  --rc-font: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Apple Color Emoji","Segoe UI Emoji";
}

#rc-shell *{ box-sizing:border-box; font-family:var(--rc-font); }
#rc-shell{ position:fixed; inset:0; pointer-events:none; z-index:2147480000; }

/* Banner */
#rc-banner{
  position:fixed;
  top:10px; left:50%; transform:translateX(-50%);
  min-width:min(900px, calc(100vw - 20px));
  max-width:calc(100vw - 20px);
  padding:10px 12px;
  border-radius:12px;
  border:1px solid var(--rc-border);
  color:var(--rc-text);
  background:rgba(16,24,36,.92);
  box-shadow:var(--rc-shadow);
  display:none;
  pointer-events:auto;
}
#rc-banner.rc-show{ display:flex; align-items:center; gap:10px; }
#rc-banner .rc-pill{
  padding:4px 8px; border-radius:999px; font-weight:700; font-size:12px;
  border:1px solid var(--rc-border);
}
#rc-banner .rc-msg{ flex:1; font-weight:600; font-size:13px; color:var(--rc-text); }
#rc-banner .rc-actions{ display:flex; gap:8px; align-items:center; }
.rc-btn{
  pointer-events:auto;
  border:1px solid var(--rc-border);
  background:rgba(255,255,255,.06);
  color:var(--rc-text);
  padding:7px 10px;
  border-radius:10px;
  font-weight:700;
  font-size:12px;
  cursor:pointer;
}
.rc-btn:hover{ background:rgba(255,255,255,.10); }
.rc-btn:active{ transform:translateY(1px); }
.rc-btn.rc-primary{ background:rgba(37,99,235,.22); border-color:rgba(37,99,235,.45); }
.rc-btn.rc-danger{ background:rgba(185,28,28,.22); border-color:rgba(185,28,28,.45); }

/* Floating dock (chat + panic) */
#rc-dock{
  position:fixed;
  right:12px; bottom:12px;
  display:flex; gap:10px; align-items:flex-end;
  pointer-events:none;
}
.rc-fab{
  pointer-events:auto;
  width:48px; height:48px;
  border-radius:999px;
  border:1px solid var(--rc-border);
  background:rgba(16,24,36,.92);
  color:var(--rc-text);
  box-shadow:var(--rc-shadow);
  display:grid; place-items:center;
  cursor:pointer;
}
.rc-fab:hover{ background:rgba(16,24,36,.98); }

/* Drawer */
#rc-drawer{
  position:fixed;
  right:12px; bottom:70px;
  width:min(420px, calc(100vw - 24px));
  height:min(560px, calc(100vh - 120px));
  border-radius:var(--rc-radius);
  border:1px solid var(--rc-border);
  background:rgba(16,24,36,.96);
  box-shadow:var(--rc-shadow);
  overflow:hidden;
  display:none;
  pointer-events:auto;
}
#rc-drawer.rc-open{ display:flex; flex-direction:column; }
#rc-drawer header{
  display:flex; align-items:center; gap:10px;
  padding:10px 12px;
  border-bottom:1px solid var(--rc-border);
}
#rc-drawer header .rc-title{ font-weight:900; letter-spacing:.2px; }
#rc-drawer header .rc-sub{ margin-left:auto; font-size:12px; color:var(--rc-muted); }

#rc-chat-log{
  flex:1;
  padding:10px 12px;
  overflow:auto;
}
.rc-chat-item{
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.03);
  border-radius:12px;
  margin-bottom:8px;
}
.rc-chat-item .rc-meta{ font-size:11px; color:var(--rc-muted); margin-bottom:4px; display:flex; gap:8px; }
.rc-chat-item .rc-text{ font-weight:600; font-size:13px; color:var(--rc-text); white-space:pre-wrap; word-break:break-word; }

#rc-chat-compose{
  border-top:1px solid var(--rc-border);
  padding:10px 12px;
  display:flex; gap:8px;
}
#rc-chat-compose input{
  flex:1;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(0,0,0,.25);
  color:var(--rc-text);
  outline:none;
  font-weight:650;
}
#rc-chat-compose input::placeholder{ color:rgba(255,255,255,.45); }
#rc-toast{
  position:fixed;
  left:12px; bottom:12px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid var(--rc-border);
  background:rgba(16,24,36,.92);
  color:var(--rc-text);
  box-shadow:var(--rc-shadow);
  display:none;
  pointer-events:none;
}
#rc-toast.rc-show{ display:block; }
