@charset "UTF-8";

/* Expedition intelligence, derived from the player's existing save. */
.sector-brief { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border:1px solid var(--line); border-radius:8px; margin:0 0 18px; background:var(--panel); }
.brief-item { display:flex; align-items:center; justify-content:space-between; gap:12px; text-align:left; border:0; border-right:1px solid var(--line); background:transparent; padding:16px 20px; }
.brief-item:last-child { border-right:0; }
.brief-item:hover { background:var(--panel-raised); }
.brief-item span { color:var(--muted); font-size:11px; }
.brief-item strong { font:18px var(--mono); color:var(--sage); white-space:nowrap; }
.map-filters { display:flex; gap:12px; justify-content:space-between; align-items:center; margin-bottom:18px; flex-wrap:wrap; }
.filter-buttons { display:flex; flex-wrap:wrap; gap:6px; }
.filter-button { background:transparent; border:1px solid var(--line); border-radius:5px; padding:7px 11px; color:var(--muted); font-size:11px; }
.filter-button[aria-pressed="true"] { background:var(--sage-dim); color:var(--sage); border-color:var(--sage); }
.stat-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin:24px 0; }
.stat-item { border-left:2px solid var(--line-strong); padding:8px 14px; display:flex; flex-direction:column; gap:8px; }
.stat-item strong { color:var(--amber-soft); font:26px var(--mono); }
.stat-item span,.coverage-label { color:var(--muted); font-size:11px; }
.coverage-label { display:flex; justify-content:space-between; margin-bottom:10px; }
.insight-columns { margin-top:20px; }
.biochemistry-row { margin-bottom:22px; }
.biochemistry-row > div:first-child { display:flex; justify-content:space-between; margin-bottom:10px; font-size:12px; }
.route-row { display:flex; justify-content:space-between; align-items:center; width:100%; padding:14px 0; text-align:left; border:0; border-bottom:1px solid var(--line); background:transparent; gap:12px; }
.route-row:last-child { border-bottom:0; }
.route-row small { display:block; color:var(--muted); margin-top:6px; }
.route-row > span:last-child { display:flex; align-items:center; gap:8px; color:var(--amber); white-space:nowrap; }
.route-row:hover strong { color:var(--sage); }
.catalog-tools { display:grid; grid-template-columns:2fr 1fr 1fr; gap:16px; margin:20px 0; }
.catalog-tools .form-field { min-width:0; margin:0; }
.catalog-tools input,.catalog-tools select { width:100%; }
.catalog-result-count { color:var(--muted); font-size:11px; }
.sample-facts { display:flex; align-items:center; flex-wrap:wrap; gap:16px; color:var(--sage); font:10px var(--mono); margin-top:12px; }
.sample-dossier { margin:24px 0; }
.sample-dossier > div { display:flex; justify-content:space-between; gap:20px; padding:12px 0; border-bottom:1px solid var(--line); }
.sample-dossier dt { color:var(--muted); }
.sample-dossier dd { margin:0; text-align:right; }
@media(max-width:760px) {
  .sector-brief { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .brief-item { padding:12px; border-bottom:1px solid var(--line); }
  .brief-item:nth-child(2n) { border-right:0; }
  .brief-item:nth-last-child(-n+2) { border-bottom:0; }
  .brief-item strong { font-size:15px; }
  .stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .catalog-tools { grid-template-columns:1fr 1fr; }
  .catalog-tools > :first-child { grid-column:1 / -1; }
  .tab-row { flex-wrap:wrap; }
}

/* Application-specific instruments. Loaded after the station's visual foundation. */
.icon { display: inline-block; width: 18px; height: 18px; flex: 0 0 auto; vertical-align: middle; }
hr { border: 0; height: 1px; margin: 23px 0; background: var(--line); }
.brand-mark { border: 0; border-bottom: 1px solid var(--line); width: 100%; padding: 0; }
.brand-mark img { width: 36px; height: 36px; }
.vertical-label { writing-mode: vertical-rl; font: 8px var(--mono); letter-spacing: .18em; color: var(--faint); }
.online-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--sage); box-shadow: 0 0 9px #91b7a529; display: inline-block; flex: 0 0 auto; }
.expedition-id { display: flex; align-items: center; gap: 11px; }
.expedition-id > div > strong { display: flex; gap: 10px; align-items: center; font-size: 11px; letter-spacing: .13em; font-weight: 500; color: #c7d1c7; white-space: nowrap; }
.expedition-id > div > span { display: block; font: 8px/1.5 var(--mono); color: var(--faint); margin-top: 6px; letter-spacing: .065em; }
.dev-tag { color: #6a8274; font: 7px var(--mono); letter-spacing: .04em; border: 1px solid var(--line); border-radius: 3px; padding: 3px 4px; }
.resource > div { min-width: 0; }
.resource-max { font-size: 9px; color: var(--faint); }
.resource-fill, .progress-fill { display: block; }
.resource-label { margin-top: 4px; letter-spacing: .055em; font-size: 8px; }
.resource-icon { grid-row: auto; }
.save-indicator::before { display: none; }
.save-indicator > i { width: 4px; height: 4px; border-radius: 50%; background: var(--sage); box-shadow: 0 0 7px #91b7a51c; }
.save-indicator > i.warning { background: var(--red); }
.coordinates { font: 9px/1.6 var(--mono); letter-spacing: .04em; color: var(--faint); margin-right: 8px; white-space: nowrap; }
.text-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; color: var(--sage); border: 0; background: transparent; padding: 0; font: 10px/1.6 var(--sans); text-decoration: none; transition: color .18s; }
.text-button .icon { width: 13px; height: 13px; transition: transform .18s; }
.text-button:hover { color: var(--amber-soft); }
.text-button:hover .icon { transform: translateX(3px); }
.section-description { margin: -5px 0 22px; max-width: 700px; color: var(--muted); font-size: 12px; line-height: 1.8; }
.section-heading h2 > span { display: inline-block; vertical-align: middle; margin-left: 8px; font: 10px var(--mono); color: var(--faint); border: 1px solid var(--line); border-radius: 3px; padding: 4px 6px; }
.section-heading > .icon { color: var(--sage); width: 19px; height: 19px; }
.status-badge .icon { width: 10px; height: 10px; }
.status-badge.warning { color: var(--amber); border-color: #e7a66a33; background: #e7a66a0a; }
.status-badge.unknown { color: var(--faint); background: transparent; border-color: var(--line); }

/* Navigation map — fine lines, quiet labels, a single warm point of attention. */
.map-toggle { display: inline-flex; align-items: center; gap: 7px; border: 0; padding: 4px 0; background: transparent; color: #839c8c; font: 9px/1.6 var(--mono); white-space: nowrap; }
.map-toggle:hover { color: var(--text); }
.map-toggle[aria-pressed="false"] { color: var(--faint); }
.map-meta .online-dot { width: 4px; height: 4px; margin-right: 3px; }
.map-orbits path { fill: none; stroke: rgba(145, 183, 165, .055); stroke-width: 1; }
.map-lines line.route-active { stroke: rgba(231, 166, 106, .35); stroke-width: 1.1; stroke-dasharray: 4 6; }
.map-lines line.route-dim { stroke: rgba(145, 183, 165, .095); stroke-width: 1; }
.coordinate-label.top { top: 17px; left: 18px; }
.coordinate-label.bottom { bottom: 17px; left: 18px; font-size: 7px; letter-spacing: .07em; }
.map-controls { align-items: center; min-width: 38px; }
.map-controls > span { color: var(--faint); font: 7px var(--mono); line-height: 1; padding: 7px 2px; }
.map-controls .icon-button { border: 0; }
.map-controls > .icon-button:first-child { border-bottom: 1px solid var(--line); }
.map-controls > .icon-button:last-child { border-top: 1px solid var(--line); }
.map-caption > span { color: var(--faint); font: 8px/1.6 var(--mono); white-space: nowrap; }
.legend-dot.current-dot { background: var(--amber); box-shadow: 0 0 6px #e7a66a33; }
.legend-dot.visited-dot { background: var(--sage); }
.legend-dot.unexplored-dot { background: #6c8176; }
.star-node.has-anomaly:not(.current) .star-dot { border-radius: 1px; }
.star-node.has-anomaly:not(.current) .star-distance { color: #8b859a; }
.star-node:not(.visited):not(.current):not(.selected):not(.reachable) { opacity: .54; }
.star-node:not(.visited):not(.current):not(.selected):hover { opacity: 1; }
.star-node.current .ship-marker { top: -1px; }
.star-node.current .ship-marker .icon { width: 11px; height: 11px; }
.side-panel .panel-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding-top: 20px; }
.side-panel .panel-head .eyebrow { margin: 0; font-size: 7px; letter-spacing: .09em; }
.side-panel .panel-head .eyebrow::before { display: none; }
.side-panel .panel-head .status-badge { font-size: 7px; padding: 4px 5px; }
.side-panel > .system-name { margin: 16px 22px 0; }
.side-panel > .system-type { margin: 8px 22px 0; font-size: 9px; }
.system-type > span { color: var(--faint); }
.system-art { height: 133px; min-height: 100px; color: var(--star-color, var(--amber)); background: none; }
.system-art::before, .system-art::after { display: none; }
.system-art > svg { width: min(100%, 300px); height: 100%; }
.side-panel > * { flex-shrink: 0; }
.side-panel .system-description { font-size: 11px; line-height: 1.7; }
.side-panel .action-stack { gap: 7px; padding-top: 17px; padding-bottom: 17px; }
.side-panel .action-stack .button { min-height: 36px; padding-block: 8px; font-size: 11px; }
.side-panel .action-hint { font-size: 9px; }
.jump-cost { display: flex; justify-content: center; align-items: center; gap: 18px; padding: 6px 0 0; color: var(--muted); font: 9px var(--mono); }
.jump-cost > span { display: flex; align-items: center; gap: 5px; }
.jump-cost .icon { width: 11px; height: 11px; color: var(--faint); }
.objective-card.compact { padding-top: 15px; padding-bottom: 15px; }
.objective-header .eyebrow { margin: 0; color: var(--sage); font-size: 8px; letter-spacing: .08em; }
.objective-header .eyebrow::before { display: none; }
.objective-count { color: #849d8d; font: 9px var(--mono); white-space: nowrap; }
.objective-card .text-button { margin-top: 11px; color: #76917e; font-size: 9px; }
.objective-card.compact h3 { font-size: 12px; }
.objective-card.compact p { font-size: 10px; }
.objective-card .progress-track { margin-top: 11px; height: 2px; }
.mission-strip { min-height: 70px; padding-block: 14px; }
.mission-symbol { display: grid; place-items: center; color: var(--sage); flex: 0 0 auto; width: 28px; }
.mission-symbol .icon { width: 23px; height: 23px; }
.mission-strip > div:nth-child(2) { flex: 1; min-width: 0; }
.mission-strip .eyebrow { display: block; font-size: 8px; margin: 0 0 4px; letter-spacing: .12em; }
.mission-strip .eyebrow::before { display: none; }
.mission-strip p { font-size: 11px; }
.signal-fragments { display: flex; gap: 7px; align-items: center; flex: 0 0 auto; margin-inline: 15px; }
.signal-fragments > span { display: grid; place-items: center; width: 31px; height: 31px; background: #91b7a503; border: 1px solid var(--line); color: #344c3f; border-radius: 3px; }
.signal-fragments .icon { width: 14px; height: 14px; }
.signal-fragments > span.found { border-color: #e7a66a33; background: #e7a66a09; color: var(--amber); box-shadow: 0 0 15px #e7a66a05; }
.mission-strip > .text-button { flex-shrink: 0; }
.event-label .icon { width: 12px; height: 12px; }
.event-label::before { display: none; }
.eventbar > .icon-button { width: 23px; height: 23px; margin-block: -5px; }
.eventbar > .icon-button .icon { width: 13px; height: 13px; }

/* Local system and ship instruments */
.system-workspace { display: grid; grid-template-columns: minmax(0, 1fr) 306px; gap: 20px; align-items: start; }
.system-workspace > div { min-width: 0; }
.system-workspace .planet-grid { grid-template-columns: repeat(auto-fit, minmax(225px, 1fr)); gap: 15px; }
.planet-visual { position: relative; height: 123px; margin: -3px 0 12px; display: flex; align-items: center; justify-content: flex-start; }
.planet-visual::before { content: ""; position: absolute; width: 115px; height: 115px; left: -15px; top: 2px; border: 1px solid #91b7a50a; border-radius: 50%; }
.planet-visual .planet-orb { margin: 0; width: 82px; height: 82px; }
.planet-number { position: absolute; right: 0; top: 8px; color: #42594d; font: 10px var(--mono); letter-spacing: .1em; }
.planet-info { display: flex; flex-direction: column; flex: 1; }
.planet-info .tags { gap: 5px; margin-bottom: 15px; }
.planet-info .tag { font-size: 8px; padding: 4px 5px; white-space: normal; }
.planet-info .tag .icon { width: 10px; height: 10px; }
.planet-info .detail-row { font-size: 10px; margin-top: auto; }
.planet-info .detail-row strong { font-weight: 400; }
.planet-info .card-actions { padding-top: 15px; align-items: center; }
.planet-info .card-actions .button { flex: 1; padding-inline: 12px; }
.planet-info .card-actions .action-hint { width: 100%; font: 8px var(--mono); }
.operations-panel { padding: 21px; }
.operations-panel > .section-heading { margin-bottom: 17px; align-items: center; }
.operations-panel .section-heading h2 { font-size: 18px; }
.operations-panel .section-heading h3 { font-size: 12px; font-weight: 500; }
.operations-panel .detail-row { font-size: 10px; }
.operations-panel .detail-row strong { font-size: 10px; font-weight: 400; }
.operations-panel .health-bar { margin: 9px 0 16px; }
.operations-panel .action-stack { padding: 18px 0 0; gap: 7px; }
.operations-panel .action-stack .button { min-height: 35px; font-size: 11px; padding-inline: 10px; }
.operations-panel .role-select { margin: 0 0 11px; font-size: 10px; padding-inline: 9px; min-height: 38px; }
.operations-panel > .action-hint { text-align: left; font-size: 10px; line-height: 1.7; }
.operations-panel hr { margin: 23px 0; }
.build-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 0; border-top: 1px solid var(--line); }
.build-row:first-of-type { border-top: 0; }
.build-row:last-child { padding-bottom: 0; }
.build-row > div { min-width: 0; }
.build-row strong { display: block; color: #bacbc0; font-size: 11px; font-weight: 500; line-height: 1.5; }
.build-row > div > span { display: block; font-size: 9px; color: var(--faint); line-height: 1.7; margin-top: 3px; }
.build-row .button { flex-shrink: 0; padding: 6px 7px; font-size: 9px; gap: 4px; }
.build-row .button .icon { width: 11px; height: 11px; }
.expedition-alert { display: flex; align-items: center; gap: 12px; padding: 13px 17px; background: #e7a66a0a; border: 1px solid #e7a66a24; border-radius: 5px; color: #c8b296; font-size: 12px; margin-bottom: 20px; }
.expedition-alert > .icon { width: 17px; height: 17px; color: var(--amber); }
.expedition-alert > .button { margin-left: auto; }
.anomaly-panel { display: flex; align-items: center; gap: 19px; margin-top: 20px; padding: 22px; border: 1px solid #aba0c529; border-radius: 6px; background: linear-gradient(115deg, #aba0c50a, transparent), #0f181b; }
.anomaly-icon { width: 39px; height: 46px; display: grid; place-items: center; flex-shrink: 0; color: #b8a6cf; }
.anomaly-icon .icon { width: 26px; height: 26px; }
.anomaly-panel > div:nth-child(2) { min-width: 0; flex: 1; }
.anomaly-panel .eyebrow { color: #9382a8; font-size: 8px; }
.anomaly-panel h3 { font-size: 17px; font-weight: 400; margin-bottom: 8px; }
.anomaly-panel p { color: #939e9e; font-size: 11px; line-height: 1.7; margin: 0; }
.anomaly-panel .button { flex-shrink: 0; }
.survey-empty { min-height: 430px; display: flex; align-items: center; justify-content: center; flex-direction: column; }

/* Surface. Each of the nine D-pad children occupies its own cell. */
.surface-panel { padding: 0; overflow: hidden; }
.surface-panel .map-toolbar { border-radius: 6px 6px 0 0; }
.surface-panel .map-toolbar .eyebrow { margin: 0; font-size: 8px; }
.surface-panel .map-toolbar .eyebrow::before { display: none; }
.surface-panel .map-meta .icon { width: 13px; height: 13px; }
.surface-legend { justify-content: center; gap: 20px; font-size: 9px; }
.surface-legend > span { display: inline-flex; align-items: center; white-space: nowrap; }
.surface-legend b { font-weight: 400; color: var(--sage); }
.surface-legend > span:nth-child(2) b { color: var(--blue); }
.surface-legend > span:nth-child(3) b { color: var(--amber); }
.surface-legend > span:nth-child(4) b { color: var(--red); }
.surface-legend > span:nth-child(5) b { color: #b8a4cf; }
.keyboard-hint { color: var(--faint); font: 9px/1.95 var(--mono); text-align: center; padding: 16px 22px 21px; margin: 0; }
.keyboard-hint .keycap { font-size: 8px; min-height: 18px; }
.surface-info h2 { font-size: 26px; font-weight: 400; margin: 0 0 7px; letter-spacing: -.03em; }
.surface-info > h2 + p { margin-bottom: 21px; color: var(--sage); font: 10px var(--mono); }
.oxygen-reading { display: flex; align-items: baseline; gap: 9px; margin-top: 24px; }
.oxygen-reading > span { font: 44px/1 var(--mono); color: var(--sage); letter-spacing: -.06em; }
.oxygen-reading > small { font: 11px var(--mono); color: var(--faint); }
.surface-info .progress-track.oxygen { margin: 13px 0 9px; height: 3px; }
.surface-info .oxygen + .action-hint { text-align: left; margin-bottom: 24px; }
.surface-info .detail-row strong { font-weight: 400; }
.dpad { grid-auto-flow: row; }
.dpad > button { width: 100%; height: 100%; }
.dpad > button > .icon { width: 18px; height: 18px; }
.dpad > span { min-height: 0; min-width: 0; }
.dpad-center { display: grid; place-items: center; color: #789583; font: 17px var(--mono); }
.surface-info > .action-hint { font-size: 9px; }
.surface-cell { transition: background .12s, border-color .12s; }
.surface-cell.player:focus-visible { outline-offset: -2px; }

/* The crew is a family of memories, not a set of anonymous profile cards. */
.crew-card-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 18px; }
.crew-card-top .eyebrow { margin: 0; font-size: 8px; color: var(--faint); }
.crew-card-top .eyebrow::before { display: none; }
.crew-card > h2 { font-size: 25px; font-weight: 400; margin: 0 0 7px; letter-spacing: -.04em; }
.crew-card > .role-select { margin: 9px 0 13px; }
.crew-card > p { min-height: 38px; }
.crew-card > .detail-row strong { font-weight: 400; }
.crew-card > .button { margin-top: 20px; width: 100%; font-size: 11px; }
.grow-card { align-items: center; justify-content: center; min-height: 330px; text-align: center; border-style: dashed; background: #0c1616; }
.clone-empty-symbol { display: grid; place-items: center; width: 58px; height: 58px; margin-bottom: 25px; border: 1px solid var(--line-strong); border-radius: 50%; color: var(--faint); box-shadow: 0 0 0 10px #91b7a503, 0 0 0 11px #91b7a506; }
.clone-empty-symbol > .icon { width: 23px; height: 23px; }
.grow-card > h2 { font-size: 21px; line-height: 1.4; max-width: 220px; }
.grow-card > p { max-width: 260px; font-size: 11px; line-height: 1.8; min-height: 0; margin-bottom: 3px; }
.grow-card > .button { width: auto; min-width: 160px; margin-top: 16px; }
.grow-card > .action-hint { margin-top: 13px; font-size: 9px; }
.automation-panel { margin-top: 23px; }
.daemon-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; }
.daemon-row { display: flex; align-items: center; gap: 15px; padding-top: 21px; border-top: 1px solid var(--line); min-width: 0; }
.daemon-icon { display: grid; place-items: center; width: 39px; height: 43px; flex-shrink: 0; color: var(--sage); background: var(--sage-dim); border: 1px solid var(--line); border-radius: 4px; }
.daemon-icon > .icon { width: 19px; height: 19px; }
.daemon-row > div:nth-child(2) { min-width: 0; flex: 1; }
.daemon-row h3 { margin: 0 0 6px; font-size: 12px; font-weight: 500; }
.daemon-row p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.8; }
.daemon-row .stepper { gap: 6px; flex-shrink: 0; }
.daemon-row .stepper > strong { color: var(--text); font: 13px var(--mono); min-width: 17px; text-align: center; }
.daemon-row .stepper .icon { width: 14px; height: 14px; }

/* Lab drawers and the technology catalogue */
.science-count { display: flex; align-items: center; gap: 10px; font: 21px var(--mono); color: var(--sage); }
.science-count > .icon { width: 19px; height: 19px; }
.science-count small { color: var(--muted); font: 10px var(--sans); }
.samples-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; }
.samples-grid .sample-card { padding: 17px 0; margin: 0; grid-template-columns: 39px minmax(0, 1fr) auto; gap: 13px; border-bottom: 1px solid var(--line); align-items: center; }
.samples-grid .sample-card:nth-child(-n+2) { padding-top: 0; }
.samples-grid .sample-card:nth-last-child(-n+2) { border-bottom: 0; padding-bottom: 0; }
.sample-symbol { color: var(--sample-color, var(--sage)); width: 39px; height: 44px; border-color: color-mix(in srgb, var(--sample-color, var(--sage)) 20%, transparent); background: color-mix(in srgb, var(--sample-color, var(--sage)) 5%, transparent); }
.sample-symbol > .icon { width: 20px; height: 20px; }
.sample-info { min-width: 0; }
.sample-info .eyebrow { font-size: 7px; letter-spacing: .08em; margin-bottom: 5px; }
.sample-info .eyebrow::before { display: none; }
.sample-info h3 { font-size: 12px; line-height: 1.5; }
.sample-info p { font-size: 10px; margin: 0; }
.samples-grid .sample-card .button { padding-inline: 9px; font-size: 9px; }
.samples-grid .sample-card .button > .icon { width: 11px; height: 11px; }
.empty-inline { min-height: 65px; display: flex; align-items: center; gap: 14px; color: var(--faint); font-size: 12px; line-height: 1.8; }
.empty-inline > .icon { color: #637c6c; width: 23px; height: 23px; }
.technologies-heading { margin-top: 30px; margin-bottom: 20px; }
.technologies-heading > .muted { font: 10px var(--mono); }
.tech-topline { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 22px; }
.tech-topline .tech-index { margin: 0; font: 10px var(--mono); color: var(--faint); }
.tech-state { color: #56725f; }
.tech-state .icon { width: 18px; height: 18px; }
.tech-card.available .tech-state { color: var(--sage); }
.tech-card.unlocked .tech-state { color: var(--amber); }
.tech-card h3 { font-size: 17px; }
.tech-card > p { margin-bottom: 17px; }
.tech-effect { color: #acc3b2; font: 9px/1.7 var(--mono); padding-bottom: 17px; }
.tech-bottom { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid var(--line); margin-top: auto; padding-top: 14px; }
.tech-bottom .cost-row { border: 0; margin: 0; padding: 0; gap: 12px; }
.cost-row .icon { width: 12px; height: 12px; }
.cost-row .cost { white-space: nowrap; }
.tech-bottom .button { width: auto; min-height: 30px; padding: 6px 0 6px 6px; font-size: 10px; gap: 5px; }
.tech-bottom .button .icon { width: 12px; height: 12px; }
.tech-card > .tech-requirement { font: 9px/1.65 var(--mono); color: #6e8276; margin: 12px 0 0; padding-top: 10px; border-top: 1px solid rgba(145, 183, 165, .05); }
.unlocked-label { font: 8px var(--mono); letter-spacing: .11em; color: var(--sage); }

/* Mission board and the expedition's persistent story */
.journal-columns { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 20px; align-items: start; }
.journal-columns > .content-panel { margin-top: 0; }
.objectives-list { display: flex; flex-direction: column; }
.objective-row { display: grid; grid-template-columns: 29px minmax(0, 1fr) auto; align-items: start; gap: 14px; padding: 21px 0; border-top: 1px solid var(--line); }
.objective-row:last-child { padding-bottom: 0; }
.objective-step { color: #617a69; font: 10px/1.7 var(--mono); padding-top: 2px; }
.objective-step > .icon { width: 15px; height: 15px; }
.objective-row h3 { font-size: 12px; margin: 0 0 7px; line-height: 1.5; font-weight: 500; }
.objective-row p { color: var(--muted); font-size: 11px; line-height: 1.7; margin: 0; }
.objective-row .progress-track { margin-top: 12px; height: 2px; }
.objective-value { font: 9px/1.7 var(--mono); color: #708b79; padding-top: 2px; white-space: nowrap; }
.objective-row.done .objective-step { color: var(--sage); }
.objective-row.done h3 { color: #9db7a3; }
.objective-row.done p { color: #677c6c; }
.objective-row.done .progress-fill { background: #5a7663; }
.contracts-list { display: flex; flex-direction: column; }
.contract-heading { display: flex; gap: 12px; align-items: flex-start; justify-content: space-between; margin-bottom: 9px; }
.contract-heading h3 { font-size: 12px; margin: 0; line-height: 1.6; }
.contract-heading > .status-badge { flex-shrink: 0; font-size: 7px; padding: 4px 6px; }
.contract-card > p { font-size: 11px; line-height: 1.75; margin-bottom: 13px; }
.contract-card .progress-track { height: 2px; }
.contract-bottom { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 12px; }
.contract-bottom .cost-row { border: 0; padding: 0; margin: 0; font-size: 9px; gap: 10px; }
.contract-bottom .cost-row .insufficient { color: var(--sage); }
.contract-bottom .button { padding-inline: 0; gap: 5px; font-size: 9px; }
.contract-bottom .button .icon { width: 12px; height: 12px; }
.catalog-entry { display: grid; grid-template-columns: 46px minmax(0, 1fr) auto; gap: 18px; align-items: start; padding: 24px 0; border-top: 1px solid var(--line); }
.catalog-entry:first-child { border-top: 0; padding-top: 0; }
.catalog-entry:last-child { padding-bottom: 0; }
.catalog-icon { display: grid; place-items: center; width: 44px; height: 50px; border: 1px solid color-mix(in srgb, var(--sample-color, var(--sage)) 20%, transparent); border-radius: 4px; color: var(--sample-color, var(--sage)); background: color-mix(in srgb, var(--sample-color, var(--sage)) 5%, transparent); }
.catalog-icon .icon { width: 21px; height: 21px; }
.catalog-entry .eyebrow { font-size: 8px; margin-bottom: 7px; }
.catalog-entry .eyebrow::before { display: none; }
.catalog-entry h3 { font-size: 15px; font-weight: 500; margin: 0 0 8px; }
.catalog-entry p { font-size: 12px; line-height: 1.8; color: var(--muted); margin: 0 0 10px; }
.catalog-origin { color: #657f6d; font: 9px/1.7 var(--mono); }
.catalog-entry > .status-badge { margin-top: 3px; }
.journal-entry { grid-template-columns: 64px 6px minmax(0, 1fr); gap: 16px; align-items: baseline; padding-bottom: 18px; margin-bottom: 17px; }
.journal-entry > time { color: var(--faint); font: 8px/1.7 var(--mono); white-space: nowrap; }
.journal-entry > .log-kind { display: inline-block; width: 4px; height: 4px; border-radius: 50%; background: #6f8a78; margin: 0; transform: translateY(-2px); }
.journal-entry > .log-kind.discovery, .journal-entry > .log-kind.signal, .journal-entry > .log-kind.research { background: var(--amber); }
.journal-entry > .log-kind.warning, .journal-entry > .log-kind.danger, .journal-entry > .log-kind.loss { background: var(--red); }
.journal-entry > p { font-size: 12px; line-height: 1.8; }

/* Dialog markup keeps the channel heading separate from its human title. */
.modal-header { align-items: center; padding: 20px 28px 17px; }
.modal-header > .eyebrow { margin: 0; font-size: 8px; color: #748e7e; }
.modal-header .icon-button { margin: -6px -6px -6px 0; }
.modal > h2 { margin: 27px 28px 0; font-size: 28px; font-weight: 400; line-height: 1.25; letter-spacing: -.04em; }
.modal-body { padding-top: 19px; }
.modal-body .modal-lead { font-size: 14px; line-height: 1.85; color: #c1cfc3; margin-bottom: 25px; }
.help-number { display: block; }
.help-note { display: flex; align-items: center; gap: 13px; margin: 23px 0 20px; padding: 14px 16px; border: 1px solid #e7a66a19; background: #e7a66a05; border-radius: 4px; font-size: 11px; color: #b8ac97; line-height: 1.75; }
.help-note > .icon { width: 17px; height: 17px; color: var(--amber); }
.modal-body > .action-hint { text-align: left; font-size: 10px; line-height: 1.75; }
.modal-body > label.form-field { display: block; color: var(--muted); font-size: 11px; line-height: 1.6; margin-bottom: 19px; }
.modal-body > label.form-field input, .modal-body > label.form-field select { display: block; margin-top: 8px; width: 100%; }
.settings-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.settings-actions .button { padding-inline: 10px; font-size: 11px; }
.settings-actions .button .icon { width: 14px; height: 14px; }
.toggle-switch { width: 41px; height: 23px; flex-shrink: 0; border: 1px solid #3b4e42; background: #15221c; border-radius: 20px; padding: 3px; display: flex; align-items: center; transition: background .18s, border-color .18s; }
.toggle-switch > span { display: block; width: 15px; height: 15px; border-radius: 50%; background: #617b69; transition: transform .18s, background .18s; }
.toggle-switch.on { background: #91b7a529; border-color: #91b7a56e; }
.toggle-switch.on > span { transform: translateX(16px); background: var(--sage); }
.toggle-switch:hover { border-color: var(--sage); }
.about-build { display: flex; flex-direction: column; gap: 6px; border-top: 1px solid var(--line); margin-top: 25px; padding-top: 19px; font: 8px/1.5 var(--mono); letter-spacing: .04em; color: #506d59; }
.about-build > span:first-child { color: #799680; font-size: 9px; letter-spacing: .1em; }
.import-summary { display: flex; flex-direction: column; margin: 5px 0 24px; padding: 14px 18px; border: 1px solid var(--line); border-radius: 5px; background: #0c1617; }
.import-summary > span { display: flex; justify-content: space-between; gap: 20px; padding: 6px 0; color: var(--muted); font-size: 11px; }
.import-summary b { color: var(--sage); font: 11px var(--mono); }
.victory-glyph { display: grid; place-items: center; height: 130px; color: var(--amber); background: radial-gradient(ellipse, #e7a66a0e, transparent 65%); }
.victory-glyph > .icon { width: 66px; height: 66px; stroke-width: .7; filter: drop-shadow(0 0 20px #e7a66a25); }
.victory-stats > div + div { border-left: 1px solid var(--line); }
.boot-screen { min-height: 100svh; display: flex; align-items: center; justify-content: center; flex-direction: column; padding: 30px; text-align: center; background: radial-gradient(ellipse at center, #91b7a507, transparent 55%), var(--bg); }
.boot-orbit { color: var(--amber); font: 43px var(--mono); margin-bottom: 28px; text-shadow: 0 0 28px #e7a66a20; }
.boot-screen h1 { font-size: 27px; font-weight: 400; letter-spacing: -.04em; }
.boot-screen p { color: var(--faint); font: 11px var(--mono); }
.reduce-motion *, .reduce-motion *::before, .reduce-motion *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }

@media (min-width: 1060px) {
  .game-layout { height: clamp(560px, calc(100svh - 348px), 760px); min-height: 0; }
  .game-layout .map-panel { height: 100%; min-height: 0; }
  .game-layout .star-map { height: auto; min-height: 390px; }
  .game-layout .side-panel { min-height: 0; overflow-y: auto; scrollbar-width: thin; }
  .objective-card.compact p { display: none; }
}
@media (min-width: 1600px) {
  .side-panel > .system-name, .side-panel > .system-type { margin-inline: 26px; }
  .system-art { height: 155px; }
  .system-workspace { grid-template-columns: minmax(0, 1fr) 334px; gap: 24px; }
  .operations-panel { padding: 25px; }
}
@media (max-width: 1250px) {
  .expedition-id { gap: 8px; }
  .expedition-id > div > strong { font-size: 10px; letter-spacing: .09em; gap: 7px; }
  .expedition-id > div > span { font-size: 7px; letter-spacing: .025em; }
  .dev-tag { font-size: 6px; }
  .resource-strip { gap: 22px; }
  .coordinates { font-size: 8px; margin-right: 3px; }
  .side-panel > .system-name, .side-panel > .system-type { margin-inline: 19px; }
  .map-caption > span { font-size: 7px; }
  .mission-strip { gap: 14px; }
  .signal-fragments { margin-inline: 8px; }
  .mission-strip p { font-size: 10px; }
  .system-workspace { grid-template-columns: minmax(0, 1fr) 280px; gap: 17px; }
  .system-workspace .planet-grid { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
  .operations-panel { padding: 18px; }
  .daemon-grid { gap: 22px; }
  .daemon-row { flex-wrap: wrap; gap: 12px; }
  .daemon-row .stepper { margin-left: 51px; }
  .daemon-row > div:nth-child(2) { min-width: 170px; }
  .journal-columns { gap: 17px; }
  .objective-row { gap: 10px; grid-template-columns: 23px minmax(0, 1fr) auto; }
  .samples-grid { grid-template-columns: minmax(0, 1fr); }
  .samples-grid .sample-card:nth-child(2) { padding-top: 17px; }
  .samples-grid .sample-card:nth-last-child(2) { padding-bottom: 17px; border-bottom: 1px solid var(--line); }
  .samples-grid .sample-card:only-child { padding-block: 0; border-bottom: 0; }
  .tech-bottom { gap: 8px; flex-wrap: wrap; }
  .tech-bottom .cost-row { gap: 10px; }
}
@media (max-width: 1050px) {
  .expedition-id { max-width: none; }
  .expedition-id > .online-dot { display: none; }
  .resource-strip { gap: 19px; }
  .resource { display: block; }
  .resource-icon { display: none; }
  .resource-max { font-size: 8px; }
  .dev-tag { display: none; }
  .coordinates { display: none; }
  .side-panel > .system-name { font-size: 25px; }
  .side-panel .panel-head { gap: 7px; }
  .side-panel .panel-head .eyebrow { font-size: 6px; }
  .side-panel .panel-head .status-badge { font-size: 6px; }
  .map-caption > span { display: none; }
  .signal-fragments { margin-inline: 0; gap: 5px; }
  .signal-fragments > span { width: 25px; height: 27px; }
  .signal-fragments .icon { width: 12px; height: 12px; }
  .mission-strip > .text-button { font-size: 9px; }
  .system-workspace { grid-template-columns: minmax(0, 1fr) 263px; gap: 14px; }
  .system-workspace .planet-grid { grid-template-columns: minmax(0, 1fr); }
  .anomaly-panel { flex-wrap: wrap; padding: 19px; gap: 13px; }
  .anomaly-panel > .button { margin-left: 52px; }
  .anomaly-panel > div:nth-child(2) { min-width: 150px; }
  .daemon-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .daemon-row { flex-wrap: nowrap; }
  .daemon-row .stepper { margin-left: 0; }
  .journal-columns { grid-template-columns: minmax(0, 1fr); }
  .surface-legend { gap: 13px; font-size: 8px; }
  .surface-legend b { font-size: 12px; }
  .keyboard-hint { font-size: 8px; padding-inline: 17px; }
}
@media (max-width: 880px) and (min-width: 761px) {
  .expedition-id > div > strong { font-size: 9px; }
  .expedition-id > div > span { font-size: 6px; }
  .resource-strip { gap: 13px; }
  .side-panel { display: flex; position: relative; }
  .side-panel .panel-head { padding-top: 22px; }
  .side-panel .panel-head .eyebrow { font-size: 8px; }
  .side-panel .panel-head .status-badge { font-size: 8px; }
  .side-panel > .system-name { font-size: 29px; margin-top: 15px; }
  .side-panel .system-art { width: 190px; height: 120px; position: absolute; top: 55px; right: 15px; margin: 0; }
  .side-panel .system-stats { padding-top: 20px; margin-top: 100px; }
  .side-panel .objective-card { margin-top: 0; }
  .mission-strip { flex-wrap: wrap; }
  .mission-strip > .text-button { margin-left: auto; }
}
@media (max-width: 760px) {
  .expedition-id { gap: 9px; }
  .expedition-id::before { content: "✧"; }
  .expedition-id > div > strong { font-size: 9px; letter-spacing: .12em; }
  .expedition-id > div > span { font-size: 6px; margin-top: 3px; letter-spacing: .04em; }
  .expedition-id > .online-dot { display: none; }
  .dev-tag { display: inline-block; font-size: 6px; padding: 2px 3px; }
  .resource-strip { gap: 14px; }
  .resource { display: flex; align-items: flex-start; gap: 6px; }
  .resource-icon { display: block; margin-top: 1px; }
  .resource-icon .icon { width: 12px; height: 12px; }
  .resource-number { font-size: 12px; }
  .resource-max { font-size: 7px; }
  .resource-label { font-size: 7px; margin-top: 5px; letter-spacing: .035em; }
  .resource-meter { display: none; }
  .map-toggle { font-size: 8px; }
  .coordinate-label.top { left: 13px; top: 14px; font-size: 6px; }
  .coordinate-label.bottom { left: 13px; bottom: 14px; max-width: 70%; font-size: 6px; line-height: 1.7; }
  .side-panel .panel-head { padding-top: 21px; }
  .side-panel .panel-head .eyebrow { font-size: 8px; }
  .side-panel .panel-head .status-badge { font-size: 7px; }
  .side-panel > .system-name { margin: 18px 22px 0; font-size: 29px; }
  .side-panel > .system-type { margin: 8px 22px 0; font-size: 10px; }
  .side-panel .system-art { height: 145px; }
  .side-panel .system-description { font-size: 12px; }
  .side-panel .action-stack { padding: 22px; }
  .side-panel .action-stack .button { min-height: 43px; font-size: 12px; }
  .side-panel .action-hint { font-size: 10px; }
  .objective-card.compact { padding-top: 18px; padding-bottom: 19px; }
  .objective-card.compact h3 { font-size: 13px; }
  .objective-card.compact p { font-size: 11px; }
  .objective-card .text-button { font-size: 10px; margin-top: 12px; }
  .mission-strip { padding: 16px; gap: 12px; display: grid; grid-template-columns: 25px minmax(0, 1fr) auto; }
  .mission-strip > div:nth-child(2) { min-width: 0; }
  .mission-symbol { width: 25px; align-self: start; padding-top: 2px; }
  .mission-symbol .icon { width: 20px; height: 20px; }
  .mission-strip p { font-size: 10px; }
  .mission-strip .eyebrow { font-size: 7px; }
  .signal-fragments { gap: 5px; flex-direction: column; grid-column: 3; grid-row: 1 / 3; }
  .signal-fragments > span { width: 23px; height: 23px; }
  .signal-fragments .icon { width: 11px; height: 11px; }
  .mission-strip > .text-button { grid-column: 2; justify-self: start; font-size: 10px; }
  .event-label > .icon { display: none; }
  .event-label { font-size: 7px; padding-top: 2px; }
  .eventbar > .icon-button { margin-top: -3px; }
  .system-workspace { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .system-workspace .planet-grid { grid-template-columns: minmax(0, 1fr); }
  .planet-visual { height: 115px; margin-bottom: 15px; }
  .planet-visual .planet-orb { width: 88px; height: 88px; }
  .planet-info .tag { font-size: 9px; padding: 5px 7px; }
  .planet-info .detail-row { font-size: 11px; }
  .planet-info .card-actions .action-hint { font-size: 9px; }
  .planet-info .card-actions .button { min-height: 43px; }
  .operations-panel { padding: 22px; }
  .operations-panel .section-heading h2 { font-size: 21px; }
  .operations-panel .section-heading h3 { font-size: 13px; }
  .operations-panel .detail-row { font-size: 12px; }
  .operations-panel .detail-row strong { font-size: 11px; }
  .operations-panel .action-stack .button { min-height: 42px; font-size: 12px; }
  .operations-panel .role-select { font-size: 11px; min-height: 42px; }
  .operations-panel > .action-hint { font-size: 11px; }
  .build-row { padding-block: 17px; }
  .build-row strong { font-size: 12px; }
  .build-row > div > span { font-size: 10px; }
  .build-row .button { min-height: 34px; font-size: 10px; padding-inline: 9px; }
  .expedition-alert { flex-wrap: wrap; font-size: 11px; gap: 10px; }
  .expedition-alert > .button { margin-left: 27px; }
  .anomaly-panel { padding: 21px; gap: 13px; }
  .anomaly-panel > div:nth-child(2) { min-width: 190px; }
  .anomaly-panel > .button { margin-left: 52px; min-height: 39px; }
  .surface-panel .map-toolbar { padding-inline: 13px; }
  .surface-panel .map-toolbar .eyebrow { font-size: 7px; }
  .surface-panel .map-toolbar .map-meta { font-size: 8px; }
  .surface-legend { padding: 13px 10px; gap: 10px 14px; justify-content: flex-start; font-size: 8px; }
  .surface-legend b { font-size: 12px; margin-right: 4px; }
  .keyboard-hint { font-size: 8px; padding: 12px 14px 17px; line-height: 2.3; }
  .keyboard-hint .keycap { font-size: 7px; }
  .surface-info > h2 + p { font-size: 11px; }
  .oxygen-reading > span { font-size: 49px; }
  .oxygen-reading > small { font-size: 12px; }
  .surface-info .action-hint { font-size: 10px; }
  .dpad > button > .icon { width: 23px; height: 23px; }
  .dpad-center { font-size: 20px; }
  .crew-card-top .eyebrow { font-size: 9px; }
  .crew-card > h2 { font-size: 26px; }
  .crew-card > .role-select { min-height: 42px; }
  .crew-card > .button { min-height: 42px; }
  .grow-card { min-height: 320px; }
  .grow-card > h2 { font-size: 23px; }
  .grow-card > p { font-size: 12px; }
  .grow-card > .action-hint { font-size: 10px; }
  .daemon-grid { gap: 20px; }
  .daemon-row { flex-wrap: wrap; gap: 11px; }
  .daemon-row > div:nth-child(2) { min-width: 160px; }
  .daemon-row p { font-size: 10px; }
  .daemon-row .stepper { margin-left: 50px; }
  .daemon-row .stepper .icon-button { width: 34px; height: 32px; }
  .section-description { font-size: 11px; }
  .science-count { font-size: 20px; gap: 8px; }
  .samples-grid .sample-card { grid-template-columns: 34px minmax(0, 1fr); gap: 11px; padding-block: 18px; }
  .samples-grid .sample-card .sample-symbol { width: 34px; height: 40px; }
  .samples-grid .sample-card .button { grid-column: 2; justify-self: start; min-height: 33px; font-size: 10px; padding-inline: 11px; }
  .samples-grid .sample-card:nth-child(2) { padding-top: 18px; }
  .samples-grid .sample-card:nth-last-child(2) { padding-bottom: 18px; }
  .samples-grid .sample-card:only-child { padding-block: 0; border-bottom: 0; }
  .sample-info h3 { font-size: 13px; }
  .sample-info p { font-size: 10px; }
  .empty-inline { font-size: 11px; gap: 11px; align-items: flex-start; min-height: 50px; }
  .empty-inline > .icon { width: 21px; height: 21px; margin-top: 3px; }
  .technologies-heading { margin-top: 26px; }
  .tech-card h3 { font-size: 16px; }
  .tech-bottom { flex-direction: column; align-items: flex-start; gap: 10px; }
  .tech-bottom .button { justify-content: flex-start; padding-left: 0; width: 100%; font-size: 10px; }
  .tech-card > .tech-requirement { font-size: 8px; }
  .objective-row { grid-template-columns: 23px minmax(0, 1fr) auto; gap: 10px; padding-block: 20px; }
  .objective-row h3 { font-size: 12px; }
  .objective-row p { font-size: 10px; }
  .objective-value { font-size: 8px; }
  .contract-heading h3 { font-size: 12px; }
  .contract-bottom { flex-wrap: wrap; gap: 7px; }
  .contract-bottom .cost-row { font-size: 9px; }
  .contract-bottom .button { font-size: 10px; }
  .catalog-entry { grid-template-columns: 35px minmax(0, 1fr); gap: 13px; padding-block: 21px; }
  .catalog-icon { width: 35px; height: 43px; }
  .catalog-icon > .icon { width: 18px; height: 18px; }
  .catalog-entry h3 { font-size: 14px; }
  .catalog-entry p { font-size: 11px; }
  .catalog-entry > .status-badge { grid-column: 2; justify-self: start; margin: 0; font-size: 7px; }
  .catalog-origin { font-size: 8px; }
  .journal-entry { grid-template-columns: 49px 4px minmax(0, 1fr); gap: 9px; }
  .journal-entry > time { font-size: 7px; }
  .journal-entry > p { font-size: 11px; }
  .modal-header { padding: 18px 22px 16px; }
  .modal-header > .eyebrow { font-size: 7px; }
  .modal > h2 { margin: 23px 22px 0; font-size: 25px; }
  .modal-body { padding-top: 17px; }
  .modal-body .modal-lead { font-size: 12px; line-height: 1.9; margin-bottom: 20px; }
  .help-note { padding: 13px; gap: 10px; font-size: 10px; line-height: 1.8; }
  .help-note > .icon { width: 15px; height: 15px; }
  .settings-actions { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .settings-actions .button { min-height: 41px; font-size: 11px; }
  .settings-row .toggle-switch { margin-left: auto; }
  .settings-row > .button { font-size: 10px; }
  .about-build { font-size: 7px; }
  .about-build > span:first-child { font-size: 8px; }
  .import-summary { padding: 12px 15px; }
  .import-summary > span, .import-summary b { font-size: 10px; }
  .victory-glyph { height: 110px; }
  .victory-glyph > .icon { width: 55px; height: 55px; }
  .victory-stats strong { font-size: 22px; }
  .victory-stats span { font-size: 8px; }
}
@media (max-width: 420px) {
  .expedition-id > div > strong { font-size: 8px; gap: 6px; letter-spacing: .09em; }
  .expedition-id > div > span { font-size: 5.6px; }
  .dev-tag { font-size: 5px; padding: 2px; }
  .resource-strip { gap: 10px; }
  .resource { gap: 4px; }
  .resource-number { font-size: 11px; }
  .resource-max { font-size: 7px; }
  .resource-icon .icon { width: 11px; height: 11px; }
  .resource-label { font-size: 6px; }
  .resource-icon { margin-top: 0; }
  .mission-strip p { font-size: 10px; }
  .mission-strip .eyebrow { font-size: 7px; }
  .mission-strip > .text-button { font-size: 9px; }
  .tech-card h3 { font-size: 19px; }
  .tech-bottom { flex-direction: row; align-items: center; }
  .tech-bottom .button { width: auto; min-height: 33px; }
  .tech-card > .tech-requirement { font-size: 9px; }
  .objective-row { grid-template-columns: 19px minmax(0, 1fr) auto; gap: 8px; }
  .objective-row h3 { font-size: 11px; }
  .objective-row p { font-size: 10px; }
  .objective-step { font-size: 9px; }
  .modal-header { padding-inline: 19px; }
  .modal > h2 { margin-inline: 19px; font-size: 24px; }
  .surface-legend { font-size: 7px; gap: 10px; }
  .surface-legend b { font-size: 11px; }
}

/* Legibility pass after the first live cockpit inspection. */
.star-node:not(.visited):not(.current):not(.selected):not(.reachable) { opacity: 1; }
.star-node .star-label { color: #93a39e; }
.star-node.visited .star-label { color: #b7c8bd; }
.star-node.current .star-label { color: #e5e8df; }
.star-node.selected .star-label { color: #f3c899; }
.star-node .star-distance { color: #81948b; }
.star-node.has-anomaly:not(.current) .star-distance { color: #a39bb5; }
.objective-card.compact p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  color: #91a397;
  font-size: 11px;
  line-height: 1.7;
}
.toast-stack { width: min(335px, calc(100vw - 40px)); gap: 7px; }
.toast-stack .toast { padding: 11px 14px; pointer-events: none; font-size: 11px; line-height: 1.6; }
.toast-stack .toast:nth-last-child(n + 3) { display: none; }
@media (min-width: 761px) {
  .star-node .star-label { font-size: 11px; line-height: 1.3; }
  .star-node.visited .star-label, .star-node.current .star-label { font-size: 12px; }
  .star-node .star-distance { font-size: 9.5px; line-height: 1.3; margin-top: 5px; }
  .expedition-id > div > span { font-size: 9px; color: #7c9185; }
  .resource-label { font-size: 9px; color: #91a096; }
  .resource-max { font-size: 10px; color: #7c9185; }
  .save-indicator { font-size: 9px; color: #809689; }
  .dev-tag { font-size: 8px; color: #8ba18f; }
  .coordinates { font-size: 10px; color: #81948b; }
  .map-meta { font-size: 9px; color: #80968b; }
  .map-toggle { font-size: 10px; }
}
@media (max-width: 760px) {
  .star-node .star-label { font-size: 9px; }
  .star-node.visited .star-label, .star-node.current .star-label { font-size: 10px; }
  .star-node .star-distance { font-size: 8px; }
  .toast-stack { width: min(335px, calc(100vw - 30px)); }
  .toast-stack .toast:not(:last-child) { display: none; }
}
