/* Empfangskette (AFU-374, /empfangskette). Eigene ek-Klassen, Aufbau wie /leitung, Farben aus den Variablen von style.css. */

:root {
  --ek-sig: #6aa6ff;
  --ek-rausch: #f87171;
  --ek-ant: #34d399;
  --ek-band: #a3a3a3;
  --ek-lna: #6aa6ff;
  --ek-lnb: #a78bfa;
  --ek-kabel: #f59e0b;
  --ek-filter: #f472b6;
  --ek-empf: #22d3ee;
  --ek-netz: rgba(138, 147, 179, 0.24);
  --ek-gut: #34d399;
  --ek-schlecht: #f87171;
  --ek-balken: #fbbf24;
}
@media (prefers-color-scheme: light) {
  :root {
    --ek-sig: #2f6fed;
    --ek-rausch: #dc2626;
    --ek-ant: #047857;
    --ek-band: #6b7280;
    --ek-lna: #2f6fed;
    --ek-lnb: #7c5cff;
    --ek-kabel: #c27c0e;
    --ek-filter: #db2777;
    --ek-empf: #0e7490;
    --ek-netz: rgba(70, 82, 110, 0.2);
    --ek-gut: #047857;
    --ek-schlecht: #dc2626;
    --ek-balken: #b45309;
  }
}

.ek-rahmen { padding-top: 0.4rem; padding-bottom: 2.5rem; }

.ek-buehne {
  display: grid; gap: 0.7rem;
  grid-template-columns: minmax(0, 2.1fr) minmax(23rem, 1fr);
  align-items: start;
}
.ek-links, .ek-rechts { display: grid; gap: 0.7rem; min-width: 0; align-items: start; }
@media (max-width: 1000px) {
  .ek-buehne { grid-template-columns: minmax(0, 1fr); }
}
/* AFU-362: ab 1800 px rechts zwei Spalten */
@media (min-width: 1800px) {
  :root:not([data-breite="begrenzt"]) .ek-buehne { grid-template-columns: minmax(0, 2.2fr) minmax(0, 1.5fr); }
  :root:not([data-breite="begrenzt"]) .ek-rechts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Kästen */
.ek-kasten {
  border: 1px solid var(--border); border-radius: var(--radius);
  background: var(--card-bg); min-width: 0; overflow: hidden;
}
.ek-kopf {
  display: flex; flex-wrap: wrap; align-items: center; gap: 0.3rem 0.7rem;
  min-height: 2rem; padding: 0.15rem 0.7rem;
  border-bottom: 1px solid var(--border);
}
.ek-titel { font-size: 0.76rem; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; color: var(--muted); }
.ek-luft { flex: 1 1 auto; }
.ek-inhalt { padding: 0.55rem 0.7rem; }
.ek-haken { display: inline-flex; align-items: center; gap: 0.3rem; font-size: 0.82rem; cursor: pointer; white-space: nowrap; }
.ek-haken input[type="checkbox"] { accent-color: var(--accent); margin: 0; }
.ek-haken-feld { align-self: end; min-height: 1.95rem; }
.ek-seg button { padding: 0.1rem 0.55rem; font-size: 0.8rem; min-height: 1.75rem; white-space: nowrap; }
#ek-buehne .btn-sm { min-height: 1.75rem; padding: 0.1rem 0.6rem; font-size: 0.8rem; }
#ek-buehne .btn-weg:not(.mit-wort) { width: 1.75rem; padding: 0; }
#ek-buehne .btn-weg svg { width: 0.95rem; height: 0.95rem; }
select.ek-klein { height: 1.75rem; padding: 0 0.3rem; font-size: 0.82rem; background: var(--bg2); color: var(--fg);
  border: 1px solid var(--border); border-radius: 6px; }
.ek-signal { margin-bottom: 0.55rem; flex-wrap: wrap; }
.ek-block-knoepfe { display: inline-flex; flex-wrap: wrap; gap: 0.35rem; align-items: center; }

/* Kette */
.ek-kette {
  list-style: none; margin: 0; padding: 0.2rem 0 0.1rem 0.45rem;
  display: flex; flex-wrap: wrap; gap: 0.7rem 1.25rem; align-items: stretch;
}
.ek-block {
  position: relative; flex: 0 0 10.2rem; min-width: 0;
  display: flex; flex-direction: column; gap: 0.12rem;
  padding: 0.45rem 0.55rem 0.5rem; border: 1px solid var(--border); border-top: 3px solid var(--ek-farbe, var(--border));
  border-radius: 10px; background: var(--bg2); cursor: grab; user-select: none; -webkit-user-select: none;
  touch-action: none;
}
.ek-block.ek-fest { cursor: pointer; touch-action: auto; }
.ek-block + .ek-block::before {
  content: "→"; position: absolute; left: -1.05rem; top: 50%; transform: translateY(-50%);
  color: var(--muted); font-size: 0.9rem; pointer-events: none;
}
.ek-block:hover { border-color: var(--ek-farbe, var(--accent)); }
.ek-block:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.ek-block.gewaehlt { box-shadow: 0 0 0 2px var(--ek-farbe, var(--accent)); border-color: transparent; }
.ek-block.ek-zieht { z-index: 3; opacity: 0.92; cursor: grabbing; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35); }
.ek-block.ek-zieht::before { display: none; }
.ek-beim-ziehen .ek-block:not(.ek-zieht) { transition: box-shadow 0.1s; }
.ek-block.ek-ziel-vor { box-shadow: -4px 0 0 0 var(--accent); }
.ek-block.ek-ziel-nach { box-shadow: 4px 0 0 0 var(--accent); }
.ek-a-ant { --ek-farbe: var(--ek-ant); }
.ek-a-band { --ek-farbe: var(--ek-band); }
.ek-a-lna { --ek-farbe: var(--ek-lna); }
.ek-a-lnb { --ek-farbe: var(--ek-lnb); }
.ek-a-kabel { --ek-farbe: var(--ek-kabel); }
.ek-a-filter { --ek-farbe: var(--ek-filter); }
.ek-a-empf { --ek-farbe: var(--ek-empf); }
.ek-b-titel { font-weight: 700; font-size: 0.9rem; }
.ek-b-zeile { font-size: 0.78rem; font-variant-numeric: tabular-nums; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ek-b-klein { color: var(--muted); }
.ek-balken { display: block; height: 0.42rem; margin-top: 0.3rem; border-radius: 3px; background: var(--ek-netz); overflow: hidden; }
.ek-balken-wert { display: block; height: 100%; background: var(--ek-balken); border-radius: 3px; }
.ek-b-anteil { font-size: 0.72rem; color: var(--muted); font-variant-numeric: tabular-nums; }
.ek-tasten { margin: 0.55rem 0 0; font-size: 0.8rem; color: var(--muted); }
.ek-hinweis { margin: 0.3rem 0 0; font-size: 0.82rem; color: var(--ek-kabel); }
.ek-hinweis:empty { display: none; }

/* Felder */
.ek-felder { display: grid; gap: 0.55rem 0.7rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 10rem), 1fr)); }
.ek-felder .field { margin: 0; min-width: 0; }
.ek-felder .field label, .ek-uebernahme .field label { font-size: 0.7rem; }
.ek-felder .field input, .ek-felder .field select, .ek-uebernahme .field input {
  width: 100%; min-width: 0; height: 1.95rem; padding-top: 0.1rem; padding-bottom: 0.1rem; font-size: 0.9rem; }
.ek-felder input.ek-falsch { border-color: var(--ek-schlecht); }
.ek-feldhilfe { display: block; font-size: 0.72rem; color: var(--muted); }
.ek-inhalt > .field-hint { margin: 0.45rem 0 0; }
.ek-inhalt > .field-hint:empty { display: none; }
.ek-uebernahme { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.5rem; align-items: end; }
.ek-uebernahme .field { margin: 0; }

/* Pegelplan */
.ek-plot { padding: 0.3rem 0.4rem 0; }
#ek-plan { width: 100%; height: auto; display: block; }
.ek-legende { font-size: 0.8rem; color: var(--muted); }
.ek-l-sig, .ek-l-rausch { font-weight: 600; }
.ek-l-sig { color: var(--ek-sig); }
.ek-l-rausch { color: var(--ek-rausch); }
.ek-flaeche { fill: var(--bg2); }
.ek-netz { stroke: var(--ek-netz); stroke-width: 0.7; }
.ek-achse { fill: var(--muted); font-size: 10.5px; }
.ek-name { fill: var(--fg); font-weight: 600; font-size: 11px; }
.ek-snr { font-variant-numeric: tabular-nums; }
.ek-sig { fill: none; stroke: var(--ek-sig); stroke-width: 2.4; stroke-linejoin: round; }
.ek-rausch { fill: none; stroke: var(--ek-rausch); stroke-width: 2.4; stroke-linejoin: round; }
.ek-p-sig { fill: var(--ek-sig); }
.ek-p-rausch { fill: var(--ek-rausch); }
.ek-abstand { stroke: var(--ek-gut); stroke-width: 6; opacity: 0.25; }
.ek-abstand-neg { stroke: var(--ek-schlecht); }
.ek-zeiger { margin: 0.1rem 0.8rem 0.6rem; font-size: 0.85rem; }

/* Werte */
dl.ek-werte { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.25rem 0.8rem; margin: 0; font-size: 0.88rem; }
dl.ek-werte dt { color: var(--muted); }
dl.ek-werte dd { margin: 0; text-align: right; font-variant-numeric: tabular-nums; font-weight: 600; }
.ek-gut { color: var(--ek-gut); }
.ek-schlecht { color: var(--ek-schlecht); }
.ek-unterkopf { margin: 0.8rem 0 0.35rem; font-size: 0.76rem; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; color: var(--muted); }
.ek-unterkopf::before { display: none; }
.ek-wenn { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.3rem; font-size: 0.85rem; }
.ek-wenn li { display: flex; flex-wrap: wrap; align-items: center; gap: 0.2rem 0.6rem; }
.ek-wenn li > span:first-child { flex: 1 1 10rem; }
.ek-wenn-wert { font-weight: 600; font-variant-numeric: tabular-nums; }
.ek-leer { color: var(--muted); }

/* Vorlagen */
.ek-vorlagen { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.ek-vorlagen .btn-sm.on { border-color: var(--accent); color: var(--accent); }
#ek-link-stand:empty, #ek-vorlage-text:empty { display: none; }

/* Text */
.ek-formel { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.95rem; }

@media (max-width: 700px) {
  #ek-buehne .btn-sm, .ek-seg button, select.ek-klein { min-height: 2.5rem; }
  .ek-block { flex: 1 1 9rem; }
}

/* Kachel auf /simulatoren */
.si-ek-block { fill: var(--bg); stroke-width: 2; }
.si-ek-ant { stroke: var(--ek-ant); }
.si-ek-lna { stroke: var(--ek-lna); }
.si-ek-kabel { stroke: var(--ek-kabel); }
.si-ek-empf { stroke: var(--ek-empf); }
.si-ek-text { fill: var(--fg); font-size: 10px; font-weight: 600; }
.si-ek-pfeil { stroke: var(--muted); stroke-width: 1.4; }
.si-ek-balken { fill: var(--ek-balken); }

/* nur für Bildschirmleser */
.ek-unsichtbar { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
