.tmf-ouija-access-panel {
  margin: 0 0 2rem;
  padding: 1.25rem;
  border: 1px solid currentColor;
  border-radius: .5rem;
}

.tmf-ouija-access-panel h2 { margin-top: 0; }

.tmf-ouija-access-panel .button {
  margin-right: .5rem;
  margin-bottom: .5rem;
}

.tmf-ouija-access-badge {
  display: inline-block;
  margin-left: .6rem;
  padding: .18rem .45rem;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-size: .68em;
  font-style: normal;
  font-weight: 700;
  letter-spacing: .04em;
  vertical-align: middle;
}

.tmf-ouija-materials-premium .button { margin-top: .75rem; }

.tmf-ouija-commerce-panel {
  margin: 1.25rem 0;
  padding: 1.25rem;
  border: 1px solid currentColor;
  border-radius: .75rem;
}

.tmf-ouija-commerce-panel h2 {
  margin-top: 0;
}

.tmf-ouija-commerce-panel ul {
  margin: .75rem 0 0;
  padding-left: 1.25rem;
}

.tmf-ouija-commerce-panel li + li {
  margin-top: .4rem;
}

.tmf-ouija-commerce-panel .button {
  margin-top: .25rem;
}

.tmf-ouija-checkout-context {
  margin-bottom: 1rem;
}


.tmf-ouija-dashboard {
  margin: 0 0 2rem;
  padding: 1.25rem;
  border: 1px solid currentColor;
  border-radius: .85rem;
}

.tmf-ouija-dashboard h2,
.tmf-ouija-dashboard h3 { margin-top: 0; }

.tmf-ouija-dashboard__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin: 1rem 0;
}

.tmf-ouija-dashboard__card {
  padding: 1rem;
  border: 1px solid currentColor;
  border-radius: .75rem;
}

.tmf-ouija-dashboard__units ol {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .65rem;
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
}

.tmf-ouija-dashboard__units li a {
  display: block;
  min-height: 44px;
  padding: .75rem;
  border: 1px solid currentColor;
  border-radius: .65rem;
  text-decoration: none;
}

.tmf-ouija-dashboard__units span,
.tmf-ouija-dashboard__units strong,
.tmf-ouija-dashboard__units em { display: block; }

.tmf-ouija-dashboard__units em {
  margin-top: .35rem;
  font-size: .75rem;
  font-style: normal;
  opacity: .78;
}

.tmf-ouija-dashboard__units .is-locked a { opacity: .7; }


.tmf-ouija-dashboard__note {
  margin: 1rem 0 0;
  font-size: .875rem;
}

@media (max-width: 720px) {
  .tmf-ouija-dashboard__grid,
  .tmf-ouija-dashboard__units ol { grid-template-columns: 1fr; }
}


.tmf-ouija-progress-prototype {
  margin: .85rem 0 1rem;
  padding: .9rem;
  border: 1px dashed currentColor;
  border-radius: .75rem;
  opacity: .96;
}

.tmf-ouija-progress-prototype h3 { margin-bottom: .35rem; }

.tmf-ouija-progress-prototype__notice {
  margin: .65rem 0;
  font-size: .9rem;
  opacity: .84;
}

.tmf-ouija-progress-prototype__summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .5rem;
  margin: .8rem 0;
}

.tmf-ouija-progress-prototype__summary span {
  min-height: 44px;
  padding: .6rem;
  border: 1px solid currentColor;
  border-radius: .6rem;
}

.tmf-ouija-progress-prototype__summary strong,
.tmf-ouija-progress-prototype__summary em { display: block; }

.tmf-ouija-progress-prototype__summary em {
  margin-top: .2rem;
  font-size: .75rem;
  font-style: normal;
  opacity: .76;
}

.tmf-ouija-progress-prototype__bar {
  height: .55rem;
  overflow: hidden;
  border: 1px solid currentColor;
  border-radius: 999px;
}

.tmf-ouija-progress-prototype__bar span {
  display: block;
  width: 30.77%;
  height: 100%;
  background: currentColor;
}

.tmf-ouija-progress-prototype__actions { margin: .85rem 0; }

.tmf-ouija-progress-prototype__units {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .5rem;
  margin: .85rem 0 0;
  padding: 0;
  list-style: none;
}

.tmf-ouija-progress-prototype__units li {
  padding: .65rem;
  border: 1px solid currentColor;
  border-radius: .6rem;
}

.tmf-ouija-progress-prototype__units span,
.tmf-ouija-progress-prototype__units strong,
.tmf-ouija-progress-prototype__units em { display: block; }

.tmf-ouija-progress-prototype__units em {
  margin-top: .25rem;
  font-size: .75rem;
  font-style: normal;
  opacity: .78;
}

@media (max-width: 720px) {
  .tmf-ouija-progress-prototype { padding: .8rem; }
  .tmf-ouija-progress-prototype__summary,
  .tmf-ouija-progress-prototype__units { grid-template-columns: 1fr; }
  .tmf-ouija-progress-prototype__summary span { min-height: 0; }
}



.tmf-ouija-progress-prototype [data-tmf-ouija-progress-status="1"] {
  margin: .65rem 0;
  font-size: .9rem;
  opacity: .84;
}

.tmf-ouija-progress-prototype__units button,
.tmf-ouija-progress-prototype__actions button {
  margin-top: .45rem;
}

/* C18-A2 - OUIJA Academia visual layer - scoped to progress flag */
@supports selector(.tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype)) {
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) {
    --tmf-ouija-ink: #100d0a;
    --tmf-ouija-panel: rgba(30, 24, 18, .88);
    --tmf-ouija-panel-2: rgba(48, 39, 29, .72);
    --tmf-ouija-line: rgba(203, 166, 105, .34);
    --tmf-ouija-line-strong: rgba(226, 185, 118, .58);
    --tmf-ouija-text: #f4ead8;
    --tmf-ouija-muted: rgba(244, 234, 216, .72);
    --tmf-ouija-amber: #d6a24c;
    --tmf-ouija-green: #8fa77a;
    color: var(--tmf-ouija-text);
    margin: clamp(1rem, 2vw, 1.75rem) 0 2.5rem;
    padding: clamp(1.15rem, 3vw, 2.25rem);
    border: 1px solid var(--tmf-ouija-line);
    border-radius: 28px;
    background:
      radial-gradient(circle at 12% 0%, rgba(214, 162, 76, .16), transparent 34%),
      linear-gradient(135deg, rgba(16, 13, 10, .97), rgba(33, 27, 20, .94));
    box-shadow: 0 22px 70px rgba(0, 0, 0, .36);
    position: relative;
    overflow: hidden;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype)::before {
    content: "";
    position: absolute;
    inset: 1rem;
    border: 1px solid rgba(226, 185, 118, .13);
    border-radius: 22px;
    pointer-events: none;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__status {
    display: grid;
    gap: .75rem;
    max-width: 880px;
    position: relative;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-kicker {
    margin: 0 0 .15rem;
    color: var(--tmf-ouija-amber);
    font-size: .72rem;
    font-style: normal;
    font-weight: 750;
    letter-spacing: .16em;
    text-transform: uppercase;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) h2 {
    max-width: 14ch;
    margin: 0;
    color: var(--tmf-ouija-text);
    font-size: clamp(2.3rem, 7vw, 5.8rem);
    line-height: .88;
    letter-spacing: -.055em;
  }
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__status > p:not(.tmf-ouija-kicker) {
    max-width: 64rem;
    margin: 0;
    color: var(--tmf-ouija-muted);
    font-size: clamp(1rem, 1.45vw, 1.18rem);
    line-height: 1.65;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__status > p:nth-of-type(2) strong {
    display: inline-flex;
    width: fit-content;
    padding: .35rem .65rem;
    border: 1px solid var(--tmf-ouija-line-strong);
    border-radius: 999px;
    color: var(--tmf-ouija-text);
  }
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .button {
    min-height: 44px;
    border: 1px solid var(--tmf-ouija-line-strong);
    border-radius: 999px;
    background: rgba(214, 162, 76, .12);
    color: var(--tmf-ouija-text);
    text-decoration: none;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.03);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .button:hover,
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .button:focus-visible {
    background: rgba(214, 162, 76, .2);
    outline: 2px solid rgba(214, 162, 76, .38);
    outline-offset: 3px;
  }
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype {
    margin: clamp(1.25rem, 3vw, 2.15rem) 0;
    padding: clamp(1rem, 2.5vw, 1.45rem);
    border: 1px solid var(--tmf-ouija-line);
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(244,234,216,.075), rgba(244,234,216,.025));
    opacity: 1;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype h3 {
    margin: .1rem 0 .25rem;
    color: var(--tmf-ouija-text);
    font-size: clamp(1.35rem, 2.6vw, 2.15rem);
    letter-spacing: -.025em;
  }
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__summary span,
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__card,
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__units li a {
    border-color: var(--tmf-ouija-line);
    background: var(--tmf-ouija-panel-2);
    color: var(--tmf-ouija-text);
    backdrop-filter: blur(10px);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__summary strong {
    color: var(--tmf-ouija-text);
    font-size: clamp(1.45rem, 3vw, 2.25rem);
    line-height: 1;
  }
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__bar {
    height: .62rem;
    border-color: var(--tmf-ouija-line);
    background: rgba(0, 0, 0, .28);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__bar span {
    background: linear-gradient(90deg, var(--tmf-ouija-amber), #f0d199);
    box-shadow: 0 0 24px rgba(214, 162, 76, .32);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li {
    border-color: var(--tmf-ouija-line);
    background: rgba(16, 13, 10, .42);
  }
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li.is-complete {
    border-color: rgba(143, 167, 122, .72);
    background: rgba(143, 167, 122, .13);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li.is-next {
    border-color: var(--tmf-ouija-line-strong);
    box-shadow: inset 0 0 0 1px rgba(214, 162, 76, .16);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units button {
    width: 100%;
    color: var(--tmf-ouija-text);
  }
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__grid {
    gap: 1rem;
    margin: clamp(1rem, 2vw, 1.5rem) 0;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__card {
    border-radius: 20px;
    padding: clamp(1rem, 2vw, 1.35rem);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__units ol {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__note {
    color: var(--tmf-ouija-muted);
  }
  @media (max-width: 720px) {
    .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) {
      padding: 1rem;
      border-radius: 20px;
    }

    .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) h2 {
      font-size: clamp(2.15rem, 14vw, 3.6rem);
    }

    .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__status > p:last-child {
      display: grid;
      gap: .55rem;
    }
  }
}

/* C18-A3 · OUIJA Academia map layer · scoped to progress flag */
@supports selector(.tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype)) {
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .78rem;
    margin-top: 1.2rem;
    counter-reset: tmf-ouija-unit;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units::before {
    content: "";
    position: absolute;
    left: .85rem;
    right: .85rem;
    top: 2.05rem;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--tmf-ouija-line), transparent);
    opacity: .62;
    pointer-events: none;
  }
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li {
    position: relative;
    display: grid;
    gap: .42rem;
    min-height: 11.25rem;
    padding: .82rem .82rem .9rem;
    border-radius: 18px;
    border-color: rgba(203, 166, 105, .28);
    background:
      linear-gradient(180deg, rgba(244, 234, 216, .06), rgba(244, 234, 216, .018)),
      rgba(16, 13, 10, .54);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.018);
    counter-increment: tmf-ouija-unit;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li::before {
    content: counter(tmf-ouija-unit, decimal-leading-zero);
    width: 2.05rem;
    height: 2.05rem;
    display: inline-grid;
    place-items: center;
    border: 1px solid var(--tmf-ouija-line-strong);
    border-radius: 999px;
    color: var(--tmf-ouija-amber);
    background: rgba(16, 13, 10, .72);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .08em;
    z-index: 1;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li > span {
    color: var(--tmf-ouija-amber);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
  }
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li > strong {
    color: var(--tmf-ouija-text);
    font-size: .98rem;
    line-height: 1.28;
    letter-spacing: -.012em;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li > em {
    width: fit-content;
    margin-top: auto;
    padding: .22rem .48rem;
    border: 1px solid rgba(244,234,216,.18);
    border-radius: 999px;
    color: var(--tmf-ouija-muted);
    background: rgba(0,0,0,.22);
    font-size: .7rem;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li.is-complete {
    border-color: rgba(143, 167, 122, .7);
    background:
      linear-gradient(180deg, rgba(143, 167, 122, .16), rgba(143, 167, 122, .045)),
      rgba(16, 13, 10, .56);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li.is-complete::before {
    color: #dbe8cf;
    border-color: rgba(143, 167, 122, .8);
    background: rgba(143, 167, 122, .18);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li.is-complete > em {
    color: #dbe8cf;
    border-color: rgba(143, 167, 122, .52);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li.is-next {
    border-color: rgba(226, 185, 118, .82);
    background:
      radial-gradient(circle at 90% 0%, rgba(214, 162, 76, .2), transparent 42%),
      rgba(16, 13, 10, .6);
    box-shadow: 0 0 0 1px rgba(214, 162, 76, .14), 0 18px 44px rgba(0, 0, 0, .22);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li.is-next::before {
    color: var(--tmf-ouija-text);
    border-color: rgba(226, 185, 118, .9);
    background: rgba(214, 162, 76, .24);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li.is-pending {
    opacity: .86;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units button {
    align-self: end;
    min-height: 42px;
    border-radius: 999px;
    border: 1px solid rgba(226, 185, 118, .42);
    background: rgba(214, 162, 76, .1);
    color: var(--tmf-ouija-text);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units button:focus-visible {
    outline: 2px solid rgba(214, 162, 76, .52);
    outline-offset: 3px;
  }

  @media (max-width: 980px) {
    .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (max-width: 620px) {
    .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units {
      grid-template-columns: 1fr;
      gap: .7rem;
    }

    .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li {
      min-height: 0;
      grid-template-columns: auto 1fr;
      align-items: start;
    }

    .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units::before {
      top: 1.8rem;
      left: 1.6rem;
      right: auto;
      bottom: 1.8rem;
      width: 1px;
      height: auto;
      background: linear-gradient(180deg, transparent, var(--tmf-ouija-line), transparent);
    }

    .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li > strong,
    .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li > em,
    .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li > button {
      grid-column: 2;
    }
  }
}

/* C18-A4 · OUIJA progress state polish · scoped to progress flag */
@supports selector(.tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype)) {
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype {
    --tmf-state-complete: #9fb38a;
    --tmf-state-next: #e2b976;
    --tmf-state-pending: rgba(244, 234, 216, .52);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) [data-tmf-ouija-progress-status="1"] {
    width: fit-content;
    max-width: 100%;
    padding: .38rem .66rem;
    border: 1px solid rgba(226, 185, 118, .28);
    border-radius: 999px;
    color: var(--tmf-ouija-muted);
    background: rgba(0, 0, 0, .24);
    font-size: .84rem;
    line-height: 1.35;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__summary span {
    position: relative;
    overflow: hidden;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__summary span::after {
    content: "";
    position: absolute;
    left: .75rem;
    right: .75rem;
    bottom: .55rem;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(226,185,118,.42), transparent);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__bar {
    position: relative;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.025);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__bar span {
    transition: width .32s ease;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li {
    transition: transform .18s ease, border-color .18s ease, background .18s ease;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li.is-complete {
    color: #edf6e5;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li.is-complete > strong::after {
    content: " ✓";
    color: var(--tmf-state-complete);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li.is-next > em {
    color: var(--tmf-ouija-text);
    border-color: rgba(226, 185, 118, .7);
    background: rgba(214, 162, 76, .16);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li.is-pending > em {
    color: var(--tmf-state-pending);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units button:hover,
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units button:focus-visible {
    background: rgba(214, 162, 76, .2);
    border-color: rgba(226, 185, 118, .74);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__actions button {
    min-height: 42px;
    border-radius: 999px;
    border: 1px solid rgba(244, 234, 216, .28);
    background: rgba(244, 234, 216, .055);
    color: var(--tmf-ouija-muted);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__actions button:not([hidden]) {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__actions button:not([hidden])::before {
    content: "↺";
  }

  @media (prefers-reduced-motion: reduce) {
    .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__bar span,
    .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li {
      transition: none;
    }
  }
}

/* C18-A5 · OUIJA palette correction · more chamber, less generic premium */
@supports selector(.tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype)) {
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) {
    --tmf-ouija-ink: #070604;
    --tmf-ouija-burnt: #21160f;
    --tmf-ouija-graphite: #171613;
    --tmf-ouija-bone: #eadcc3;
    --tmf-ouija-aged-bronze: #a8783b;
    --tmf-ouija-dry-amber: #c08a38;
    --tmf-ouija-mineral: #718764;
    --tmf-ouija-smoke: rgba(234, 220, 195, .58);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) {
    color: var(--tmf-ouija-bone);
    background:
      radial-gradient(circle at 14% -8%, rgba(192, 138, 56, .24), transparent 30%),
      radial-gradient(circle at 92% 8%, rgba(113, 135, 100, .16), transparent 28%),
      linear-gradient(135deg, rgba(7, 6, 4, .98), rgba(33, 22, 15, .96) 58%, rgba(13, 13, 11, .98));
    border-color: rgba(168, 120, 59, .52);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype)::before {
    border-color: rgba(234, 220, 195, .12);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype)::after {
    content: "OUIJA · ARCHIVO · U1-U13";
    position: absolute;
    right: clamp(1rem, 3vw, 2rem);
    top: clamp(1rem, 3vw, 2rem);
    color: rgba(234, 220, 195, .12);
    font-size: clamp(.72rem, 1vw, .9rem);
    font-weight: 800;
    letter-spacing: .22em;
    text-transform: uppercase;
    pointer-events: none;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-kicker {
    color: var(--tmf-ouija-dry-amber);
    text-shadow: 0 0 18px rgba(192, 138, 56, .18);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) h2 {
    color: var(--tmf-ouija-bone);
    text-shadow: 0 12px 40px rgba(0, 0, 0, .38);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .button {
    border-color: rgba(168, 120, 59, .72);
    background: linear-gradient(180deg, rgba(192, 138, 56, .18), rgba(33, 22, 15, .62));
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype {
    background:
      linear-gradient(90deg, rgba(234, 220, 195, .06) 1px, transparent 1px),
      linear-gradient(180deg, rgba(234, 220, 195, .05) 1px, transparent 1px),
      linear-gradient(180deg, rgba(33, 22, 15, .82), rgba(7, 6, 4, .5));
    background-size: 28px 28px, 28px 28px, auto;
    border-color: rgba(168, 120, 59, .46);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype h3 {
    color: var(--tmf-ouija-bone);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__summary span,
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__card,
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__units li a {
    background: linear-gradient(180deg, rgba(33, 22, 15, .74), rgba(7, 6, 4, .48));
    border-color: rgba(168, 120, 59, .36);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__summary strong {
    color: var(--tmf-ouija-bone);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__bar {
    border-color: rgba(168, 120, 59, .5);
    background: rgba(7, 6, 4, .62);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__bar span {
    background: linear-gradient(90deg, #8b6631, var(--tmf-ouija-dry-amber), #e0c083);
    box-shadow: 0 0 28px rgba(192, 138, 56, .24);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li {
    background:
      linear-gradient(180deg, rgba(234, 220, 195, .035), transparent 48%),
      rgba(7, 6, 4, .62);
    border-color: rgba(168, 120, 59, .34);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li::before {
    color: var(--tmf-ouija-dry-amber);
    border-color: rgba(168, 120, 59, .74);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li.is-complete {
    border-color: rgba(113, 135, 100, .78);
    background: linear-gradient(180deg, rgba(113, 135, 100, .18), rgba(7, 6, 4, .58));
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li.is-next {
    border-color: rgba(192, 138, 56, .92);
    background: radial-gradient(circle at 88% -8%, rgba(192, 138, 56, .28), transparent 48%), rgba(7, 6, 4, .66);
  }
}


/* C18-A5b · reference palette correction · cold archive, bone, patina */
@supports selector(.tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype)) {
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) {
    --tmf-ouija-ink: #07090b;
    --tmf-ouija-panel: rgba(13, 17, 19, .9);
    --tmf-ouija-panel-2: rgba(26, 28, 26, .74);
    --tmf-ouija-line: rgba(142, 160, 151, .32);
    --tmf-ouija-line-strong: rgba(199, 193, 178, .48);
    --tmf-ouija-text: #e7e0d2;
    --tmf-ouija-muted: rgba(207, 198, 182, .72);
    --tmf-ouija-amber: #8d7651;
    --tmf-ouija-green: #6e837a;
    background:
      radial-gradient(circle at 18% -10%, rgba(110, 131, 122, .18), transparent 32%),
      radial-gradient(circle at 88% 6%, rgba(199, 193, 178, .08), transparent 26%),
      linear-gradient(135deg, rgba(7, 9, 11, .99), rgba(13, 17, 19, .98) 54%, rgba(20, 23, 22, .97));
    border-color: rgba(142, 160, 151, .34);
    color: var(--tmf-ouija-text);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype)::before {
    border-color: rgba(199, 193, 178, .11);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-kicker {
    color: #bfc8bf;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) h2,
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) h3 {
    color: #ece5d8;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .button {
    background: rgba(7, 9, 11, .58);
    border-color: rgba(199, 193, 178, .42);
    color: #e7e0d2;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype {
    background:
      linear-gradient(90deg, rgba(231, 224, 210, .045) 1px, transparent 1px),
      linear-gradient(rgba(231, 224, 210, .035) 1px, transparent 1px),
      linear-gradient(180deg, rgba(20, 23, 22, .86), rgba(7, 9, 11, .58));
    background-size: 38px 38px, 38px 38px, auto;
    border-color: rgba(142, 160, 151, .34);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__summary span,
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__card,
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__units li a {
    background: rgba(18, 21, 20, .76);
    border-color: rgba(142, 160, 151, .28);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__bar span {
    background: linear-gradient(90deg, #6e837a, #c7c1b2);
    box-shadow: 0 0 18px rgba(110, 131, 122, .22);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li {
    background:
      radial-gradient(circle at 90% -10%, rgba(199, 193, 178, .08), transparent 44%),
      rgba(10, 12, 13, .72);
    border-color: rgba(142, 160, 151, .28);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li::before {
    color: #cfc6b6;
    border-color: rgba(142, 160, 151, .44);
    background: rgba(7, 9, 11, .78);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li > span {
    color: #b8b0a1;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li.is-next {
    border-color: rgba(199, 193, 178, .58);
    background:
      radial-gradient(circle at 92% -12%, rgba(142, 160, 151, .2), transparent 46%),
      rgba(13, 17, 19, .78);
    box-shadow: 0 0 0 1px rgba(199, 193, 178, .1), 0 16px 38px rgba(0, 0, 0, .26);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li.is-complete {
    border-color: rgba(110, 131, 122, .64);
    background: linear-gradient(180deg, rgba(110, 131, 122, .16), rgba(13, 17, 19, .76));
  }
}



/* C18-A6 · OUIJA local art direction / fluidez / unificación visual */
@supports selector(.tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype)) {
  :root {
    --tmf-a6-ink: #050708;
    --tmf-a6-ink-2: #0b1011;
    --tmf-a6-ink-3: #111719;
    --tmf-a6-bone: #eee7d8;
    --tmf-a6-bone-2: #cfc8ba;
    --tmf-a6-muted: #969f9c;
    --tmf-a6-green: #7f9990;
    --tmf-a6-line: rgba(154, 171, 165, .24);
    --tmf-a6-line-soft: rgba(238, 231, 216, .105);
    --tmf-a6-panel: rgba(10, 15, 16, .78);
    --tmf-a6-panel-2: rgba(18, 24, 24, .62);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) {
    max-width: min(92rem, calc(100vw - 2.5rem));
    margin: clamp(2rem, 5vw, 5rem) auto;
    padding: clamp(1.1rem, 2.4vw, 2.2rem);
    border: 1px solid var(--tmf-a6-line);
    border-radius: clamp(24px, 3vw, 38px);
    color: var(--tmf-a6-bone);
    background:
      radial-gradient(circle at 16% 0%, rgba(127, 153, 144, .13), transparent 34%),
      linear-gradient(180deg, rgba(238,231,216,.045), transparent 18%),
      linear-gradient(135deg, rgba(5,7,8,.97), rgba(10,15,16,.96) 58%, rgba(8,12,13,.98));
    box-shadow: 0 38px 120px rgba(0,0,0,.5), inset 0 1px 0 rgba(238,231,216,.075);
    overflow: clip;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype)::before {
    opacity: .42;
    background-size: 42px 42px;
    mask-image: linear-gradient(180deg, rgba(0,0,0,.75), transparent 72%);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__status {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem 1.5rem;
    align-items: end;
    margin: 0 0 clamp(1.1rem, 2vw, 1.6rem);
    padding: 0 0 clamp(1rem, 1.8vw, 1.4rem);
    border: 0;
    border-bottom: 1px solid var(--tmf-a6-line-soft);
    background: transparent;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__status h2 {
    max-width: 11ch;
    margin: .15rem 0 0;
    color: var(--tmf-a6-bone);
    font-size: clamp(2.45rem, 7vw, 6.8rem);
    line-height: .86;
    letter-spacing: -.065em;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__status > p:not(.tmf-ouija-kicker) {
    max-width: 42rem;
    margin: 0;
    color: var(--tmf-a6-bone-2);
    font-size: clamp(.94rem, 1vw, 1.08rem);
    line-height: 1.55;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__status > p:nth-of-type(2) {
    justify-self: end;
    width: fit-content;
    padding: .35rem .7rem;
    border: 1px solid var(--tmf-a6-line);
    border-radius: 999px;
    color: var(--tmf-a6-green);
    font-size: .72rem;
    letter-spacing: .18em;
    text-transform: uppercase;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__status .button,
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) a.button,
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) button {
    min-height: 0;
    padding: .68rem .95rem;
    border-color: var(--tmf-a6-line);
    border-radius: 999px;
    color: var(--tmf-a6-bone);
    background: linear-gradient(180deg, rgba(238,231,216,.055), rgba(127,153,144,.035));
    box-shadow: inset 0 1px 0 rgba(238,231,216,.07);
    font-size: .72rem;
    letter-spacing: .1em;
    text-transform: uppercase;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) a.button:hover,
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) button:hover {
    border-color: rgba(127,153,144,.56);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype {
    display: grid;
    grid-template-columns: minmax(16rem, .9fr) minmax(0, 2fr);
    grid-template-areas:
      "head stats"
      "bar bar"
      "map map"
      "note note";
    gap: clamp(.85rem, 1.8vw, 1.35rem);
    margin: clamp(1rem, 2.5vw, 1.8rem) 0;
    padding: clamp(1rem, 2vw, 1.55rem);
    border: 1px solid var(--tmf-a6-line);
    border-radius: 28px;
    background: linear-gradient(180deg, rgba(17,23,25,.78), rgba(7,10,11,.74));
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype .tmf-ouija-kicker,
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-kicker {
    color: #b7d8d0;
    text-shadow: none;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype h2 {
    grid-area: head;
    margin: 0;
    max-width: 8.5ch;
    font-size: clamp(2rem, 4.4vw, 4.6rem);
    line-height: .9;
    letter-spacing: -.055em;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype [data-tmf-ouija-progress-status="1"] {
    grid-area: note;
    width: fit-content;
    margin: 0;
    padding: .38rem .7rem;
    color: var(--tmf-a6-muted);
    background: rgba(0,0,0,.18);
    border-color: var(--tmf-a6-line-soft);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__summary {
    grid-area: stats;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .65rem;
    margin: 0;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__summary span {
    min-height: 6.25rem;
    padding: .9rem 1rem;
    border-color: var(--tmf-a6-line-soft);
    background: rgba(7, 10, 11, .52);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__summary strong {
    color: var(--tmf-a6-bone);
    font-size: clamp(2.1rem, 3.6vw, 3.6rem);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__bar {
    grid-area: bar;
    margin: 0;
    border-color: var(--tmf-a6-line);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units {
    grid-area: map;
    display: grid;
    grid-template-columns: repeat(13, minmax(3.8rem, 1fr));
    gap: .45rem;
    margin: .15rem 0 0;
    padding: .25rem 0 0;
    counter-reset: tmf-ouija-unit;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units::before {
    display: none;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li {
    min-height: 8.5rem;
    padding: .72rem .62rem;
    gap: .32rem;
    border-color: var(--tmf-a6-line-soft);
    border-radius: 18px;
    background: rgba(6, 9, 10, .58);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li::before {
    width: 2.15rem;
    height: 2.15rem;
    border-color: var(--tmf-a6-line);
    color: var(--tmf-a6-bone-2);
    background: rgba(0,0,0,.16);
    font-size: .62rem;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li > span {
    color: var(--tmf-a6-green);
    font-size: .68rem;
    letter-spacing: .13em;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li > strong {
    color: var(--tmf-a6-bone);
    font-size: clamp(.72rem, .8vw, .88rem);
    line-height: 1.18;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li > em {
    padding: .14rem .36rem;
    color: var(--tmf-a6-muted);
    border-color: var(--tmf-a6-line-soft);
    font-size: .6rem;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units button {
    min-height: 34px;
    margin-top: auto;
    padding: .46rem .55rem;
    color: var(--tmf-a6-bone-2);
    background: rgba(238,231,216,.035);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li.is-next {
    border-color: rgba(238, 231, 216, .44);
    background: linear-gradient(180deg, rgba(127,153,144,.14), rgba(7,10,11,.68));
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li.is-next::before {
    color: var(--tmf-a6-ink);
    border-color: rgba(238,231,216,.7);
    background: var(--tmf-a6-bone);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li.is-complete {
    border-color: rgba(127,153,144,.58);
    background: linear-gradient(180deg, rgba(127,153,144,.18), rgba(7,10,11,.66));
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__actions {
    grid-area: note;
    justify-self: end;
    align-self: center;
    margin: 0;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: .9rem;
    margin: clamp(1rem, 2.2vw, 1.6rem) 0;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__card,
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__units,
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-materials-premium,
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-units,
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) + .tmf-ouija-units,
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) ~ .tmf-ouija-units {
    border-color: var(--tmf-a6-line);
    border-radius: 26px;
    background: linear-gradient(180deg, rgba(18,24,24,.54), rgba(7,10,11,.58));
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__units-compact {
    margin-top: .9rem;
    padding: clamp(.9rem, 1.8vw, 1.35rem);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__units-compact ol {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .55rem;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__units-compact li {
    border-color: var(--tmf-a6-line-soft);
    background: rgba(5,7,8,.32);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__note {
    margin-top: 1rem;
    color: var(--tmf-a6-muted);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) ~ .tmf-ouija-map,
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) ~ .tmf-ouija-materials,
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) ~ section {
    max-width: min(88rem, calc(100vw - 2.5rem));
    margin-left: auto;
    margin-right: auto;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) ~ .tmf-ouija-map {
    margin-top: clamp(2.8rem, 6vw, 6rem);
    border-color: var(--tmf-a6-line);
    background: linear-gradient(180deg, rgba(12,17,18,.86), rgba(7,10,11,.94));
    box-shadow: 0 36px 110px rgba(0,0,0,.42);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) ~ .tmf-ouija-materials {
    margin-top: clamp(2.2rem, 5vw, 4.5rem);
  }

  @media (max-width: 1100px) {
    .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }

  @media (max-width: 760px) {
    .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) {
      max-width: calc(100vw - 1rem);
      padding: 1rem;
      border-radius: 24px;
    }

    .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__status,
    .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype,
    .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__grid {
      display: block;
    }

    .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__status h2,
    .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype h2 {
      max-width: none;
      margin-bottom: .75rem;
      font-size: clamp(2.35rem, 18vw, 4.7rem);
    }

    .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__summary,
    .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__units-compact ol {
      grid-template-columns: 1fr;
      margin-top: .8rem;
    }

    .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units {
      grid-template-columns: 1fr;
    }
  }
}



/* C18-A6b - hotfix: no bronze, no cramped progress grid */
@supports selector(.tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype)) {
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) {
    --tmf-ouija-ink: #070b0d;
    --tmf-ouija-ink-2: #0b1113;
    --tmf-ouija-panel: #101719;
    --tmf-ouija-panel-2: #151d1f;
    --tmf-ouija-text: #efe9dc;
    --tmf-ouija-muted: #aeb9b2;
    --tmf-ouija-bone: #f3eddf;
    --tmf-ouija-mineral: #789087;
    --tmf-ouija-mineral-2: #9aaca4;
    --tmf-ouija-line: rgba(154, 172, 164, .28);
    --tmf-ouija-line-strong: rgba(199, 212, 205, .42);
    --tmf-ouija-focus: rgba(207, 226, 218, .78);
    --tmf-ouija-warm: var(--tmf-ouija-mineral);
    --tmf-ouija-amber: var(--tmf-ouija-mineral-2);
    --tmf-ouija-copper: var(--tmf-ouija-mineral);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype),
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype,
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__card,
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__units,
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-materials-premium {
    border-color: var(--tmf-ouija-line) !important;
    background:
      radial-gradient(circle at 14% 0%, rgba(120,144,135,.12), transparent 30%),
      linear-gradient(180deg, rgba(16,23,25,.9), rgba(7,11,13,.94)) !important;
    box-shadow: 0 28px 80px rgba(0,0,0,.36) !important;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__bar {
    border-color: rgba(154,172,164,.3) !important;
    background: linear-gradient(180deg, rgba(4,8,9,.88), rgba(16,23,25,.74)) !important;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__bar span {
    background: linear-gradient(90deg, #789087, #cfded7) !important;
    box-shadow: none !important;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__summary span {
    border-color: rgba(154,172,164,.26) !important;
    background: rgba(9,14,16,.68) !important;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units {
    grid-template-columns: repeat(4, minmax(190px, 1fr)) !important;
    gap: 1rem !important;
    align-items: stretch !important;
    overflow: visible !important;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li {
    min-height: 13.5rem !important;
    padding: 1rem !important;
    border-color: rgba(154,172,164,.22) !important;
    background:
      linear-gradient(180deg, rgba(20,29,31,.74), rgba(7,11,13,.72)) !important;
    box-shadow: none !important;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li::before {
    color: var(--tmf-ouija-bone) !important;
    border-color: rgba(154,172,164,.36) !important;
    background: rgba(7,11,13,.92) !important;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li.is-complete {
    border-color: rgba(120,144,135,.62) !important;
    background: linear-gradient(180deg, rgba(120,144,135,.18), rgba(10,16,18,.78)) !important;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li.is-next {
    border-color: rgba(231,237,229,.58) !important;
    background:
      radial-gradient(circle at 92% 0%, rgba(207,226,218,.18), transparent 44%),
      rgba(12,18,20,.86) !important;
    box-shadow: 0 0 0 1px rgba(207,226,218,.1), 0 16px 38px rgba(0,0,0,.28) !important;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units button,
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__actions .button,
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__actions button,
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .button {
    border-color: rgba(154,172,164,.44) !important;
    background: linear-gradient(180deg, rgba(22,32,34,.88), rgba(8,13,15,.9)) !important;
    color: var(--tmf-ouija-bone) !important;
    box-shadow: none !important;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units button {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    letter-spacing: .08em !important;
    padding-inline: .85rem !important;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) a:focus-visible,
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) button:focus-visible {
    outline: 2px solid var(--tmf-ouija-focus) !important;
    outline-offset: 3px !important;
    box-shadow: 0 0 0 4px rgba(207,226,218,.08) !important;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li:focus-within {
    z-index: 2 !important;
    transform: none !important;
  }

  @media (max-width: 1180px) {
    .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units {
      grid-template-columns: repeat(3, minmax(180px, 1fr)) !important;
    }
  }

  @media (max-width: 780px) {
    .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units {
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
  }

  @media (max-width: 560px) {
    .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units {
      grid-template-columns: 1fr !important;
    }

    .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li {
      min-height: 0 !important;
    }
  }
}

/* C18-A6d - OUIJA Academia typography, composition and button discipline */
@supports selector(.tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype)) {
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) {
    --tmf-a6d-ink: #06090a;
    --tmf-a6d-surface: #0c1112;
    --tmf-a6d-panel: #111819;
    --tmf-a6d-panel-soft: #141a1b;
    --tmf-a6d-line: rgba(156, 172, 166, .23);
    --tmf-a6d-line-strong: rgba(191, 202, 195, .38);
    --tmf-a6d-bone: #eee8dc;
    --tmf-a6d-bone-soft: #cfc8ba;
    --tmf-a6d-muted: #9aa39d;
    --tmf-a6d-mineral: #7f9990;
    --tmf-a6d-blue: #b9d8e8;
    --tmf-a6d-radius-lg: 28px;
    --tmf-a6d-radius-md: 18px;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) {
    max-width: min(1480px, calc(100vw - 48px));
    margin: clamp(2.2rem, 4vw, 4.5rem) auto;
    padding: clamp(2rem, 3.2vw, 4rem);
    border-color: var(--tmf-a6d-line);
    border-radius: var(--tmf-a6d-radius-lg);
    background:
      radial-gradient(circle at 12% 0%, rgba(127, 153, 144, .13), transparent 34%),
      linear-gradient(180deg, rgba(16, 23, 24, .96), rgba(6, 9, 10, .98));
    box-shadow: 0 32px 90px rgba(0, 0, 0, .34);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype)::before {
    opacity: .14;
    background-size: 44px 44px;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__status {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(22rem, 1.15fr);
    column-gap: clamp(2rem, 6vw, 7rem);
    row-gap: 1.2rem;
    align-items: end;
    min-height: clamp(20rem, 30vw, 31rem);
    padding: clamp(2.2rem, 5vw, 5.5rem) clamp(1.4rem, 4vw, 4.75rem);
    border-radius: calc(var(--tmf-a6d-radius-lg) - 4px);
    background: linear-gradient(120deg, rgba(4, 7, 8, .98), rgba(14, 20, 21, .88));
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__status .tmf-ouija-kicker {
    grid-column: 1 / -1;
    margin: 0 0 clamp(2rem, 5vw, 5rem);
    color: var(--tmf-a6d-blue);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__status h2 {
    grid-column: 1;
    max-width: 9.6ch;
    margin: 0;
    color: var(--tmf-a6d-bone);
    font-size: clamp(4.5rem, 9.2vw, 9.4rem);
    line-height: .82;
    letter-spacing: -.065em;
    text-wrap: balance;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__status > p:not(.tmf-ouija-kicker) {
    grid-column: 2;
    max-width: 42rem;
    margin: 0;
    color: var(--tmf-a6d-bone-soft);
    font-size: clamp(1.02rem, 1.15vw, 1.22rem);
    line-height: 1.68;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__status > p:nth-last-child(1) {
    display: flex;
    flex-wrap: wrap;
    gap: .82rem;
    align-self: start;
    margin-top: 1.2rem;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) a.button,
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: .78rem 1.25rem;
    border-radius: 999px;
    text-align: center;
    line-height: 1;
    vertical-align: middle;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) a.button,
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) button,
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units button {
    color: var(--tmf-a6d-bone);
    border: 1px solid var(--tmf-a6d-line-strong);
    background: rgba(7, 11, 12, .72);
    box-shadow: none;
    font-family: inherit;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .105em;
    text-transform: uppercase;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) a.button:hover,
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) button:hover {
    border-color: rgba(185, 216, 232, .54);
    background: rgba(16, 28, 30, .92);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(1rem, 2vw, 1.6rem);
    margin-top: clamp(1.4rem, 3vw, 2.8rem);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__card,
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__units-compact,
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) ~ .tmf-ouija-materials {
    border-radius: var(--tmf-a6d-radius-md);
    border-color: var(--tmf-a6d-line);
    background: linear-gradient(180deg, rgba(17, 24, 25, .86), rgba(8, 12, 13, .95));
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__card {
    min-height: 0;
    padding: clamp(1.35rem, 2.5vw, 2rem);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__card h3,
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__units-compact h3,
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) ~ .tmf-ouija-materials h2 {
    margin: .25rem 0 1rem;
    color: var(--tmf-a6d-bone);
    font-size: clamp(1.45rem, 2.1vw, 2.15rem);
    line-height: 1.05;
    letter-spacing: -.035em;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__card p,
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__card li {
    color: var(--tmf-a6d-bone-soft);
    font-size: clamp(.98rem, 1vw, 1.08rem);
    line-height: 1.62;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-kicker {
    color: var(--tmf-a6d-blue);
    font-size: .75rem;
    font-weight: 850;
    letter-spacing: .24em;
    line-height: 1.2;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype {
    margin-top: clamp(1.25rem, 2.6vw, 2.5rem);
    padding: clamp(1.15rem, 2.4vw, 2rem);
    border-radius: var(--tmf-a6d-radius-md);
    background: linear-gradient(180deg, rgba(10, 16, 17, .92), rgba(4, 7, 8, .94));
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype h3 {
    font-size: clamp(1.55rem, 2.2vw, 2.3rem);
    letter-spacing: -.035em;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__summary {
    gap: .9rem;
    margin-top: 1.1rem;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__summary span {
    padding: 1rem 1.1rem;
    border-radius: 16px;
    background: rgba(7, 11, 12, .64);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__summary strong {
    color: var(--tmf-a6d-bone);
    font-size: clamp(2rem, 3.3vw, 3.5rem);
    line-height: .92;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__summary em {
    color: var(--tmf-a6d-muted);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units {
    grid-template-columns: repeat(4, minmax(13rem, 1fr));
    gap: .95rem;
    margin-top: 1.5rem;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li {
    min-height: 15.5rem;
    padding: 1.05rem;
    border-radius: 17px;
    background: rgba(7, 11, 12, .76);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li > strong {
    font-size: 1rem;
    line-height: 1.26;
    letter-spacing: -.018em;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li > em,
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype [data-tmf-ouija-progress-status="1"] {
    color: var(--tmf-a6d-muted);
    border-color: rgba(156, 172, 166, .2);
    background: rgba(3, 5, 6, .35);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li.is-next {
    border-color: rgba(238, 232, 220, .52);
    background: linear-gradient(180deg, rgba(238, 232, 220, .055), rgba(7, 11, 12, .82));
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li.is-complete {
    border-color: rgba(127, 153, 144, .58);
    background: linear-gradient(180deg, rgba(127, 153, 144, .13), rgba(7, 11, 12, .84));
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__units-compact {
    margin-top: clamp(1rem, 2vw, 1.8rem);
    padding: clamp(1.3rem, 2.4vw, 2rem);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__units-compact ol {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .85rem;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__units-compact li a {
    min-height: 7rem;
    border-radius: 16px;
    background: rgba(7, 11, 12, .66);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__units-compact p:last-child {
    margin-top: 1rem;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) a:focus-visible,
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) button:focus-visible {
    outline: 2px solid rgba(185, 216, 232, .78);
    outline-offset: 4px;
    box-shadow: 0 0 0 6px rgba(185, 216, 232, .08);
  }

  @media (max-width: 1180px) {
    .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__status {
      grid-template-columns: 1fr;
      min-height: 0;
    }

    .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__status h2,
    .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__status > p:not(.tmf-ouija-kicker) {
      grid-column: 1;
      max-width: 48rem;
    }
  }

  @media (max-width: 820px) {
    .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) {
      max-width: calc(100vw - 24px);
      padding: 1rem;
    }

    .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__status h2 {
      font-size: clamp(3.7rem, 18vw, 5.6rem);
    }

    .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__grid,
    .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__units-compact ol {
      grid-template-columns: 1fr;
    }

    .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units {
      grid-template-columns: 1fr;
    }
  }
}

/* C18-A6e - final no-bronze metrics and actions */
@supports selector(.tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype)) {
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) {
    --tmf-a6e-line: rgba(158, 176, 169, .28);
    --tmf-a6e-line-strong: rgba(204, 216, 211, .46);
    --tmf-a6e-panel: rgba(7, 11, 13, .9);
    --tmf-a6e-panel-2: rgba(13, 19, 21, .86);
    --tmf-a6e-text: #eee7d9;
    --tmf-a6e-muted: #a9b5ae;
    --tmf-a6e-mineral: #8fa49b;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__summary {
    gap: clamp(.9rem, 1.5vw, 1.3rem);
    align-items: stretch;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__summary span {
    min-height: 118px;
    padding: clamp(1.05rem, 1.8vw, 1.45rem);
    border: 1px solid var(--tmf-a6e-line);
    background: linear-gradient(180deg, var(--tmf-a6e-panel-2), var(--tmf-a6e-panel));
    box-shadow: inset 0 0 0 1px rgba(238,231,217,.025);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__summary span::after {
    background: linear-gradient(90deg, rgba(158,176,169,.28), rgba(158,176,169,.08), transparent) !important;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__summary strong {
    color: var(--tmf-a6e-text);
    text-shadow: none;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__summary em {
    color: var(--tmf-a6e-muted);
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__bar {
    height: 9px;
    border: 1px solid rgba(158,176,169,.22);
    background: rgba(9, 13, 15, .9);
    box-shadow: none;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__bar span {
    background: linear-gradient(90deg, #eef0e7, var(--tmf-a6e-mineral));
    box-shadow: none;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__actions {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .9rem;
    margin: clamp(1rem, 1.8vw, 1.5rem) auto 0;
    padding: 0;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__actions .button,
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__actions button {
    min-width: min(260px, 100%);
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 1.65rem;
    border: 1px solid var(--tmf-a6e-line-strong) !important;
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(13,19,21,.96), rgba(6,10,12,.98)) !important;
    color: var(--tmf-a6e-text) !important;
    box-shadow: none !important;
    text-align: center;
    line-height: 1;
    letter-spacing: .08em;
    white-space: nowrap;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__actions .button:hover,
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__actions button:hover {
    border-color: rgba(225,235,230,.62) !important;
    background: linear-gradient(180deg, rgba(20,29,31,.98), rgba(9,14,16,1)) !important;
    transform: none;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__actions .button:focus-visible,
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__actions button:focus-visible {
    outline: 2px solid rgba(225,235,230,.7);
    outline-offset: 4px;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units button {
    border-color: rgba(158,176,169,.36) !important;
    background: rgba(8, 13, 15, .84) !important;
    box-shadow: none !important;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li.is-next::before,
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li.is-complete::before {
    border-color: rgba(203,216,210,.55) !important;
    background: rgba(143,164,155,.16) !important;
    color: var(--tmf-a6e-text) !important;
  }

  @media (max-width: 700px) {
    .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__actions {
      align-items: stretch;
    }

    .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__actions .button,
    .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__actions button {
      width: 100%;
    }
  }
}

/* C18-A7 - continuidad desde arriba: compact dashboard + progress rhythm */
@supports selector(.tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype)) {
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) {
    margin-top: clamp(2.4rem, 5vw, 5rem) !important;
    padding: clamp(1.3rem, 3vw, 2.3rem) !important;
    border-radius: clamp(22px, 3vw, 34px) !important;
    background:
      radial-gradient(circle at 12% 0%, rgba(134, 156, 148, .1), transparent 34%),
      linear-gradient(180deg, rgba(9, 14, 16, .94), rgba(5, 8, 10, .98)) !important;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__status {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
      "kicker actions"
      "title actions"
      "body actions" !important;
    align-items: end !important;
    gap: .35rem clamp(1rem, 3vw, 2rem) !important;
    min-height: 0 !important;
    margin: 0 0 clamp(1.2rem, 2vw, 1.8rem) !important;
    padding: clamp(1rem, 2vw, 1.45rem) !important;
    border: 1px solid rgba(154, 172, 164, .2) !important;
    border-radius: 24px !important;
    background: linear-gradient(135deg, rgba(10,15,17,.78), rgba(4,7,9,.92)) !important;
    box-shadow: none !important;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__status .tmf-ouija-kicker {
    grid-area: kicker !important;
    margin: 0 !important;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__status h2 {
    grid-area: title !important;
    max-width: 15ch !important;
    margin: .1rem 0 0 !important;
    color: #eee7d9 !important;
    font-size: clamp(2rem, 4.4vw, 4.7rem) !important;
    line-height: .9 !important;
    letter-spacing: -.055em !important;
    text-wrap: balance !important;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__status > p:not(.tmf-ouija-kicker) {
    margin: 0 !important;
  }
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__status > p:nth-of-type(2) {
    grid-area: body !important;
    max-width: 46rem !important;
    color: #c7cfc8 !important;
    font-size: clamp(1rem, 1.25vw, 1.15rem) !important;
    line-height: 1.55 !important;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__status > p:nth-of-type(3) {
    grid-area: actions !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: .75rem !important;
    margin: 0 !important;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__status strong {
    display: inline-flex !important;
    padding: .48rem .8rem !important;
    border: 1px solid rgba(154, 172, 164, .22) !important;
    border-radius: 999px !important;
    color: #dbe4de !important;
    background: rgba(7, 11, 13, .8) !important;
  }
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype {
    display: grid !important;
    gap: clamp(1rem, 1.9vw, 1.5rem) !important;
    margin-top: clamp(1rem, 2vw, 1.7rem) !important;
    padding: clamp(1rem, 2.2vw, 1.8rem) !important;
    border-radius: 24px !important;
    border-color: rgba(154, 172, 164, .2) !important;
    background: rgba(5, 9, 11, .68) !important;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype .tmf-ouija-kicker {
    margin: 0 !important;
    color: #a9bbb3 !important;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype h3 {
    max-width: 24rem !important;
    margin: 0 !important;
    font-size: clamp(1.35rem, 2.1vw, 2.15rem) !important;
    line-height: 1.05 !important;
    letter-spacing: -.025em !important;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) [data-tmf-ouija-progress-status="1"] {
    width: fit-content !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: .1rem 0 !important;
    padding: .58rem .9rem !important;
    border: 1px solid rgba(154, 172, 164, .22) !important;
    border-radius: 999px !important;
    color: #aebbb4 !important;
    background: rgba(7, 11, 13, .72) !important;
    font-size: .92rem !important;
    line-height: 1.1 !important;
    box-shadow: none !important;
    white-space: nowrap !important;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__summary {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: .9rem !important;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__summary span {
    min-height: 96px !important;
    padding: clamp(.85rem, 1.45vw, 1.15rem) !important;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__summary strong {
    font-size: clamp(2.35rem, 4.6vw, 4.25rem) !important;
    line-height: .86 !important;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__bar {
    margin: .1rem 0 .3rem !important;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: clamp(.75rem, 1.25vw, 1rem) !important;
    margin-top: .35rem !important;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li {
    min-height: 210px !important;
    padding: .95rem !important;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__actions {
    justify-content: center !important;
    margin-top: .35rem !important;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__grid {
    margin-top: clamp(1rem, 2vw, 1.5rem) !important;
    gap: clamp(1rem, 1.8vw, 1.35rem) !important;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__card {
    min-height: 0 !important;
    padding: clamp(1rem, 2vw, 1.5rem) !important;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__units-compact {
    margin-top: clamp(1rem, 2vw, 1.6rem) !important;
    padding: clamp(1rem, 2vw, 1.45rem) !important;
  }

  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) ~ .tmf-ouija-materials,
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) ~ .tmf-ouija-map {
    margin-top: clamp(2.5rem, 5vw, 4.5rem) !important;
  }

  @media (max-width: 980px) {
    .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__status {
      grid-template-columns: 1fr !important;
      grid-template-areas: "kicker" "title" "body" "actions" !important;
      align-items: start !important;
    }

    .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__status > p:nth-of-type(3) {
      justify-content: flex-start !important;
      margin-top: .75rem !important;
    }

    .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units {
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
  }

  @media (max-width: 620px) {
    .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__summary,
    .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units {
      grid-template-columns: 1fr !important;
    }

    .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard__status h2 {
      font-size: clamp(2rem, 13vw, 3.25rem) !important;
    }

    .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) [data-tmf-ouija-progress-status="1"] {
      white-space: normal !important;
      text-align: center !important;
    }
  }
}

/* C18-A7b - compact progress status chip */
@supports selector(.tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype)) {
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) [data-tmf-ouija-progress-status="1"] {
    min-height: unset !important;
    height: auto !important;
    block-size: auto !important;
    padding: .38rem .72rem !important;
    font-size: .84rem !important;
    line-height: 1 !important;
    letter-spacing: .01em !important;
  }
}

/* C18-A7c - prevent status chip stretching inside grid */
@supports selector(.tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype)) {
  .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) [data-tmf-ouija-progress-status="1"] {
    place-self: start !important;
    align-self: start !important;
    justify-self: start !important;
    flex: 0 0 auto !important;
    inline-size: auto !important;
    block-size: auto !important;
  }
}

/* C18-A7d - no-warm-state sweep: badges, hover, focus */
@supports selector(body:has(.tmf-ouija-progress-prototype)) {
  body:has(.tmf-ouija-progress-prototype),
  body:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard,
  body:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype,
  body:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units {
    --tmf-ouija-line: rgba(154, 172, 164, .28) !important;
    --tmf-ouija-line-strong: rgba(204, 216, 211, .46) !important;
    --tmf-ouija-amber: #9aac9f !important;
    --tmf-ouija-aged-bronze: #7f918a !important;
    --tmf-ouija-dry-amber: #9aac9f !important;
    --tmf-ouija-copper: #7f918a !important;
    --tmf-state-next: #dfe8df !important;
  }

  body:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li em,
  body:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li.is-next em,
  body:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li.is-complete em {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: .28rem .55rem !important;
    border-radius: 999px !important;
    border: 1px solid rgba(154, 172, 164, .42) !important;
    background: rgba(13, 20, 22, .86) !important;
    color: #dfe8df !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }

  body:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li,
  body:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li.is-next,
  body:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li.is-complete {
    border-color: rgba(154, 172, 164, .32) !important;
    background: linear-gradient(180deg, rgba(13, 20, 22, .86), rgba(6, 10, 12, .94)) !important;
    box-shadow: inset 0 1px 0 rgba(234, 241, 237, .025) !important;
  }

  body:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li:hover,
  body:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li:focus-within,
  body:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li.is-next:hover,
  body:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li.is-complete:hover {
    border-color: rgba(205, 219, 212, .5) !important;
    background: linear-gradient(180deg, rgba(18, 28, 30, .92), rgba(8, 13, 15, .98)) !important;
    box-shadow: 0 0 0 1px rgba(154, 172, 164, .14) !important;
  }

  body:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype button,
  body:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype .button,
  body:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard .button,
  body:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard a.button {
    border-color: rgba(154, 172, 164, .42) !important;
    background: linear-gradient(180deg, rgba(10, 16, 18, .94), rgba(5, 9, 11, .98)) !important;
    color: #eee7d9 !important;
    box-shadow: none !important;
  }

  body:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype button:hover,
  body:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype button:focus-visible,
  body:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype .button:hover,
  body:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype .button:focus-visible,
  body:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard .button:hover,
  body:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard .button:focus-visible,
  body:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard a.button:hover,
  body:has(.tmf-ouija-progress-prototype) .tmf-ouija-dashboard a.button:focus-visible {
    border-color: rgba(218, 232, 225, .62) !important;
    background: linear-gradient(180deg, rgba(19, 30, 32, .98), rgba(7, 12, 14, 1)) !important;
    color: #f2eadc !important;
    outline-color: rgba(218, 232, 225, .72) !important;
    box-shadow: 0 0 0 1px rgba(154, 172, 164, .16) !important;
    transform: none !important;
  }

  body:has(.tmf-ouija-progress-prototype) .tmf-exp-entry-card__cta,
  body:has(.tmf-ouija-progress-prototype) .tmf-exp-entry-card:hover .tmf-exp-entry-card__cta,
  body:has(.tmf-ouija-progress-prototype) .tmf-exp-entry-card:focus-within .tmf-exp-entry-card__cta {
    border-color: rgba(154, 172, 164, .42) !important;
    background: transparent !important;
    color: #eee7d9 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }

  body:has(.tmf-ouija-progress-prototype) a:hover,
  body:has(.tmf-ouija-progress-prototype) a:focus-visible {
    color: #f2eadc;
    text-decoration-color: rgba(154, 172, 164, .55) !important;
    outline-color: rgba(218, 232, 225, .72) !important;
  }
}

/* C18-A7d2 - keep unit status chips compact */
@supports selector(body:has(.tmf-ouija-progress-prototype)) {
  body:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li em,
  body:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li.is-next em,
  body:has(.tmf-ouija-progress-prototype) .tmf-ouija-progress-prototype__units li.is-complete em {
    inline-size: max-content !important;
    width: max-content !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
    justify-self: start !important;
    align-self: start !important;
    place-self: start !important;
  }
}



/* C18-A9B - lower system documentary redesign */
body.tmf-experience-ouija-active {
  --tmf-a9b-ink: #040708;
  --tmf-a9b-panel: rgba(7, 12, 13, .92);
  --tmf-a9b-panel-2: rgba(11, 18, 19, .88);
  --tmf-a9b-line: rgba(154, 172, 164, .24);
  --tmf-a9b-line-strong: rgba(205, 219, 212, .46);
  --tmf-a9b-text: #eee8dc;
  --tmf-a9b-muted: rgba(209, 222, 216, .76);
  --tmf-a9b-dim: rgba(154, 172, 164, .68);
}

body.tmf-experience-ouija-active .tmf-ouija-dashboard:has(.tmf-ouija-progress-prototype) {
  width: min(1120px, calc(100% - 48px));
  margin-top: clamp(64px, 7vw, 98px);
  border-color: var(--tmf-a9b-line);
  background:
    linear-gradient(180deg, rgba(8,13,14,.96), rgba(4,7,8,.98)),
    radial-gradient(circle at 12% 0%, rgba(154,172,164,.1), transparent 34%);
  box-shadow: 0 38px 98px rgba(0,0,0,.28), inset 0 0 0 1px rgba(223,232,223,.025);
}
body.tmf-experience-ouija-active .tmf-ouija-progress-prototype {
  position: relative;
  padding: clamp(24px, 3vw, 38px);
  border-color: var(--tmf-a9b-line);
  border-radius: 28px;
  background:
    linear-gradient(180deg, rgba(7,12,13,.92), rgba(3,6,7,.98)),
    repeating-linear-gradient(90deg, rgba(154,172,164,.035) 0 1px, transparent 1px 74px),
    repeating-linear-gradient(0deg, rgba(154,172,164,.026) 0 1px, transparent 1px 74px);
  box-shadow: inset 0 0 0 1px rgba(223,232,223,.025);
}

body.tmf-experience-ouija-active .tmf-ouija-progress-prototype::before {
  content: "continuidad documental · U1–U13";
  position: absolute;
  top: clamp(18px, 2.2vw, 26px);
  right: clamp(18px, 2.2vw, 28px);
  color: var(--tmf-a9b-dim);
  font: 700 10px/1.2 "Arial Narrow", Arial, sans-serif;
  letter-spacing: .2em;
  text-transform: uppercase;
}
body.tmf-experience-ouija-active .tmf-ouija-progress-prototype__head {
  display: grid;
  grid-template-columns: minmax(0, .72fr) minmax(260px, .48fr);
  gap: clamp(20px, 3vw, 38px);
  align-items: end;
  margin-bottom: clamp(24px, 3vw, 38px);
}

body.tmf-experience-ouija-active .tmf-ouija-progress-prototype__head h2,
body.tmf-experience-ouija-active .tmf-ouija-progress-prototype h2 {
  max-width: 720px;
  color: var(--tmf-a9b-text) !important;
  font-size: clamp(42px, 5.4vw, 86px) !important;
  line-height: .86 !important;
  letter-spacing: -.065em !important;
}

body.tmf-experience-ouija-active .tmf-ouija-progress-prototype__head p,
body.tmf-experience-ouija-active .tmf-ouija-progress-prototype__status {
  color: var(--tmf-a9b-muted) !important;
}
body.tmf-experience-ouija-active .tmf-ouija-progress-prototype__stats {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px !important;
  padding: 1px;
  border: 1px solid var(--tmf-a9b-line);
  border-radius: 18px;
  background: var(--tmf-a9b-line);
  overflow: hidden;
}

body.tmf-experience-ouija-active .tmf-ouija-progress-prototype__stats > *,
body.tmf-experience-ouija-active .tmf-ouija-progress-prototype__stat {
  min-height: 136px !important;
  padding: 24px 22px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: linear-gradient(180deg, rgba(10,16,17,.96), rgba(4,8,9,.98)) !important;
  box-shadow: none !important;
}

body.tmf-experience-ouija-active .tmf-ouija-progress-prototype__stat-value {
  color: var(--tmf-a9b-text) !important;
}
body.tmf-experience-ouija-active .tmf-ouija-progress-prototype__bar,
body.tmf-experience-ouija-active .tmf-ouija-progress-prototype__bar-track {
  height: 10px !important;
  border-color: rgba(154,172,164,.22) !important;
  background: rgba(154,172,164,.09) !important;
}

body.tmf-experience-ouija-active .tmf-ouija-progress-prototype__bar-fill {
  background: linear-gradient(90deg, rgba(223,232,223,.78), rgba(154,172,164,.82)) !important;
  box-shadow: 0 0 24px rgba(154,172,164,.18) !important;
}

body.tmf-experience-ouija-active .tmf-ouija-progress-prototype__units {
  gap: 12px !important;
  margin-top: clamp(24px, 3vw, 36px) !important;
}

body.tmf-experience-ouija-active .tmf-ouija-progress-prototype__units > li {
  min-height: 180px !important;
  background: linear-gradient(180deg, rgba(9,15,16,.96), rgba(4,8,9,.98)) !important;
  border-color: rgba(154,172,164,.22) !important;
}
body.tmf-experience-ouija-active .tmf-ouija-dashboard__grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 24px;
}

body.tmf-experience-ouija-active .tmf-ouija-dashboard__card {
  border-color: var(--tmf-a9b-line) !important;
  border-radius: 20px !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(154,172,164,.09), transparent 30%),
    linear-gradient(180deg, rgba(10,16,17,.92), rgba(4,8,9,.98)) !important;
  box-shadow: inset 0 0 0 1px rgba(223,232,223,.022) !important;
}

body.tmf-experience-ouija-active .tmf-ouija-dashboard__card h3 {
  color: var(--tmf-a9b-text) !important;
  font-size: clamp(24px, 2.3vw, 34px) !important;
  letter-spacing: -.035em !important;
}
body.tmf-experience-ouija-active .tmf-ouija-materials {
  width: min(1120px, calc(100% - 48px));
  margin: clamp(54px, 6vw, 84px) auto 0 !important;
  padding: clamp(28px, 4vw, 48px) !important;
  border: 1px solid var(--tmf-a9b-line) !important;
  border-radius: 28px;
  background:
    linear-gradient(180deg, rgba(9,15,16,.94), rgba(4,7,8,.98)),
    repeating-linear-gradient(90deg, rgba(154,172,164,.03) 0 1px, transparent 1px 84px) !important;
}

body.tmf-experience-ouija-active .tmf-ouija-materials h2 {
  color: var(--tmf-a9b-text);
  font-size: clamp(36px, 4vw, 64px);
  line-height: .9;
  letter-spacing: -.055em;
}

body.tmf-experience-ouija-active .tmf-ouija-material-grid,
body.tmf-experience-ouija-active .tmf-ouija-materials .tmf-ouija-material-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px !important;
  border: 1px solid var(--tmf-a9b-line);
  background: var(--tmf-a9b-line);
}
body.tmf-experience-ouija-active .tmf-ouija-material-grid article {
  min-height: 220px;
  padding: 24px 22px;
  border: 0 !important;
  background: linear-gradient(180deg, rgba(11,18,19,.96), rgba(5,9,10,.98));
}

body.tmf-experience-ouija-active .tmf-ouija-material-grid article h3 {
  color: var(--tmf-a9b-text);
  font-size: clamp(22px, 2.1vw, 32px);
  letter-spacing: -.035em;
}

body.tmf-experience-ouija-active .tmf-ouija-material-grid article a {
  color: var(--tmf-a9b-text) !important;
  border-bottom-color: rgba(154,172,164,.36) !important;
}

@media (max-width: 900px) {
  body.tmf-experience-ouija-active .tmf-ouija-progress-prototype__head,
  body.tmf-experience-ouija-active .tmf-ouija-dashboard__grid,
  body.tmf-experience-ouija-active .tmf-ouija-material-grid {
    grid-template-columns: 1fr !important;
  }
}



/* C18-A9C - compact progress and editorial map */
body.tmf-experience-ouija-active .tmf-ouija-progress-prototype {
  max-width: 1120px !important;
  margin: clamp(28px, 5vw, 72px) auto !important;
  padding: clamp(26px, 3.2vw, 40px) !important;
  border-radius: 30px !important;
  background:
    linear-gradient(180deg, rgba(8,13,14,.96), rgba(3,6,7,.99)),
    repeating-linear-gradient(90deg, rgba(154,172,164,.035) 0 1px, transparent 1px 76px) !important;
  border: 1px solid rgba(154,172,164,.24) !important;
  box-shadow: 0 34px 90px rgba(0,0,0,.32) !important;
}

body.tmf-experience-ouija-active .tmf-ouija-progress-prototype::before {
  opacity: .18 !important;
  background:
    radial-gradient(circle at 82% 12%, rgba(154,172,164,.22), transparent 30%),
    linear-gradient(90deg, transparent, rgba(154,172,164,.16), transparent) !important;
}

body.tmf-experience-ouija-active .tmf-ouija-progress-prototype > .tmf-ouija-kicker {
  color: rgba(171,188,180,.8) !important;
  letter-spacing: .24em !important;
}

body.tmf-experience-ouija-active .tmf-ouija-progress-prototype > h3 {
  max-width: 12ch;
  font-size: clamp(32px, 4vw, 62px) !important;
  line-height: .88 !important;
  letter-spacing: -.055em !important;
}

body.tmf-experience-ouija-active .tmf-ouija-progress-prototype > p[data-tmf-ouija-progress-status="1"] {
  justify-self: start !important;
  width: auto !important;
  max-width: 18rem;
  min-height: 0 !important;
  margin: .6rem 0 0 !important;
  padding: .52rem .72rem !important;
  border-radius: 999px !important;
  background: rgba(6,10,11,.78) !important;
  border: 1px solid rgba(154,172,164,.28) !important;
  color: rgba(209,222,216,.72) !important;
  font-size: .78rem !important;
  line-height: 1.1 !important;
}
body.tmf-experience-ouija-active .tmf-ouija-progress-prototype__summary {
  align-self: start !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: .55rem !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

body.tmf-experience-ouija-active .tmf-ouija-progress-prototype__summary span {
  min-height: 96px !important;
  padding: 1rem .95rem .85rem !important;
  border-radius: 16px !important;
  background: linear-gradient(180deg, rgba(13,20,22,.88), rgba(6,10,11,.96)) !important;
  border: 1px solid rgba(154,172,164,.24) !important;
}

body.tmf-experience-ouija-active .tmf-ouija-progress-prototype__summary strong {
  font-size: clamp(30px, 3.2vw, 54px) !important;
  line-height: .86 !important;
}

body.tmf-experience-ouija-active .tmf-ouija-progress-prototype__summary em {
  color: rgba(171,188,180,.68) !important;
  font-size: .72rem !important;
}

body.tmf-experience-ouija-active .tmf-ouija-progress-prototype__bar {
  height: 1px !important;
  margin: 1rem 0 1.2rem !important;
  border: 0 !important;
  background: rgba(154,172,164,.22) !important;
}

body.tmf-experience-ouija-active .tmf-ouija-progress-prototype__bar span {
  height: 2px !important;
  background: linear-gradient(90deg, #dfe8df, #91aaa3) !important;
}

body.tmf-experience-ouija-active .tmf-ouija-progress-prototype__actions {
  margin: 0 0 1rem !important;
  justify-content: flex-end !important;
  gap: .65rem !important;
}
body.tmf-experience-ouija-active .tmf-ouija-progress-prototype__units {
  display: grid !important;
  grid-template-columns: repeat(13, minmax(0, 1fr)) !important;
  gap: 6px !important;
  margin: .6rem 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  list-style: none !important;
}

body.tmf-experience-ouija-active .tmf-ouija-progress-prototype__units li {
  min-height: 116px !important;
  padding: .7rem .45rem .55rem !important;
  border-radius: 14px !important;
  background: linear-gradient(180deg, rgba(12,19,20,.92), rgba(5,9,10,.98)) !important;
  border: 1px solid rgba(154,172,164,.22) !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

body.tmf-experience-ouija-active .tmf-ouija-progress-prototype__units li > span {
  width: 1.65rem !important;
  height: 1.65rem !important;
  margin-bottom: .45rem !important;
  font-size: .66rem !important;
  color: rgba(223,232,223,.84) !important;
  border-color: rgba(154,172,164,.28) !important;
}

body.tmf-experience-ouija-active .tmf-ouija-progress-prototype__units li strong {
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden !important;
  min-height: 2.2em;
  font-size: .72rem !important;
  line-height: 1.1 !important;
  letter-spacing: -.01em !important;
}

body.tmf-experience-ouija-active .tmf-ouija-progress-prototype__units li em {
  margin-top: auto !important;
  font-size: .58rem !important;
  letter-spacing: .06em !important;
}
body.tmf-experience-ouija-active .tmf-ouija-progress-prototype__units li button {
  min-height: 0 !important;
  height: auto !important;
  margin-top: .45rem !important;
  padding: .42rem .52rem !important;
  border-radius: 999px !important;
  font-size: .58rem !important;
  letter-spacing: .08em !important;
}

body.tmf-experience-ouija-active .tmf-ouija-progress-prototype__units li.is-next,
body.tmf-experience-ouija-active .tmf-ouija-progress-prototype__units li[data-tmf-ouija-progress-unit="1"] {
  border-color: rgba(209,222,216,.48) !important;
  background: linear-gradient(180deg, rgba(18,28,30,.94), rgba(6,10,11,.98)) !important;
}

body.tmf-experience-ouija-active .tmf-ouija-progress-prototype__units li.is-complete {
  border-color: rgba(173,202,193,.52) !important;
  background: linear-gradient(180deg, rgba(24,40,38,.88), rgba(7,12,13,.98)) !important;
}

body.tmf-experience-ouija-active .tmf-ouija-progress-prototype__note {
  margin-top: 1rem !important;
  padding: .8rem .9rem !important;
  border-radius: 16px !important;
  color: rgba(171,188,180,.72) !important;
  background: rgba(6,10,11,.62) !important;
  border-color: rgba(154,172,164,.18) !important;
}

body.tmf-experience-ouija-active .tmf-ouija-dashboard__grid {
  gap: .8rem !important;
  margin-top: .9rem !important;
}

body.tmf-experience-ouija-active .tmf-ouija-dashboard__card {
  min-height: 0 !important;
  padding: 1.2rem !important;
  border-color: rgba(154,172,164,.24) !important;
}
body.tmf-experience-ouija-active .tmf-ouija-academy-nav--phase-map,
body.tmf-experience-ouija-active .tmf-ouija-nav-prototype--phase-map {
  max-width: 1120px !important;
  margin: clamp(36px, 5vw, 78px) auto !important;
  padding: clamp(24px, 3vw, 38px) !important;
  border-radius: 30px !important;
  background:
    linear-gradient(180deg, rgba(8,13,14,.96), rgba(4,7,8,.99)),
    repeating-linear-gradient(90deg, rgba(154,172,164,.035) 0 1px, transparent 1px 82px) !important;
  border: 1px solid rgba(154,172,164,.24) !important;
  box-shadow: 0 34px 90px rgba(0,0,0,.28) !important;
}

body.tmf-experience-ouija-active .tmf-ouija-nav__head {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto !important;
  align-items: end !important;
  gap: 1rem !important;
  margin-bottom: 1.3rem !important;
}

body.tmf-experience-ouija-active .tmf-ouija-nav__head h2,
body.tmf-experience-ouija-active .tmf-ouija-nav__head h3 {
  max-width: 14ch !important;
  font-size: clamp(34px, 4.2vw, 68px) !important;
  line-height: .88 !important;
  letter-spacing: -.055em !important;
}

body.tmf-experience-ouija-active .tmf-ouija-nav__head span {
  justify-self: end !important;
  color: rgba(171,188,180,.72) !important;
  letter-spacing: .14em !important;
}
body.tmf-experience-ouija-active .tmf-ouija-nav__layout {
  grid-template-columns: minmax(0,1fr) minmax(220px,.28fr) !important;
  gap: 1rem !important;
}

body.tmf-experience-ouija-active .tmf-ouija-nav__phases {
  display: grid !important;
  gap: .55rem !important;
}

body.tmf-experience-ouija-active .tmf-ouija-nav-phase {
  display: grid !important;
  grid-template-columns: minmax(150px,.32fr) minmax(0,1fr) !important;
  gap: .55rem !important;
  padding: .65rem !important;
  border-radius: 18px !important;
  background: rgba(8,13,14,.62) !important;
  border: 1px solid rgba(154,172,164,.18) !important;
}

body.tmf-experience-ouija-active .tmf-ouija-nav-phase__head {
  padding: .75rem !important;
  border-radius: 13px !important;
  background: rgba(3,6,7,.48) !important;
}

body.tmf-experience-ouija-active .tmf-ouija-nav-unit {
  min-height: 6.4rem !important;
  padding: .85rem !important;
  border-color: rgba(154,172,164,.18) !important;
  background: linear-gradient(180deg, rgba(13,20,22,.84), rgba(6,10,11,.96)) !important;
}

body.tmf-experience-ouija-active .tmf-ouija-nav__summary {
  top: 6rem !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, rgba(10,16,18,.92), rgba(4,7,8,.98)) !important;
  border-color: rgba(154,172,164,.24) !important;
}
@media (max-width: 1040px) {
  body.tmf-experience-ouija-active .tmf-ouija-progress-prototype__units {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  body.tmf-experience-ouija-active .tmf-ouija-nav__layout {
    grid-template-columns: 1fr !important;
  }

  body.tmf-experience-ouija-active .tmf-ouija-nav-phase {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 760px) {
  body.tmf-experience-ouija-active .tmf-ouija-progress-prototype {
    padding: 1.1rem !important;
  }

  body.tmf-experience-ouija-active .tmf-ouija-progress-prototype__summary {
    grid-template-columns: 1fr !important;
  }

  body.tmf-experience-ouija-active .tmf-ouija-progress-prototype__units {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.tmf-experience-ouija-active .tmf-ouija-progress-prototype__units li {
    min-height: 112px !important;
  }

  body.tmf-experience-ouija-active .tmf-ouija-nav__head {
    grid-template-columns: 1fr !important;
  }
}


/* C18-A9C2 - force compact OUIJA progress/map */
.tmf-ouija-progress-prototype {
  max-width: 1120px !important;
  margin: clamp(28px, 5vw, 72px) auto !important;
  padding: clamp(26px, 3.2vw, 40px) !important;
  border-radius: 30px !important;
  background:
    linear-gradient(180deg, rgba(8,13,14,.96), rgba(3,6,7,.99)),
    repeating-linear-gradient(90deg, rgba(154,172,164,.035) 0 1px, transparent 1px 76px) !important;
  border: 1px solid rgba(154,172,164,.24) !important;
  box-shadow: 0 34px 90px rgba(0,0,0,.32) !important;
}

.tmf-ouija-progress-prototype > .tmf-ouija-kicker {
  color: rgba(171,188,180,.8) !important;
  letter-spacing: .24em !important;
}

.tmf-ouija-progress-prototype > h3 {
  max-width: 12ch;
  font-size: clamp(32px, 4vw, 62px) !important;
  line-height: .88 !important;
  letter-spacing: -.055em !important;
}

.tmf-ouija-progress-prototype > p[data-tmf-ouija-progress-status="1"] {
  justify-self: start !important;
  width: auto !important;
  max-width: 18rem;
  min-height: 0 !important;
  padding: .52rem .72rem !important;
  border-radius: 999px !important;
}
.tmf-ouija-progress-prototype__summary {
  align-self: start !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: .55rem !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

.tmf-ouija-progress-prototype__summary span {
  min-height: 88px !important;
  padding: .85rem .85rem .72rem !important;
  border-radius: 16px !important;
  background: linear-gradient(180deg, rgba(13,20,22,.88), rgba(6,10,11,.96)) !important;
  border: 1px solid rgba(154,172,164,.24) !important;
}

.tmf-ouija-progress-prototype__summary strong {
  font-size: clamp(28px, 3vw, 48px) !important;
  line-height: .86 !important;
}

.tmf-ouija-progress-prototype__bar {
  height: 1px !important;
  margin: .85rem 0 1rem !important;
  border: 0 !important;
  background: rgba(154,172,164,.22) !important;
}

.tmf-ouija-progress-prototype__actions {
  margin: 0 0 .8rem !important;
  justify-content: flex-end !important;
  gap: .65rem !important;
}
.tmf-ouija-progress-prototype__units {
  display: grid !important;
  grid-template-columns: repeat(13, minmax(0, 1fr)) !important;
  gap: 6px !important;
  margin: .6rem 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  list-style: none !important;
}

.tmf-ouija-progress-prototype__units li {
  min-height: 104px !important;
  padding: .62rem .42rem .5rem !important;
  border-radius: 14px !important;
  background: linear-gradient(180deg, rgba(12,19,20,.92), rgba(5,9,10,.98)) !important;
  border: 1px solid rgba(154,172,164,.22) !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.tmf-ouija-progress-prototype__units li > span {
  width: 1.45rem !important;
  height: 1.45rem !important;
  margin-bottom: .38rem !important;
  font-size: .58rem !important;
}

.tmf-ouija-progress-prototype__units li strong {
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden !important;
  min-height: 2.1em;
  font-size: .66rem !important;
  line-height: 1.06 !important;
}
.tmf-ouija-progress-prototype__units li em {
  margin-top: auto !important;
  font-size: .55rem !important;
  letter-spacing: .06em !important;
}

.tmf-ouija-progress-prototype__units li button {
  min-height: 0 !important;
  height: auto !important;
  margin-top: .38rem !important;
  padding: .38rem .48rem !important;
  border-radius: 999px !important;
  font-size: .55rem !important;
  letter-spacing: .08em !important;
}

.tmf-ouija-progress-prototype__units li.is-next,
.tmf-ouija-progress-prototype__units li[data-tmf-ouija-progress-unit="1"] {
  border-color: rgba(209,222,216,.48) !important;
  background: linear-gradient(180deg, rgba(18,28,30,.94), rgba(6,10,11,.98)) !important;
}

.tmf-ouija-progress-prototype__note {
  margin-top: .85rem !important;
  padding: .72rem .82rem !important;
  border-radius: 16px !important;
}

@media (max-width: 1040px) {
  .tmf-ouija-progress-prototype__units {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  .tmf-ouija-progress-prototype__units {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
