:root {
  --ieb-page: #f6f2ec;
  --ieb-surface: #ffffff;
  --ieb-ink: #1d2a33;
  --ieb-secondary: #4e5f69;
  --ieb-terracotta: #994a28;
  --ieb-sand: #e8ddd0;
  --ieb-fact: #2f6473;
  --ieb-fact-soft: #e8f0f2;
  --ieb-hypothesis: #9a632c;
  --ieb-hypothesis-soft: #f6ebdd;
  --ieb-recommendation: #4e6b4c;
  --ieb-recommendation-soft: #eaf0e6;
  --ieb-danger: #8c3a3a;
  --ieb-danger-soft: #f8e7e5;
}

.learndash-wrapper,
.learndash-wrapper .ld-focus-content,
.learndash-wrapper .ld-focus-content h1,
.learndash-wrapper .ld-focus-content h2,
.learndash-wrapper .ld-focus-content h3 {
  font-family: Arial, Calibri, sans-serif;
  color: var(--ieb-ink);
}

.learndash-wrapper .ld-focus-content {
  background: var(--ieb-surface);
}

.learndash-wrapper .ld-focus-sidebar {
  background: var(--ieb-page);
}

.learndash-wrapper .ld-focus .ld-focus-header,
.learndash-wrapper .ld-course-navigation .ld-lesson-item-preview a.ld-lesson-item-preview-heading {
  border-color: var(--ieb-sand);
}

.learndash-wrapper .ld-button,
.learndash-wrapper .learndash_mark_complete_button,
.learndash-wrapper #learndash_mark_complete_button {
  background: var(--ieb-terracotta) !important;
  border-radius: 8px !important;
  color: #fff !important;
}

.learndash-wrapper .ld-progress .ld-progress-bar .ld-progress-bar-percentage,
.learndash-wrapper .ld-focus-header .ld-progress .ld-progress-bar .ld-progress-bar-percentage {
  background: var(--ieb-terracotta) !important;
}

.ieb-experience-course,
.ieb-experience-block,
.ieb-experience-role,
.ieb-experience-journal,
.ieb-experience-lens,
.ieb-experience-scene,
.ieb-experience-relay,
.ieb-experience-before-after {
  margin: 1.5rem 0;
}

.ieb-experience-course,
.ieb-experience-block,
.ieb-experience-role,
.ieb-experience-journal,
.ieb-experience-lens,
.ieb-experience-relay,
.ieb-experience-before-after {
  padding: 1.25rem;
  border-radius: 12px;
  background: var(--ieb-page);
}

.ieb-experience-course,
.ieb-experience-lens {
  border-top: 4px solid var(--ieb-terracotta);
}

.ieb-experience-kicker {
  margin: 0 0 .5rem;
  color: var(--ieb-terracotta);
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.ieb-experience-mission {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: .85rem;
  align-items: start;
}

.ieb-experience-number {
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: var(--ieb-ink);
  color: #fff;
  font-weight: 700;
}

.ieb-experience-journey {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: .5rem;
  margin-top: 1rem;
}

.ieb-experience-journey span {
  padding: .65rem;
  border-bottom: 3px solid var(--ieb-sand);
  color: var(--ieb-secondary);
}

.ieb-experience-journey span.is-current {
  border-color: var(--ieb-terracotta);
  color: var(--ieb-ink);
  font-weight: 700;
}

.ieb-experience-field label,
.ieb-experience-role label {
  display: block;
  margin-bottom: .45rem;
  color: var(--ieb-ink);
  font-family: Arial, Calibri, sans-serif !important;
  font-size: .95rem;
  font-weight: 700;
  line-height: 1.4;
}

.ieb-experience-role-control {
  display: grid;
  gap: .45rem;
}

.ieb-experience-role-control label {
  margin-bottom: 0;
}

.ieb-experience-field textarea,
.ieb-experience-role select {
  width: 100%;
  border: 1px solid #8b989e;
  border-radius: 8px;
  background: var(--ieb-surface);
  color: var(--ieb-ink);
  padding: .75rem;
  font: inherit;
}

.ieb-experience-field textarea {
  min-height: 7rem;
  resize: vertical;
}

.ieb-experience-scene .ieb-experience-field {
  margin-top: 1rem;
}

.ieb-experience-role-copy {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
  margin-top: 1rem;
}

.ieb-experience-role-copy > div {
  padding: .85rem;
  background: var(--ieb-surface);
  border-left: 3px solid var(--ieb-terracotta);
}

.ieb-experience-reflex,
.ieb-experience-angle,
.ieb-experience-doubt,
.ieb-experience-counterpoint {
  margin: 1.25rem 0;
  padding: 1rem 1.1rem;
  border-left: 4px solid;
}

.ieb-experience-reflex {
  background: var(--ieb-ink);
  border-color: var(--ieb-terracotta);
  color: #fff;
}

.ieb-experience-angle {
  background: var(--ieb-recommendation-soft);
  border-color: var(--ieb-recommendation);
}

.ieb-experience-doubt {
  background: var(--ieb-hypothesis-soft);
  border-color: var(--ieb-hypothesis);
}

.ieb-experience-counterpoint {
  background: var(--ieb-fact-soft);
  border-color: var(--ieb-fact);
}

.ieb-experience-block details summary,
.ieb-experience-angle summary,
.ieb-experience-doubt summary,
.ieb-experience-counterpoint summary {
  cursor: pointer;
  font-weight: 700;
}

.ieb-experience-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: 1rem;
}

.ieb-experience-actions button,
.ieb-experience-lens button,
.ieb-experience-scene button {
  border: 1px solid var(--ieb-terracotta) !important;
  border-radius: 8px !important;
  background: var(--ieb-surface) !important;
  color: var(--ieb-ink) !important;
  padding: .65rem .9rem;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.ieb-experience-actions button[data-primary],
.ieb-experience-lens button[aria-pressed="true"],
.ieb-experience-scene button[aria-pressed="true"] {
  background: var(--ieb-terracotta) !important;
  color: #fff !important;
}

.ieb-experience-actions button:focus-visible,
.ieb-experience-lens button:focus-visible,
.ieb-experience-scene button:focus-visible,
.ieb-experience-field textarea:focus-visible,
.ieb-experience-role select:focus-visible,
.learndash-wrapper .ld-focus-sidebar-trigger:focus-visible {
  outline: 3px solid var(--ieb-fact);
  outline-offset: 3px;
}

.ieb-experience-scene-stage {
  position: relative;
  overflow: hidden;
  min-height: 20rem;
  border-radius: 10px;
  background: #eaf0ef;
}

.ieb-experience-scene-stage svg {
  display: block;
  width: 100%;
  min-height: 20rem;
}

.ieb-scene-building { fill: #f3eee7; stroke: #4e5f69; stroke-width: 2; }
.ieb-scene-opening { fill: #9fb4ba; stroke: #4e5f69; stroke-width: 2; }
.ieb-scene-ground { fill: #c9b9a6; }
.ieb-scene-soil { fill: #b99c7b; }
.ieb-scene-foundation { fill: #9faaaf; }
.ieb-scene-crack { fill: none; stroke: var(--ieb-terracotta); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; }
.ieb-scene-measure { fill: none; stroke: var(--ieb-fact); stroke-width: 2; stroke-dasharray: 7 5; }

.ieb-experience-scene-stage[data-view="detail"] svg { transform: scale(2.05) translate(-14%, 3%); transform-origin: center; }
.ieb-experience-scene-stage[data-view="context"] svg { transform: scale(.9); transform-origin: center; }

.ieb-experience-lens-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(14rem, .7fr);
  gap: 1rem;
}

.ieb-experience-lens-result {
  padding: 1rem;
  border-left: 4px solid var(--ieb-fact);
  background: var(--ieb-surface);
}

.ieb-experience-trace {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
  margin: 1.25rem 0;
}

.ieb-experience-trace > div {
  padding: 1rem;
  background: var(--ieb-page);
  border-left: 4px solid;
}

.ieb-experience-trace > div:nth-child(1) { border-color: var(--ieb-fact); }
.ieb-experience-trace > div:nth-child(2) { border-color: var(--ieb-hypothesis); }
.ieb-experience-trace > div:nth-child(3) { border-color: var(--ieb-recommendation); }

.ieb-experience-save-status {
  color: var(--ieb-secondary);
}

.ieb-experience-print-only { display: none; }

@media (max-width: 760px) {
  .ieb-experience-journey,
  .ieb-experience-role-copy,
  .ieb-experience-lens-grid,
  .ieb-experience-trace {
    grid-template-columns: 1fr;
  }

  .ieb-experience-scene-stage,
  .ieb-experience-scene-stage svg {
    min-height: 16rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ieb-experience-scene-stage svg {
    scroll-behavior: auto;
    transition: none;
  }
}

@media print {
  .ieb-experience-actions,
  .ieb-experience-role select,
  .ld-focus-sidebar,
  .ld-focus-header { display: none !important; }
  .ieb-experience-print-only { display: block; }
}
