/* MVG v87.2 — theme consistency, light-mode authority, and key-page polish */
:root[data-theme="light"]{
  --v872-surface: #ffffff;
  --v872-surface-soft: #f7f9fe;
  --v872-surface-tint: linear-gradient(180deg, rgba(255,255,255,.99), rgba(247,249,255,.97));
  --v872-border: rgba(17,30,59,.10);
  --v872-border-soft: rgba(17,30,59,.08);
  --v872-ink: #15223d;
  --v872-muted: #55637c;
  --v872-muted-2: #667899;
  --v872-shadow: 0 24px 60px rgba(18,30,58,.08);
}

/* ------------------------------------------------------------------
   Home — Public Witnessed PASS band should read like the same landing
   system, not a detached experiment.
------------------------------------------------------------------- */
.pwp-home-module{
  padding: clamp(22px, 3vw, 36px);
  gap: 1.15rem;
}
.pwp-home-module h2{
  max-width: 11ch;
  font-size: clamp(1.85rem, 3.6vw, 3.15rem);
  line-height: .98;
  text-wrap: balance;
}
.pwp-home-body,
.pwp-home-support,
.pwp-home-rule{
  max-width: 52rem;
}
.pwp-home-body{
  font-size: clamp(1.02rem, 1.6vw, 1.28rem);
  line-height: 1.58;
}
.pwp-home-rule{
  font-size: 1.05rem;
}
.pwp-home-support{
  margin-bottom: .85rem;
}
.pwp-home-actions{
  margin: 1rem 0 1.05rem;
}
.pwp-home-card-grid{
  gap: 1.05rem;
  align-items: stretch;
}
.pwp-home-card{
  padding: 1.12rem 1.08rem 1.14rem;
}
.pwp-home-card h3{
  font-size: 1.24rem;
  line-height: 1.12;
  text-wrap: balance;
}
.pwp-home-card p{
  line-height: 1.56;
}

:root[data-theme="light"] .state-layer-home{
  background: transparent;
}
:root[data-theme="light"] .pwp-home-module{
  background: var(--v872-surface) !important;
  border-color: var(--v872-border) !important;
  box-shadow: var(--v872-shadow) !important;
}
:root[data-theme="light"] .pwp-home-module::before,
:root[data-theme="light"] .pwp-home-module::after{
  display: none !important;
}
:root[data-theme="light"] .pwp-home-module h2,
:root[data-theme="light"] .pwp-home-card h3,
:root[data-theme="light"] .pwp-home-rule{
  color: var(--v872-ink) !important;
}
:root[data-theme="light"] .pwp-home-body,
:root[data-theme="light"] .pwp-home-support,
:root[data-theme="light"] .pwp-home-card p{
  color: var(--v872-muted) !important;
}
:root[data-theme="light"] .pwp-home-card{
  background: var(--v872-surface-soft) !important;
  border-color: var(--v872-border-soft) !important;
}
:root[data-theme="light"] .pwp-home-card-kicker,
:root[data-theme="light"] .pwp-home-module .meta .tag{
  color: var(--v872-muted-2) !important;
}
:root[data-theme="light"] .pwp-home-module .meta .tag.brand{
  color: #334a77 !important;
  background: rgba(99,91,255,.08) !important;
  border-color: rgba(99,91,255,.16) !important;
}
:root[data-theme="light"] .pwp-home-actions .btn:not(.primary){
  background: var(--v872-surface) !important;
  color: var(--v872-ink) !important;
  border-color: var(--v872-border) !important;
}
:root[data-theme="light"] .pwp-home-actions .btn.ghost{
  background: var(--v872-surface-soft) !important;
}

/* ------------------------------------------------------------------
   Witness Gate — keep the ritual as the instrument, but seat it cleanly
   inside light-mode flagship surfaces.
------------------------------------------------------------------- */
:root[data-theme="light"] .witness-gate{
  border-color: rgba(24,38,76,.16);
  box-shadow:
    0 30px 72px rgba(16,28,58,.16),
    0 10px 24px rgba(15,23,42,.10);
}
:root[data-theme="light"] .witness-gate::after{
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04);
}
:root[data-theme="light"] .wgr-top-pill{
  box-shadow: 0 10px 28px rgba(9,16,33,.20);
}

/* ------------------------------------------------------------------
   Verify — top surfaces and follow-on panels should become editorial
   white in light mode, not mixed dark islands.
------------------------------------------------------------------- */
.verify-v87-shell{
  padding: clamp(22px, 3vw, 38px);
}
.verify-v87-copy h1{
  max-width: 10.4ch;
  text-wrap: balance;
}
.verify-v87-copy .hero-lede,
.verify-v87-subnote{
  max-width: 46rem;
}
.verify-v87-truststack{
  padding: 1.2rem;
}

:root[data-theme="light"] .verify-v87-shell,
:root[data-theme="light"] .verify-v87-truststack,
:root[data-theme="light"] .verify-v87-compare-card,
:root[data-theme="light"] .verify-v84-truthbar,
:root[data-theme="light"] .verify-v84-step,
:root[data-theme="light"] .verify-v84-panel,
:root[data-theme="light"] .verify-v84-dropcard,
:root[data-theme="light"] .verify-v84-side-card,
:root[data-theme="light"] .verify-v84-snapshot,
:root[data-theme="light"] .verify-v84-commercial-bridge,
:root[data-theme="light"] .verify-v84-preserved,
:root[data-theme="light"] .verify-challenge-preview,
:root[data-theme="light"] .verify-challenge-ladder .verify-step{
  background: var(--v872-surface-tint) !important;
  border-color: var(--v872-border) !important;
  box-shadow: var(--v872-shadow) !important;
}
:root[data-theme="light"] .verify-v87-shell .pill,
:root[data-theme="light"] .verify-v84-truthbar .tag,
:root[data-theme="light"] .verify-v84-panel .tag,
:root[data-theme="light"] .verify-v84-commercial-bridge .tag,
:root[data-theme="light"] .verify-v87-compare-card .tag,
:root[data-theme="light"] .verify-v87-truststack .tag{
  color: #32466d !important;
  background: rgba(99,91,255,.07) !important;
  border-color: rgba(99,91,255,.14) !important;
}
:root[data-theme="light"] .verify-v87-copy h1,
:root[data-theme="light"] .verify-v87-compare-card h2,
:root[data-theme="light"] .verify-v84-panel h2,
:root[data-theme="light"] .verify-v84-panel h3,
:root[data-theme="light"] .verify-v84-truthbar strong,
:root[data-theme="light"] .verify-v84-dropcard h3,
:root[data-theme="light"] .verify-v84-side-card h3,
:root[data-theme="light"] .verify-v84-snapshot-copy,
:root[data-theme="light"] .verify-v84-preserved strong{
  color: var(--v872-ink) !important;
}
:root[data-theme="light"] .verify-v87-copy .hero-lede,
:root[data-theme="light"] .verify-v87-subnote,
:root[data-theme="light"] .verify-v87-truststack-copy,
:root[data-theme="light"] .verify-v87-trust-row p:last-child,
:root[data-theme="light"] .verify-v87-compare-card p,
:root[data-theme="light"] .verify-v84-truthbar p,
:root[data-theme="light"] .verify-v84-panel p,
:root[data-theme="light"] .verify-v84-panel li,
:root[data-theme="light"] .verify-v84-panel .muted,
:root[data-theme="light"] .verify-v84-preserved p,
:root[data-theme="light"] .verify-challenge-preview p,
:root[data-theme="light"] .verify-challenge-ladder .verify-step p{
  color: var(--v872-muted) !important;
}
:root[data-theme="light"] .verify-v87-actions .btn:not(.primary),
:root[data-theme="light"] .verify-v84-drop-actions .btn:not(.primary),
:root[data-theme="light"] .verify-v84-head-actions .btn:not(.primary),
:root[data-theme="light"] .verify-v87-compare-card .btn:not(.primary){
  background: var(--v872-surface) !important;
  color: var(--v872-ink) !important;
  border-color: var(--v872-border) !important;
}
:root[data-theme="light"] .verify-v84-snapshot-row,
:root[data-theme="light"] .verify-v84-fileline,
:root[data-theme="light"] .verify-v84-preserved,
:root[data-theme="light"] .verify-v84-dropzone,
:root[data-theme="light"] .verify-v84-snapshot-pills span,
:root[data-theme="light"] .verify-v84-side-card,
:root[data-theme="light"] .verify-v84-dropcard,
:root[data-theme="light"] .verify-v87-compare-kv .pwp-kv{
  border-color: var(--v872-border-soft) !important;
}

/* ------------------------------------------------------------------
   Break the Rail — make the light-mode hero and challenge surface feel
   like the same premium family as the rest of Verify.
------------------------------------------------------------------- */
.verify-challenge-shell{
  border-radius: 32px;
  padding: clamp(22px, 3vw, 38px);
  border: 1px solid rgba(141,153,193,.18);
  background: linear-gradient(135deg, rgba(17,27,55,.90), rgba(10,21,46,.88));
  box-shadow: 0 22px 72px rgba(3,8,20,.20);
  align-items: start;
}
.challenge-rail-wrap h1{
  max-width: 7.6ch;
  text-wrap: balance;
  font-size: clamp(2.7rem, 4.9vw, 4.6rem);
}
.challenge-rail-wrap .hero-lede{
  max-width: 24rem;
  color: rgba(228,233,250,.84);
}
.challenge-scene-note{
  color: rgba(228,233,250,.72);
}
.challenge-scene-card h2{
  text-wrap: balance;
}
:root[data-theme="light"] .page-verify-challenge .hero,
:root[data-theme="light"] .verify-challenge-page .hero{
  background: transparent !important;
}
:root[data-theme="light"] .verify-challenge-shell,
:root[data-theme="light"] .challenge-scenario-btn,
:root[data-theme="light"] .challenge-scene-card,
:root[data-theme="light"] .challenge-observed-card,
:root[data-theme="light"] .challenge-expected-card,
:root[data-theme="light"] .challenge-downloads,
:root[data-theme="light"] .challenge-meta-cell,
:root[data-theme="light"] .challenge-rule-chip{
  background: var(--v872-surface-tint) !important;
  border-color: var(--v872-border) !important;
  box-shadow: var(--v872-shadow);
}
:root[data-theme="light"] .challenge-rail-wrap h1,
:root[data-theme="light"] .challenge-scene-card h2,
:root[data-theme="light"] .challenge-observed-head strong,
:root[data-theme="light"] .challenge-expected-head strong{
  color: var(--v872-ink) !important;
}
:root[data-theme="light"] .challenge-rail-wrap .hero-lede,
:root[data-theme="light"] .challenge-scene-note,
:root[data-theme="light"] .challenge-scene-card p,
:root[data-theme="light"] .challenge-scenario-btn span,
:root[data-theme="light"] .challenge-match-note,
:root[data-theme="light"] .challenge-export-copy,
:root[data-theme="light"] .challenge-meta-cell div,
:root[data-theme="light"] .challenge-list,
:root[data-theme="light"] .challenge-reason-line,
:root[data-theme="light"] .challenge-center p,
:root[data-theme="light"] .challenge-side p{
  color: var(--v872-muted) !important;
}
:root[data-theme="light"] .challenge-scenario-btn small,
:root[data-theme="light"] .challenge-rule-chip,
:root[data-theme="light"] .challenge-meta-cell strong{
  color: var(--v872-muted-2) !important;
}
:root[data-theme="light"] .challenge-scenario-btn strong,
:root[data-theme="light"] .challenge-download-row .btn,
:root[data-theme="light"] .claim-column-title,
:root[data-theme="light"] .challenge-observed-card .tag,
:root[data-theme="light"] .challenge-expected-card .tag{
  color: var(--v872-ink) !important;
}
:root[data-theme="light"] .challenge-scenario-btn.is-active{
  background: rgba(99,91,255,.10) !important;
  border-color: rgba(99,91,255,.22) !important;
  box-shadow: 0 14px 28px rgba(79,92,196,.10) !important;
}
:root[data-theme="light"] .challenge-download-row .btn:not(.primary){
  background: var(--v872-surface) !important;
  color: var(--v872-ink) !important;
  border-color: var(--v872-border) !important;
}
:root[data-theme="light"] .challenge-outcome-chip[data-decision="HOLD"]{
  color: #4a3e8e !important;
  background: rgba(124,92,255,.10) !important;
  border-color: rgba(124,92,255,.22) !important;
}
:root[data-theme="light"] .challenge-outcome-chip[data-decision="PASS"]{
  color: #1d6a3d !important;
  background: rgba(34,197,94,.10) !important;
  border-color: rgba(34,197,94,.22) !important;
}
:root[data-theme="light"] .challenge-outcome-chip[data-decision="FAIL"]{
  color: #8d2f3d !important;
  background: rgba(239,68,68,.10) !important;
  border-color: rgba(239,68,68,.22) !important;
}

/* ------------------------------------------------------------------
   Trust Center and Controls — keep light-mode breathing room and same
   editorial white family across state / claim views.
------------------------------------------------------------------- */
:root[data-theme="light"] .pwp-status-card,
:root[data-theme="light"] .pwp-import-card,
:root[data-theme="light"] .pwp-diagnostics-card,
:root[data-theme="light"] .pwp-authority-path,
:root[data-theme="light"] .pwp-route-card,
:root[data-theme="light"] .pwp-rule-card,
:root[data-theme="light"] .controls-panel,
:root[data-theme="light"] .controls-band,
:root[data-theme="light"] .claim-graph-surface,
:root[data-theme="light"] .claim-graph-focus-card,
:root[data-theme="light"] .proof-lineage-module,
:root[data-theme="light"] .lineage-card{
  background: var(--v872-surface-tint) !important;
  border-color: var(--v872-border) !important;
  box-shadow: var(--v872-shadow) !important;
}
.claim-graph-panel{
  gap: 1.35rem;
}
.claim-graph-panel .controls-section-head h2{
  max-width: 11ch;
  text-wrap: balance;
}
.claim-graph-grid{
  gap: 1.2rem;
}
.claim-graph-focus-card{
  padding: 1.08rem 1.05rem;
}
.claim-graph-focus-card .mvg-inline-actions{
  margin-top: .9rem;
}
:root[data-theme="light"] .claim-graph-panel .controls-section-head h2,
:root[data-theme="light"] .claim-node,
:root[data-theme="light"] .claim-graph-focus-card h3,
:root[data-theme="light"] .lineage-card h3,
:root[data-theme="light"] .pwp-status-card h2,
:root[data-theme="light"] .pwp-import-card h2,
:root[data-theme="light"] .pwp-route-card h3{
  color: var(--v872-ink) !important;
}
:root[data-theme="light"] .claim-graph-panel .controls-section-head p,
:root[data-theme="light"] .claim-node small,
:root[data-theme="light"] .claim-graph-focus-card p,
:root[data-theme="light"] .lineage-card p,
:root[data-theme="light"] .pwp-card-lede,
:root[data-theme="light"] .pwp-route-card p,
:root[data-theme="light"] .pwp-diagnostic-grid p{
  color: var(--v872-muted) !important;
}
:root[data-theme="light"] .claim-node,
:root[data-theme="light"] .pwp-kv,
:root[data-theme="light"] .pwp-diagnostic-grid div{
  background: var(--v872-surface-soft) !important;
  border-color: var(--v872-border-soft) !important;
}

/* ------------------------------------------------------------------
   Mobile polish — keep key trust surfaces readable and aligned.
------------------------------------------------------------------- */
@media (max-width: 980px){
  .pwp-home-card-grid,
  .verify-v87-hero-grid,
  .verify-v87-compare-grid,
  .challenge-meta-grid,
  .claim-graph-grid{
    grid-template-columns: 1fr;
  }
  .challenge-rail-wrap h1{
    max-width: none;
  }
}
@media (max-width: 780px){
  .pwp-home-module h2,
  .verify-v87-copy h1,
  .claim-graph-panel .controls-section-head h2{
    max-width: none;
  }
  .pwp-home-module{
    padding: 1.18rem;
  }
  .pwp-home-card,
  .verify-v87-truststack,
  .verify-v87-compare-card,
  .verify-v84-panel,
  .challenge-scene-card,
  .challenge-observed-card,
  .challenge-expected-card,
  .challenge-downloads,
  .claim-graph-surface,
  .claim-graph-focus-card{
    border-radius: 24px;
  }
}
