/* =========================================================
   Beyond Lightspeed — Rubrique Radars (refonte du 2026-10-04)
   Même gabarit que les rubriques Systèmes, Flottes et Commerce, dont elle
   reprend les classes communes : onglets .gtabs (components.css) et leurs
   compteurs .gtab__count (commerce.css), encarts .ovp et surfaces .ovs
   (systems.css), cartes de liste .flt-item, filtres .flt-filters, bandeau
   .fdh et boutons d'action .fac-btn (fleets.css), sélecteur de vue
   .ovp-views (systems.css). Ne figure ici que ce qui est propre aux radars
   (préfixes rd-, rdh-, et rdt- pour la vue Tableau).
   ========================================================= */

/* ── Teintes de texte ── */
.rd-tone--green { color: var(--color-accent-green); }
.rd-tone--cyan { color: var(--color-accent-cyan); }
.rd-tone--amber { color: var(--color-accent-amber); }
.rd-tone--red { color: var(--color-accent-red); }
.rd-tone--muted { color: var(--color-text-label); }

/* Nom d'un occupant, à la couleur de sa civilisation (--race-color). */
.rd-owner {
    color: var(--race-color, var(--color-text-primary));
    font-weight: 700;
}

/* ── En-tête de page : points de services spéciaux et quota de missions ── */
.rd-page-header { margin-bottom: 12px; }
.rd-stats { display: flex; flex-wrap: wrap; gap: 8px; }
.rd-stat {
    --rd-stat-accent: var(--color-accent-cyan);
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 6px 12px 6px 8px;
    border-radius: 10px;
    border: 1px solid color-mix(in srgb, var(--rd-stat-accent) 35%, transparent);
    background: linear-gradient(135deg, color-mix(in srgb, var(--rd-stat-accent) 12%, transparent), rgba(0, 0, 0, 0.3));
}
.rd-stat--purple { --rd-stat-accent: var(--color-accent-purple); }
.rd-stat--amber { --rd-stat-accent: var(--color-accent-amber); }
.rd-stat__emblem { flex-shrink: 0; color: var(--rd-stat-accent); }
.rd-stat__body { display: grid; gap: 1px; }
.rd-stat__label {
    color: var(--color-text-label);
    font-size: var(--text-xs);
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}
.rd-stat__value { color: var(--color-text-bright); font-family: var(--font-mono); font-size: var(--text-sm); font-weight: 700; }
.rd-stat__value small { color: var(--color-text-muted); font-weight: 500; }

/* ── Page : onglets, liste latérale et fiche ── */
/* Liste latérale et fiche : gabarit commun (template.css). */
.rd-layout { --tpl-sticky-top: var(--rd-sticky-top, 110px); }
.rd-filters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.form-input.rd-select { width: 100%; min-width: 0; padding: 5px 8px; font-size: var(--text-xs); }
.rd-filters .rd-select:only-child,
.rd-filters .rd-select:nth-child(3) { grid-column: 1 / -1; }
.flt-filter-toggle.rd-intel-toggle.is-active {
    border-color: var(--color-accent-purple);
    background: rgba(180, 124, 255, 0.12);
    color: var(--color-accent-purple);
}
.btn.rd-more { justify-content: center; gap: 6px; margin-top: 4px; font-size: var(--text-xs); }
.rd-more__rest { color: var(--color-text-muted); }

/* ── Cartes de la liste ── */
.rd-item__art--star { background: radial-gradient(circle at 50% 45%, rgba(255, 209, 102, 0.22), rgba(0, 0, 0, 0.35) 70%); border-color: rgba(255, 209, 102, 0.25); }
.rd-item__art--star .game-icon { border-radius: 50%; }
.rd-item__art--fleet { background: radial-gradient(circle at 50% 40%, rgba(255, 179, 0, 0.18), rgba(0, 0, 0, 0.3) 70%); border-color: rgba(255, 179, 0, 0.22); }
.rd-item__art--intra { background: radial-gradient(circle at 50% 40%, rgba(255, 179, 0, 0.18), rgba(0, 0, 0, 0.3) 70%); border-color: rgba(255, 179, 0, 0.22); }
.rd-item__art--inter { background: radial-gradient(circle at 50% 40%, rgba(180, 124, 255, 0.2), rgba(0, 0, 0, 0.3) 70%); border-color: rgba(180, 124, 255, 0.25); }
.flt-item.rd-item.is-alert::before { background: var(--color-accent-red); box-shadow: 0 0 8px var(--color-accent-red); }
.rd-item__owners { display: flex; flex-wrap: wrap; gap: 2px 8px; font-size: var(--text-xs); }
.rd-item__facts {
    display: flex;
    flex-wrap: wrap;
    gap: 2px 10px;
    color: var(--color-text-secondary);
    font-size: var(--text-xs);
}
.rd-item__distance { color: var(--color-accent-cyan); }
.rd-item__network { color: var(--color-accent-purple); font-size: var(--text-xs); }

/* ── Fiche ── */
.rd-sheet { display: grid; gap: 0; }
.rd-panels {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
    gap: 16px;
    align-items: start;
}
.rd-empty {
    display: grid;
    justify-items: center;
    gap: 10px;
    padding: 48px 16px;
    color: var(--color-text-secondary);
    text-align: center;
}
.rd-empty p { margin: 0; }
.rd-confirm { margin: 0; color: var(--color-text-primary); font-size: 14px; line-height: 1.5; }
.rd-confirm strong { color: var(--color-text-bright); }

/* Bandeau : couleur du cadre selon la détection, fond illustré facultatif. */
.fdh.rdh { align-items: center; }
.fdh.rdh--cyan { border-color: rgba(0, 229, 255, 0.3); background: radial-gradient(120% 140% at 100% 0%, rgba(0, 229, 255, 0.14), transparent 60%), linear-gradient(120deg, rgba(10, 16, 32, 0.96), rgba(6, 10, 20, 0.9)); }
.fdh.rdh--amber { border-color: rgba(255, 179, 0, 0.32); background: radial-gradient(120% 140% at 100% 0%, rgba(255, 179, 0, 0.14), transparent 60%), linear-gradient(120deg, rgba(10, 16, 32, 0.96), rgba(6, 10, 20, 0.9)); }
.fdh.rdh--red { border-color: rgba(255, 61, 90, 0.4); background: radial-gradient(120% 140% at 100% 0%, rgba(255, 61, 90, 0.16), transparent 60%), linear-gradient(120deg, rgba(10, 16, 32, 0.96), rgba(6, 10, 20, 0.9)); }
.fdh.rdh--purple { border-color: rgba(180, 124, 255, 0.32); }
.fdh.rdh.has-banner {
    background:
        linear-gradient(90deg, rgba(5, 10, 20, 0.95) 0%, rgba(5, 10, 20, 0.78) 50%, rgba(5, 10, 20, 0.3) 100%),
        var(--rdh-banner) right center / cover;
}
/* L'étoile du système en médaillon : le GIF hérité (32 px) ne supporte pas
   l'agrandissement, un halo lui donne sa présence. */
.rdh-figure {
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    width: 76px;
    height: 76px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 230, 170, 0.32) 0%, rgba(255, 179, 0, 0.12) 40%, transparent 70%);
    box-shadow: inset 0 0 0 1px rgba(255, 209, 102, 0.2);
}
.rdh-figure .game-icon { border-radius: 50%; filter: drop-shadow(0 0 10px rgba(255, 220, 150, 0.7)); }
.rdh-kicker {
    color: var(--color-text-label);
    font-size: var(--text-xs);
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}
.fdh-chip--red { color: var(--color-accent-red); border-color: rgba(255, 61, 90, 0.5); background: rgba(255, 61, 90, 0.1); }
.fdh-chip--purple { color: var(--color-accent-purple); border-color: rgba(180, 124, 255, 0.45); }
.rd-owner.rd-owner--hero { font-size: var(--text-sm); }
.rdh-actions,
.rd-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(150px, auto));
    gap: 6px;
}
.rdh-actions .fac-btn,
.rd-actions .fac-btn { padding: 6px 12px; }
a.fac-btn { text-decoration: none; }

/* Occupants. */
.rd-owners,
.rd-missions,
.rd-moves,
.rd-here,
.rd-slots,
.rd-planet__pops,
.rd-planet__buildings { margin: 0; padding: 0; list-style: none; }
.rd-owners { display: grid; gap: 8px; }
.ovs.rd-owner-card {
    --ovs-accent: var(--race-color, var(--color-accent-amber));
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 2px 10px;
}
.rd-owner-card__name { color: var(--race-color, var(--color-text-bright)); font-weight: 700; }
.rd-owner-card__race { grid-row: 2; color: var(--color-text-secondary); font-size: var(--text-xs); }
.rd-owner-card__planets { grid-row: 1 / span 2; align-self: center; color: var(--color-text-bright); font-family: var(--font-mono); font-size: var(--text-xs); }

/* Renseignement. */
.ovs.rd-view--radar { --ovs-accent: var(--color-text-muted); }
.ovs.rd-view--recon { --ovs-accent: var(--color-accent-cyan); }
.ovs.rd-view--network { --ovs-accent: var(--color-accent-purple); }
.rd-view .ovs__title { margin-bottom: 4px; color: var(--color-text-bright); }
.rd-view__detail { margin: 0; color: var(--color-text-secondary); font-size: var(--text-xs); line-height: 1.45; }
.rd-missions { display: grid; gap: 6px; }
.ovs.rd-mission {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    padding-top: 7px;
    padding-bottom: 7px;
    color: var(--color-text-secondary);
    font-size: var(--text-xs);
}
.rd-mission strong { color: var(--color-text-bright); }

/* Mouvements de vos flottes : le liseré dit la nature de l'ordre. */
.rd-moves { display: grid; gap: 6px; }
.ovs.rd-move {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 6px 12px;
}
.ovs.rd-move.is-move { --ovs-accent: var(--color-accent-cyan); }
.ovs.rd-move.is-track { --ovs-accent: var(--color-accent-amber); }
.ovs.rd-move.is-split { --ovs-accent: #ffcc00; }
.rd-move__main { display: grid; gap: 1px; min-width: 0; }
.rd-move__fleet { color: var(--color-text-bright); font-weight: 700; font-size: var(--text-sm); overflow-wrap: anywhere; }
.rd-move__directive { color: var(--color-text-secondary); font-size: var(--text-xs); }
.rd-move__eta { font-family: var(--font-mono); font-size: var(--text-xs); font-weight: 700; white-space: nowrap; }
.rd-move__actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 6px; }
.btn.rd-btn--danger { color: var(--color-accent-red); border-color: rgba(255, 61, 90, 0.35); }

/* Ce qui partage la case : boutons qui ouvrent la fiche voisine. */
.rd-here { display: grid; gap: 6px; }
.ovs.rd-here__item {
    --ovs-accent: var(--race-color, var(--color-accent-amber));
    display: grid;
    gap: 2px;
    width: 100%;
    color: var(--color-text-primary);
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: border-color 0.15s ease, transform 0.15s ease;
}
div.ovs.rd-here__item { cursor: default; }
.ovs.rd-here__item--system { --ovs-accent: var(--color-accent-green); }
.ovs.rd-here__item--own { --ovs-accent: var(--color-accent-cyan); }
.ovs.rd-here__item.is-alert { --ovs-accent: var(--color-accent-red); }
button.ovs.rd-here__item:hover,
button.ovs.rd-here__item:focus-visible { border-color: color-mix(in srgb, var(--ovs-accent) 60%, transparent); transform: translateY(-1px); }
.rd-here__name { color: var(--color-text-bright); font-weight: 700; font-size: var(--text-sm); }
.rd-here__facts { color: var(--color-text-secondary); font-size: var(--text-xs); }

/* Identification d'une flotte : tuiles. */
.rd-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr)); gap: 10px; }
.ovs.rd-tile {
    --ovs-accent: var(--race-color, var(--color-accent-amber));
    display: grid;
    align-content: start;
    gap: 5px;
}
.ovs.rd-tile--power { --ovs-accent: var(--color-accent-amber); }
.ovs.rd-tile--power.is-alert { --ovs-accent: var(--color-accent-red); }
.ovs.rd-tile--power.is-alert .rd-tile__value { color: var(--color-accent-red); }
.ovs.rd-tile--network { --ovs-accent: var(--color-accent-purple); }
.rd-tile__value {
    color: var(--color-text-bright);
    font-family: var(--font-mono);
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1.2;
    overflow-wrap: anywhere;
}
.rd-tile__value.rd-owner { color: var(--race-color, var(--color-text-bright)); font-family: var(--font-primary); font-size: 1.05rem; }
.rd-tile__value--text { font-family: var(--font-primary); font-size: 1.05rem; }
.rd-tile__sub { color: var(--color-text-secondary); font-size: var(--text-xs); line-height: 1.4; }

/* Planètes reconnues. */
.rd-planets { grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); }
.ovs.rd-planet { --ovs-accent: var(--color-accent-green); display: grid; align-content: start; gap: 8px; }
.rd-planet__head { display: flex; align-items: center; gap: 9px; }
.rd-planet__id { display: grid; min-width: 0; }
.rd-planet__name { color: var(--color-text-bright); font-weight: 700; font-size: var(--text-sm); overflow-wrap: anywhere; }
.rd-planet__slot { color: var(--color-text-label); font-family: var(--font-mono); font-size: var(--text-xs); }
.rd-planet__owner { font-size: var(--text-xs); }
.rd-planet__facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px 12px; margin: 0; }
.rd-planet__facts div { display: grid; gap: 1px; }
.rd-planet__facts dt { color: var(--color-text-label); font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.rd-planet__facts dd { margin: 0; color: var(--color-text-bright); font-family: var(--font-mono); font-size: var(--text-sm); font-weight: 700; }
.rd-planet__pops { display: grid; gap: 2px; font-size: var(--text-xs); }
.rd-planet__pops li { display: flex; justify-content: space-between; gap: 8px; }
.rd-planet__pop { color: var(--color-text-secondary); font-family: var(--font-mono); font-weight: 500; }
.rd-planet__buildings { display: flex; flex-wrap: wrap; gap: 4px; }
.rd-building {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 7px 2px 4px;
    border-radius: 10px;
    border: 1px solid rgba(0, 230, 118, 0.25);
    background: rgba(0, 0, 0, 0.35);
    color: var(--color-text-primary);
    font-size: var(--text-xs);
}
.rd-building.is-damaged { border-color: rgba(255, 179, 0, 0.45); }
.rd-building__count { color: var(--color-text-bright); font-family: var(--font-mono); }
.rd-building__damaged { color: var(--color-accent-amber); }
.rd-slots { display: flex; flex-wrap: wrap; gap: 6px; }
.rd-slot {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 9px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: var(--color-text-secondary);
    font-family: var(--font-mono);
    font-size: var(--text-xs);
}

/* Portails : une carte par extrémité. */
.ovs.rd-side__body { display: grid; gap: 2px; }
.ovs.rd-side__body.is-hidden { --ovs-accent: var(--color-text-muted); }
.rd-side__pos { color: var(--color-text-bright); font-family: var(--font-mono); font-size: 1.25rem; font-weight: 800; }
.rd-side__body.is-hidden .rd-side__pos { color: var(--color-text-secondary); }
.rd-side__galaxy { color: var(--color-text-secondary); font-size: var(--text-xs); }
.rd-side__distance { color: var(--color-accent-cyan); font-size: var(--text-xs); }
.rd-side__body.is-hidden .rd-side__distance { color: var(--color-text-muted); }

@container sheet (max-width: 600px) {
    .rdh-actions,
    .rd-actions { grid-template-columns: minmax(0, 1fr); width: 100%; }
    .rd-panels { grid-template-columns: minmax(0, 1fr); }
    .rd-planet__facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* =========================================================
   Vue Tableau (2026-10-04) : une ligne par détection, fiche en modale.
   ========================================================= */
.rd-tabs-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px 16px;
}
.rd-tabs-row .gtabs { flex: 1 1 auto; }
.rd-tabs-row .ovp-views { --ovp-accent: var(--color-accent-cyan); margin-bottom: 8px; }
.rd-table-view { display: grid; gap: 12px; }

/* Filtres en bandeau au-dessus du tableau. */
.flt-filters.rd-filters-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    padding: 12px;
    border: 1px solid rgba(0, 229, 255, 0.16);
    border-radius: 10px;
    background: linear-gradient(180deg, rgba(8, 16, 30, 0.85), rgba(4, 9, 18, 0.85));
}
.rd-filters-bar .flt-search { flex: 1 1 240px; width: auto; }
.rd-filters-bar .rd-filters { display: flex; flex-wrap: wrap; gap: 8px; flex: 0 1 auto; }
.rd-filters-bar .rd-select { width: auto; min-width: 170px; }

.rdt-wrap {
    max-height: calc(100vh - var(--rd-sticky-top, 110px) - 200px);
    min-height: 240px;
    overflow: auto;
    overscroll-behavior: contain;
    border-radius: 8px;
}
.rdt { width: 100%; border-collapse: collapse; font-size: var(--text-xs); }
.rdt thead th {
    position: sticky;
    top: 0;
    z-index: 1;
    padding: 8px 10px;
    background: rgba(8, 14, 28, 0.98);
    border-bottom: 1px solid rgba(0, 229, 255, 0.3);
    color: var(--color-text-label);
    font-size: var(--text-xs);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-align: left;
    text-transform: uppercase;
    white-space: nowrap;
}
.rdt tbody th,
.rdt tbody td {
    padding: 8px 10px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    background: transparent;
    color: var(--color-text-primary);
    text-align: left;
    vertical-align: top;
}
.rdt tbody th { min-width: 260px; font-weight: 400; text-transform: none; letter-spacing: normal; }
/* Téléphone : le tableau défile de côté dans son cadre, et sa première
   colonne (le nom) reste figée à gauche pour qu'on sache toujours de quelle
   ligne on lit les chiffres. Le cadre ne borne plus sa hauteur : la page
   défile d'un seul tenant au lieu de deux ascenseurs imbriqués. */
@media (max-width: 768px) {
    .rdt-wrap { max-height: none; min-height: 0; }
    .rdt tbody th { min-width: 150px; max-width: 46vw; }
    .rdt tbody th,
    .rdt thead th:first-child {
        position: sticky;
        left: 0;
        z-index: 1;
        /* Opaque, sinon les colonnes défilent à travers. Les teintes de
           ligne des rubriques (en attente, choisie) sont des fonds
           translucides posés en raccourci : on garde la couleur pleine
           dessous et on rejoue la teinte de la ligne choisie en image. */
        background-color: rgb(8, 14, 28) !important;
        box-shadow: 1px 0 0 rgba(0, 229, 255, 0.18);
    }
    .rdt tbody tr.is-selected th {
        background-image: linear-gradient(rgba(0, 229, 255, 0.08), rgba(0, 229, 255, 0.08)) !important;
    }
    .rdt thead th:first-child { z-index: 2; }
}
.rdt tbody tr:hover th,
.rdt tbody tr:hover td { background: rgba(0, 229, 255, 0.04); }
.rdt tbody tr.is-selected th,
.rdt tbody tr.is-selected td { background: rgba(0, 229, 255, 0.08); }
.rdt thead th.rdt-num,
.rdt td.rdt-num { text-align: right; }
.rdt td.rdt-num { font-family: var(--font-mono); white-space: nowrap; }
.rdt thead th.rdt-end,
.rdt td.rdt-end { text-align: right; }
.btn-reset.rdt-sort { display: inline-flex; align-items: center; gap: 4px; color: inherit; font: inherit; letter-spacing: inherit; text-transform: inherit; cursor: pointer; }
.btn-reset.rdt-sort:hover,
.btn-reset.rdt-sort:focus-visible { color: var(--color-accent-cyan); }
.rdt-sort__mark { color: var(--color-text-muted); }
.rdt-sort__mark.is-active { color: var(--color-accent-cyan); }
.btn-reset.rdt-name {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--color-text-bright);
    font: inherit;
    font-size: var(--text-sm);
    font-weight: 700;
    text-align: left;
    cursor: pointer;
}
.btn-reset.rdt-name .game-icon { border-radius: 50%; flex-shrink: 0; }
.btn-reset.rdt-name:hover,
.btn-reset.rdt-name:focus-visible { color: var(--color-accent-cyan); text-decoration: underline; }
.rdt-pos { font-family: var(--font-mono); white-space: nowrap; color: var(--color-text-secondary); }
.rdt-sub { display: block; margin-top: 2px; color: var(--color-text-label); font-family: var(--font-primary); }
.rdt .rdt-muted { color: var(--color-text-label); }
.rdt .rdt-green { color: var(--color-accent-green); }
.rdt td.rdt-alert { color: var(--color-accent-red); font-weight: 700; }
.rdt-owners { display: flex; flex-wrap: wrap; gap: 2px 8px; }
.rdt-intel { display: block; color: var(--color-accent-purple); }
.rdt-intel--mission { color: var(--color-text-secondary); }
.rdt-intel--amber { color: var(--color-accent-amber); }
th .rdt-intel { margin-top: 4px; font-size: var(--text-xs); }
.rdt-type { display: inline-block; padding: 2px 8px; border-radius: 10px; border: 1px solid rgba(255, 179, 0, 0.4); color: var(--color-accent-amber); font-weight: 700; white-space: nowrap; }
.rdt-type.is-inter { border-color: rgba(180, 124, 255, 0.45); color: var(--color-accent-purple); }
.rdt-actions { display: inline-flex; flex-wrap: nowrap; justify-content: flex-end; gap: 4px; }
.fac-btn.rdt-action { padding: 3px 8px; gap: 5px; white-space: nowrap; }

/* Mouvements de vos flottes, sous le nom : le liseré dit la nature de l'ordre. */
.rdt-moves { display: grid; gap: 3px; margin: 6px 0 0; padding: 0; list-style: none; }
.rdt-move {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 2px 8px;
    padding-left: 8px;
    border-left: 2px solid var(--color-accent-cyan);
    color: var(--color-text-secondary);
    font-size: var(--text-xs);
}
.rdt-move.is-track { border-left-color: var(--color-accent-amber); }
.rdt-move.is-split { border-left-color: #ffcc00; }
.rdt-move strong { color: var(--color-text-bright); }
.rdt-move__eta { font-family: var(--font-mono); color: var(--color-accent-amber); }
.btn-reset.rdt-link { color: var(--color-accent-cyan); font: inherit; font-weight: 700; cursor: pointer; text-decoration: underline; }
.btn-reset.rdt-link--danger { color: var(--color-accent-red); }

/* Fiche en modale : le bandeau n'a plus besoin de sa marge basse propre. */
.rd-modal .rd-sheet .fdh { margin-top: 0; }
