/* Bergbaustation (/mining) — Bausteine aus sos-components.css; hier Raster, Laser-Kästchen, Spektrum. */
.mining-unavailable__big { font-size: 1.4rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted, #8b93a1); margin: 0.5rem 0; }
.mining-console { display: grid; gap: var(--space-md, 12px); }
.mining-status { display: flex; flex-wrap: wrap; gap: 18px; align-items: center; padding: 10px 14px; }
.mining-status__item { display: flex; flex-direction: column; gap: 2px; min-width: 6rem; }
.mining-status__item--wide { flex: 1; min-width: 12rem; }
.mining-status__label { color: var(--text-muted, #8b93a1); font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.08em; }
.mining-status__value { font-variant-numeric: tabular-nums; font-size: 1rem; }
.mining-meter { display: block; height: 8px; border-radius: 4px; background: rgba(255,255,255,0.08); overflow: hidden; }
.mining-meter > span { display: block; height: 100%; width: 0; background: var(--accent-green, #4ade80); transition: width 0.4s linear; }
.mining-meter--full > span { background: var(--accent-red, #f87171); }
.mining-error { color: var(--accent-red, #f87171); margin: 0; }
.mining-hint { color: var(--text-muted, #8b93a1); font-size: 0.8rem; }

/* Laser-Kästchen */
.mining-lasers { display: grid; gap: var(--space-md, 12px); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 900px) { .mining-lasers { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.laser-card { border: 1px solid rgba(159,194,255,0.18); border-radius: 8px; padding: 10px 12px; background: rgba(10,14,24,0.7);
  display: grid; gap: 8px; }
.laser-card[data-state="active"] { border-color: rgba(255,179,71,0.6); box-shadow: 0 0 0 1px rgba(255,179,71,0.15) inset; }
.laser-card[data-state="overload"] { border-color: var(--accent-red, #f87171); }
.laser-card__head { display: flex; align-items: center; gap: 8px; }
.laser-card__id { font-family: var(--font-mono, monospace); font-size: 1rem; color: #ffb347; min-width: 2.4rem; }
.laser-card__target { flex: 1; min-width: 0; color: var(--text-secondary, #cfd6e4); font-size: 0.85rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.laser-pill { font-size: 0.7rem; padding: 2px 8px; border-radius: 999px; border: 1px solid currentColor; white-space: nowrap; }
.laser-pill--off { color: var(--text-muted, #8b93a1); }
.laser-pill--on { color: #ffb347; }
.laser-pill--overload { color: var(--accent-red, #f87171); }
.laser-pill--blocked { color: var(--accent-yellow, #facc15); }

/* Zusammensetzung */
.laser-comp__bar { display: flex; height: 10px; border-radius: 3px; overflow: hidden; background: rgba(255,255,255,0.06); }
.laser-comp__bar > span { display: block; height: 100%; }
.laser-comp__rows { list-style: none; margin: 4px 0 0; padding: 0; display: grid; gap: 2px; font-size: 0.78rem; }
.laser-comp__rows li { display: grid; grid-template-columns: 12px minmax(0, 1fr) 3.2rem 4.2rem 5.2rem; gap: 6px; align-items: center; font-variant-numeric: tabular-nums; }
.laser-comp__dot { width: 10px; height: 10px; border-radius: 50%; border: 1px solid rgba(255,255,255,0.3); }
.laser-comp__match { color: var(--text-muted, #8b93a1); text-align: right; }
.laser-comp__yield { text-align: right; }
.laser-comp__yield--on { color: #ffb347; }
.laser-comp__rows li.laser-empty { display: block; color: var(--text-muted, #8b93a1); font-size: 0.8rem; }

/* Spektrum */
.laser-spectrum { width: 100%; height: 72px; display: block; background: rgba(0,0,0,0.25); border-radius: 4px; }
.laser-spectrum .axis { stroke: rgba(255,255,255,0.12); stroke-width: 0.2; }
.laser-spectrum .tick { fill: rgba(255,255,255,0.35); font-size: 2.6px; font-family: var(--font-mono, monospace); }
.laser-spectrum .beam { stroke: #ffb347; stroke-width: 0.5; }
.laser-spectrum .beam-band { fill: rgba(255,179,71,0.12); }

/* Regler */
.laser-ctrl { display: grid; grid-template-columns: 5.2rem minmax(0, 1fr) 3.8rem; gap: 6px; align-items: center; font-size: 0.8rem; }
.laser-ctrl input[type="range"] { width: 100%; accent-color: #ffb347; }
.laser-ctrl output { font-variant-numeric: tabular-nums; text-align: right; }
.laser-fine { display: flex; gap: 4px; }
.laser-fine button { padding: 0 6px; min-width: 1.8rem; }

/* Energie und Stabilität */
.laser-gauges { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; font-size: 0.78rem; }
.laser-gauge__label { color: var(--text-muted, #8b93a1); display: flex; justify-content: space-between; }
.laser-gauge__label b { color: var(--text-primary, #e6ebf5); font-weight: 600; font-variant-numeric: tabular-nums; }
.laser-gauge .mining-meter > span { transition: width 0.25s linear, background 0.25s; }
/* Stabilität kommt je Server-Takt (1 s): über den Takt hinübergleiten statt springen. */
.laser-gauge--stab .mining-meter > span { transition: width 1s linear, background 0.25s; }
.laser-gauge--energy .mining-meter > span { background: var(--accent-cyan, #22d3ee); }
.laser-gauge--stab[data-zone="ok"] .mining-meter > span { background: var(--accent-green, #4ade80); }
.laser-gauge--stab[data-zone="warn"] .mining-meter > span { background: var(--accent-yellow, #facc15); }
.laser-gauge--stab[data-zone="bad"] .mining-meter > span { background: var(--accent-red, #f87171); }
.laser-card__foot { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.laser-card__foot select { flex: 1; min-width: 10rem; background: rgba(0,0,0,0.35); color: inherit; border: 1px solid rgba(159,194,255,0.25); border-radius: 4px; padding: 4px; }
.laser-msg { font-size: 0.75rem; color: var(--accent-yellow, #facc15); min-height: 1em; }

/* Unten: Brocken und Laderaum */
.mining-lower { display: grid; gap: var(--space-md, 12px); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 1100px) { .mining-lower { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); align-items: start; } }
.mining-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.mining-rocks .mining-list { max-height: 26rem; overflow-y: auto; padding-right: 4px; }
.mining-row { display: flex; gap: 10px; align-items: center; padding: 5px 8px; border-radius: 6px; background: rgba(255,255,255,0.03); font-size: 0.8rem; }
.mining-row--compact .mining-row__main { gap: 2px; }
.mining-row__main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.mining-row__meta { color: var(--text-muted, #8b93a1); font-size: 0.74rem; }
.mining-row__why { color: var(--accent-yellow, #facc15); font-size: 0.74rem; }
.mining-row__dist { font-variant-numeric: tabular-nums; white-space: nowrap; }
.mining-row .laser-comp__bar { height: 6px; }
/* Kopfleiste waagerecht (sos-panel stapelt sonst senkrecht). */
.mining-status.sos-panel { flex-direction: row; align-items: center; justify-content: flex-start; }
