/* JTforME public readability release — 2026-07-11 FINAL
   Loaded last under a new filename to bypass stale browser/CDN CSS.
   Purpose: readable public text and controls across dark, paper, card, pill, metric, and footer surfaces. */
:root{
  --jt-r-ink:#0b2239;
  --jt-r-copy:#243e57;
  --jt-r-muted:#38516a;
  --jt-r-link:#005a91;
  --jt-r-paper:#fffdf8;
  --jt-r-paper-soft:#f7f1e7;
  --jt-r-dark:#0a2038;
  --jt-r-dark-copy:#e8f1fb;
  --jt-r-dark-link:#bfeeff;
  --jt-r-gold:#ffda66;
  --jt-r-red:#7f1d2d;
}
html{font-size:17px!important;-webkit-text-size-adjust:100%;text-size-adjust:100%;}
html body{color:var(--jt-r-ink)!important;font-size:1rem!important;line-height:1.66!important;}
html body :is(p,li,dd,dt,td,th,summary,blockquote){font-size:max(1rem,16px)!important;line-height:1.66!important;}
html body :is(small,.small,.meta,.kicker,.eyebrow,.tag,.badge,.chip,.pill,.label,.caption,figcaption,
.read-order-note,.small-note,.record-meta,.record-quality,.anchor-date,.timeline-meta,.source-label,.source-type,
.quick-help-kicker,.route-finder-launcher-kicker,.safety-ribbon-kicker,.intent-label,.rail-label){
  font-size:max(.9rem,15px)!important;line-height:1.48!important;opacity:1!important;
}
html body :is(a,button,.btn,input,select,textarea){font-size:max(.95rem,16px)!important;}
html body :is(h1,h2,h3,h4,h5,h6,p,li,dd,dt,td,th,span,strong,em,a,small,label,summary,blockquote,figcaption){
  text-shadow:none!important;opacity:1!important;mix-blend-mode:normal!important;
}

/* Core dark public surfaces. */
html body :is(.hero,.page-hero,.jumbotron,header.jumbotron,.dark-hero,.section-dark,.proof-hero,.record-hero,
.accountability-hero,.matrix-hero,.library-hero,.timeline-hero,.accountability-timeline-hero,
.evidence-route-bridge,.home-accountability-funnel,.accountability-reader-map-section,.site-intent-strip,
.privacy-no-intake-ribbon,.site-boundary-ribbon,.safety-ribbon,.footer,.public-bridge,.initiative-bridge){
  color:#fff!important;
}
html body :is(.hero,.page-hero,.jumbotron,header.jumbotron,.dark-hero,.section-dark,.proof-hero,.record-hero,
.accountability-hero,.matrix-hero,.library-hero,.timeline-hero,.accountability-timeline-hero,
.evidence-route-bridge,.home-accountability-funnel,.accountability-reader-map-section,.site-intent-strip,
.privacy-no-intake-ribbon,.site-boundary-ribbon,.safety-ribbon,.footer,.public-bridge,.initiative-bridge)
:is(h1,h2,h3,h4,h5,h6,strong,em,.big,.label,.stat-number,.stat-label){color:#fff!important;}
html body :is(.hero,.page-hero,.jumbotron,header.jumbotron,.dark-hero,.section-dark,.proof-hero,.record-hero,
.accountability-hero,.matrix-hero,.library-hero,.timeline-hero,.accountability-timeline-hero,
.evidence-route-bridge,.home-accountability-funnel,.accountability-reader-map-section,.site-intent-strip,
.privacy-no-intake-ribbon,.site-boundary-ribbon,.safety-ribbon,.footer,.public-bridge,.initiative-bridge)
:is(p,li,dd,dt,span,small,.meta,.kicker,.eyebrow,.caption,figcaption,.detail,.read-order-note){color:var(--jt-r-dark-copy)!important;}
html body :is(.hero,.page-hero,.jumbotron,header.jumbotron,.dark-hero,.section-dark,.proof-hero,.record-hero,
.accountability-hero,.matrix-hero,.library-hero,.timeline-hero,.accountability-timeline-hero,
.evidence-route-bridge,.home-accountability-funnel,.accountability-reader-map-section,.site-intent-strip,
.privacy-no-intake-ribbon,.site-boundary-ribbon,.safety-ribbon,.footer,.public-bridge,.initiative-bridge)
a:not(.btn){color:var(--jt-r-dark-link)!important;}

/* Opaque paper surfaces: always use dark copy. */
html body :is(.civic-scope-note,.initiative-note,.record-bottom-line,.footer-boundary-note,.footer-safety-note,
.footer-privacy-note,.justice-public-quote,.hero-side-card,.hero-kpi-card,.accountability-visitor-brief,
.notice-strip,.reader-card,.reader-top,.reader-body,.bill-prose,.meta-card,.callout,.page-purpose-card,
.identity-card,.priority-card,.authority-card,.evidence-card,.lane-companion-card,.route-sequence-card,
.packet-use-card,.pack-card,.resource-card,.source-card,.family-week-card,.situation-card,.directory-card,
.citation-stack-card,.factor-card,.download-card,.record-card,.chart-card,.dashboard-scan-card,.timeline-check-card,
.proof-card,.official-door-card,.route-note-card,.paper-sort-card,.public-packet-card,.accountability-quality-card,
.conduct-anchor-card,.timeline-card,.hero-side,.hero-kpi-grid){color:var(--jt-r-ink)!important;}
html body :is(.civic-scope-note,.initiative-note,.record-bottom-line,.footer-boundary-note,.footer-safety-note,
.footer-privacy-note,.justice-public-quote,.hero-side-card,.hero-kpi-card,.accountability-visitor-brief,
.notice-strip,.reader-card,.reader-top,.reader-body,.bill-prose,.meta-card,.callout,.page-purpose-card,
.identity-card,.priority-card,.authority-card,.evidence-card,.lane-companion-card,.route-sequence-card,
.packet-use-card,.pack-card,.resource-card,.source-card,.family-week-card,.situation-card,.directory-card,
.citation-stack-card,.factor-card,.download-card,.record-card,.chart-card,.dashboard-scan-card,.timeline-check-card,
.proof-card,.official-door-card,.route-note-card,.paper-sort-card,.public-packet-card,.accountability-quality-card,
.conduct-anchor-card,.timeline-card,.hero-side,.hero-kpi-grid)
:is(h1,h2,h3,h4,h5,h6,strong,em,.big,.label,.stat-number,.stat-label,.record-anchor-stat){color:var(--jt-r-ink)!important;}
html body :is(.civic-scope-note,.initiative-note,.record-bottom-line,.footer-boundary-note,.footer-safety-note,
.footer-privacy-note,.justice-public-quote,.hero-side-card,.hero-kpi-card,.accountability-visitor-brief,
.notice-strip,.reader-card,.reader-top,.reader-body,.bill-prose,.meta-card,.callout,.page-purpose-card,
.identity-card,.priority-card,.authority-card,.evidence-card,.lane-companion-card,.route-sequence-card,
.packet-use-card,.pack-card,.resource-card,.source-card,.family-week-card,.situation-card,.directory-card,
.citation-stack-card,.factor-card,.download-card,.record-card,.chart-card,.dashboard-scan-card,.timeline-check-card,
.proof-card,.official-door-card,.route-note-card,.paper-sort-card,.public-packet-card,.accountability-quality-card,
.conduct-anchor-card,.timeline-card,.hero-side,.hero-kpi-grid)
:is(p,li,dd,dt,span,small,.meta,.kicker,.eyebrow,.caption,figcaption,.detail,.read-order-note){color:var(--jt-r-copy)!important;}
html body :is(.civic-scope-note,.initiative-note,.record-bottom-line,.footer-boundary-note,.footer-safety-note,
.footer-privacy-note,.justice-public-quote,.hero-side-card,.hero-kpi-card,.accountability-visitor-brief,
.notice-strip,.reader-card,.reader-top,.reader-body,.bill-prose,.meta-card,.callout,.page-purpose-card,
.identity-card,.priority-card,.authority-card,.evidence-card,.lane-companion-card,.route-sequence-card,
.packet-use-card,.pack-card,.resource-card,.source-card,.family-week-card,.situation-card,.directory-card,
.citation-stack-card,.factor-card,.download-card,.record-card,.chart-card,.dashboard-scan-card,.timeline-check-card,
.proof-card,.official-door-card,.route-note-card,.paper-sort-card,.public-packet-card,.accountability-quality-card,
.conduct-anchor-card,.timeline-card,.hero-side,.hero-kpi-grid) a:not(.btn){color:var(--jt-r-link)!important;}

/* Exact defects seen on the live home page and flagship dashboard. */
html body .hero .civic-scope-note{background:#fff8e8!important;color:var(--jt-r-ink)!important;}
html body .hero .civic-scope-note :is(strong,p,span,small,em){color:var(--jt-r-ink)!important;}
html body .hero .justice-public-quote{color:var(--jt-r-ink)!important;}
html body .hero .justice-public-quote :is(strong,p,span,small,em){color:var(--jt-r-ink)!important;}
html body .hero .justice-public-quote cite{color:var(--jt-r-red)!important;}
html body :is(.hero,.page-hero) :is(.hero-side-card,.hero-kpi-card){
  background:var(--jt-r-paper)!important;border-color:rgba(11,34,57,.22)!important;color:var(--jt-r-ink)!important;
}
html body :is(.hero-side-card,.hero-kpi-card) :is(h1,h2,h3,h4,strong,.big,.label){color:var(--jt-r-ink)!important;}
html body :is(.hero-side-card,.hero-kpi-card) :is(p,li,span,small,.meta,.detail){color:var(--jt-r-copy)!important;}
html body .hero-route-list a{color:var(--jt-r-link)!important;}

/* Deliberately dark translucent cards. */
html body :is(.reader-map-card,.home-accountability-card,.home-proof-card,.home-accountability-standard,
.evidence-route-mini>*,.footer-nav-card,.proof-protocol-card){
  background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.28)!important;color:#fff!important;
}
html body :is(.reader-map-card,.home-accountability-card,.home-proof-card,.home-accountability-standard,
.evidence-route-mini>*,.footer-nav-card,.proof-protocol-card)
:is(h1,h2,h3,h4,h5,h6,strong,em,.big,.label){color:#fff!important;}
html body :is(.reader-map-card,.home-accountability-card,.home-proof-card,.home-accountability-standard,
.evidence-route-mini>*,.footer-nav-card,.proof-protocol-card)
:is(p,li,span,small,.meta,.detail,.kicker){color:var(--jt-r-dark-copy)!important;}
html body :is(.reader-map-card,.home-accountability-card,.home-proof-card,.home-accountability-standard,
.evidence-route-mini>*,.footer-nav-card,.proof-protocol-card) a:not(.btn){color:var(--jt-r-dark-link)!important;}

/* Every pill or shortcut placed on a light opaque background gets dark text. Duplicate classes beat old dark-hero rules. */
html body .sources-nav.sources-nav a:not(.btn),
html body .platform-rail.platform-rail a:not(.btn),
html body .page-jump-nav.page-jump-nav a:not(.btn),
html body .hero-utility-row.hero-utility-row a:not(.btn),
html body a.evidence-pill.evidence-pill:not(.btn),
html body a.initiative-pill.initiative-pill:not(.btn),
html body a.public-pill.public-pill:not(.btn),
html body a.record-pill.record-pill:not(.btn),
html body a.resource-pill.resource-pill:not(.btn),
html body a.accountability-copy-link.accountability-copy-link:not(.btn),
html body a.section-anchor-button.section-anchor-button:not(.btn),
html body .matrix-actions.matrix-actions a:not(.btn),
html body .proof-route-actions.proof-route-actions a:not(.btn),
html body .evidence-row-actions.evidence-row-actions a:not(.btn),
html body .citation-bank-actions.citation-bank-actions a:not(.btn),
html body .accountability-verification-actions.accountability-verification-actions a:not(.btn),
html body :is(.formal-citation-ribbon,.lane-tags,.source-quality,.accountability-status-strip) > span{
  color:var(--jt-r-ink)!important;background:var(--jt-r-paper)!important;
  border-color:rgba(11,34,57,.38)!important;font-weight:800!important;opacity:1!important;
}
html body :is(.sources-nav,.platform-rail,.page-jump-nav,.hero-utility-row,.matrix-actions,.proof-route-actions,
.evidence-row-actions,.citation-bank-actions,.accountability-verification-actions) a{
  min-height:40px;
}
html body :is(.matrix-actions.matrix-actions,.proof-route-actions.proof-route-actions) a.primary:not(.btn),
html body .btn-primary{
  color:#071526!important;background:var(--jt-r-gold)!important;border-color:#b98500!important;
}
html body .btn-accent{color:#071526!important;background:#69d7ee!important;border-color:#1687a0!important;}
html body :is(.btn-default,.btn-outline-primary){color:var(--jt-r-ink)!important;background:var(--jt-r-paper)!important;border-color:rgba(11,34,57,.35)!important;}
html body .btn-danger{color:#fff!important;background:#8c1f2f!important;border-color:#651522!important;}
html body :is(.btn-primary,.btn-accent,.btn-default,.btn-outline-primary,.btn-danger){font-weight:800!important;opacity:1!important;}

/* Header/deck controls. */
html body :is(.mode-btn.mode-btn,.cluster-toggle.cluster-toggle,.header-route-deck-tab.header-route-deck-tab){
  color:#0b2239!important;background:#fffdf8!important;border-color:rgba(11,34,57,.38)!important;
  font-size:max(.92rem,15px)!important;font-weight:850!important;min-height:40px!important;opacity:1!important;
}
html body :is(.mode-btn.active,.header-route-deck-tab.is-active,.header-route-deck-tab[aria-selected="true"],
.matrix-filter-bar button[aria-pressed="true"]){color:#071526!important;background:#ffda66!important;border-color:#b98500!important;}
html body :is(.breadcrumb-trail .crumb-current,.identity-meta-pill strong){color:#0b2239!important;}
html body .breadcrumb-trail .crumb-sep{color:#4b6380!important;opacity:1!important;}

/* Footer is dark, but its paper notices remain paper with dark copy. */
html body .footer{background-color:var(--jt-r-dark)!important;color:#fff!important;}
html body .footer :is(h1,h2,h3,h4,h5,h6,strong,em){color:#fff!important;}
html body .footer :is(p,li,span,small,.meta,.kicker){color:var(--jt-r-dark-copy)!important;}
html body .footer a{color:var(--jt-r-dark-link)!important;}
html body .footer .footer-civic-masthead{
  background:#102b48!important;color:#fff!important;border-color:rgba(255,255,255,.28)!important;border-top-color:#ffda66!important;
}
html body .footer .footer-civic-masthead :is(h1,h2,h3,h4,h5,h6,strong,.wtp-lockup){color:#fff!important;}
html body .footer .footer-civic-masthead :is(p,li,span,small,.small-note,.preamble-fragment){color:#e8f1fb!important;}
html body .footer :is(.footer-boundary-note,.footer-safety-note,.footer-privacy-note){
  background:#fff8e8!important;color:#0b2239!important;border-color:rgba(11,34,57,.25)!important;
}
html body .footer :is(.footer-boundary-note,.footer-safety-note,.footer-privacy-note) :is(strong,p,span,small){color:#0b2239!important;}
html body .footer :is(.footer-boundary-note,.footer-safety-note,.footer-privacy-note) a{color:#005a91!important;}

/* Evidence matrix is intentionally dark; restore dark cards after legacy global card rules. */
html body.evidence-matrix-page,
html body.evidence-matrix-page main{background:#07111f!important;color:#e8f1ff!important;}
html body.evidence-matrix-page :is(.matrix-section,.matrix-section.alt,.proof-route-panel){color:#e8f1ff!important;}
html body.evidence-matrix-page .section-head h2{color:#fff!important;}
html body.evidence-matrix-page .section-head p{color:#dbeafe!important;}
html body.evidence-matrix-page :is(.standard-card,.citation-spine-card,.formal-page-card,.proof-route-card,
.evidence-row,.evidence-cell){
  background:linear-gradient(180deg,#10233d,#091426)!important;color:#fff!important;border-color:rgba(191,219,254,.25)!important;
}
html body.evidence-matrix-page :is(.standard-card,.citation-spine-card,.formal-page-card,.proof-route-card,
.evidence-row,.evidence-cell) :is(h1,h2,h3,h4,h5,h6,strong,.step){color:#fff!important;}
html body.evidence-matrix-page :is(.standard-card,.citation-spine-card,.formal-page-card,.proof-route-card,
.evidence-row,.evidence-cell) :is(p,li,span,small,.meta){color:#dbeafe!important;}
html body.evidence-matrix-page :is(.standard-card,.citation-spine-card,.formal-page-card,.proof-route-card,
.evidence-row,.evidence-cell) a{color:#bfeeff!important;}
html body.evidence-matrix-page .matrix-actions.matrix-actions a:not(.btn),
html body.evidence-matrix-page .proof-route-actions.proof-route-actions a:not(.btn),
html body.evidence-matrix-page .evidence-row-actions.evidence-row-actions a:not(.btn){
  color:#0b2239!important;background:#fffdf8!important;border-color:rgba(11,34,57,.38)!important;
}
html body.evidence-matrix-page :is(.matrix-actions.matrix-actions,.proof-route-actions.proof-route-actions) a.primary:not(.btn){
  color:#071526!important;background:#ffda66!important;border-color:#b98500!important;
}
html body.evidence-matrix-page .matrix-filter-bar button{
  color:#f3f8ff!important;background:#10263f!important;border-color:rgba(191,219,254,.42)!important;
}
html body.evidence-matrix-page .matrix-filter-bar button[aria-pressed="true"]{
  color:#071526!important;background:#ffda66!important;border-color:#b98500!important;
}
html body.evidence-matrix-page :is(.lane-tags span,.source-quality){
  color:#f3f8ff!important;background:#17314f!important;border-color:rgba(191,219,254,.35)!important;
}
html body.evidence-matrix-page .source-quality :is(strong,span){color:#f3f8ff!important;}
/* The homepage proof-route block on the matrix page is a light library section. */
html body.evidence-matrix-page #homepage-proof-route :is(.library-standard,h2,p){color:#0b2239!important;}
html body.evidence-matrix-page #homepage-proof-route a{color:#005a91!important;}
html body.evidence-matrix-page .matrix-print-note{color:#dbeafe!important;}

/* Named accountability pages: paper status strips and proof ladders use dark copy. */
html body.accountability-page :is(.section-alt,.accountability-visitor-brief) .accountability-proof-step,
html body.accountability-page section#record-quality .accountability-proof-step{
  background:#fffdf8!important;color:#0b2239!important;border-color:rgba(11,34,57,.28)!important;
}
html body.accountability-page :is(.section-alt,.accountability-visitor-brief) .accountability-proof-step :is(strong,p,span,small),
html body.accountability-page section#record-quality .accountability-proof-step :is(strong,p,span,small){color:#243e57!important;}
html body.accountability-page :is(.section-alt,.accountability-visitor-brief) .accountability-proof-step > span,
html body.accountability-page section#record-quality .accountability-proof-step > span{
  color:#fff!important;background:#0b2239!important;
}
html body.accountability-page .accountability-section-status{
  background:#fffdf8!important;color:#0b2239!important;border-color:rgba(11,34,57,.28)!important;
}
html body.accountability-page .accountability-section-status strong{background:#0b2239!important;color:#fff!important;}
html body.accountability-page .accountability-section-status span{color:#243e57!important;}
/* Dark evidence bridges keep light copy; their action controls stay opaque paper. */
html body .evidence-route-bridge :is(h1,h2,h3,h4,strong){color:#fff!important;}
html body .evidence-route-bridge :is(p,li,span,small){color:#e8f1fb!important;}
html body .evidence-route-bridge :is(.matrix-actions.matrix-actions,.proof-route-actions.proof-route-actions,
.evidence-row-actions.evidence-row-actions) a:not(.btn){
  color:#0b2239!important;background:#fffdf8!important;border-color:rgba(255,255,255,.45)!important;
}

/* Prevent “disabled” opacity on public text. */
html body :is(.hero-side-card,.hero-kpi-card,.civic-scope-note,.accountability-visitor-brief,.page-jump-nav,
.hero-utility-row,.lane-tags,.source-quality,.formal-citation-ribbon,.platform-rail,.site-intent-strip,.footer)
:is(h1,h2,h3,h4,h5,h6,p,li,span,strong,small,a){opacity:1!important;}

@media (max-width:767px){
  html{font-size:17px!important;}
  html body :is(p,li,dd,dt,td,th){font-size:1rem!important;}
  html body :is(.platform-rail a,.page-jump-nav a,.hero-utility-row a,.sources-nav a,.site-intent-strip a){
    min-height:44px!important;padding:.7rem .9rem!important;
  }
}
