/* =========================================================
   Beyond Lightspeed — Rubrique Renseignement (refonte du 2026-10-06)
   Même gabarit que les rubriques Systèmes, Flottes, Radars, Relations et
   Journal, dont elle reprend les classes communes : compteurs .jn-stat,
   liste .jn-sidebar / .jn-list, cartes .flt-item (JournalItem, cartes à
   portrait .lt-item), bandeau .fdh (JournalHero, .lth pour un espion),
   encarts .ovp, surfaces .ovs, tuiles .sch-tile, onglets .gtabs, table .rdt.
   Ne figure ici que ce qui est propre à la rubrique (préfixe rs-).
   Elle remplace intel.css, retirée avec l’ancienne page.
   ========================================================= */

/* ── Tons ── */
.rs-tone--green { --rs-tone: var(--color-accent-green); color: var(--color-accent-green); }
.rs-tone--lime { --rs-tone: #a3e635; color: #a3e635; }
.rs-tone--amber { --rs-tone: var(--color-accent-amber); color: var(--color-accent-amber); }
.rs-tone--orange { --rs-tone: #ff9100; color: #ff9100; }
.rs-tone--red { --rs-tone: var(--color-accent-red); color: #ff8a9b; }
.rs-tone--purple { --rs-tone: var(--color-accent-purple); color: var(--color-accent-purple); }
.rs-tone--cyan { --rs-tone: var(--color-accent-cyan); color: var(--color-accent-cyan); }
.rs-tone--gold { --rs-tone: #ffd166; color: #ffd166; }
.rs-tone--muted { --rs-tone: var(--color-text-muted); color: var(--color-text-muted); }
.rs-muted { color: var(--color-text-muted); }
.fdh.jnh.jn-accent--muted { --jn-accent: var(--color-text-muted); }

/* ── Textes ── */
.rs-text { margin: 0; color: var(--color-text-primary); font-size: var(--text-sm); line-height: 1.5; }
.rs-text strong { color: var(--color-text-bright); }
.rs-text.rs-tone--red,
.rs-text.rs-tone--amber,
.rs-text.rs-tone--green { color: var(--rs-tone); }
.rs-flavor {
    margin: 0;
    padding-left: 12px;
    border-left: 2px solid rgba(180, 124, 255, 0.35);
    color: var(--color-text-secondary);
    font-size: var(--text-sm);
    font-style: italic;
    line-height: 1.5;
}
.rs-badge {
    display: inline-block;
    margin-left: 6px;
    padding: 1px 8px;
    border-radius: 9px;
    border: 1px solid color-mix(in srgb, var(--rs-tone, var(--color-accent-cyan)) 45%, transparent);
    background: color-mix(in srgb, var(--rs-tone, var(--color-accent-cyan)) 10%, transparent);
    font-size: var(--text-xs);
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: none;
    white-space: nowrap;
}
.ovs.rs-warn {
    --ovs-accent: var(--color-accent-amber);
    margin: 0;
    color: var(--color-text-primary);
    font-size: var(--text-sm);
    line-height: 1.5;
}
.rs-warn strong { color: var(--color-accent-amber); }
.rs-effects { display: grid; gap: 3px; margin: 0; padding-left: 18px; color: var(--color-text-secondary); font-size: var(--text-xs); line-height: 1.45; }
.rs-facts { display: grid; gap: 0; margin: 0; }
.rs-facts > div {
    display: grid;
    grid-template-columns: minmax(120px, 34%) 1fr;
    gap: 10px;
    padding: 6px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    font-size: var(--text-xs);
}
.rs-facts > div:last-child { border-bottom: 0; }
.rs-facts dt { color: var(--color-text-label); }
.rs-facts dd { margin: 0; color: var(--color-text-primary); line-height: 1.4; }

/* ── Jauge de difficulté ── */
.rs-diff { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.rs-diff__pips { display: inline-flex; gap: 2px; }
.rs-diff__pip { width: 7px; height: 10px; border-radius: 2px; background: rgba(255, 255, 255, 0.1); }
.rs-diff__pip.is-on { background: var(--rs-tone); box-shadow: 0 0 6px color-mix(in srgb, var(--rs-tone) 50%, transparent); }
.rs-diff__label { font-size: var(--text-xs); font-weight: 700; }

/* ── Implantation et paliers ── */
.rs-implant { display: flex; align-items: center; gap: 8px; flex: 1; min-width: 140px; }
.sch-meter.rs-implant__meter { flex: 1; height: 8px; }
.rs-implant__meter::-webkit-meter-optimum-value { background: linear-gradient(90deg, rgba(180, 124, 255, 0.45), var(--color-accent-purple)); }
.rs-implant__meter::-moz-meter-bar { background: var(--color-accent-purple); }
.rs-implant.is-suspended .rs-implant__meter::-webkit-meter-optimum-value { background: var(--color-text-muted); }
.rs-implant.is-suspended .rs-implant__meter::-moz-meter-bar { background: var(--color-text-muted); }
.rs-implant__value { color: var(--color-accent-purple); font-family: var(--font-mono); font-size: var(--text-sm); }
.rs-implant.is-suspended .rs-implant__value { color: var(--color-text-muted); }
.rs-ladder { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 4px; margin: 0; padding: 0; list-style: none; }
.rs-ladder__step {
    display: grid;
    gap: 1px;
    padding: 5px 6px;
    border-radius: 6px;
    border: 1px solid rgba(255, 255, 255, 0.07);
    background: rgba(0, 0, 0, 0.25);
    color: var(--color-text-muted);
    text-align: center;
}
.rs-ladder__step.is-reached {
    border-color: rgba(180, 124, 255, 0.45);
    background: linear-gradient(180deg, rgba(180, 124, 255, 0.18), rgba(180, 124, 255, 0.04));
    color: var(--color-text-bright);
}
.rs-ladder__seuil { font-family: var(--font-mono); font-size: var(--text-xs); color: var(--color-text-label); }
.rs-ladder__step.is-reached .rs-ladder__seuil { color: var(--color-accent-purple); }
.rs-ladder__label { font-size: var(--text-xs); font-weight: 700; overflow-wrap: anywhere; }

/* ── Axes politiques ── */
.rs-axes { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 140px), 1fr)); gap: 10px; }
.ovs.sch-tile.rs-axis { --sch-accent: var(--color-text-muted); }
.ovs.sch-tile.rs-axis--green { --sch-accent: var(--color-accent-green); }
.ovs.sch-tile.rs-axis--amber { --sch-accent: var(--color-accent-amber); }
.ovs.sch-tile.rs-axis--orange { --sch-accent: #ff9100; }
.ovs.sch-tile.rs-axis--red { --sch-accent: var(--color-accent-red); }
.rs-axis .sch-tile__value { color: var(--sch-accent); font-size: 1.5rem; }
.rs-axis.is-unknown .sch-tile__value { color: #5a6b85; }
.sch-meter.rs-axis__meter { height: 6px; }
.rs-axis--orange .rs-axis__meter::-webkit-meter-suboptimum-value { background: linear-gradient(90deg, rgba(255, 145, 0, 0.45), #ff9100); }
.rs-axis__hatch {
    display: block;
    height: 6px;
    border-radius: 3px;
    background: repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.1) 0 4px, transparent 4px 8px);
}
.rs-axis__poles { display: flex; justify-content: space-between; gap: 8px; color: var(--color-text-muted); font-size: var(--text-xs); }

/* ── Opportunités : filtres, liste, bandeau ── */
.rs-filters { display: grid; gap: 8px; }
.rs-filters__selects { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.rs-filters__selects .form-input { width: 100%; padding: 5px 8px; font-size: var(--text-xs); }
.rs-filters__foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.rs-filters__count { color: var(--color-text-label); font-family: var(--font-mono); font-size: var(--text-xs); }
.jn-filters--bar.rs-filters { grid-template-columns: minmax(200px, 1fr) minmax(0, 3fr) auto; align-items: center; }
.jn-filters--bar .rs-filters__selects { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.jn-filters--bar .rs-filters__foot { justify-content: flex-end; }
@container sheet (max-width: 700px) {
    .jn-filters--bar.rs-filters { grid-template-columns: 1fr; }
    .jn-filters--bar .rs-filters__selects { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.flt-item.jn-item.rs-item--settled { opacity: 0.72; }
.flt-item.jn-item.rs-item--settled.is-selected { opacity: 1; }
.rs-hero-line { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin-top: 6px; }
.rs-hero-line__label { color: var(--color-text-bright); font-size: var(--text-sm); }
.rs-discretion {
    padding: 1px 8px;
    border-radius: 9px;
    border: 1px solid rgba(134, 239, 172, 0.4);
    color: #86efac;
    font-size: var(--text-xs);
    font-weight: 700;
}
.rs-discretion.is-alert { border-color: rgba(255, 179, 0, 0.45); color: var(--color-accent-amber); }
.ovs.rs-discretion-box { --ovs-accent: #86efac; }
.ovs.rs-discretion-box.is-alert { --ovs-accent: var(--color-accent-amber); }

/* ── Opportunités : logistique et engagement ── */
.rs-costs { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 120px), 1fr)); gap: 8px; }
.ovs.sch-tile.rs-cost { --sch-accent: var(--rs-tone, var(--color-accent-purple)); color: inherit; }
.rs-cost .sch-tile__value { font-size: 1.3rem; }
.rs-cost .sch-tile__label { color: var(--color-text-secondary); }
.ovs.rs-slider { display: grid; gap: 6px; }
.rs-slider .ovs__title { margin-bottom: 0; }
.rs-slider input[type="range"] { width: 100%; accent-color: var(--color-accent-purple); }
.rs-slider__scale { display: flex; justify-content: space-between; color: var(--color-text-label); font-family: var(--font-mono); font-size: var(--text-xs); }
.ovs.rs-post { display: grid; gap: 6px; }
.rs-post .ovs__title { margin-bottom: 0; }
.ovs.rs-engaged { --ovs-accent: var(--color-accent-amber); display: grid; gap: 6px; justify-items: start; }
.rs-engaged .ovs__title { margin-bottom: 0; color: var(--color-accent-amber); }
.btn.rs-engage {
    width: 100%;
    padding: 10px 14px;
    border: 0;
    background: linear-gradient(135deg, var(--color-accent-purple), var(--color-accent-cyan));
    color: #03060e;
    font-weight: 800;
    letter-spacing: 0.04em;
}
.btn.rs-engage:disabled { background: #334155; color: var(--color-text-muted); }

/* ── Opportunités : tableau ── */
.rdt.rs-table tbody th { min-width: 200px; }
.rdt tbody tr.rs-row--settled th,
.rdt tbody tr.rs-row--settled td { opacity: 0.7; }

/* ── Nœuds d'arbre ── */
.ovs.rs-node { --ovs-accent: var(--color-text-muted); display: grid; gap: 5px; align-content: start; }
.ovs.rs-node.is-acquis { --ovs-accent: var(--color-accent-green); }
.ovs.rs-node.is-eligible { --ovs-accent: var(--color-accent-amber); }
.ovs.rs-node.is-verrouille { opacity: 0.82; }
.rs-node .ovs__title { margin-bottom: 0; flex-wrap: wrap; }
.rs-node__label { color: var(--color-text-bright); font-size: var(--text-sm); }
.rs-node.is-verrouille .rs-node__label { color: var(--color-text-secondary); }
.rs-node__blocker { margin: 0; color: #ff8a9b; font-size: var(--text-xs); line-height: 1.4; }
.rs-node__surcharge { margin: 0; color: var(--color-accent-amber); font-size: var(--text-xs); line-height: 1.4; }
.rs-nodes { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); gap: 10px; }
.rs-grid { margin: 0; }
.rdt.rs-grid__table tbody th { min-width: 130px; vertical-align: top; }
.rdt.rs-grid__table td { min-width: 170px; vertical-align: top; }
.rs-grid__role { color: var(--color-text-bright); font-weight: 700; text-transform: capitalize; }
.rs-grid__cell { display: table-cell; }
.rs-grid__cell .rs-effects { padding-left: 14px; margin-top: 3px; }
.rs-grid__cell .rs-node__blocker,
.rs-grid__cell .rs-node__surcharge,
.rs-grid__cell .rs-flavor { margin-top: 3px; font-size: var(--text-xs); }
.rs-grid__cell.is-verrouille { opacity: 0.8; }
.rs-grid__node { display: flex; align-items: baseline; gap: 6px; font-weight: 700; }
.rs-grid__dot {
    flex-shrink: 0;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--rs-tone);
    box-shadow: 0 0 6px color-mix(in srgb, var(--rs-tone) 60%, transparent);
}

/* ── Empires : réseaux, journal ── */
.rs-networks { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: 10px; }
.ovs.rs-network { --ovs-accent: var(--color-accent-purple); display: grid; gap: 9px; align-content: start; }
.ovs.rs-network.is-suspended { --ovs-accent: var(--color-text-muted); }
.rs-network__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; }
.rs-network__name { color: var(--color-text-bright); font-size: var(--text-sm); font-weight: 700; }
.rs-network__pos { color: var(--color-text-label); font-family: var(--font-mono); font-size: var(--text-xs); }
.rs-network__head .rs-badge { margin-left: 0; }
.rs-network__implant { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; }
.rs-network__growth { color: var(--color-text-secondary); font-family: var(--font-mono); font-size: var(--text-xs); }
.rs-network__works .ovs__title { margin-bottom: 4px; }
.rdt-wrap.rs-log { margin: 0; }

/* ── Effets en cours ── */
.ovs.rs-effect { display: flex; gap: 12px; align-items: flex-start; justify-content: space-between; }
.rs-effect__main { display: grid; gap: 4px; min-width: 0; }
.rs-effect__label { color: var(--ovp-accent, var(--color-text-bright)); font-size: var(--text-sm); }
.rs-effect__source { color: var(--color-text-label); font-size: var(--text-xs); }
.rs-effect__time { display: grid; justify-items: end; gap: 2px; flex-shrink: 0; text-align: right; }
.rs-effect__left { color: var(--ovp-accent, var(--color-text-bright)); font-family: var(--font-mono); font-size: 1.05rem; font-weight: 700; white-space: nowrap; }
.rs-effect.is-ending .rs-effect__left { color: var(--color-accent-amber); }
.ovs.rs-effect.is-ending { --ovs-accent: var(--color-accent-amber); }
.rs-effect__until { color: var(--color-text-label); font-size: var(--text-xs); white-space: nowrap; }

/* ── Sécurité intérieure ── */
.rs-missions { display: grid; gap: 8px; }
.ovs.rs-mission { display: grid; gap: 8px; }
.ovs.rs-mission.is-refused { --ovs-accent: var(--color-text-muted); opacity: 0.62; }
.rs-mission__row { display: flex; gap: 14px; align-items: flex-start; justify-content: space-between; }
.rs-mission__main { display: grid; gap: 4px; min-width: 0; }
.rs-mission__label { color: var(--color-text-bright); font-size: var(--text-sm); }
.rs-mission__aside { display: grid; justify-items: end; gap: 4px; flex-shrink: 0; text-align: right; }
.rs-mission__cost { color: var(--color-accent-cyan); font-family: var(--font-mono); font-size: 1rem; font-weight: 700; white-space: nowrap; }
.rs-mission__cost small { color: var(--color-text-muted); font-size: var(--text-xs); font-weight: 500; }
.rs-mission__proba { color: var(--color-text-label); font-size: var(--text-xs); }
.rs-mission__field { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; color: var(--color-text-secondary); font-size: var(--text-xs); }
.rs-mission__field .form-input { width: auto; padding: 4px 8px; font-size: var(--text-xs); }
.rs-sens { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.rs-sens__choice {
    display: grid;
    gap: 3px;
    padding: 8px 10px;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(0, 0, 0, 0.25);
    color: var(--color-text-secondary);
    font: inherit;
    font-size: var(--text-xs);
    line-height: 1.4;
    text-align: left;
    cursor: pointer;
}
.rs-sens__choice strong { color: var(--color-text-primary); font-size: var(--text-sm); }
.rs-sens__choice.is-active { border-color: rgba(180, 124, 255, 0.6); background: rgba(180, 124, 255, 0.14); }
.rs-sens__choice.is-active strong { color: var(--color-accent-purple); }
.ovs.rs-identified { --ovs-accent: var(--color-accent-red); display: grid; gap: 3px; }
.rs-identified .ovs__title { margin-bottom: 0; color: var(--color-text-bright); }
.ovs.rs-turned { --ovs-accent: var(--color-accent-purple); display: grid; gap: 3px; }
.rs-turned > strong { color: var(--color-text-bright); font-size: var(--text-sm); }

/* ── Espions : liste et fiche de la rubrique Lieutenants (lieutenants.css),
   calées sous l'en-tête collant de la page. ── */
.rs-page { --lt-sticky-top: var(--rl-sticky-top, 110px); }

@container sheet (max-width: 600px) {
    .rs-mission__row,
    .ovs.rs-effect { flex-direction: column; }
    .rs-mission__aside,
    .rs-effect__time { justify-items: start; text-align: left; }
    .rs-sens { grid-template-columns: 1fr; }
    .rs-ladder { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .rs-networks { grid-template-columns: 1fr; }
}
