/* Veri Yapıları simülatörleri: deck.css sahnesi üzerine ortak simülatör stili */
.ds-sim .ds-deck__stage { font-size: 15px; }

.ds-sim__body {
  position: relative;
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 14px 22px 10px;
  overflow: hidden;
}

.ds-sim__head { flex: none; }
.ds-sim__head .ds-deck__kicker { margin: 0 0 2px; }

.ds-sim__title {
  margin: 0;
  color: var(--ds-accent);
  font-size: 25px;
  line-height: 1.15;
}

/* simülatörün kendi kök öğesi kalan alanı doldurur */
.ds-sim__root {
  flex: 1;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
}

/* ---------- ortak kontroller ---------- */
.ds-sim__body button {
  height: 32px;
  min-height: 0;
  margin: 0 !important;
  padding: 0 12px;
  border: 1.5px solid var(--ds-border);
  border-radius: 999px;
  background: var(--ds-surface);
  color: var(--ds-text);
  font: inherit;
  font-size: 13.5px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  box-shadow: none;
  transition: border-color .18s ease, background .18s ease;
}

.ds-sim__body button:hover:not(:disabled) { border-color: var(--ds-link); }
.ds-sim__body button:disabled { opacity: .4; cursor: default; }
.ds-sim__body button:focus-visible,
.ds-sim__body input:focus-visible,
.ds-sim__body select:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--ds-link) 30%, transparent);
  outline-offset: 1px;
}

.ds-sim__body button.is-primary {
  border-color: var(--ds-link);
  background: var(--ds-link);
  color: var(--ds-bg);
}

.ds-sim__body button.is-danger {
  border-color: color-mix(in srgb, var(--ds-bad) 55%, var(--ds-border));
  color: var(--ds-bad);
}

.ds-sim__body input,
.ds-sim__body select,
.ds-sim__body textarea {
  height: 32px;
  min-height: 0;
  margin: 0 !important;
  padding: 0 8px;
  border: 1.5px solid var(--ds-border);
  border-radius: 10px;
  background: var(--ds-bg);
  color: var(--ds-text);
  font: inherit;
  font-size: 14px;
  box-shadow: none;
}

.ds-sim__body input[type="checkbox"],
.ds-sim__body input[type="radio"] { width: auto; height: auto; padding: 0; }
.ds-sim__body input[type="range"] { padding: 0; border: 0; background: none; }

.ds-sim__body label {
  margin: 0 !important;
  padding: 0;
  color: var(--ds-muted);
  font-size: 12px;
  font-weight: 700;
}

/* kart, durum satırı ve küçük istatistik kutuları */
.ds-sim__panel {
  min-height: 0;
  border: 1.5px solid var(--ds-border);
  border-radius: 12px;
  background: var(--ds-bg);
}

.ds-sim__status {
  padding: 6px 10px;
  border: 1.5px solid var(--ds-border);
  border-radius: 10px;
  background: var(--ds-surface-strong);
  font-size: 14px;
  font-weight: 700;
}

.ds-sim__status.is-ok { color: var(--ds-good); }
.ds-sim__status.is-bad { color: var(--ds-bad); }

.ds-sim__caption {
  margin: 0 0 4px;
  color: var(--ds-muted);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

/* tam ekranda sahnenin arkası */
.ds-sim .ds-deck__screen:fullscreen { background: var(--ds-bg); }

@media print {
  .ds-sim .ds-deck__bar { display: none; }
}
