
/* v88 Witness Quorum + State Feed + light-mode hardening */

/* --------------------------------------------------------
   Home — Public Witnessed PASS band refinement
--------------------------------------------------------- */
.pwp-home-module{
  position:relative;
  overflow:hidden;
}
.pwp-home-module h2{
  max-width: 12ch;
  text-wrap: balance;
}
.pwp-home-module .pwp-home-body{
  max-width: 62rem;
  font-size: clamp(1.08rem, 1.8vw, 1.42rem);
}
.pwp-home-module .pwp-home-rule{
  margin-top: .15rem;
  margin-bottom: 1.05rem;
}
.pwp-home-actions{ margin-top: 1rem; }
.pwp-home-card-grid{ margin-top: 1.15rem; }
.pwp-home-card{
  display:flex;
  flex-direction:column;
  gap:.35rem;
  min-height: 100%;
}
.pwp-home-card h3{
  margin:0;
  max-width: 12ch;
  text-wrap: balance;
}
.pwp-home-card p:last-child{ margin:0; }
.pwp-home-card .pwp-home-card-link{
  display:inline-flex;
  align-items:center;
  gap:.3rem;
  margin-top:.35rem;
  font-weight:700;
  text-decoration:none;
  color:inherit;
}
:root[data-theme="light"] .state-layer-home{
  background:#fff !important;
}
:root[data-theme="light"] .pwp-home-module{
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,250,255,.98)) !important;
  border-color: rgba(22,41,78,.12) !important;
  box-shadow: 0 22px 72px rgba(18,28,49,.08) !important;
}
:root[data-theme="light"] .pwp-home-module h2,
:root[data-theme="light"] .pwp-home-card h3,
:root[data-theme="light"] .pwp-home-rule,
:root[data-theme="light"] .pwp-home-card .pwp-home-card-link{
  color:#15233c !important;
}
:root[data-theme="light"] .pwp-home-body,
:root[data-theme="light"] .pwp-home-card p,
:root[data-theme="light"] .pwp-home-support{
  color:#53627e !important;
}
:root[data-theme="light"] .pwp-home-card{
  background:#ffffff !important;
  border-color: rgba(22,41,78,.10) !important;
  box-shadow: 0 12px 30px rgba(18,28,49,.05);
}
:root[data-theme="light"] .pwp-home-card-kicker,
:root[data-theme="light"] .pwp-home-module .meta .tag{
  color:#5a6b8b !important;
}

/* --------------------------------------------------------
   Controls — hero and diagram light mode hardening
--------------------------------------------------------- */
:root[data-theme="light"] .controls-page .hero,
:root[data-theme="light"] .controls-page .controls-section{
  background:#fff !important;
}
:root[data-theme="light"] .controls-page .controls-shell{
  background: linear-gradient(180deg, rgba(255,255,255,.985), rgba(247,250,255,.985)) !important;
  border-color: rgba(22,41,78,.12) !important;
  box-shadow: 0 24px 72px rgba(18,28,49,.08) !important;
}
:root[data-theme="light"] .controls-page .controls-copy h1,
:root[data-theme="light"] .controls-page .controls-diagram-head h2,
:root[data-theme="light"] .controls-page .controls-step h3,
:root[data-theme="light"] .controls-page .controls-context-line,
:root[data-theme="light"] .controls-page .controls-rule-card p,
:root[data-theme="light"] .controls-page .controls-diagram-note,
:root[data-theme="light"] .controls-page .controls-section-head h2,
:root[data-theme="light"] .controls-page .controls-check-card h3{
  color:#15233c !important;
}
:root[data-theme="light"] .controls-page .controls-copy .hero-lede,
:root[data-theme="light"] .controls-page .controls-summary-list span,
:root[data-theme="light"] .controls-page .controls-step p,
:root[data-theme="light"] .controls-page .controls-section-head p,
:root[data-theme="light"] .controls-page .controls-check-card p,
:root[data-theme="light"] .controls-page .controls-check-note,
:root[data-theme="light"] .controls-page .claim-graph-focus-card p,
:root[data-theme="light"] .controls-page .claim-node small,
:root[data-theme="light"] .controls-page .claim-column-title{
  color:#5a6b8b !important;
}
:root[data-theme="light"] .controls-page .controls-summary-list li,
:root[data-theme="light"] .controls-page .controls-diagram,
:root[data-theme="light"] .controls-page .controls-rule-card,
:root[data-theme="light"] .controls-page .controls-step,
:root[data-theme="light"] .controls-page .controls-diagram-note,
:root[data-theme="light"] .controls-page .controls-panel,
:root[data-theme="light"] .controls-page .claim-graph-surface,
:root[data-theme="light"] .controls-page .claim-graph-focus-card{
  background:#ffffff !important;
  border-color: rgba(22,41,78,.10) !important;
  box-shadow: 0 12px 30px rgba(18,28,49,.05) !important;
}
:root[data-theme="light"] .controls-page .controls-shell .meta .tag,
:root[data-theme="light"] .controls-page .controls-shell .badge,
:root[data-theme="light"] .controls-page .claim-graph-focus-card .tag,
:root[data-theme="light"] .controls-page .claim-node,
:root[data-theme="light"] .controls-page .controls-band .tag{
  color:#33466d !important;
  background: rgba(99,91,255,.07) !important;
  border-color: rgba(99,91,255,.14) !important;
}
:root[data-theme="light"] .controls-page .controls-step small,
:root[data-theme="light"] .controls-page .controls-check-card .meta .tag,
:root[data-theme="light"] .controls-page .controls-section-kicker,
:root[data-theme="light"] .controls-page .pwp-controls-bridge .meta .tag{
  color:#5c6d8c !important;
}
:root[data-theme="light"] .controls-page .controls-step:not(:last-child)::after,
:root[data-theme="light"] .controls-page .controls-rule-card,
:root[data-theme="light"] .controls-page .controls-diagram-note{
  border-color: rgba(22,41,78,.10) !important;
}

/* --------------------------------------------------------
   Verify — light mode must stay editorial white and legible
--------------------------------------------------------- */
:root[data-theme="light"] .verify-v84-body .hero,
:root[data-theme="light"] .verify-v84-body .section{
  background:#fff !important;
}
: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-panel,
:root[data-theme="light"] .verify-v84-commercial-bridge,
:root[data-theme="light"] .verify-v84-preserved,
:root[data-theme="light"] .verify-v84-dropcard,
:root[data-theme="light"] .verify-v84-side-card,
:root[data-theme="light"] .verify-v84-step,
:root[data-theme="light"] .verify-challenge-preview,
:root[data-theme="light"] .verify-challenge-ladder .verify-step{
  background: linear-gradient(180deg, rgba(255,255,255,.985), rgba(247,250,255,.985)) !important;
  border-color: rgba(22,41,78,.12) !important;
  box-shadow: 0 22px 72px rgba(18,28,49,.08) !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-commercial-bridge h2,
:root[data-theme="light"] .verify-v84-commercial-bridge h3,
:root[data-theme="light"] .verify-v84-snapshot-copy,
:root[data-theme="light"] .verify-v84-snapshot-row,
:root[data-theme="light"] .verify-v84-window-title,
:root[data-theme="light"] .verify-v84-preserved strong,
:root[data-theme="light"] .verify-v84-panel .callout strong,
:root[data-theme="light"] .verify-v84-panel code{
  color:#15233c !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-panel p,
:root[data-theme="light"] .verify-v84-panel li,
:root[data-theme="light"] .verify-v84-panel .muted,
:root[data-theme="light"] .verify-v84-commercial-bridge p,
:root[data-theme="light"] .verify-v84-commercial-note,
:root[data-theme="light"] .verify-v84-preserved p,
:root[data-theme="light"] .verify-v84-panel .callout .muted,
:root[data-theme="light"] .verify-v84-panel .callout p,
:root[data-theme="light"] .verify-v84-panel .callout span,
:root[data-theme="light"] .verify-v84-panel .callout a,
:root[data-theme="light"] .verify-v84-panel .callout code{
  color:#5a6b8b !important;
}
:root[data-theme="light"] .verify-v84-panel .callout,
:root[data-theme="light"] .verify-v84-snapshot,
:root[data-theme="light"] .verify-v84-snapshot-row,
:root[data-theme="light"] .verify-v84-dropzone,
:root[data-theme="light"] .verify-v84-fileline,
:root[data-theme="light"] .verify-v84-preserved,
:root[data-theme="light"] .verify-v87-compare-kv .pwp-kv,
:root[data-theme="light"] .verify-v84-snapshot-pills span{
  background:#ffffff !important;
  border-color: rgba(22,41,78,.10) !important;
  box-shadow:none !important;
}
:root[data-theme="light"] .verify-v84-snapshot-top{
  border-bottom-color: rgba(22,41,78,.08) !important;
}
:root[data-theme="light"] .verify-v84-snapshot-rule{
  background: rgba(22,41,78,.10) !important;
}
:root[data-theme="light"] .verify-v84-window-dot{
  background: rgba(99,91,255,.28) !important;
}
:root[data-theme="light"] .verify-v84-snapshot-pills span.is-active{
  color:#4f44a6 !important;
  background: rgba(124,92,255,.10) !important;
  border-color: rgba(124,92,255,.22) !important;
}
:root[data-theme="light"] .verify-v87-shell .pill,
: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,
:root[data-theme="light"] .verify-v84-truthbar .tag{
  color:#33466d !important;
  background: rgba(99,91,255,.07) !important;
  border-color: rgba(99,91,255,.14) !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:#ffffff !important;
  color:#15233c !important;
  border-color: rgba(22,41,78,.12) !important;
}

/* --------------------------------------------------------
   Witness Quorum page
--------------------------------------------------------- */
.hero.wq-page,
.section.wq-page{
  background: var(--surface, #0b0f18);
}
.wq-shell{
  border:1px solid rgba(141,153,193,.18);
  border-radius:32px;
  padding:clamp(24px, 4vw, 42px);
  background: linear-gradient(135deg, rgba(17,27,55,.90), rgba(10,21,46,.88));
  box-shadow:0 22px 72px rgba(3,8,20,.20);
}
.wq-hero-grid{
  display:grid;
  grid-template-columns:minmax(0, 1.15fr) minmax(320px, .85fr);
  gap:1rem;
  align-items:start;
}
.wq-copy h1{
  margin:0 0 .75rem;
  max-width: 10.4ch;
  font-size: clamp(2.45rem, 5vw, 5rem);
  line-height:.96;
  letter-spacing:-.05em;
  text-wrap: balance;
}
.wq-copy .hero-lede{
  max-width: 52rem;
  color: rgba(228,233,250,.84);
}
.wq-copy .wq-rule{
  margin:.85rem 0 0;
  font-weight:700;
}
.wq-summary-card,
.wq-panel,
.wq-feed-card,
.wq-delta-card,
.wq-commercial-card{
  background: linear-gradient(135deg, rgba(19,28,54,.88), rgba(13,25,56,.72));
  border:1px solid rgba(141,153,193,.18);
  border-radius:28px;
  box-shadow:0 20px 80px rgba(3,8,20,.18);
}
.wq-summary-card{ padding:1.25rem; }
.wq-summary-card h2{ margin:.2rem 0 .65rem; font-size: clamp(1.4rem, 2.4vw, 2.15rem); }
.wq-summary-card p{ margin:0; color:rgba(228,233,250,.78); }
.wq-kv-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:.75rem;
  margin-top:1rem;
}
.wq-kv{
  display:flex;
  flex-direction:column;
  gap:.25rem;
  border-radius:18px;
  padding:.9rem 1rem;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(141,153,193,.12);
}
.wq-kv span{
  font-size:.8rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:rgba(188,197,232,.72);
}
.wq-kv strong{ font-size:.98rem; line-height:1.45; word-break:break-word; }
.wq-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:1rem;
}
.wq-panel,
.wq-feed-card,
.wq-delta-card,
.wq-commercial-card{ padding:1.2rem 1.2rem 1.25rem; }
.wq-panel h2,
.wq-feed-card h2,
.wq-delta-card h2,
.wq-commercial-card h2{ margin:.15rem 0 .45rem; font-size: clamp(1.4rem, 2.4vw, 2rem); }
.wq-panel p,
.wq-feed-card p,
.wq-delta-card p,
.wq-commercial-card p{ color:rgba(228,233,250,.78); }
.wq-witness-list{ display:grid; gap:.8rem; margin-top:1rem; }
.wq-witness-item{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:.8rem;
  padding:1rem;
  border-radius:20px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(141,153,193,.12);
}
.wq-witness-item strong{ display:block; font-size:1rem; }
.wq-witness-item p{ margin:.3rem 0 0; }
.wq-status-chip{ font-weight:700; }
.wq-status-chip.is-pass{background:rgba(29,185,84,.18); color:#9ef0ba; border-color:rgba(29,185,84,.3)}
.wq-status-chip.is-hold{background:rgba(124,92,255,.18); color:#d7c9ff; border-color:rgba(124,92,255,.28)}
.wq-status-chip.is-fail{background:rgba(239,68,68,.18); color:#ffc9c9; border-color:rgba(239,68,68,.28)}
.wq-status-chip.is-pending{background:rgba(148,163,184,.18); color:#e5edf8; border-color:rgba(148,163,184,.25)}
.wq-chip-row,
.wq-route-row{ display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1rem; }
.wq-chip-row .tag,
.wq-route-row .tag{ white-space:nowrap; }
.wq-route-list{ display:grid; gap:.75rem; margin-top:1rem; }
.wq-route-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  padding:.9rem 1rem;
  border-radius:18px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(141,153,193,.12);
}
.wq-route-item code{ font-family: ui-monospace,SFMono-Regular,Menlo,monospace; }
:root[data-theme="light"] .hero.wq-page,
:root[data-theme="light"] .section.wq-page{
  background:#fff !important;
}
:root[data-theme="light"] .wq-shell,
:root[data-theme="light"] .wq-summary-card,
:root[data-theme="light"] .wq-panel,
:root[data-theme="light"] .wq-feed-card,
:root[data-theme="light"] .wq-delta-card,
:root[data-theme="light"] .wq-commercial-card{
  background: linear-gradient(180deg, rgba(255,255,255,.985), rgba(247,250,255,.985)) !important;
  color:#15233c !important;
  border-color: rgba(22,41,78,.12) !important;
  box-shadow: 0 22px 72px rgba(18,28,49,.08) !important;
}
:root[data-theme="light"] .wq-copy h1,
:root[data-theme="light"] .wq-summary-card h2,
:root[data-theme="light"] .wq-panel h2,
:root[data-theme="light"] .wq-feed-card h2,
:root[data-theme="light"] .wq-delta-card h2,
:root[data-theme="light"] .wq-commercial-card h2,
:root[data-theme="light"] .wq-kv strong,
:root[data-theme="light"] .wq-route-item strong,
:root[data-theme="light"] .wq-witness-item strong,
:root[data-theme="light"] .wq-route-item code{
  color:#15233c !important;
}
:root[data-theme="light"] .wq-copy .hero-lede,
:root[data-theme="light"] .wq-summary-card p,
:root[data-theme="light"] .wq-panel p,
:root[data-theme="light"] .wq-feed-card p,
:root[data-theme="light"] .wq-delta-card p,
:root[data-theme="light"] .wq-commercial-card p,
:root[data-theme="light"] .wq-witness-item p,
:root[data-theme="light"] .wq-route-item span,
:root[data-theme="light"] .wq-kv span{
  color:#5a6b8b !important;
}
:root[data-theme="light"] .wq-kv,
:root[data-theme="light"] .wq-witness-item,
:root[data-theme="light"] .wq-route-item{
  background:#ffffff !important;
  border-color: rgba(22,41,78,.10) !important;
}
:root[data-theme="light"] .wq-copy .wq-rule{
  color:#15233c !important;
}
:root[data-theme="light"] .wq-shell .meta .tag,
:root[data-theme="light"] .wq-summary-card .tag,
:root[data-theme="light"] .wq-panel .tag,
:root[data-theme="light"] .wq-feed-card .tag,
:root[data-theme="light"] .wq-delta-card .tag,
:root[data-theme="light"] .wq-commercial-card .tag{
  color:#33466d !important;
  background: rgba(99,91,255,.07) !important;
  border-color: rgba(99,91,255,.14) !important;
}

@media (max-width: 1100px){
  .wq-hero-grid, .wq-grid{ grid-template-columns:1fr; }
}
@media (max-width: 820px){
  .pwp-home-card-grid,
  .wq-kv-grid{ grid-template-columns:1fr; }
  .wq-copy h1{ max-width:none; }
}
