/* ==========================================================================
   WAVE 231 - DECISION SIGNAL LAB: DIE KONSOLE IM INSTRUMENT
   ==========================================================================
   Aus der freigegebenen Vorlage "Decision Signal Lab", Variante 7a: die vier
   Bedingungen sind jetzt Quadranten des Instruments selbst. Jede, die explizit
   wird, hebt ihren Sektor, fuellt den Goldbogen und weitet den Kern. Waehrend
   der Analyse laeuft der Sweep, beim Einrasten der Blitz.

   DIE DIAGNOSE-LOGIK BLEIBT UNANGETASTET: Gewichte, die sechzehn Finger-
   abdruecke, Stufen und Texte stehen unveraendert in decision-signal-lab.js.
   Diese Welle liest nur aria-pressed, data-state und die Analysephase.

   Flaechensprache Welle 230: Gold = Grenze, Kuehl = Gliederung, Cyan nie
   Rahmen (die Vorlage rahmt offene Sektoren cyan - hier tut es die kuehle
   Haarlinie), kein Schatten als Traeger, kein Radius ausser dem Kreis.
   ========================================================================== */

.ka-w231d .signal-lab__dial {
  --p: 0%;
  border: 0;
  border-radius: 50%;
  background-color: transparent;
  box-shadow: none;
  overflow: visible;
  isolation: isolate;
}

.ka-w231d .ka-w231d__layer {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  display: block;
}
.ka-w231d .ka-w231d__glow {
  inset: -9%;
  background: radial-gradient(circle closest-side, rgba(222, 235, 245, .6) 34%, rgba(210, 228, 241, .26) 54%, rgba(200, 222, 238, 0) 76%);
  filter: blur(8px);
  opacity: calc(.12 + var(--heat, 0) * .55);
  transition: opacity 1s ease;
}
.ka-w231d .ka-w231d__ticks {
  inset: 0;
  background: repeating-conic-gradient(from 0deg, rgba(246, 241, 231, .9) 0deg .5deg, rgba(246, 241, 231, 0) .5deg 3.6deg);
  -webkit-mask: radial-gradient(circle closest-side, transparent 0 93%, #000 94%);
  mask: radial-gradient(circle closest-side, transparent 0 93%, #000 94%);
  opacity: calc(.18 + var(--heat, 0) * .8);
  transition: opacity .8s ease;
  animation: kaW231Spin 240s linear infinite;
}
.ka-w231d .ka-w231d__base {
  inset: 3.2%;
  border: 1px solid rgba(225, 232, 240, .16);
  opacity: calc(.4 + var(--heat, 0) * .6);
  transition: opacity .7s ease;
}
.ka-w231d .ka-w231d__arc {
  inset: 3.2%;
  border: 1.5px solid rgba(216, 172, 92, .95);
  -webkit-mask: conic-gradient(from -90deg, #000 0 var(--p), transparent var(--p) 100%);
  mask: conic-gradient(from -90deg, #000 0 var(--p), transparent var(--p) 100%);
}
.ka-w231d .ka-w231d__sweepwrap { inset: 6.4%; overflow: hidden; opacity: 0; transition: opacity .3s ease; }
.ka-w231d .ka-w231d__sweep {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: conic-gradient(from 0deg, rgba(127, 209, 219, 0) 0deg, rgba(127, 209, 219, .06) 250deg, rgba(127, 209, 219, .55) 350deg, rgba(246, 241, 231, .85) 360deg);
}
.ka-w231d[data-phase="run"] .ka-w231d__sweepwrap { opacity: 1; }
.ka-w231d[data-phase="run"] .ka-w231d__sweep { animation: kaW231Spin 620ms linear infinite; }
.ka-w231d .ka-w231d__burst {
  inset: 6.4%;
  border: 1.5px solid rgba(245, 217, 130, .95);
  opacity: 0;
}
.ka-w231d[data-phase="locked"] .ka-w231d__burst { animation: kaW231Lock 1.1s cubic-bezier(.2, .7, .3, 1) both; }

/* ---------- Die vier Sektoren --------------------------------------------- */
.ka-w231d .signal-lab__dial-segment {
  position: relative;
  z-index: 2;
  margin: 6.4%;
  padding: .6rem;
  background-color: rgba(4, 16, 28, .5);
  border: 1px solid rgba(225, 232, 240, .16);
  color: #c7d0db;
  transition: background-color .45s ease, border-color .45s ease, color .45s ease;
}
.ka-w231d .signal-lab__dial-segment--owner { border-top-left-radius: 100%; margin-right: 0; margin-bottom: 0; }
.ka-w231d .signal-lab__dial-segment--decision { border-top-right-radius: 100%; margin-left: 0; margin-bottom: 0; }
.ka-w231d .signal-lab__dial-segment--measure { border-bottom-left-radius: 100%; margin-right: 0; margin-top: 0; }
.ka-w231d .signal-lab__dial-segment:not(.signal-lab__dial-segment--owner):not(.signal-lab__dial-segment--decision):not(.signal-lab__dial-segment--measure) {
  border-bottom-right-radius: 100%;
  margin-left: 0;
  margin-top: 0;
}
.ka-w231d .signal-lab__dial-segment[aria-pressed="true"] {
  background-color: transparent;
  background-image: radial-gradient(circle at 50% 50%, rgba(216, 172, 92, .22), rgba(216, 172, 92, .07));
  border-color: rgba(216, 172, 92, .85);
  color: #f6f1e7;
  box-shadow: none;
}
.ka-w231d .signal-lab__dial-segment i { color: rgba(246, 241, 231, .45); }
.ka-w231d .signal-lab__dial-segment[aria-pressed="true"] i { color: #d8ac5c; }

/* ---------- Der Kern ------------------------------------------------------ */
.ka-w231d .signal-lab__core {
  z-index: 5;
  width: calc(28% + var(--heat, 0) * 6%);
  border: 1px solid rgba(120, 150, 175, .5);
  background-color: transparent;
  background-image: radial-gradient(circle at 40% 32%, #0d1a28, #000 70%);
  box-shadow: inset 0 1px 14px rgba(246, 241, 231, .08), 0 0 30px rgba(0, 0, 0, .9);
  overflow: hidden;
  transition: width .9s cubic-bezier(.34, 1.2, .5, 1), border-color .8s ease, box-shadow .8s ease, color .8s ease;
}
.ka-w231d .signal-lab__core::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: var(--p);
  background: linear-gradient(to top, rgba(216, 172, 92, .24), rgba(216, 172, 92, .08) 66%, rgba(246, 241, 231, .16));
  transition: height .85s cubic-bezier(.3, .8, .3, 1);
  pointer-events: none;
}
.ka-w231d .signal-lab__core[data-state="locked"] {
  border-color: rgba(245, 217, 130, .95);
  box-shadow: inset 0 1px 14px rgba(246, 241, 231, .08), 0 0 34px rgba(245, 217, 130, .45);
}
.ka-w231d[data-phase="run"] .signal-lab__core { border-color: rgba(127, 209, 219, .9); }

@media (prefers-reduced-motion: reduce) {
  .ka-w231d .ka-w231d__ticks,
  .ka-w231d[data-phase="run"] .ka-w231d__sweep,
  .ka-w231d[data-phase="locked"] .ka-w231d__burst,
  .ka-w231d .ka-w231d__sweep,
  .ka-w231d .ka-w231d__burst,
  .ka-w231d .signal-lab__core { animation: none; }
  .ka-w231d .ka-w231d__glow,
  .ka-w231d .ka-w231d__ticks,
  .ka-w231d .ka-w231d__base,
  .ka-w231d .signal-lab__core,
  .ka-w231d .signal-lab__core::before { transition: none; }
}
