/* ═══════════════════════════════════════════════════════════════════════════
   LIGHTCONE · 53 — SYSTEM  (a vonat írja, 2026-10-01)
   A rendszer-modál TARTALMA (a héj a 30-shells-é): SCHEMATIC (vászon + a v2 kétemeletes
   HUD — az ETALON), DETAILS (egy tábla-nyelv), HISTORY, a kontextus-fülek konténerei;
   a bolygó-nézet; az ATLAS-modál és az ATL-panel (lista · archívum · alakzatok · birtokok);
   a planetárium-kupola (saját szertartás-lépték, de tokenből).
   Csak tokenek; id-ra nem célzunk; a gombok a 25-law .btn-geometriáját kapják.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ═══ 1. SCHEMATIC — a vászon fölött lebegő bal oldali HUD, két emelet ═══════════ */
.schematic-view { position: relative; }
.system-hud {
    position: absolute; left: var(--gap-l); top: var(--gap-l); z-index: var(--z-view-hud);   /* [mega-vonat 10-03 UI-17] a nézet-fedvények létrája tokenből (ebben a fájlban 11 helyen; az értékek változatlanok) */
    width: 300px; max-height: calc(100% - var(--gap-l) * 2 - var(--row-h) - var(--pad-y) * 2);
    display: flex; flex-direction: column; gap: var(--gap);
    pointer-events: none; text-align: left;
}
/* az emelet: a deck-doboz (.box--deck) */
.sys-deck {
    display: flex; flex-direction: column; min-height: 0; overflow: hidden;
    padding: 0; pointer-events: auto;
    background: var(--surface-deck); border: var(--bw) solid var(--g-18); border-radius: var(--r);
    backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
}
.sys-deck-now { flex: 0 1 auto; max-height: 60%; }
.sys-deck-arr { flex: 0 1 auto; }
.sys-deck.closed { flex: 0 0 auto; max-height: none; }
.sys-deck.closed .sys-deck-body { display: none; }
/* a fej = harmonika-fej (10 bold), alatta vonal */
.sys-deck-head {
    display: flex; align-items: center; justify-content: space-between; gap: var(--gap); flex: none;
    min-height: var(--row-h); padding: 0 var(--pad-x); margin: 0;
    font-size: var(--fs-body); font-weight: var(--fw-bold); letter-spacing: var(--ls-head); line-height: 1.2;
    color: var(--text-bright); border-bottom: var(--bw) solid var(--line);
    cursor: pointer; user-select: none; white-space: nowrap; overflow: hidden;
}
.sys-deck-head:hover { background: var(--g-04); }
.sys-deck.closed .sys-deck-head { border-bottom: 0; }
.sys-deck-head .sys-deck-tog { color: var(--accent); flex: none; font-weight: 400; }
.sys-arr-count { color: var(--accent); margin-left: var(--gap-s); }
.sys-deck-body {
    display: flex; flex-direction: column; gap: var(--gap); min-height: 0; overflow-y: auto;
    padding: var(--pad-y) var(--pad-x);
}
/* „mi van itt": egy sor egy adat, balra igazítva, vékony vonal a sorok közt */
.system-schematic-now { display: flex; flex-direction: column; color: var(--text-bright); text-align: left; }
.system-schematic-now .ssn-bit {
    display: block; min-height: var(--row-h); line-height: var(--row-h);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.system-schematic-now .ssn-bit + .ssn-sep + .ssn-bit { border-top: var(--bw) solid var(--g-08); }
.system-schematic-now .ssn-sep { display: none; }
.sys-mini-bar { display: inline-block; width: 52px; height: var(--meter-h); vertical-align: middle; background: var(--g-10); border-radius: var(--r); overflow: hidden; }
.sys-mini-bar > span { display: block; height: 100%; background: var(--accent); }
.sys-mini-bar.imp-clock > span { background: var(--amber); }
.sys-mini-bar.imp-enroute > span { background: var(--accent); }
/* a parancs-tömb: a szonda-jelenlét, a küldő-fürt, a parancs-sor — függőleges ritmus */
.system-mission, .system-hud .system-mission {
    position: static; display: flex; flex-direction: column; align-items: stretch; gap: var(--gap);
    width: auto; padding: 0; background: none; border: 0; border-radius: 0; backdrop-filter: none; text-align: left;
}
.system-schematic-now:not(.hidden) + .system-mission { padding-top: var(--gap); border-top: var(--bw) solid var(--line); }
.probe-presence { display: flex; flex-direction: column; gap: var(--gap-s); }
.probe-presence.hidden { display: none; }
.probe-presence .pp-line { line-height: var(--lh); color: var(--text-base); }
.probe-presence .pp-head { display: flex; align-items: baseline; gap: var(--gap); min-width: 0; white-space: nowrap; }
.probe-presence .pp-name { color: var(--text-bright); font-weight: var(--fw-bold); overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.probe-presence .pp-status { margin-left: auto; color: var(--text-muted); flex: none; }
.probe-presence .pp-glyph { color: var(--accent-deep); flex: none; }
.probe-presence .pp-glyph--live { color: var(--accent); animation: pp-live-pulse 2.4s ease-in-out infinite; }
@keyframes pp-live-pulse { 0%, 100% { opacity: .65; } 50% { opacity: 1; } }
.probe-presence .pp-fleet-inbound { display: flex; flex-direction: column; gap: var(--gap); margin-top: var(--gap-s); padding-top: var(--gap); border-top: var(--bw) solid var(--line); }
.probe-presence .pp-subhead { color: var(--text-bright); font-weight: var(--fw-bold); letter-spacing: var(--ls-head); }
.probe-presence .pp-fleet-item { display: flex; flex-direction: column; gap: var(--gap-s); }
.probe-presence .pp-fleet-row { display: flex; align-items: baseline; gap: var(--gap); min-width: 0; }
.probe-presence .pp-fleet-type { color: var(--text-bright); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.probe-presence .pp-fleet-eta { margin-left: auto; white-space: nowrap; color: var(--text-muted); font-variant-numeric: tabular-nums; }
.probe-presence .pp-fleet-bar { display: block; width: 100%; height: var(--meter-h); border-radius: var(--r); background: var(--g-10); overflow: hidden; }
.probe-presence .pp-fleet-bar > span { display: block; height: 100%; background: var(--accent); transition: width .4s ease; }
.pp-again-btn {
    display: flex; width: 100%; align-items: center; justify-content: center; height: var(--ctl-h); padding: 0 var(--ctl-pad-x);
    font-size: var(--fs-btn); letter-spacing: var(--ls-btn); line-height: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    color: var(--text-muted); background: transparent; border: var(--bw) solid var(--g-30); border-radius: var(--r); cursor: pointer;
   /* (mega-vonat ui #21) akció → teli keret; a szaggatott a lista-nyitóé */}
.pp-again-btn:hover { color: var(--accent); border-color: var(--surface-edge-strong); background: var(--g-06); }
.probe-dispatch-cluster { display: flex; flex-direction: column; align-items: stretch; gap: var(--gap); position: relative; }
.probe-dispatch-cluster > button:not(.info-icon) { width: 100%; }
/* pipa: a .check recept — a sor a vezérlő magassága */
.probe-instrumented-toggle {
    display: flex; align-items: center; gap: var(--gap); min-height: var(--ctl-h); padding: 0;
    color: var(--text-muted); cursor: pointer; user-select: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    background: none; border: 0;
}
.probe-instrumented-toggle:hover { color: var(--accent); }
.probe-instrumented-toggle input[type="checkbox"] { width: 12px; height: 12px; margin: 0; flex: none; accent-color: var(--accent); cursor: pointer; }
.probe-instrumented-toggle:has(input:checked) { color: var(--text-bright); }
/* név-mező: a .ctl recept, az i-ikon a mező sorában jobbra */
.probe-name-input {
    display: flex; width: 100%; height: var(--ctl-h); padding: 0 var(--ctl-pad-x); min-width: 0;
    font-size: var(--fs-body); letter-spacing: var(--ls-body); line-height: 1;
    color: var(--text-bright); background: var(--g-04); border: var(--bw) solid var(--g-22); border-radius: var(--r);
}
.probe-name-input::placeholder { color: var(--text-dim); }
.probe-name-input:focus { border-color: var(--accent); background: var(--g-06); }
.probe-dispatch-cluster:has(> .probe-name-input) > .probe-name-input { padding-right: calc(var(--ctl-h) + var(--gap)); }
.probe-dispatch-cluster > .info-icon, .system-mission .info-icon { position: absolute; right: 0; bottom: 0; align-self: auto; margin: 0; }
.system-mission > .info-icon { position: static; align-self: flex-end; }
.probe-add-waypoint-btn { margin: 0; }
/* a három parancs EGY sorban, egyforma osztással, nem törik */
.system-compose-row { display: flex; gap: var(--gap); flex-wrap: nowrap; min-width: 0; margin: 0; padding: 0; border: 0; }
.system-compose-row > button { flex: 1 1 0; min-width: 0; width: auto; }
.probe-dispatch-btn { color: var(--text-bright); background: var(--g-16); border-color: var(--accent); }
.probe-dispatch-btn:hover:not(:disabled) { background: var(--g-22); color: var(--text-bright); }
.system-compose-row > button:disabled { opacity: .45; cursor: default; }
/* a státusz-olvasat: vonal fölötte; próza, nem csonkol (a költség-sor végig olvasható) */
.probe-status {
    width: auto; margin: 0; padding: var(--gap) 0 0; border-top: var(--bw) solid var(--line);
    color: var(--text-muted); line-height: var(--lh); text-align: left; overflow-wrap: anywhere;
}
.probe-status:empty { display: none; }
.probe-status.success { color: var(--ok); }
.probe-status.error { color: var(--danger); }
/* ≋ ARRIVALS: év · jel · cím (alatta a halvány alsor — NAGYBETŰ, törzs-méret) */
.system-arrivals { gap: 0; }
.sys-arr-row {
    display: grid; grid-template-columns: 34px 14px minmax(0, 1fr); align-items: baseline; gap: var(--gap);
    padding: var(--gap-s) var(--pad-x); border-top: var(--bw) solid var(--g-08); color: var(--text-bright); cursor: pointer; line-height: var(--lh);
}
/* ⚠ csík-szabály (Peter, 2026-10-02): a kijelölés csíkja (inset box-shadow) és az év között a --pad-x — a sor sosem 0 vízszintes paddinggel */
.sys-arr-row:first-child { border-top: 0; }
.sys-arr-row:hover { background: var(--g-04); }
.sys-arr-row.sel { background: var(--g-10); box-shadow: inset 2px 0 0 var(--accent); }
.sys-arr-row .y { text-align: right; font-weight: var(--fw-bold); font-variant-numeric: tabular-nums; white-space: nowrap; }
.sys-arr-row .g { color: var(--accent); text-align: center; }
.sys-arr-row .t { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sys-arr-row .t small {
    display: block; font-size: inherit; text-transform: uppercase; letter-spacing: var(--ls-body); color: var(--text-muted);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.sys-arr-row.over .y, .sys-arr-row.over .g { color: var(--amber); }
.sys-arr-empty { margin: 0; color: var(--text-muted); }
/* a legenda a vászon alján: egy sor, vonal fölötte */
.system-legend, .system-tab-content.schematic-view > .system-legend {
    position: sticky; bottom: 0; z-index: 1; flex: none; margin-top: auto;
    display: flex; align-items: center; flex-wrap: nowrap; gap: var(--gap-l);
    min-height: calc(var(--row-h) + var(--pad-y) * 2); padding: var(--pad-y) var(--pad-x);
    font-size: var(--fs-body); color: var(--text-muted); white-space: nowrap; overflow: hidden;
    background: var(--surface-deck); border-top: var(--bw) solid var(--line);
}
.system-legend .legend-item { display: inline-flex; align-items: center; gap: var(--gap-s); flex: none; }
.system-legend .legend-item:last-child { margin-left: auto; }
.system-legend .dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; }
.system-legend .dot.terrestrial { background: var(--text-bright); }
.system-legend .dot.gas_giant { background: var(--amber); }
.system-legend .dot.ice_giant { background: var(--info); }
.system-legend .dot.asteroid_belt { background: var(--text-dim); }
.system-legend .hz-swatch { display: inline-block; width: 14px; height: 8px; background: var(--g-18); border: var(--bw) solid var(--g-40); border-radius: var(--r); }
/* a test-tooltip: a .tip recept (a JS mérés után pozícionál) */
.body-tooltip {
    position: absolute; z-index: var(--z-view-tip); pointer-events: none; max-width: 320px;
    padding: var(--pad-y) var(--pad-x); line-height: var(--lh);
    color: var(--text-base); background: var(--surface-deck);
    border: var(--bw) solid var(--g-22); border-radius: var(--r);
    backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
}
.body-tooltip b { color: var(--text-bright); }

/* ── a rendszer-fej apró tagjai (a héj a 30-shells-é) */
.system-name-text { text-transform: none; }
.system-header h2 > .freshness { margin-left: var(--gap-s); }   /* [mega-vonat 10-03 UI-18] a fej chipjeinek (frissesség · BIO · optika) térköze osztályból — volt 4 inline margin-left (6/8 px) */
.system-rename-input {
    height: var(--ctl-h); padding: 0 var(--ctl-pad-x); min-width: 200px;
    font-size: var(--fs-body); letter-spacing: var(--ls-body); text-transform: none;
    color: var(--text-bright); background: var(--g-04); border: var(--bw) solid var(--g-22); border-radius: var(--r);
}
.system-rename-input:focus { border-color: var(--accent); }
.system-rename-btn { margin-left: var(--gap); text-transform: none; }
.system-flag-btn--on { color: var(--danger); }
.system-colony-link {
    display: inline-flex; align-items: center; height: var(--ctl-h); padding: 0 var(--ctl-pad-x); margin-left: var(--gap);
    font-size: var(--fs-btn); letter-spacing: var(--ls-btn); white-space: nowrap;
    color: var(--accent); background: var(--g-06); border: var(--bw) solid var(--g-30); border-radius: var(--r); cursor: pointer;
}
.system-colony-link:hover { color: var(--accent-bright); background: var(--g-12); border-color: var(--surface-edge-strong); }
.system-header-pager .sys-pager {
    display: inline-flex; align-items: center; gap: var(--gap); height: var(--ctl-h); padding: 0 var(--pad-x-s);
    border: var(--bw) solid var(--g-18); border-radius: var(--r);
}

/* ═══ 2. DETAILS — egy tábla-nyelv: 10 px, tabular, sor-vonalak, vízszintes padding ═══ */
.system-report { font-size: var(--fs-body); text-transform: uppercase; }
.system-report p { max-width: 640px; line-height: var(--lh); color: var(--text-base); }
/* bannerek: a .bar recept — csík, és a csík és a szöveg közt padding */
.report-colony-banner, .inbound-banner, .returning-banner {
    display: flex; align-items: baseline; flex-wrap: wrap; gap: var(--gap) var(--gap-l);
    margin: 0 0 var(--gap); padding: var(--pad-y) var(--pad-x);
    background: var(--g-04); border: 0; border-left: 2px solid var(--accent); border-radius: 0;
}
.report-colony-banner--proposed { border-left-color: var(--g-40); background: transparent; }
.report-colony-banner--bio { border-left-color: var(--accent-deep); }
.report-ruins-banner { border-left-color: var(--bronze-ruins); background: rgba(216, 162, 74, .06); }
.report-realm-banner { border-left-color: var(--fromdark-accent); background: rgba(106, 128, 152, .08); }
.report-techno-banner { border-left-color: var(--info); background: rgba(77, 212, 255, .06); }
.report-colony-open { flex: 0 0 auto; margin-left: auto; }
.inbound-banner { border-left-color: var(--text-muted); flex-direction: column; gap: var(--gap-s); }
.inbound-banner strong { color: var(--text-bright); }
.inbound-banner-detail, .returning-banner-detail { display: block; color: var(--text-muted); line-height: var(--lh); }
.inbound-banner--colony { border-left-color: var(--amber); background: rgba(251, 191, 36, .06); }
.inbound-banner--colony strong { color: var(--amber); }
.returning-banner { border-left-color: var(--line-dim); background: transparent; flex-direction: column; gap: var(--gap-s); }
.returning-banner strong { color: var(--text-muted); }
.returning-banner-detail { color: var(--text-dim); }
.colony-banner-note { color: var(--text-muted); }
/* a rendszer-összegzés: egy sor bitek, vonal alatta */
.system-summary {
    display: flex; flex-wrap: wrap; gap: var(--gap-s) var(--gap-l); margin: 0 0 var(--gap);
    padding: var(--pad-y) var(--pad-x); color: var(--text-bright);
    background: var(--g-04); border: var(--bw) solid var(--g-14); border-radius: var(--r);
}
.system-summary-bit { white-space: nowrap; }
/* szekció: vonal fölötte, alcím (10 bold), levegő */
.system-report .report-section { margin: var(--sec-gap) 0 0; padding-top: var(--pad-y); border-top: var(--bw) solid var(--line); }
.system-report .report-section:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.system-report h3 {
    display: flex; align-items: center; gap: var(--gap); min-height: var(--row-h); margin: 0 0 var(--gap-s); padding: 0;
    font-size: var(--fs-body); font-weight: var(--fw-bold); letter-spacing: var(--ls-head); color: var(--text-bright);
    border: 0; text-shadow: none;
}
/* kulcs–érték rács: egy sor egy adat, vonal a sorok közt */
.system-report dl.report-grid { display: grid; grid-template-columns: minmax(120px, 30%) minmax(0, 1fr); gap: 0; margin: 0; }
.system-report dl.report-grid dt, .system-report dl.report-grid dd {
    min-height: var(--row-h); padding: var(--gap-s) var(--pad-x-s); margin: 0; border-top: var(--bw) solid var(--g-08);
    line-height: var(--lh);
}
.system-report dl.report-grid dt:first-of-type, .system-report dl.report-grid dt:first-of-type + dd { border-top: 0; }
.system-report dl.report-grid dt { color: var(--text-muted); }
.system-report dl.report-grid dd { color: var(--text-bright); text-align: right; font-variant-numeric: tabular-nums; }
.system-report dl.report-grid dd.dd-prose { text-align: left; }
/* a test-tábla */
.system-report .report-table { width: 100%; border-collapse: collapse; font-size: var(--fs-body); font-variant-numeric: tabular-nums; }
.system-report .report-table th {
    padding: var(--gap-s) var(--pad-x-s); text-align: left; white-space: nowrap;
    color: var(--text-muted); font-weight: var(--fw-bold); letter-spacing: var(--ls-head);
    border-bottom: var(--bw) solid var(--line-strong);
}
.system-report .report-table td { padding: var(--gap-s) var(--pad-x-s); color: var(--text-base); vertical-align: baseline; border-top: var(--bw) solid var(--g-08); border-bottom: 0; }
.system-report .report-table th:nth-child(n+3), .system-report .report-table td:nth-child(n+3) { text-align: right; }
.system-report .report-row-empty { color: var(--text-dim); padding: var(--gap-s) var(--pad-x-s); }
/* egy test = egy blokk: erősebb vonal a testek közt, a mellék-sorai (művek, holdak) alatta vonal nélkül */
.system-report .body-row { cursor: pointer; }
.system-report .body-row > td { padding-top: var(--pad-y); border-top: var(--bw) solid var(--line-strong); color: var(--text-bright); }
.system-report tbody tr.body-row:first-child > td { border-top: 0; }
.system-report .body-row:hover > td { background: var(--g-04); }
.system-report .body-row-arrow { display: inline-block; margin-right: var(--gap-s); color: var(--accent); opacity: .6; }
.system-report .body-row:hover .body-row-arrow { opacity: 1; }
.system-report .body-row-disabled { cursor: default; opacity: .55; }
.system-report .body-row-disabled:hover > td { background: transparent; }
.system-report .body-install-row > td, .system-report .moon-toggle-row > td, .system-report .moon-cards-row > td {
    border-top: 0; padding: 0 var(--pad-x-s) var(--pad-y) calc(var(--pad-x-s) + var(--pad-x)); text-align: left; background: none;
}
.system-report .body-type-pill, .body-type-pill {
    display: inline-flex; align-items: center; height: var(--chip-h); padding: 0 var(--pad-x-s); white-space: nowrap;   /* [mega-vonat 10-03 UI-15] a chip-magasság tokenből (volt: literál 18px — ebben a fájlban 4 helyen) */
    font-size: var(--fs-btn); letter-spacing: var(--ls-btn); color: var(--text-bright);
    background: var(--g-10); border: var(--bw) solid var(--g-18); border-radius: var(--r);
}
.system-report .hz-marker { color: var(--ok); margin-left: var(--gap-s); }
.system-report .cradle-marker {
    display: inline-flex; align-items: center; height: var(--chip-h); padding: 0 var(--pad-x-s); margin-left: var(--gap-s);
    font-size: var(--fs-btn); letter-spacing: var(--ls-btn); font-weight: var(--fw-bold);
    color: var(--text-bright); background: var(--g-16); border: var(--bw) solid var(--accent); border-radius: var(--r);
}
.system-report .bio-marker { color: var(--ok); margin-left: var(--gap-s); }
.system-report .body-letter { color: var(--text-muted); }
.report-cast-row, .report-fleet-row { cursor: pointer; }
.report-cast-row:hover td, .report-fleet-row:hover td { color: var(--accent-bright); }
/* a test művei: az installáció-sor (a gombok/readout a 52-colony közös .install-* receptjei) */
:is(.system-report, .system-instruments-tab, .planet-info) .install-line {
    display: flex; align-items: center; flex-wrap: wrap; gap: var(--gap-s) var(--gap); min-height: var(--row-h); line-height: var(--lh);
}
:is(.system-report, .system-instruments-tab, .planet-info) .install-line + .install-line { margin-top: var(--gap-s); padding-top: var(--gap-s); border-top: var(--bw) solid var(--g-08); }
:is(.system-report, .system-instruments-tab, .planet-info, .moon-install) .install-diamond { color: var(--accent-bright); }
:is(.system-report, .planet-info) .install-diamond--hollow { color: var(--text-dim); }
:is(.system-report, .system-instruments-tab, .planet-info) .install-rationale { color: var(--text-muted); }
:is(.system-report, .system-instruments-tab, .planet-info) .install-note { color: var(--text-dim); }
:is(.system-report, .system-instruments-tab, .planet-info) .install-active {
    display: inline-flex; align-items: center; height: var(--chip-h); padding: 0 var(--pad-x-s);
    font-size: var(--fs-btn); letter-spacing: var(--ls-btn); font-weight: var(--fw-bold);
    color: var(--text-bright); background: var(--g-16); border: var(--bw) solid var(--accent); border-radius: var(--r);
}
:is(.system-report, .planet-info) .install-placed .install-label { color: var(--accent-bright); }
:is(.system-report, .planet-info) .install-build { display: flex; align-items: center; flex-wrap: wrap; gap: var(--gap); margin-top: var(--gap-s); }
:is(.system-report, .planet-info) .install-cost { font-weight: var(--fw-bold); color: var(--text-bright); }
:is(.system-report, .planet-info) :is(.install-short, .install-error) { color: var(--danger); }
.system-report .install-dyson-note { flex-basis: 100%; color: var(--text-muted); }
.system-report .install-yard .fleet-select { width: auto; flex: 0 1 190px; min-width: 130px; max-width: 240px; }
.system-report .install-actions { margin-top: var(--gap); }
.system-report :is(.install-cargo, .install-power, .install-aging, .install-neglect) { margin: var(--gap-s) 0; }
.prospect-yields { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--gap-s) var(--gap-l); margin-top: var(--gap); }
.prospect-axis { font-variant-numeric: tabular-nums; white-space: nowrap; }
.prospect-axis--est { opacity: .75; }
/* holdak: a nyitó sor (szaggatott = lista-nyitó, teljes szélesség), a kártyák rácsa */


.moon-toggle-btn {
    display: flex; align-items: center; gap: var(--gap); width: 100%; height: var(--ctl-h); padding: 0 var(--ctl-pad-x); margin-top: var(--gap-s);
    font-size: var(--fs-btn); letter-spacing: var(--ls-btn); text-align: left; white-space: nowrap; overflow: hidden;
    color: var(--text-muted); background: transparent; border: var(--bw) dashed var(--g-30); border-radius: var(--r); cursor: pointer;
}
.moon-toggle-btn:hover { color: var(--accent); border-color: var(--surface-edge-strong); background: var(--g-06); }
.moon-hab-count { color: var(--ok); }
.moon-toggle-caret { margin-left: auto; }
.moon-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: var(--gap); margin-top: var(--gap); }
.moon-card {
    display: flex; gap: var(--gap-l); align-items: flex-start; min-width: 0;
    padding: var(--pad-y) var(--pad-x); background: var(--g-04); border: var(--bw) solid var(--g-14); border-radius: var(--r);
}
.moon-card[data-arch="ocean_moon"], .moon-card[data-arch="hz_exomoon"] { border-color: var(--g-30); }
.moon-card--clickable { cursor: pointer; }
.moon-card--clickable:hover { background: var(--g-08); border-color: var(--surface-edge-strong); }
.moon-card-body { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: var(--gap-s); }
.moon-disc { width: 28px; height: 28px; border-radius: 50%; flex-shrink: 0; box-shadow: inset -5px -5px 8px rgba(0, 0, 0, .55); }
.moon-disc[data-arch="volcanic"] { background: radial-gradient(circle at 38% 32%, #ffb060 0%, #a83c14 35%, #2a1208 100%); }
.moon-disc[data-arch="ocean_moon"] { background: radial-gradient(circle at 38% 32%, #eaf6ff 0%, #9cc8e6 45%, #3a6a86 100%); }
.moon-disc[data-arch="hz_exomoon"] { background: radial-gradient(circle at 38% 32%, #d8f0d0 0%, #86c090 45%, #2e5a3a 100%); }
.moon-disc[data-arch="frozen"] { background: radial-gradient(circle at 38% 32%, #f0f6fa 0%, #c2d4e0 50%, #6a7d8a 100%); }
.moon-disc[data-arch="barren"] { background: radial-gradient(circle at 38% 32%, #d8c8b0 0%, #a89878 50%, #4a4438 100%); }
.moon-card-head { display: flex; align-items: center; flex-wrap: wrap; gap: var(--gap-s) var(--gap); color: var(--text-bright); font-weight: var(--fw-bold); }
.moon-card-arch { color: var(--gold-prime); font-weight: 400; }
.moon-hab-badge { color: var(--ok); }
.moon-card-blurb { color: var(--text-muted); line-height: var(--lh); }
.moon-card-stats { color: var(--text-base); font-variant-numeric: tabular-nums; }
.moon-inbound-pill {
    display: inline-flex; align-items: center; height: var(--chip-h); padding: 0 var(--pad-x-s); white-space: nowrap;
    font-size: var(--fs-btn); letter-spacing: var(--ls-btn); color: var(--amber);
    background: rgba(251, 191, 36, .08); border: var(--bw) solid rgba(251, 191, 36, .45); border-radius: var(--r);
}
.moon-colonize-btn, .moon-console-btn { margin-left: auto; }
.moon-install { margin-top: var(--gap-s); color: var(--text-bright); }
.moon-install--works .install-readout { padding-left: var(--pad-x-s); }
.moon-install--build { display: flex; align-items: center; flex-wrap: wrap; gap: var(--gap); }
.moon-install--build .install-type-picker { max-width: 140px; }
.moon-icedome-btn { margin-top: var(--gap-s); align-self: flex-start; }

/* ═══ 3. HISTORY — a napló: év · típus · üzenet, sor-vonalak ════════════════════ */
.system-history { padding: var(--pad-y) var(--pad-x) var(--sec-gap); overflow-y: auto; }
.sys-hist-now, .sys-hist-invest {
    display: flex; flex-direction: column; gap: var(--gap-s); margin: 0 0 var(--gap);
    padding: var(--pad-y) var(--pad-x); background: var(--g-04); border: 0; border-left: 2px solid var(--accent); border-radius: 0;
}
.sys-hist-now { color: var(--text-bright); }
.sys-hist-invest { border-left-color: var(--accent-deep); }
.sys-hist-invest-total { color: var(--text-bright); font-weight: var(--fw-bold); }
.sys-hist-invest-bits { display: flex; flex-wrap: wrap; gap: var(--gap-s) var(--gap-l); color: var(--text-muted); }
.sys-hist-invest-bits span { white-space: nowrap; }
.sys-hist-list { display: flex; flex-direction: column; margin-top: var(--gap); border-top: var(--bw) solid var(--line); }
.sys-hist-row {
    display: grid; grid-template-columns: 64px 170px minmax(0, 1fr); align-items: baseline; gap: var(--gap-l);
    min-height: var(--row-h); padding: var(--gap-s) var(--pad-x-s); line-height: var(--lh);
    border-bottom: var(--bw) solid var(--g-08);
}
.sys-hist-row--2col { grid-template-columns: 64px minmax(0, 1fr); }
.sys-hist-row--openable { cursor: pointer; }
.sys-hist-row--openable:hover { background: var(--g-04); }
.sys-hist-row--openable:focus-visible { outline: var(--bw) solid var(--accent); outline-offset: -1px; }
.sys-hist-year { color: var(--text-muted); text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.sys-hist-type { color: var(--accent); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sys-hist-row.sev-major .sys-hist-type, .sys-hist-row.sev-critical .sys-hist-type { color: var(--amber); }
.sys-hist-msg { color: var(--text-base); overflow-wrap: anywhere; text-transform: uppercase; }
.sys-hist-more {
    display: flex; width: 100%; align-items: center; justify-content: center; height: var(--ctl-h); margin: var(--gap) 0; padding: 0 var(--ctl-pad-x);
    font-size: var(--fs-btn); letter-spacing: var(--ls-btn); white-space: nowrap;
    color: var(--text-muted); background: transparent; border: var(--bw) dashed var(--g-30); border-radius: var(--r); cursor: pointer;
}
.sys-hist-more:hover { color: var(--accent); border-color: var(--surface-edge-strong); background: var(--g-06); }

/* ═══ 4. KONTEXTUS-FÜLEK — a konténerek (a beágyazott kártya tartalma a 52-colony-é) ═══ */
.system-colony-tab, .system-instruments-tab, .system-fleet-tab, .system-seti-tab { padding: var(--pad-y) var(--pad-x) var(--sec-gap); }
.syscol-wrap, .sysinst-wrap, .sysfleet-wrap { display: flex; flex-direction: column; gap: var(--gap); }
.system-fleet-tab .settings-label, .system-instruments-tab .settings-label, .system-colony-tab .settings-label { margin: var(--sec-gap) 0 0; padding-top: var(--pad-y); border-top: var(--bw) solid var(--line); }
.system-fleet-tab .settings-label:first-child, .system-instruments-tab .settings-label:first-child, .system-colony-tab .settings-label:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.system-seti-tab .contact-stream { margin-top: var(--gap); }
.sysfleet-row {
    display: block; width: 100%; text-align: left; padding: var(--pad-y) var(--pad-x);
    color: var(--text-base); background: var(--g-04); border: var(--bw) solid var(--g-14); border-radius: var(--r);
}


.sysfleet-row--probe { background: transparent; }
.sysfleet-head { display: flex; align-items: baseline; gap: var(--gap); min-width: 0; white-space: nowrap; }
.sysfleet-name { color: var(--text-bright); font-weight: var(--fw-bold); overflow: hidden; text-overflow: ellipsis; min-width: 0; }


.sysfleet-glyph { color: var(--accent); flex: none; }
.sysfleet-state { margin-top: var(--gap-s); color: var(--text-muted); line-height: var(--lh); }
/* az INSTRUMENTS fül műsorai: sor-vonalak, a build-gomb a .btn-geometrián (25-law / 52-colony) */
.system-instruments-tab .install-glyph { color: var(--accent-bright); }
.system-instruments-tab .install-building { color: var(--amber); }
.system-instruments-tab .install-readout { padding: var(--pad-y) 0; }
.sysinst-wrap > .install-readout + .install-readout { border-top: var(--bw) solid var(--line); }
.sysinst-wrap > .install-readout--derelict { padding: var(--gap-s) 0; }
.system-instruments-tab .install-build-btn { flex: 0 0 auto; }
/* a beágyazott kolónia-kártya: keret nélkül a fül törzsében */
.system-colony-tab .syscol-console-card { width: auto; height: auto; max-height: none; background: transparent; border: 0; border-radius: 0; box-shadow: none; backdrop-filter: none; }
.system-colony-tab .syscol-console-card > .detail-modal-head { padding: 0 0 var(--pad-y); background: none; }
.system-colony-tab .syscol-console-card > .detail-modal-body { flex: none; min-height: 0; padding: 0; overflow: visible; }
.system-colony-tab .syscol-console-card > .detail-modal-foot { padding: var(--pad-y) 0 0; background: none; }
.system-colony-tab .syscol-console-head { display: flex; align-items: center; gap: var(--gap); }
.system-colony-tab .syscol-pager { margin-left: auto; display: inline-flex; align-items: center; gap: var(--gap-s); }

/* ═══ 5. BOLYGÓ-NÉZET — a kártyában a vászon, két lebegő oszlop (deck-doboz) ═══════ */
/* Peter 2026-10-02: CSAK a bolygónézet szélesebb a közös --modal-w-nél (1060) — a két oszlop (260 + 320) mellett
   a gömbnek is el kell férnie; a többi modál marad a közös mértéken */
.planet-content { position: relative; width: min(1400px, 96vw); }
.planet-header { position: relative; z-index: var(--z-view-panel); pointer-events: auto; }
.planet-canvas { flex: 1 1 auto; width: 100%; height: 100%; min-height: 0; cursor: grab; display: block; }
.planet-canvas:active { cursor: grabbing; }
.planet-left {
    position: absolute; z-index: var(--z-view-panel); top: calc(34px + var(--gap-l)); left: var(--gap-l);
    width: 260px; max-height: calc(100% - 34px - var(--gap-l) * 2); overflow-y: auto;
    display: flex; flex-direction: column; gap: var(--gap);
}
.planet-mind, .planet-provenance, .planet-info {
    background: var(--surface-deck); border: var(--bw) solid var(--g-18); border-radius: var(--r);
    backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
    color: var(--text-base); line-height: var(--lh);
}
.planet-mind, .planet-provenance { padding: var(--pad-y) var(--pad-x); }
.planet-mind.hidden, .planet-provenance.hidden { display: none; }
.planet-info {
    position: absolute; z-index: var(--z-view-panel); top: calc(34px + var(--gap-l)); right: var(--gap-l);
    width: 320px; max-height: calc(100% - 34px - var(--gap-l) * 2); overflow-y: auto; padding: 0;
}
/* a jobb oszlop szekciói: vonal közöttük, alcím 10 bold, kv-sorok */
.planet-info .info-section { margin: 0; padding: var(--pad-y) var(--pad-x); border-top: var(--bw) solid var(--line); }
.planet-info .info-section:first-child { border-top: 0; }
.planet-info .info-section-title {
    display: flex; align-items: center; min-height: var(--row-h); margin: 0;
    font-size: var(--fs-body); font-weight: var(--fw-bold); letter-spacing: var(--ls-head); color: var(--text-bright); text-shadow: none;
}
.planet-info .info-section dl { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 0; margin: 0; }
.planet-info .info-section dt, .planet-info .info-section dd {
    min-height: var(--row-h); padding: var(--gap-s) 0; margin: 0; line-height: var(--lh); border-top: var(--bw) solid var(--g-08);
}
.planet-info .info-section dt:first-of-type, .planet-info .info-section dt:first-of-type + dd { border-top: 0; }
.planet-info .info-section dt { color: var(--text-muted); white-space: nowrap; }
.planet-info .info-section dd { padding-left: var(--gap-l); color: var(--text-bright); text-align: right; font-variant-numeric: tabular-nums; overflow-wrap: break-word; min-width: 0; text-transform: uppercase; }
.planet-info .info-section dd.dd-long { grid-column: 1 / -1; text-align: left; border-top: 0; padding-top: 0; padding-left: 0; }
.planet-info .info-section .planet-name-input {
    width: 70%; height: var(--ctl-h); padding: 0 var(--ctl-pad-x);
    font-size: var(--fs-body); letter-spacing: var(--ls-body); text-transform: none;
    color: var(--text-bright); background: var(--g-04); border: var(--bw) solid var(--g-22); border-radius: var(--r);
}
.planet-info .info-section .planet-name-input:focus { border-color: var(--accent); }
.planet-name-clear, .pl-hud-name-clear {
    display: inline-flex; align-items: center; justify-content: center; width: var(--ctl-h); height: var(--ctl-h); padding: 0; flex: none;
    font-size: var(--fs-body); color: var(--danger); background: transparent; border: var(--bw) solid transparent; border-radius: var(--r); cursor: pointer;
}
.planet-name-clear:hover, .pl-hud-name-clear:hover { border-color: rgba(255, 77, 77, .45); background: rgba(255, 77, 77, .06); }
.planet-info input { text-transform: none; }
/* a test kolónia-olvasata */
.planet-info .colony-body-readout { display: flex; flex-direction: column; gap: var(--gap-s); }
.planet-info .cbr-tag { color: var(--text-muted); letter-spacing: var(--ls-head); }
.planet-info :is(.cbr-none, .cbr-tap) { color: var(--text-muted); }
.planet-info .install-active { color: var(--text-bright); }
/* a Mind ítélete (bal felső deck) */
.pm-head { display: flex; align-items: baseline; gap: var(--gap); min-height: var(--row-h); font-weight: var(--fw-bold); letter-spacing: var(--ls-head); color: var(--text-bright); }
.pm-diamond { color: var(--accent); }
.pm-sub { color: var(--text-muted); }
.pm-bar-row { display: flex; align-items: center; margin: var(--gap) 0; }
.planet-mind .envdist-bar { width: 100%; flex: 1; }
.pm-verdict { margin: 0 0 var(--gap); color: var(--text-bright); text-transform: uppercase; }
.pm-drift { margin: 0; color: var(--text-muted); text-transform: uppercase; }
.pm-factors { margin: var(--gap-s) 0 var(--gap); padding-top: var(--gap); border-top: var(--bw) solid var(--line); }
.pm-factors-h { margin-bottom: var(--gap-s); color: var(--text-muted); font-weight: var(--fw-bold); letter-spacing: var(--ls-head); }
.pm-frow { display: flex; align-items: center; gap: var(--gap); }
.pm-fk { flex: none; width: 70px; color: var(--text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pm-fbar { flex: 1; height: var(--meter-h); border-radius: var(--r); background: var(--g-08); overflow: hidden; }
.pm-fbar > span { display: block; height: 100%; background: var(--accent-deep); }
.pm-fv { flex: none; color: var(--text-muted); font-variant-numeric: tabular-nums; }
.pm-legend { margin-top: var(--gap); padding-top: var(--gap); border-top: var(--bw) solid var(--line); color: var(--text-dim); }
.envdist-bar { display: inline-block; vertical-align: middle; width: 84px; height: var(--meter-h); margin-right: var(--gap); border-radius: var(--r); background: var(--g-10); overflow: hidden; }
.envdist-fill { display: block; height: 100%; background: var(--amber); }
.envdist-fill.is-near { background: var(--accent); }
.envdist-fill.is-far { background: var(--amber); }
.envdist-val { font-variant-numeric: tabular-nums; color: var(--text-bright); }
/* a megfigyelés eredete (bal alsó deck) */
.pp2-head { min-height: var(--row-h); display: flex; align-items: center; font-weight: var(--fw-bold); letter-spacing: var(--ls-head); color: var(--text-bright); }
.pp2-line { color: var(--text-muted); text-transform: uppercase; }
.pp2-age { color: var(--amber); }
.pp2-fid { color: var(--text-dim); }
.pp2-note { margin: var(--gap) 0 0; padding-top: var(--gap); border-top: var(--bw) solid var(--line); color: var(--fromdark-text); }
.pv-bio-btn, .pv-bioassay-btn, .pv-reserve-btn, .pv-sow-btn { margin-top: var(--gap-s); }
/* a szken-sor: középen alul egy deck-csík */
.planet-scan {
    position: absolute; z-index: var(--z-view-panel); bottom: var(--gap-l); left: 50%; transform: translateX(-50%);
    padding: var(--pad-y) var(--pad-x); color: var(--accent); white-space: nowrap;
    background: var(--surface-deck); border: var(--bw) solid var(--g-22); border-radius: var(--r);
    transition: opacity .25s ease-out; opacity: 1;
}
.planet-scan.scan-fade { opacity: 0; }
.planet-scan .scan-line { line-height: var(--lh); }
.planet-scan .scan-line::before { content: "▸ "; color: var(--accent-bright); }
.planet-scan .scan-line.scan-complete { color: var(--accent-bright); }
/* a bolygó-nyitó gomb (rendszer-nézet / panel) — egy sor, a .btn magasságán */
.pl-open-btn {
    display: flex; align-items: center; gap: var(--gap); width: 100%; height: var(--ctl-h); padding: 0 var(--ctl-pad-x); margin: 0;
    font-size: var(--fs-btn); letter-spacing: var(--ls-btn); text-align: left; white-space: nowrap; overflow: hidden;
    color: var(--accent); background: var(--g-06); border: var(--bw) solid var(--g-30); border-radius: var(--r); cursor: pointer;
}
.pl-open-btn:hover { color: var(--accent-bright); background: var(--g-12); border-color: var(--surface-edge-strong); }
.pl-open-icon { color: var(--accent); flex: none; }
.pl-open-text { display: flex; align-items: baseline; gap: var(--gap); min-width: 0; overflow: hidden; }
.pl-open-text strong { font-size: inherit; letter-spacing: var(--ls-btn); }
.pl-open-text small { font-size: inherit; color: var(--text-muted); overflow: hidden; text-overflow: ellipsis; }

/* ═══ 6. ATLAS-MODÁL — kereső, chipek, a katalógus-tábla (a héj a 30-shells-é) ═══ */
.atlas-intro { padding: var(--pad-y) var(--pad-x); color: var(--text-muted); line-height: var(--lh); border-bottom: var(--bw) solid var(--line); }
.atlas-controls { display: flex; flex-direction: column; align-items: stretch; gap: var(--gap); padding: var(--pad-y) var(--pad-x); border-bottom: var(--bw) solid var(--line); }
.atlas-filters { display: flex; flex-wrap: wrap; gap: var(--gap-s); }
/* chip = .chip recept, de kattintható szűrő: a vezérlő-magasságon (22); az aktív = .chip--on */
.atlas-chip {
    display: inline-flex; align-items: center; gap: var(--gap-s); height: var(--ctl-h); min-height: 0; padding: 0 var(--pad-x-s);
    font-size: var(--fs-btn); font-weight: 400; letter-spacing: var(--ls-btn); line-height: 1; white-space: nowrap;
    color: var(--text-muted); background: var(--g-06); border: var(--bw) solid var(--g-18); border-radius: var(--r);
    cursor: pointer; box-shadow: none;
}
.atlas-chip:hover { color: var(--accent); border-color: var(--surface-edge-strong); }
.atlas-chip.active { color: var(--text-bright); background: var(--g-16); border-color: var(--accent); box-shadow: none; }
.atlas-search, .atlas-search-aside {
    display: flex; width: 100%; height: var(--ctl-h); padding: 0 var(--ctl-pad-x); margin: 0; min-width: 0;
    font-size: var(--fs-body); letter-spacing: var(--ls-body); line-height: 1;
    color: var(--text-bright); background: var(--g-04); border: var(--bw) solid var(--g-22); border-radius: var(--r);
}
.atlas-search:focus, .atlas-search-aside:focus { border-color: var(--accent); background: var(--g-06); box-shadow: none; }
.atlas-table-wrap { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 0 var(--pad-x) var(--pad-y); }
.atlas-table { width: 100%; border-collapse: collapse; font-size: var(--fs-body); font-variant-numeric: tabular-nums; }
.atlas-table thead th {
    position: sticky; top: 0; z-index: 1; padding: var(--pad-y) var(--pad-x-s) var(--gap-s);
    text-align: left; white-space: nowrap; color: var(--text-muted); font-weight: var(--fw-bold); letter-spacing: var(--ls-head);
    background: var(--bg-base); border-bottom: var(--bw) solid var(--line-strong); cursor: pointer; user-select: none;
}
.atlas-table thead th.num { text-align: right; }
.atlas-table thead th:hover { color: var(--accent); }
.atlas-table thead th.sorted { color: var(--text-bright); }
.atlas-table thead th.sorted::after { content: " ↓"; }
.atlas-table thead th.sorted.asc::after { content: " ↑"; }
.atlas-table tbody tr { cursor: pointer; }
.atlas-table tbody tr:hover { background: var(--g-06); }
.atlas-table tbody td { padding: var(--gap-s) var(--pad-x-s); color: var(--text-bright); border-top: 0; border-bottom: var(--bw) solid var(--g-08); white-space: nowrap; }
.atlas-table tbody td.num { text-align: right; }
.atlas-table .muted-cell { color: var(--text-dim); }
.atlas-table .pin { color: var(--amber); margin-right: var(--gap-s); }
.atlas-table .home-badge { color: var(--ok); font-weight: var(--fw-bold); margin-left: var(--gap); }
.atlas-table .atlas-empty-cell { padding: var(--sec-gap) var(--pad-x); text-align: center; color: var(--text-muted); }
.atlas-more-row td, div.atlas-more-row { padding: var(--pad-y) var(--pad-x); text-align: center; color: var(--text-dim); }

/* ═══ 7. ATL-PANEL — ⊞ lista · ▤ archívum · ✶ alakzatok · ◈ birtokok ═══════════════ */
.aside-pane[data-pane="atlas"] > .pane-tabs { flex: none; }   /* a fül-sáv nem zsugorodhat a görgető lap alá */
.atlas-subpane { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; overflow-y: auto; }
.atlas-subpane.hidden { display: none; }
.aside-pane .atlas-search-aside { flex: none; width: auto; margin: var(--pad-y) var(--pad-x) 0; }
.aside-pane .atlas-filters.compact { flex: none; flex-wrap: wrap; gap: var(--gap-s); padding: var(--gap) var(--pad-x) var(--pad-y); border-bottom: var(--bw) solid var(--line); }
.aside-pane .atlas-filters.compact .atlas-chip { padding: 0 var(--pad-x-s); }
.aside-atlas-list { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 0; }
/* lista-sor: név + meta balra, táv jobbra; egy sor egy csillag */
.aside-atlas-row {
    display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; column-gap: var(--gap);
    min-height: var(--row-h); padding: var(--gap-s) var(--pad-x); cursor: pointer;
    border-bottom: var(--bw) solid var(--g-08);
}
.aside-atlas-row:hover { background: var(--g-04); }
.aside-atlas-row > div:first-child { min-width: 0; }
.aside-atlas-row .ar-name { display: block; color: var(--text-bright); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.aside-atlas-row .ar-meta { display: block; color: var(--text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.aside-atlas-row .ar-dist { color: var(--accent); font-variant-numeric: tabular-nums; white-space: nowrap; }
.ar-site { margin-right: 1px; color: var(--accent); }
/* ▤ archívum: képeslap-sorok — keret (a fénykép-szűrő a kép jelentése: hallott fény) + felirat */
.postcard-grid { display: flex; flex-direction: column; gap: 0; margin: 0; padding: 0; }
.postcard-grid > .feed-empty { padding: var(--pad-y) var(--pad-x); }
.postcard { display: flex; align-items: center; gap: var(--gap-l); padding: var(--pad-y) var(--pad-x); border-bottom: var(--bw) solid var(--g-08); cursor: pointer; min-width: 0; }
.postcard:hover { background: var(--g-04); }
.postcard-frame {
    position: relative; flex: none; width: 72px; aspect-ratio: 1 / 1; overflow: hidden;
    background: var(--bg-base); border: var(--bw) solid var(--g-30); border-radius: var(--r);
}
.postcard-img { display: block; width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) sepia(1) hue-rotate(75deg) saturate(1.6) contrast(1.05) brightness(.95); }
.postcard-frame::before { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: radial-gradient(ellipse at center, rgba(0,0,0,0) 52%, rgba(0,0,0,.6) 100%); }
.postcard-frame::after { content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; mix-blend-mode: multiply;
    background: repeating-linear-gradient(to bottom, rgba(0,0,0,.28) 0, rgba(0,0,0,.28) 1px, rgba(0,0,0,0) 1px, rgba(0,0,0,0) 3px); }
.postcard--hi .postcard-img { filter: grayscale(1) sepia(1) hue-rotate(75deg) saturate(1.6) contrast(1.14) brightness(.95); }
.postcard--mid .postcard-img { filter: grayscale(1) sepia(1) hue-rotate(75deg) saturate(1.55) contrast(1) brightness(1) blur(.4px); }
.postcard--lo .postcard-img { filter: grayscale(1) sepia(1) hue-rotate(75deg) saturate(1.45) contrast(.88) brightness(1.08) blur(1.2px); }
.postcard--mid .postcard-frame::after { background: repeating-linear-gradient(to bottom, rgba(0,0,0,.38) 0, rgba(0,0,0,.38) 1px, rgba(0,0,0,0) 1px, rgba(0,0,0,0) 3px); }
.postcard--lo .postcard-frame::after { background: repeating-linear-gradient(to bottom, rgba(0,0,0,.52) 0, rgba(0,0,0,.52) 1px, rgba(0,0,0,0) 1px, rgba(0,0,0,0) 2px); }
.postcard-cap { display: flex; flex-direction: column; gap: var(--gap-s); min-width: 0; color: var(--text-muted); }
.postcard-name { color: var(--text-bright); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.postcard-meta { color: var(--text-muted); }
/* ✶ alakzatok: arany = a saját alakzatod (a kupola nyelve) */
.atlas-subpane[data-atlas-tab="constellations"] .constellation-list { padding: 0; }
.atlas-subpane[data-atlas-tab="constellations"] > .muted.settings-hint { margin: 0; padding: var(--pad-y) var(--pad-x); border-bottom: var(--bw) solid var(--line); }
.constellation-empty { margin: 0; padding: var(--pad-y) var(--pad-x); color: var(--text-muted); }
.constellation-walker-head { padding: var(--pad-y) var(--pad-x); color: var(--amber); border-bottom: var(--bw) solid var(--line); margin: 0; }
.constellation-row {
    display: flex; align-items: center; gap: var(--gap); min-height: var(--row-h); margin: 0;
    padding: var(--gap-s) var(--pad-x); border: 0; border-bottom: var(--bw) solid var(--g-08); border-radius: 0; background: none;
}
.constellation-row-name { flex: 1 1 auto; min-width: 0; color: var(--gold); font-weight: var(--fw-bold); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.constellation-row.is-walked .constellation-row-name { color: var(--amber); }
.constellation-row-meta { flex: none; color: var(--text-muted); white-space: nowrap; }
.constellation-row-del, .constellation-row-legend {
    display: inline-flex; align-items: center; justify-content: center; flex: none; width: var(--ctl-h); height: var(--ctl-h); padding: 0;
    font-size: var(--fs-body); color: var(--text-muted); background: transparent; border: var(--bw) solid transparent; border-radius: var(--r); cursor: pointer;
}
.constellation-row-legend:hover { color: var(--accent); border-color: var(--surface-edge); }
.constellation-row-del:hover { color: var(--danger); border-color: rgba(255, 77, 77, .45); }
.constellation-legend-text {
    margin: 0; padding: var(--gap-s) var(--pad-x) var(--pad-y) calc(var(--pad-x) * 2);
    color: var(--text-muted); line-height: var(--lh); white-space: pre-wrap; border-bottom: var(--bw) solid var(--g-08);
}
.constellation-legend-edit { display: flex; flex-direction: column; gap: var(--gap); margin: 0; padding: var(--pad-y) var(--pad-x); background: var(--g-04); border: 0; border-bottom: var(--bw) solid var(--line); border-radius: 0; }
.constellation-legend-input {
    width: 100%; min-height: calc(var(--ctl-h) * 3); max-height: 200px; resize: vertical; padding: var(--pad-y) var(--ctl-pad-x);
    font-size: var(--fs-body); line-height: var(--lh); text-transform: none;
    color: var(--text-bright); background: var(--g-04); border: var(--bw) solid var(--g-22); border-radius: var(--r);
}
.constellation-legend-input:focus { border-color: var(--gold); }
.constellation-legend-actions { display: flex; align-items: center; gap: var(--gap); justify-content: flex-end; }
.constellation-legend-count { flex: 1; color: var(--text-muted); }
.constellation-legend-cancel, .constellation-legend-save {
    display: inline-flex; align-items: center; justify-content: center; height: var(--ctl-h); padding: 0 var(--ctl-pad-x);
    font-size: var(--fs-btn); letter-spacing: var(--ls-btn); line-height: 1; white-space: nowrap; cursor: pointer;
    color: var(--gold); background: rgba(255, 211, 61, .08); border: var(--bw) solid rgba(255, 211, 61, .5); border-radius: var(--r);
}
.constellation-legend-save:hover { background: rgba(255, 211, 61, .18); }
.constellation-legend-cancel { color: var(--text-muted); background: transparent; border-color: var(--g-30); }
.constellation-legend-cancel:hover { color: var(--accent); }
/* ◈ birtokok: csoport-fej (alcím) és sor (jel · név · meta) */
.holdings-list { padding: 0 0 var(--pad-y); }
.holdings-sec { margin: 0; border-top: var(--bw) solid var(--line); }
.holdings-sec:first-child { border-top: 0; }
.holdings-sec-h {
    display: flex; align-items: center; min-height: var(--row-h); padding: var(--gap-s) var(--pad-x) 0;
    font-size: var(--fs-body); font-weight: var(--fw-bold); letter-spacing: var(--ls-head); color: var(--text-bright); opacity: 1;
}
.holdings-row {
    display: grid; grid-template-columns: 14px minmax(0, auto) minmax(0, 1fr); align-items: center; gap: var(--gap);
    width: 100%; min-height: var(--row-h); padding: var(--gap-s) var(--pad-x); margin: 0;
    font-size: var(--fs-body); font-weight: 400; letter-spacing: var(--ls-body); text-align: left; line-height: var(--lh);
    color: var(--text-base); background: none; border: 0; border-top: var(--bw) solid var(--g-08); border-radius: 0; cursor: pointer;
}
.holdings-row:hover { background: var(--g-04); box-shadow: inset 2px 0 0 var(--accent); }
.holdings-glyph { color: var(--accent); text-align: center; }
.holdings-label { color: var(--text-bright); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.holdings-meta { color: var(--text-muted); text-align: right; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.holdings-derelict .holdings-glyph, .holdings-derelict .holdings-meta { color: var(--danger); }
.holdings-terraform .holdings-glyph { color: var(--terra); }

/* ═══ 8. A KUPOLA (planetárium) — teljes képernyős szertartás; a vezérlők a tokeneken ═══ */
.planetarium-modal { position: fixed; inset: 0; z-index: var(--z-modal); display: flex; align-items: center; justify-content: center; background: var(--bg-deep); }
.planetarium-modal.hidden { display: none; }
.planetarium-content { position: relative; width: 100vw; height: 100vh; display: flex; flex-direction: column; background: var(--bg-deep); }
.planetarium-header {
    position: absolute; top: var(--sec-gap); left: var(--sec-gap); right: var(--sec-gap); z-index: var(--z-view-panel);
    display: flex; align-items: center; justify-content: space-between; gap: var(--gap); pointer-events: none;
}
.planetarium-header h2 { pointer-events: auto; color: var(--accent); }
.planetarium-close { pointer-events: auto; }
.planetarium-canvas { flex: 1; width: 100%; height: 100%; display: block; cursor: grab; }
.planetarium-canvas:active { cursor: grabbing; }
.planetarium-label-layer { position: absolute; inset: 0; z-index: var(--z-view-labels); overflow: hidden; pointer-events: none; }
/* a feliratok a kupola égboltján (a CSS2DRenderer írja a transformot — itt nincs transform-ütközés: a JS a wrapperre ír) */
.pl-star-label { color: rgba(170, 255, 187, .78); font-size: var(--fs-body); letter-spacing: var(--ls-body); text-shadow: 0 0 4px rgba(0,0,0,.95); white-space: nowrap; transform: translate(10px, -50%); pointer-events: none; }
.pl-cardinal-label { color: var(--accent); font-size: var(--fs-title); font-weight: var(--fw-bold); letter-spacing: var(--ls-title); text-shadow: 0 0 5px rgba(0,0,0,.95); white-space: nowrap; transform: translate(-50%, -50%); pointer-events: none; }
.pl-figure-label { color: var(--text-muted); font-size: var(--fs-body); letter-spacing: var(--ls-head); text-shadow: 0 0 5px rgba(0,0,0,.95); white-space: nowrap; transform: translate(-50%, -50%); pointer-events: none; opacity: .85; }
.pl-pick-marker { color: var(--accent-bright); font-size: var(--fs-body); font-weight: var(--fw-bold); text-shadow: 0 0 5px rgba(0,0,0,.95); white-space: nowrap; transform: translate(10px, -50%); pointer-events: none; }
.pl-invite-marker { color: var(--g-30); font-size: var(--fs-title); line-height: 1; white-space: nowrap; transform: translate(-50%, -50%); pointer-events: none; }
/* a lebegő dobozok: deck-recept */
.planetarium-tooltip, .planetarium-bar, .planetarium-hud, .planetarium-draw {
    background: var(--surface-deck); border: var(--bw) solid var(--g-22); border-radius: var(--r);
    backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); color: var(--text-base);
}
.planetarium-tooltip { position: absolute; z-index: var(--z-view-tooltip); pointer-events: none; display: flex; flex-direction: column; gap: var(--gap-s); padding: var(--pad-y) var(--pad-x); white-space: nowrap; }
.planetarium-tooltip .pl-tip-name { color: var(--text-bright); }
.planetarium-tooltip .pl-tip-mag { color: var(--text-muted); }
.planetarium-bar {
    position: absolute; bottom: var(--sec-gap); left: 50%; transform: translateX(-50%); z-index: var(--z-view-panel);
    display: flex; flex-direction: column; align-items: center; gap: var(--gap); padding: var(--pad-y) var(--pad-x);
}
.planetarium-caption { color: var(--text-bright); font-weight: var(--fw-bold); letter-spacing: var(--ls-head); }
.pl-mag-row, .pl-time-row { display: flex; align-items: center; gap: var(--gap); min-width: 0; }
.pl-mag-label { color: var(--text-muted); white-space: nowrap; }
.pl-mag-row input[type="range"], .pl-time-row input[type="range"] { width: 180px; height: var(--ctl-h); accent-color: var(--accent); }
.pl-mag-row .pl-mag-value, .pl-rate-value { min-width: 34px; text-align: right; color: var(--text-bright); font-variant-numeric: tabular-nums; }
.pl-time-readout { min-width: 118px; color: var(--text-bright); font-variant-numeric: tabular-nums; white-space: nowrap; }
.pl-time-btn, .pl-draw-btn, .pl-hud-view, .pl-draw-cancel, .pl-draw-save {
    display: inline-flex; align-items: center; justify-content: center; gap: var(--gap-s);
    height: var(--ctl-h); padding: 0 var(--ctl-pad-x);
    font-size: var(--fs-btn); font-weight: 500; letter-spacing: var(--ls-btn); line-height: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    color: var(--accent); background: var(--g-06); border: var(--bw) solid var(--g-30); border-radius: var(--r); cursor: pointer; box-shadow: none;
}
.pl-time-btn:hover, .pl-draw-btn:hover, .pl-hud-view:hover, .pl-draw-cancel:hover, .pl-draw-save:hover:not(:disabled) { background: var(--g-12); border-color: var(--surface-edge-strong); color: var(--accent-bright); box-shadow: none; }
.pl-time-btn.playing, .pl-draw-btn.active { background: var(--g-18); border-color: var(--accent); color: var(--text-bright); box-shadow: none; }
.pl-hint { max-width: 640px; color: var(--text-dim); text-align: center; line-height: var(--lh); }
.planetarium-hud, .planetarium-draw { position: absolute; bottom: var(--sec-gap); z-index: var(--z-view-draw); width: 260px; padding: var(--pad-y) var(--pad-x); }
.planetarium-hud { left: var(--sec-gap); }
.planetarium-draw { right: var(--sec-gap); }
.planetarium-hud.hidden, .planetarium-draw.hidden { display: none; }
.pl-hud-close { position: absolute; top: var(--gap-s); right: var(--gap-s); }
.pl-hud-name { display: flex; align-items: baseline; gap: var(--gap); min-height: var(--row-h); margin: 0 calc(var(--ctl-h) + var(--gap)) var(--gap) 0; }
.pl-hud-bayer { color: var(--text-bright); font-size: var(--fs-title); font-weight: var(--fw-bold); }
.pl-hud-display { color: var(--accent); font-size: var(--fs-title); font-weight: var(--fw-bold); letter-spacing: var(--ls-title); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.pl-hud-namerow { display: flex; align-items: center; gap: var(--gap-s); margin: 0 0 var(--gap); }
.pl-hud-name-input, .pl-draw-name {
    flex: 1; min-width: 0; height: var(--ctl-h); padding: 0 var(--ctl-pad-x);
    font-size: var(--fs-body); letter-spacing: var(--ls-body); text-transform: none;
    color: var(--text-bright); background: var(--g-04); border: var(--bw) solid var(--g-22); border-radius: var(--r);
}
.pl-hud-name-input:focus, .pl-draw-name:focus { border-color: var(--accent); box-shadow: none; outline: none; }
.pl-draw-name { width: 100%; margin-bottom: var(--gap); }
.pl-hud-fields { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 0; margin: 0 0 var(--gap); }
.pl-hud-fields dt, .pl-hud-fields dd { min-height: var(--row-h); padding: var(--gap-s) 0; margin: 0; border-top: var(--bw) solid var(--g-08); }
.pl-hud-fields dt:first-of-type, .pl-hud-fields dt:first-of-type + dd { border-top: 0; }
.pl-hud-fields dt { color: var(--text-muted); }
.pl-hud-fields dd { padding-left: var(--gap-l); color: var(--text-bright); text-align: right; font-variant-numeric: tabular-nums; }
.pl-hud-view { display: flex; width: 100%; }
.pl-draw-header { min-height: var(--row-h); display: flex; align-items: center; margin-bottom: var(--gap-s); font-weight: var(--fw-bold); letter-spacing: var(--ls-head); color: var(--text-bright); border-bottom: var(--bw) solid var(--line); }
.pl-draw-list { list-style: none; margin: 0 0 var(--gap); padding: 0; max-height: 168px; overflow-y: auto; }
.pl-draw-list li { display: flex; align-items: baseline; gap: var(--gap); }
.pl-draw-list .pl-draw-empty { color: var(--text-dim); }
.pl-draw-rank { min-width: 16px; text-align: right; color: var(--accent-bright); font-variant-numeric: tabular-nums; }
.pl-draw-star { color: var(--text-bright); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pl-draw-actions { display: flex; gap: var(--gap); }
.pl-draw-actions > button { flex: 1 1 0; }
.pl-draw-cancel { color: var(--text-muted); background: transparent; }
.pl-draw-save { background: var(--g-16); border-color: var(--accent); color: var(--text-bright); }
.pl-draw-save:disabled { opacity: .45; cursor: default; }
.pl-draw-status { margin-top: var(--gap); min-height: calc(var(--lh) * 1em); color: var(--text-muted); }

/* ═══ 9. MOBIL — a saját elrendezések (a méretek a tokenből) ════════════════════ */
@media (max-width: 900px) {
    .system-hud { position: static; width: auto; max-height: none; gap: var(--gap); margin: var(--gap) var(--gap) 0; }
    .sys-deck-now, .sys-deck-arr { max-height: 220px; }
}


/* ── remainder 2026-10-02 ── (remB: realm-lencse, jelölő, klíma/geo/bio/terra, átkelés, apró rendszer-sorok) */

/* ◈ THE LENS — a teljes képernyős birodalom-tabló. Fej = a pane-head nyelve, láb = jelmagyarázat-sáv.
   (a --proxy-foot-h a proxy-* lábé — A fele olvassa; itt csak az alapértéket adjuk) */
.realm-modal {
    position: fixed; inset: 0; z-index: calc(var(--z-modal) + 100);
    display: flex; flex-direction: column; background: var(--bg-base);
    --proxy-foot-h: 0px;
}
.realm-modal:has(.proxy-foot:not(.hidden)) { --proxy-foot-h: 30px; }
.realm-header {
    flex: none; display: flex; align-items: center; flex-wrap: nowrap; gap: var(--gap-l); min-width: 0;
    min-height: var(--head-h); padding: var(--pad-y) var(--pad-x);
    background: var(--g-04); border-bottom: var(--bw) solid var(--line-strong);
}
.realm-header h2 {
    margin: 0; flex: 0 0 auto; white-space: nowrap;
    font-size: var(--fs-title); font-weight: var(--fw-bold); letter-spacing: var(--ls-title); line-height: 1.2;
    color: var(--text-bright); text-shadow: none;
}
.realm-viewswitch { flex: 0 0 auto; padding: 0; border-bottom: 0; }
/* [mega-vonat 10-03 UI-16] a fej füle is --tab-h (= a vezérlő-magasság) — a régi külön .realm-viewswitch .pane-tab magasság-felülírás megszűnt, a .pane-tab recept adja */
.realm-chips { display: flex; align-items: center; gap: var(--gap-s); flex: 0 0 auto; }
.realm-chips .feed-chip { opacity: .45; color: var(--text-muted); border-color: var(--g-18); box-shadow: none; text-shadow: none; }
.realm-chips .feed-chip.active { opacity: 1; color: var(--text-bright); border-color: var(--accent); }
.realm-hint { margin-left: auto; color: var(--text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.realm-canvas { flex: 1 1 auto; min-height: 0; display: block; width: 100%; cursor: grab; }
.realm-canvas:active { cursor: grabbing; }
.realm-legend {
    flex: none; display: flex; align-items: center; gap: var(--gap-l); flex-wrap: nowrap; min-width: 0; overflow: hidden;
    min-height: var(--row-h); padding: var(--gap-s) var(--pad-x);
    background: var(--g-04); border-top: var(--bw) solid var(--line-strong); color: var(--text-muted);
}
.realm-legend .realm-leg { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.realm-leg--domain { color: var(--accent); }
.realm-leg--reach { color: var(--info); }
.realm-leg--observed { color: var(--text-muted); }

/* ⚑ A RENDSZER-JELÖLŐ (a fej ⚑ gombja): keskeny modál — fátyol → kártya → fej → ikon-rács → jegyzet → láb.
   A piros keret a jelölés színe (a kánon: a jelölt rendszer vörös zászló). */
.flag-picker-overlay {
    position: fixed; inset: 0; z-index: var(--z-picker);   /* a rendszer-modál (és a raiseOverlay-emelés) fölött — a legacy értéke */
    display: flex; align-items: center; justify-content: center; padding: var(--sec-gap);
    background: var(--modal-veil); backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px);
}
.flag-picker {
    display: flex; flex-direction: column; width: var(--modal-w-narrow); max-height: var(--modal-h); min-width: 0; overflow: hidden;
    background: var(--surface-deck); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
    border: var(--bw) solid rgba(255,77,77,.45); border-radius: var(--r); box-shadow: 0 0 0 1px rgba(0,0,0,.6), var(--glow-danger);
}
.flag-picker-title {
    display: flex; align-items: center; min-height: var(--head-h); padding: var(--pad-y) var(--pad-x);
    font-size: var(--fs-title); font-weight: var(--fw-bold); letter-spacing: var(--ls-title); line-height: 1.2;
    color: var(--danger); white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    border-bottom: var(--bw) solid var(--line-strong);
}
.flag-picker-icons { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--gap); padding: var(--sec-gap) var(--pad-x) var(--gap); }
.flag-ico {
    display: inline-flex; align-items: center; justify-content: center; gap: var(--gap-s); min-width: 0;
    height: var(--ctl-h); padding: 0 var(--ctl-pad-x);
    font-size: var(--fs-btn); letter-spacing: var(--ls-btn); line-height: 1; white-space: nowrap; overflow: hidden;
    color: rgba(255,77,77,.7); background: rgba(255,77,77,.04);
    border: var(--bw) solid rgba(255,77,77,.28); border-radius: var(--r); cursor: pointer;
}
.flag-ico:hover { background: rgba(255,77,77,.10); color: var(--danger); }
.flag-ico.active { color: var(--danger); background: rgba(255,77,77,.14); border-color: var(--danger); }
.flag-ico-g { flex: none; font-size: var(--fs-body); }
.flag-ico-l { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.flag-picker-note {
    display: block; width: calc(100% - 2 * var(--pad-x)); margin: var(--gap) var(--pad-x) var(--sec-gap);
    min-height: calc(var(--ctl-h) * 3); padding: var(--pad-y) var(--ctl-pad-x); resize: vertical;
    font-size: var(--fs-body); letter-spacing: var(--ls-body); line-height: var(--lh); text-transform: none;
    color: var(--text-bright); background: var(--g-04); border: var(--bw) solid var(--g-22); border-radius: var(--r);
}
.flag-picker-note:focus { border-color: var(--accent); background: var(--g-06); }
.flag-picker-note::placeholder { text-transform: uppercase; color: var(--text-dim); }
.flag-picker-actions { display: flex; align-items: center; gap: var(--gap); padding: var(--pad-y) var(--pad-x); border-top: var(--bw) solid var(--line-strong); }
.flag-picker-spacer { flex: 1 1 auto; }
.flag-picker-actions button {
    display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto;
    height: var(--ctl-h); padding: 0 var(--ctl-pad-x);
    font-size: var(--fs-btn); font-weight: 500; letter-spacing: var(--ls-btn); line-height: 1; white-space: nowrap;
    color: var(--accent); background: var(--g-06); border: var(--bw) solid var(--g-30); border-radius: var(--r); cursor: pointer;
}
.flag-picker-actions button:hover { background: var(--g-12); border-color: var(--surface-edge-strong); color: var(--accent-bright); }
.flag-picker-actions .flag-picker-cancel { color: var(--text-muted); background: transparent; border-color: var(--g-14); }
.flag-picker-actions .flag-picker-save { color: var(--danger); background: rgba(255,77,77,.06); border-color: rgba(255,77,77,.45); }
.flag-picker-actions .flag-picker-save:hover { color: var(--danger-bright); background: rgba(255,77,77,.12); border-color: var(--danger); }
.flag-picker-actions .flag-picker-clear:hover { color: var(--danger); border-color: rgba(255,77,77,.45); }

/* klíma- és geo-sor a bolygó/report installáció-blokkjában: a hang a szín, a betű a törzs */
.climate-line, .geo-line { font-size: var(--fs-body); letter-spacing: var(--ls-body); }
.climate-line--amber, .geo-line--active { color: var(--amber); }
.climate-line--danger { color: var(--danger); }
.geo-line--quiet { color: var(--text-muted); }
.geo-line--violent { color: var(--amber); font-weight: var(--fw-bold); }
/* bio-jel: a lakott légkör jelzője a report-sorban, és a ❀ BIO chip */
.bio-marker { margin-left: var(--gap-s); }
.bio-chip { color: var(--accent-bright); }
.optics-chip--promise { color: var(--gold-prime); border-color: color-mix(in srgb, var(--gold-prime) 40%, transparent); }
/* terraformálás: a .meter recept, napszínű töltés */
.terra-bar { position: relative; height: var(--meter-h); min-width: 40px; margin-top: var(--gap-s); overflow: hidden; background: rgba(255,200,120,.12); border-radius: var(--r); }
.terra-bar-fill { display: block; height: 100%; border-radius: var(--r); background: linear-gradient(90deg, var(--bronze-ruins), var(--gold)); transition: width .6s ease; }
/* ⇢ ÚTON — a gyógymód-átkelések (kolónia-kártya): alcím, soronként fej + mérő + részlet */
.cross-h { margin-bottom: var(--gap-s); font-size: var(--fs-body); font-weight: var(--fw-bold); letter-spacing: var(--ls-head); }
.cross-row + .cross-row { margin-top: var(--gap); }
.cross-head { display: flex; align-items: baseline; gap: var(--gap); min-width: 0; font-size: var(--fs-body); letter-spacing: var(--ls-body); }
.cross-glyph { flex: none; color: var(--accent-bright); }
.cross-eta { margin-left: auto; flex: none; white-space: nowrap; font-variant-numeric: tabular-nums; }
.cross-bar { height: var(--meter-h); margin-top: var(--gap-s); overflow: hidden; background: var(--g-10); border-radius: var(--r); }
.cross-bar > span { display: block; height: 100%; background: var(--accent); }
.cross-detail { margin-top: var(--gap-s); font-size: var(--fs-body); color: var(--text-muted); }
/* apró sorok a műveknél / flottánál */
.expeditions-list { display: flex; flex-direction: column; gap: var(--gap); }
.aside-missions-list { flex: 1 1 auto; min-height: 0; overflow-y: auto; }
.route-ctl .fleet-select, .exp-sys-haul .fleet-select { width: auto; max-width: 200px; margin-top: 0; }
.cargo-building { color: var(--amber); }
.scuttle-pending { color: var(--danger); }
.reorder-comp { margin-bottom: var(--gap); font-size: var(--fs-body); letter-spacing: var(--ls-body); color: var(--accent); }
.sysseti-foot { display: flex; justify-content: flex-end; gap: var(--gap); margin-top: var(--sec-gap); }
/* az áttérítés célpont-listája: többsoros listbox (size=8) — nem a vezérlő-magasság, és nincs nyíl */
.deroute-target { width: 100%; height: auto; padding: var(--gap-s) 0; background-image: none; }
.deroute-target option { padding: var(--gap-s) var(--ctl-pad-x); }
