/* ─────────────────────────────────────────────────────────────────────────
   Account redesign — Home crawl cards + Crawl hub.
   Component styles for the new /account/ home and /account/crawl/ pages.
   Scoped with an `rl-` prefix so nothing here collides with account.css; all
   tokens use var(--x, #fallback) so it renders even where a token is unset.
   Reuses .badge / .btn / .brand-avatar from account.css.
   ───────────────────────────────────────────────────────────────────────── */

:root { --rl-accent:#c8ff00; --rl-amber:#facc15; --rl-blue:#38bdf8; --rl-red:#f87171; }

.rl-mono { font-family: var(--mono, 'JetBrains Mono', ui-monospace, monospace); }
.rl-tnum { font-variant-numeric: tabular-nums; }
.rl-eyebrow { font-family: var(--mono, 'JetBrains Mono', monospace); text-transform:uppercase;
  letter-spacing:.14em; font-size:.66rem; color:var(--text-muted,#a1a1aa); font-weight:500; }
.rl-idcode { font-family: var(--mono, 'JetBrains Mono', monospace); font-size:.64rem; color:var(--text-muted,#a1a1aa);
  background:var(--bg-card,#141416); border:1px solid var(--border,#27272a); padding:2px 7px; border-radius:6px; letter-spacing:.02em; }
.rl-delta { font-family: var(--mono, 'JetBrains Mono', monospace); font-size:.78rem; font-weight:600; }
.rl-delta.up { color:var(--accent,#c8ff00); } .rl-delta.down { color:var(--rl-red); } .rl-delta.flat { color:var(--text-muted,#a1a1aa); }

/* ── home header + toolbar ─────────────────────────────────────────────── */
.rl-homehead { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; flex-wrap:wrap; margin:6px 0 24px; }
.rl-homehead h1 { font-size:1.9rem; margin:9px 0 0; letter-spacing:-.02em; }
.rl-homehead p { color:var(--text-muted,#a1a1aa); margin:8px 0 0; max-width:48ch; font-size:.97rem; }
.rl-homehead__r { display:flex; flex-direction:column; align-items:flex-end; gap:12px; }
.rl-seg { display:inline-flex; background:var(--bg-card,#141416); border:1px solid var(--border,#27272a); border-radius:10px; padding:3px; }
.rl-seg button { font-family:var(--mono,monospace); font-size:.68rem; text-transform:uppercase; letter-spacing:.08em;
  color:var(--text-muted,#a1a1aa); border:none; background:none; padding:7px 13px; border-radius:7px; transition:.15s; display:flex; align-items:center; gap:6px; cursor:pointer; }
.rl-seg button.on { background:var(--bg-card-hover,#1b1b1f); color:var(--text,#fafafa); }
.rl-seg svg { width:13px; height:13px; }

.rl-cards { display:grid; gap:18px; }
.rl-list { display:grid; gap:10px; }
.rl-home[data-view="list"] .rl-cards { display:none; }
.rl-home:not([data-view="list"]) .rl-list { display:none; }

/* ── monogram tile (falls back to brand-avatar from account.css when used) ─ */
.rl-mono-tile { width:46px; height:46px; border-radius:12px; flex:none; display:grid; place-items:center;
  font-weight:700; font-size:1.15rem; color:#0a0a0a; background:linear-gradient(135deg,#eaffa0,var(--accent,#c8ff00)); }
.rl-mono-tile--alt { background:linear-gradient(135deg,#3f3f46,#27272a); color:#e4e4e7; }
.rl-mono-tile--lg { width:58px; height:58px; border-radius:15px; font-size:1.5rem; }
.rl-url { font-family:var(--mono,monospace); font-size:.74rem; color:var(--text-faint,#71717a); }
.rl-chip-mini { display:inline-flex; align-items:center; gap:6px; font-family:var(--mono,monospace); font-size:.62rem;
  color:var(--text-muted,#a1a1aa); border:1px solid var(--border,#27272a); border-radius:999px; padding:3px 10px; }

/* ── signal card ───────────────────────────────────────────────────────── */
.rl-signal { position:relative; overflow:hidden; text-align:left; width:100%; display:block; cursor:pointer;
  background:linear-gradient(158deg,#191a1d 0%,var(--bg-card,#141416) 46%,#101012 100%);
  border:1px solid var(--border-light,#3f3f46); border-radius:22px; padding:24px 26px 20px; transition:.2s; color:inherit; }
.rl-signal::after { content:""; position:absolute; left:0; right:0; top:0; height:1px;
  background:linear-gradient(90deg,transparent,rgba(200,255,0,.5),transparent); }
.rl-signal:hover { transform:translateY(-3px); box-shadow:0 26px 60px -30px rgba(0,0,0,.95), 0 0 0 1px rgba(200,255,0,.14); }
.rl-signal__rings { position:absolute; top:-90px; right:-70px; width:340px; height:340px; pointer-events:none; opacity:.5; }
.rl-signal__head { display:flex; align-items:flex-start; gap:14px; position:relative; }
.rl-signal__idname { display:flex; align-items:center; gap:9px; font-size:1.22rem; font-weight:600; }
.rl-signal__meta { margin-left:auto; text-align:right; display:flex; flex-direction:column; gap:6px; align-items:flex-end; }
.rl-signal--sec { background:linear-gradient(158deg,#151517,var(--bg-card,#141416)); border-color:var(--border,#27272a); }
.rl-signal--sec .rl-readout__val { font-size:2.5rem; }
.rl-signal--sec .rl-signal__rings { display:none; }

.rl-readout { display:flex; align-items:center; gap:22px; margin:20px 0 6px; position:relative; }
.rl-readout__num { flex:none; }
.rl-readout__val { font-size:3.3rem; font-weight:700; letter-spacing:-.04em; line-height:.92; margin-top:6px;
  display:flex; align-items:baseline; gap:10px; text-shadow:0 0 44px rgba(200,255,0,.10); }
.rl-readout__val .pct { font-size:1.3rem; color:var(--text-muted,#a1a1aa); font-weight:600; }
.rl-readout__val.muted { color:var(--text-faint,#71717a); text-shadow:none; }
.rl-readout__pending { font-size:.8rem; font-family:var(--mono,monospace); color:var(--rl-blue); align-self:center; }
.rl-readout__cap { font-size:.86rem; color:var(--text-muted,#a1a1aa); margin-top:10px; max-width:34ch; }
.rl-readout__wave { flex:1; min-width:0; }
.rl-readout__wave svg { width:100%; height:auto; display:block; }

/* ── journey track + pin ───────────────────────────────────────────────── */
.rl-track { position:relative; margin:20px 0 4px; }
.rl-track__nodes { position:relative; display:grid; grid-template-columns:repeat(4,1fr); padding-top:26px; }
.rl-track__nodes::before { content:""; position:absolute; top:calc(26px + 13px); left:12.5%; right:12.5%; height:2px;
  background:var(--border,#27272a); border-radius:2px; }
.rl-track__fill { position:absolute; top:calc(26px + 13px); height:2px; background:var(--accent,#c8ff00); border-radius:2px;
  box-shadow:0 0 8px rgba(200,255,0,.5); z-index:1; }
.rl-stop { position:relative; display:flex; flex-direction:column; align-items:center; gap:9px; }
.rl-node { width:26px; height:26px; border-radius:50%; display:grid; place-items:center; position:relative; z-index:2;
  font-family:var(--mono,monospace); font-size:.72rem; font-weight:600; background:var(--bg-card-hover,#1b1b1f);
  border:2px solid var(--border-light,#3f3f46); color:var(--text-faint,#71717a); }
.rl-stop.done .rl-node { background:var(--accent,#c8ff00); border-color:var(--accent,#c8ff00); color:#0a0a0a; }
.rl-stop.is-active.you .rl-node { border-color:var(--rl-amber); color:var(--rl-amber); background:rgba(250,204,21,.08); }
.rl-stop.is-active.working .rl-node { border-color:var(--rl-blue); color:var(--rl-blue); background:rgba(56,189,248,.08); }
.rl-stop.is-active .rl-node { box-shadow:0 0 0 4px rgba(200,255,0,.10); }
.rl-stop__lbl { font-family:var(--mono,monospace); font-size:.62rem; text-transform:uppercase; letter-spacing:.07em; color:var(--text-faint,#71717a); }
.rl-stop.done .rl-stop__lbl, .rl-stop.is-active .rl-stop__lbl { color:var(--text-secondary,#e4e4e7); }
.rl-pin { position:absolute; top:-2px; left:50%; transform:translateX(-50%); z-index:4; line-height:0; filter:drop-shadow(0 3px 6px rgba(0,0,0,.6)); }
.rl-pin svg { display:block; }
@keyframes rl-pinbob { 0%,100%{transform:translateX(-50%) translateY(0)} 50%{transform:translateX(-50%) translateY(-3px)} }
.rl-pin { animation:rl-pinbob 2.4s ease-in-out infinite; }
@keyframes rl-ringpulse { 0%{box-shadow:0 0 0 0 rgba(200,255,0,.22)} 70%{box-shadow:0 0 0 9px rgba(200,255,0,0)} 100%{box-shadow:0 0 0 0 rgba(200,255,0,0)} }
.rl-stop.is-active .rl-node { animation:rl-ringpulse 2.4s ease-out infinite; }
@media (prefers-reduced-motion: reduce) { .rl-pin, .rl-stop.is-active .rl-node { animation:none; } }

/* ── card footer: collaborators + cta ──────────────────────────────────── */
.rl-signal__foot { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
  margin-top:18px; padding-top:16px; border-top:1px solid var(--border,#27272a); }
.rl-collab { display:flex; align-items:center; gap:11px; }
.rl-collab__lbl { font-family:var(--mono,monospace); font-size:.6rem; text-transform:uppercase; letter-spacing:.1em; color:var(--text-muted,#a1a1aa); }
.rl-avstack { display:flex; }
.rl-av { width:29px; height:29px; border-radius:50%; display:grid; place-items:center; font-size:.64rem; font-weight:700;
  color:#0a0a0a; border:2px solid var(--bg-card,#141416); margin-left:-8px; font-family:var(--mono,monospace); }
.rl-av:first-child { margin-left:0; }
.rl-av--more { background:var(--bg-card-hover,#1b1b1f); color:var(--text-muted,#a1a1aa); }
.rl-av--you { box-shadow:0 0 0 2px var(--accent,#c8ff00); }
.rl-sharebtn { display:inline-flex; align-items:center; gap:6px; font-size:.78rem; font-weight:500; color:var(--text-secondary,#e4e4e7);
  background:none; border:1px dashed var(--border-light,#3f3f46); border-radius:999px; padding:6px 12px; transition:.15s; cursor:pointer; }
.rl-sharebtn:hover { border-color:var(--accent,#c8ff00); color:var(--accent,#c8ff00); border-style:solid; }
.rl-sharebtn svg { width:13px; height:13px; }
.rl-ctaline { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.rl-now { font-size:.9rem; color:var(--text-secondary,#e4e4e7); } .rl-now b { color:var(--text,#fafafa); font-weight:600; }
.rl-cta { display:inline-flex; align-items:center; gap:7px; background:var(--accent,#c8ff00); color:#0a0a0a; font-weight:600;
  font-size:.9rem; padding:10px 17px; border-radius:11px; border:none; transition:.15s; }
.rl-cta--ghost { background:var(--bg-card,#141416); color:var(--text,#fafafa); border:1px solid var(--border-light,#3f3f46); }
.rl-signal:hover .rl-cta { gap:10px; }

/* ── start-new tile ────────────────────────────────────────────────────── */
.rl-newtile { display:flex; align-items:center; gap:14px; width:100%; text-align:left; cursor:pointer;
  border:1px dashed var(--border-light,#3f3f46); border-radius:18px; padding:18px 22px; background:none; color:inherit; transition:.15s; }
.rl-newtile:hover { border-color:var(--accent,#c8ff00); background:rgba(200,255,0,.03); }
.rl-newtile .rl-mono-tile { background:var(--bg-card-hover,#1b1b1f); color:var(--accent,#c8ff00); border:1px dashed var(--border-light,#3f3f46); }
.rl-newtile__t { font-size:1.02rem; font-weight:600; }

/* ── list rows ─────────────────────────────────────────────────────────── */
.rl-row { display:grid; grid-template-columns:auto 1.5fr 1.6fr auto auto; align-items:center; gap:16px; width:100%; text-align:left;
  background:var(--bg-card,#141416); border:1px solid var(--border,#27272a); border-radius:14px; padding:15px 18px; transition:.15s; cursor:pointer; color:inherit; }
.rl-row:hover { border-color:var(--border-light,#3f3f46); background:var(--bg-card-hover,#1b1b1f); }
.rl-row__id { display:flex; align-items:center; gap:12px; min-width:0; }
.rl-row__name { font-weight:600; font-size:.98rem; display:flex; align-items:center; gap:8px; }
.rl-row .rl-track { margin:0; }
.rl-track--sm .rl-track__nodes { padding-top:20px; }
.rl-track--sm .rl-node { width:20px; height:20px; font-size:.6rem; border-width:2px; }
.rl-track--sm .rl-track__nodes::before, .rl-track--sm .rl-track__fill { top:calc(20px + 10px); }
.rl-track--sm .rl-stop__lbl { display:none; }
.rl-track--sm .rl-pin svg { width:15px; height:15px; }
.rl-row__vis { text-align:right; }
.rl-row__vis .n { font-size:1.4rem; font-weight:700; letter-spacing:-.03em; }
.rl-row__vis .l { font-family:var(--mono,monospace); font-size:.55rem; text-transform:uppercase; letter-spacing:.1em; color:var(--text-muted,#a1a1aa); }
.rl-row__go { width:34px; height:34px; border-radius:9px; border:1px solid var(--border-light,#3f3f46); background:var(--bg-card,#141416);
  display:grid; place-items:center; color:var(--text-secondary,#e4e4e7); transition:.15s; }
.rl-row:hover .rl-row__go { border-color:var(--accent,#c8ff00); color:var(--accent,#c8ff00); }

/* ── empty state ───────────────────────────────────────────────────────── */
.rl-empty { position:relative; border:1px solid var(--border-light,#3f3f46); border-radius:24px; overflow:hidden;
  background:linear-gradient(180deg,#17181a,var(--bg-secondary,#0f0f11)); padding:56px 40px; }
.rl-empty__rings { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:640px; height:640px; opacity:.4; pointer-events:none; }
.rl-empty__in { position:relative; max-width:54ch; margin:0 auto; text-align:center; }
.rl-empty h1 { font-size:2.9rem; margin:16px 0 0; letter-spacing:-.04em; }
.rl-empty h1 em { font-style:normal; color:var(--accent,#c8ff00); text-shadow:0 0 34px rgba(200,255,0,.10); }
.rl-empty p { color:var(--text-muted,#a1a1aa); margin:16px auto 0; font-size:1.02rem; }
.rl-empty__engines { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin-top:22px; }
.rl-chip { font-family:var(--mono,monospace); font-size:.72rem; color:var(--text-secondary,#e4e4e7); border:1px solid var(--border-light,#3f3f46);
  border-radius:999px; padding:6px 13px; background:rgba(255,255,255,.02); }
.rl-empty__cta { display:inline-flex; align-items:center; gap:9px; margin-top:30px; background:var(--accent,#c8ff00); color:#0a0a0a;
  font-weight:600; font-size:1rem; padding:13px 24px; border-radius:12px; border:none; transition:.15s; }
.rl-empty__cta:hover { transform:translateY(-2px); box-shadow:0 16px 34px -16px var(--accent,#c8ff00); }
.rl-empty__sub { margin-top:16px; font-size:.82rem; color:var(--text-faint,#71717a); }
.rl-empty__sub a { color:var(--text-muted,#a1a1aa); text-decoration:underline; text-underline-offset:3px; }

/* ── CRAWL HUB ─────────────────────────────────────────────────────────── */
.rl-back { display:inline-flex; align-items:center; gap:7px; font-family:var(--mono,monospace); font-size:.72rem; text-transform:uppercase;
  letter-spacing:.1em; color:var(--text-muted,#a1a1aa); margin-bottom:18px; background:none; border:none; cursor:pointer; }
.rl-back:hover { color:var(--text,#fafafa); }
.rl-opbar { display:none; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:20px; font-size:.86rem; color:var(--text-secondary,#e4e4e7);
  background:linear-gradient(180deg,rgba(250,204,21,.09),rgba(250,204,21,.03)); border:1px solid rgba(250,204,21,.32); border-radius:12px; padding:12px 16px; }
.rl-hub.is-operator .rl-opbar { display:flex; }
.rl-opbar__tag { font-family:var(--mono,monospace); font-size:.6rem; text-transform:uppercase; letter-spacing:.1em; color:#0a0a0a;
  background:var(--rl-amber); padding:4px 9px; border-radius:999px; font-weight:700; }
.rl-opbar b { color:var(--text,#fafafa); }
.rl-opbar__actions { margin-left:auto; display:flex; gap:8px; flex-wrap:wrap; }
.rl-opbar__actions a { font-size:.8rem; font-weight:600; border-radius:9px; padding:7px 13px; border:1px solid rgba(250,204,21,.4); background:none; color:var(--rl-amber); }
.rl-opbar__cta { background:var(--rl-amber); color:#0a0a0a; }
.rl-hubhead { display:flex; align-items:flex-start; gap:20px; flex-wrap:wrap; }
.rl-hubhead__id { display:flex; align-items:center; gap:15px; }
.rl-hubhead h1 { font-size:1.75rem; margin:0; }
.rl-hubvis { margin-left:auto; text-align:right; }
.rl-hubvis .n { font-size:3rem; font-weight:700; letter-spacing:-.04em; line-height:.9; text-shadow:0 0 40px rgba(200,255,0,.10); }
.rl-hubvis .lbl { font-family:var(--mono,monospace); font-size:.62rem; text-transform:uppercase; letter-spacing:.12em; color:var(--text-muted,#a1a1aa); margin-top:6px; }
.rl-hubbar { display:flex; align-items:center; gap:18px; flex-wrap:wrap; margin:18px 0 0; }
.rl-hubbar .rl-track { flex:1; min-width:300px; margin:0; }
.rl-serieswrap { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:16px 0 0; padding:14px 0 0; border-top:1px dashed var(--border,#27272a); }
.rl-series { display:flex; align-items:center; flex-wrap:wrap; }
.rl-series__lbl { font-family:var(--mono,monospace); font-size:.6rem; text-transform:uppercase; letter-spacing:.1em; color:var(--text-muted,#a1a1aa); margin-right:12px; }
.rl-scy { display:flex; flex-direction:column; align-items:center; gap:6px; padding:0; background:none; border:none; text-decoration:none; cursor:pointer; }
.rl-scy__node { padding:7px 13px; border-radius:10px; border:1px solid var(--border-light,#3f3f46); background:var(--bg-card,#141416);
  font-family:var(--mono,monospace); font-size:.72rem; color:var(--text-secondary,#e4e4e7); display:flex; align-items:center; gap:8px; transition:.15s; white-space:nowrap; }
.rl-scy:hover .rl-scy__node { border-color:var(--accent,#c8ff00); color:var(--text,#fafafa); transform:translateY(-1px); }
.rl-scy.is-current .rl-scy__node { border-color:var(--accent,#c8ff00); background:rgba(200,255,0,.12); color:var(--accent,#c8ff00); }
.rl-scy__vis { font-weight:700; }
.rl-scy__lbl { font-family:var(--mono,monospace); font-size:.54rem; text-transform:uppercase; letter-spacing:.08em; color:var(--text-faint,#71717a); }
.rl-scy.is-current .rl-scy__lbl { color:var(--accent,#c8ff00); }
.rl-sconn { width:24px; height:2px; background:var(--border-light,#3f3f46); flex:none; margin-top:-15px; }
.rl-scy--new .rl-scy__node { border-style:dashed; color:var(--accent,#c8ff00); }
.rl-opnote { font-family:var(--mono,monospace); font-size:.62rem; color:var(--rl-amber); display:none; margin-left:14px; }
.rl-hub.is-operator .rl-opnote { display:inline; }
.rl-metaline { display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin:16px 0 4px; padding-bottom:22px;
  border-bottom:1px solid var(--border,#27272a); font-family:var(--mono,monospace); font-size:.72rem; color:var(--text-muted,#a1a1aa); }
.rl-metaline .sep { width:3px; height:3px; border-radius:50%; background:var(--border-light,#3f3f46); }

.rl-sec { position:relative; border-top:1px solid var(--border,#27272a); padding:32px 0; }
.rl-sec:first-of-type { border-top:none; }
.rl-sec__head { display:flex; align-items:center; gap:16px; margin-bottom:18px; }
.rl-sec__num { font-family:var(--mono,monospace); font-size:2.3rem; font-weight:700; line-height:1; color:transparent;
  -webkit-text-stroke:1px var(--border-light,#3f3f46); letter-spacing:-.04em; }
.rl-sec__titles { flex:1; } .rl-sec__titles h2 { font-size:1.32rem; margin:0; } .rl-sec__titles .rl-eyebrow { margin-bottom:5px; display:block; }
.rl-sec__state { display:flex; align-items:center; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.rl-sec__open { display:inline-flex; align-items:center; gap:7px; font-size:.86rem; font-weight:600; color:#0a0a0a; background:var(--accent,#c8ff00);
  border:1px solid var(--accent,#c8ff00); padding:8px 14px; border-radius:10px; transition:.15s; }
.rl-sec__open:hover { gap:10px; }
.rl-sec__op { display:none; align-items:center; gap:6px; font-size:.84rem; font-weight:600; color:var(--rl-amber);
  border:1px solid rgba(250,204,21,.4); background:none; padding:8px 13px; border-radius:10px; transition:.15s; }
.rl-sec__op:hover { background:rgba(250,204,21,.1); }
.rl-hub.is-operator .rl-sec__op { display:inline-flex; }
.rl-sec__body { display:grid; gap:14px; }

.rl-review { display:flex; align-items:center; gap:14px; flex-wrap:wrap; background:linear-gradient(180deg,var(--bg-card-hover,#1b1b1f),var(--bg-card,#141416));
  border:1px solid var(--border-light,#3f3f46); border-radius:13px; padding:14px 16px; }
.rl-review__ic { width:34px; height:34px; border-radius:9px; flex:none; display:grid; place-items:center; background:var(--bg-card,#141416); border:1px solid var(--border-light,#3f3f46); color:var(--accent,#c8ff00); }
.rl-review__ic svg { width:17px; height:17px; }
.rl-review__t { font-size:.92rem; font-weight:600; } .rl-review__s { font-size:.8rem; color:var(--text-muted,#a1a1aa); margin-top:2px; }
.rl-review__meta { margin-left:auto; display:flex; align-items:center; gap:9px; }
.rl-notecount { font-family:var(--mono,monospace); font-size:.7rem; color:var(--rl-amber); background:rgba(250,204,21,.12); border-radius:999px; padding:4px 10px; }

.rl-panel { background:var(--bg-card,#141416); border:1px solid var(--border,#27272a); border-radius:14px; padding:18px; }
.rl-statrow { display:grid; gap:12px; grid-template-columns:repeat(4,1fr); }
.rl-stat { background:var(--bg-card,#141416); border:1px solid var(--border,#27272a); border-radius:12px; padding:13px 15px; }
.rl-stat .k { font-family:var(--mono,monospace); font-size:.6rem; text-transform:uppercase; letter-spacing:.1em; color:var(--text-muted,#a1a1aa); }
.rl-stat .v { font-size:1.45rem; font-weight:700; letter-spacing:-.03em; margin-top:6px; line-height:1; }
.rl-stat .s { font-size:.74rem; color:var(--text-faint,#71717a); margin-top:4px; }
.rl-stat--hero { background:linear-gradient(180deg,var(--bg-card-hover,#1b1b1f),var(--bg-card,#141416)); border-color:var(--border-light,#3f3f46); }
.rl-stat--hero .v { color:var(--accent,#c8ff00); }
.rl-grid2 { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.rl-plabel { font-family:var(--mono,monospace); font-size:.62rem; text-transform:uppercase; letter-spacing:.1em; color:var(--text-muted,#a1a1aa); margin-bottom:13px; }
.rl-hbars { display:grid; gap:9px; }
.rl-hbar { display:grid; grid-template-columns:118px 1fr 40px; align-items:center; gap:10px; font-size:.82rem; }
.rl-hbar__name { color:var(--text-secondary,#e4e4e7); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rl-hbar__name.focal { color:var(--accent,#c8ff00); font-weight:600; }
.rl-hbar__track { height:10px; background:var(--border,#27272a); border-radius:5px; overflow:hidden; }
.rl-hbar__fill { height:100%; border-radius:5px; background:var(--border-light,#3f3f46); }
.rl-hbar__fill.focal { background:var(--accent,#c8ff00); }
.rl-hbar__val { font-family:var(--mono,monospace); text-align:right; color:var(--text-muted,#a1a1aa); font-size:.78rem; }
.rl-hbar__val.focal { color:var(--accent,#c8ff00); }
.rl-trend svg { width:100%; height:auto; display:block; }
.rl-engines { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.rl-engc { background:var(--bg-card-hover,#1b1b1f); border:1px solid var(--border,#27272a); border-radius:10px; padding:11px; text-align:center; }
.rl-engc__name { font-family:var(--mono,monospace); font-size:.62rem; text-transform:uppercase; letter-spacing:.08em; color:var(--text-muted,#a1a1aa); }
.rl-engc__pct { font-size:1.2rem; font-weight:700; margin:7px 0 8px; }
.rl-engc__track { height:5px; background:var(--border,#27272a); border-radius:3px; overflow:hidden; }
.rl-engc__fill { height:100%; background:var(--accent,#c8ff00); border-radius:3px; }
.rl-progline { display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.rl-progline__bar { flex:1; height:8px; background:var(--border,#27272a); border-radius:4px; overflow:hidden; }
.rl-progline__fill { height:100%; background:var(--accent,#c8ff00); border-radius:4px; }
.rl-progline__lbl { font-family:var(--mono,monospace); font-size:.76rem; color:var(--text-secondary,#e4e4e7); white-space:nowrap; }
.rl-crawlers { display:flex; flex-wrap:wrap; gap:8px; }
.rl-crawler { display:flex; align-items:center; gap:7px; font-family:var(--mono,monospace); font-size:.72rem; border:1px solid var(--border,#27272a); border-radius:8px; padding:6px 10px; color:var(--text-secondary,#e4e4e7); }
.rl-cdot { width:6px; height:6px; border-radius:50%; flex:none; }
.rl-cdot--ok { background:var(--accent,#c8ff00); } .rl-cdot--no { background:var(--rl-red); }
.rl-databand { margin-top:22px; background:linear-gradient(180deg,var(--bg-card,#141416),var(--bg-secondary,#0f0f11)); border:1px solid var(--border,#27272a); border-radius:16px; padding:22px; }
.rl-databand h3 { font-size:1.05rem; margin:8px 0 0; } .rl-databand > p { color:var(--text-muted,#a1a1aa); font-size:.9rem; margin-top:6px; max-width:58ch; }
.rl-dbgrid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:16px; }
.rl-dbcard { display:flex; gap:13px; align-items:center; background:var(--bg-card,#141416); border:1px solid var(--border,#27272a); border-radius:12px; padding:15px; transition:.15s; }
.rl-dbcard:hover { border-color:var(--border-light,#3f3f46); transform:translateY(-2px); }
.rl-dbcard__ic { width:38px; height:38px; border-radius:10px; flex:none; display:grid; place-items:center; background:var(--bg-card-hover,#1b1b1f); border:1px solid var(--border-light,#3f3f46); }
.rl-dbcard__ic .dot { width:11px; height:11px; border-radius:3px; background:var(--accent,#c8ff00); box-shadow:0 0 10px var(--accent,#c8ff00); }
.rl-dbcard__t { font-weight:600; font-size:.95rem; display:flex; align-items:center; gap:6px; } .rl-dbcard__d { font-size:.78rem; color:var(--text-muted,#a1a1aa); margin-top:2px; }
.rl-ext { color:var(--text-faint,#71717a); font-size:.9rem; }

@media (max-width:720px) {
  .rl-readout { flex-wrap:wrap; gap:12px; } .rl-readout__wave { width:100%; flex:1 0 100%; } .rl-readout__val { font-size:2.7rem; }
  .rl-signal__foot { flex-direction:column; align-items:stretch; }
  .rl-statrow, .rl-grid2, .rl-dbgrid, .rl-engines { grid-template-columns:1fr 1fr; }
  .rl-hubvis { margin-left:0; text-align:left; width:100%; } .rl-hubvis .n { font-size:2.4rem; }
  .rl-empty h1 { font-size:2.1rem; }
  .rl-row { grid-template-columns:auto 1fr auto; gap:12px; } .rl-row .rl-track, .rl-row .rl-avstack { display:none; }
  .rl-hbar { grid-template-columns:90px 1fr 36px; }
}
