:root{--rg-bg:#0f1115;--rg-panel:#151922;--rg-panel-2:#1b2130;--rg-text:#e8ebf1;--rg-muted:#aab3c5;--rg-line:#293246;--rg-accent:#d8c7ff}
.rg-shell,.rc-shell,.rd-shell,.rs-shell{background:var(--rg-bg);color:var(--rg-text);border:1px solid var(--rg-line);border-radius:24px;padding:24px;box-shadow:0 14px 40px rgba(0,0,0,.24)}
.rg-header h2{margin:0 0 8px}.rg-header p{margin:0;color:var(--rg-muted)}
.rg-modules,.rg-reco-list{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}
.rg-chip,.rg-link,.rg-card--mini,.rd-pill{background:var(--rg-panel);color:var(--rg-text);border:1px solid var(--rg-line);border-radius:999px;padding:10px 14px;cursor:pointer}
.rg-chip span{color:var(--rg-muted);margin-left:6px}
.rg-topics{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:16px}
.rg-card,.rd-card,.rc-card,.rs-card{background:var(--rg-panel);border:1px solid var(--rg-line);border-radius:20px;padding:18px}
.rg-card h3,.rd-card h3,.rc-card h3,.rs-card h3{margin:0 0 8px}
.rg-card p,.rd-card p,.rc-card p,.rs-card p,.rd-meta,.rc-note,.rs-note{color:var(--rg-muted)}
.rg-article h2{margin:4px 0 10px}.rg-eyebrow{color:var(--rg-accent);font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.rg-lead{font-size:18px;color:#fff}.rg-copy{line-height:1.75}.rg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:18px 0}
.rg-grid section{background:var(--rg-panel);border:1px solid var(--rg-line);border-radius:18px;padding:16px}
.rg-back{background:transparent;border:none;color:var(--rg-accent);cursor:pointer;padding:0 0 10px}
.rg-note{margin-top:18px;font-style:italic;color:#c6d0e3}
.rd-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.rd-timeline{display:grid;gap:10px}.rd-timeline-item{display:grid;grid-template-columns:90px 1fr auto;gap:12px;align-items:center;background:var(--rg-panel);padding:14px;border:1px solid var(--rg-line);border-radius:18px}
.rd-alert{background:#24181a;border:1px solid #55313a;border-radius:18px;padding:14px}
.rc-lines{display:grid;gap:10px}.rc-line{background:var(--rg-panel);border:1px solid var(--rg-line);border-radius:16px;padding:14px}
.rs-options{display:grid;gap:12px}.rs-option{background:var(--rg-panel);border:1px solid var(--rg-line);border-radius:18px;padding:16px}
.rs-badge{display:inline-block;background:var(--rg-panel-2);border:1px solid var(--rg-line);border-radius:999px;padding:4px 10px;font-size:12px;color:var(--rg-accent)}
