/* Shared report reading surface for generated analytics and standalone samples.
   Data, claim text, and SVG palettes stay with the source pages. */
:root{
  --report-paper:#f7f8f6;
  --report-panel:#ffffff;
  --report-panel-2:#eef3f2;
  --report-ink:#172124;
  --report-soft:#4d6268;
  --report-rule:#c9d3d4;
  --report-link:#1f6670;
  --report-accent:#9a4e35;
  --report-null:#7d5b21;
  --report-measure:min(calc(100% - 2rem),72rem);
  --report-prose:68ch;
  --report-type:var(--font-sans,"Hanken Grotesk",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);
  --report-mono:var(--font-mono,"Conso","JetBrains Mono",ui-monospace,"SFMono-Regular",monospace);
}

@media (prefers-color-scheme:dark){
  :root{
    --report-paper:#101416;
    --report-panel:#171f22;
    --report-panel-2:#202b2f;
    --report-ink:#edf6f7;
    --report-soft:#b8c9cd;
    --report-rule:#42565c;
    --report-link:#8bdce8;
    --report-accent:#e59a72;
    --report-null:#e3c176;
  }
}

body.analytics-page,
body.report-editorial{
  color-scheme:light dark;
  margin:0;
  background:var(--report-paper)!important;
  color:var(--report-ink)!important;
  font-family:var(--report-type);
  font-size:1rem;
  line-height:1.65;
  text-rendering:optimizeLegibility;
}

body.analytics-page::before,
body.analytics-page::after,
body.report-editorial::before,
body.report-editorial::after,
body.analytics-page > #gl,
body.analytics-page > #motes,
body.report-editorial > #gl,
body.report-editorial > #motes,
body.analytics-page .scrim,
body.report-editorial .scrim{
  display:none!important;
}

body.analytics-page *,
body.analytics-page *::before,
body.analytics-page *::after,
body.report-editorial *,
body.report-editorial *::before,
body.report-editorial *::after{
  box-sizing:border-box;
}

body.analytics-page .site-nav,
body.report-editorial .site-nav{
  background:var(--report-paper)!important;
  border-bottom:1px solid var(--report-rule)!important;
  color:var(--report-ink)!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}

body.analytics-page .site-nav :is(a,summary),
body.report-editorial .site-nav :is(a,summary){
  color:var(--report-soft)!important;
  text-shadow:none!important;
}

body.analytics-page .site-nav :is(a:hover,a:focus-visible,summary:hover,summary:focus-visible),
body.report-editorial .site-nav :is(a:hover,a:focus-visible,summary:hover,summary:focus-visible){
  color:var(--report-link)!important;
  background:var(--report-panel-2)!important;
}

body.analytics-page .site-nav .sn-more-list,
body.report-editorial .site-nav .sn-more-list{
  background:var(--report-panel)!important;
  border-color:var(--report-rule)!important;
  box-shadow:none!important;
}

body.analytics-page .skip-link,
body.report-editorial .skip-link{
  position:absolute;
  left:.5rem;
  top:-3.5rem;
  z-index:99;
  background:var(--report-ink);
  color:var(--report-paper);
  padding:.55rem .9rem;
  border-radius:4px;
  text-decoration:none;
  font:700 .875rem/1 var(--report-type);
  outline-offset:2px;
}

body.analytics-page .skip-link:focus,
body.report-editorial .skip-link:focus{
  top:.6rem;
}

body.analytics-page main,
body.report-editorial main,
body.report-editorial .shell,
body.report-editorial .wrap{
  width:var(--report-measure)!important;
  max-width:var(--report-measure)!important;
  min-width:0;
  margin-inline:auto!important;
}

body.analytics-page main,
body.report-editorial main{
  padding:clamp(2rem,5vw,4rem) 0 clamp(3rem,7vw,5rem)!important;
  background:var(--report-paper)!important;
}

body.report-editorial > header.shell{
  display:none;
}

body.analytics-page :is(h1,h2,h3),
body.report-editorial :is(h1,h2,h3){
  margin:0;
  color:var(--report-ink)!important;
  font-family:var(--report-type)!important;
  font-weight:760;
  letter-spacing:0!important;
  text-shadow:none!important;
  text-transform:none!important;
  text-wrap:balance;
}

body.analytics-page h1,
body.report-editorial h1{
  max-width:18ch!important;
  font-size:clamp(2rem,5vw,3.8rem)!important;
  line-height:1.08!important;
}

body.analytics-page h2,
body.report-editorial h2{
  max-width:32ch;
  margin-top:clamp(2.25rem,5vw,3.6rem);
  margin-bottom:1rem;
  font-size:clamp(1.45rem,2.7vw,2.15rem)!important;
  line-height:1.16!important;
}

body.analytics-page h3,
body.report-editorial h3{
  margin-bottom:.55rem;
  font-size:1rem!important;
  line-height:1.35!important;
}

body.analytics-page :is(p,li,dd),
body.report-editorial :is(p,li,dd){
  max-width:var(--report-prose);
}

body.analytics-page p,
body.report-editorial p{
  margin:0 0 1rem;
}

body.analytics-page ul,
body.report-editorial ul{
  margin:1rem 0 0;
  padding-left:1.15rem;
}

body.analytics-page li + li,
body.report-editorial li + li{
  margin-top:.45rem;
}

body.analytics-page a,
body.report-editorial a{
  color:var(--report-link)!important;
  text-decoration-thickness:.08em;
  text-underline-offset:.18em;
}

body.analytics-page code,
body.report-editorial code{
  color:inherit;
  font-family:var(--report-mono);
  overflow-wrap:anywhere;
  word-break:break-word;
}

body.analytics-page pre,
body.report-editorial pre{
  max-width:100%;
  margin:0;
  padding:1rem;
  overflow:auto;
  border:1px solid var(--report-rule);
  border-radius:8px;
  background:var(--report-panel-2);
  color:var(--report-ink);
  font-family:var(--report-mono);
  font-size:.92rem;
  line-height:1.6;
  white-space:pre;
}

body.analytics-page .record-label,
body.analytics-page .status,
body.analytics-page .unknown,
body.analytics-page .scope dt,
body.report-editorial :is(.report-context,.pill,.tag,.status,.note,.go,.nav,.report-label,.scope dt){
  font-family:var(--report-type)!important;
  font-size:.94rem!important;
  font-weight:700;
  letter-spacing:0!important;
  line-height:1.45;
  text-transform:none!important;
}

body.analytics-page .record-label,
body.report-editorial .report-context,
body.report-editorial .tag{
  margin-bottom:.85rem;
  color:var(--report-soft)!important;
}

body.analytics-page .lede,
body.report-editorial .lead,
body.report-editorial .lede{
  max-width:var(--report-prose)!important;
  margin-top:1rem!important;
  color:var(--report-soft)!important;
  font-size:clamp(1.05rem,1.5vw,1.2rem)!important;
  line-height:1.68!important;
}

body.analytics-page .notice,
body.analytics-page .does-not-prove,
body.report-editorial .notice,
body.report-editorial .does-not-prove{
  max-width:var(--report-prose);
  margin:1.25rem 0;
  padding:1rem;
  border:1px solid var(--report-rule)!important;
  border-radius:8px;
  background:var(--report-panel);
  color:var(--report-ink);
}

body.analytics-page .unknown,
body.report-editorial .unknown{
  color:var(--report-null)!important;
}

body.analytics-page .scope,
body.report-editorial .scope{
  display:grid;
  grid-template-columns:minmax(10rem,15rem) minmax(0,1fr);
  gap:.65rem 1.25rem;
  max-width:var(--report-prose);
  margin:1.25rem 0 0;
}

body.analytics-page .scope dd,
body.report-editorial .scope dd{
  min-width:0;
  margin:0;
}

body.analytics-page .figure-scroll,
body.analytics-page .table-wrap,
body.analytics-page .report-scroll,
body.report-editorial .figure-scroll,
body.report-editorial .table-wrap,
body.report-editorial .report-scroll{
  max-width:100%;
  min-width:0;
  margin:1rem 0 1.8rem;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  border:1px solid var(--report-rule);
  border-radius:8px;
  background:var(--report-panel);
  box-shadow:none!important;
}

body.analytics-page .figure-scroll,
body.report-editorial .figure-scroll{
  background:#070c0f;
}

body.analytics-page .figure-scroll svg,
body.report-editorial .figure-scroll svg{
  display:block;
  max-width:none;
}

body.analytics-page table,
body.report-editorial table{
  width:max-content!important;
  min-width:100%;
  margin:0!important;
  border-collapse:collapse;
  table-layout:auto;
  background:transparent!important;
  color:var(--report-ink);
  font-family:var(--report-type)!important;
  font-size:.94rem!important;
  line-height:1.45;
}

body.analytics-page caption,
body.report-editorial caption{
  padding:.85rem 1rem;
  color:var(--report-soft);
  font-weight:700;
  text-align:left;
}

body.analytics-page :is(th,td),
body.report-editorial :is(th,td){
  padding:.78rem 1rem!important;
  border:0!important;
  border-top:1px solid var(--report-rule)!important;
  color:var(--report-ink);
  text-align:left;
  vertical-align:top;
  overflow-wrap:anywhere;
}

body.analytics-page thead,
body.report-editorial thead{
  background:var(--report-panel-2)!important;
}

body.report-editorial .hero{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(min(100%,18rem),.75fr);
  gap:clamp(1rem,3vw,2rem);
  align-items:start;
  padding:clamp(1rem,3vw,2rem) 0 clamp(1.6rem,4vw,2.8rem);
  border-bottom:1px solid var(--report-rule);
}

body.report-editorial .grid,
body.report-editorial .wide{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));
  gap:1rem;
  padding:clamp(1.25rem,3vw,2rem) 0;
}

body.report-editorial .wide{
  grid-template-columns:minmax(0,1fr);
}

body.report-editorial .card{
  min-width:0;
  padding:clamp(1rem,2.6vw,1.5rem)!important;
  border:1px solid var(--report-rule)!important;
  border-radius:8px!important;
  background:var(--report-panel)!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}

body.report-editorial .hero > .card:first-child{
  padding:0!important;
  border:0!important;
  background:transparent!important;
}

body.report-editorial .summary,
body.report-editorial .score{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:.75rem;
}

body.report-editorial .card > *,
body.report-editorial .summary > *,
body.report-editorial .score > *,
body.report-editorial .verdicts,
body.report-editorial .chain{
  min-width:0;
  max-width:100%;
}

body.report-editorial .card :is(h1,h2,h3,p,ul,ol,.lead,.lede){
  max-width:100%!important;
  overflow-wrap:anywhere;
}

body.report-editorial .pill,
body.report-editorial .btn,
body.report-editorial .go{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:fit-content;
  min-height:2.55rem;
  padding:.55rem .85rem;
  border:1px solid var(--report-rule)!important;
  border-radius:999px;
  background:var(--report-panel-2)!important;
  color:var(--report-link)!important;
  text-decoration:none;
  max-width:100%;
  white-space:normal;
  text-align:center;
}

body.report-editorial .actions{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  margin-top:1rem;
}

body.report-editorial .verdict,
body.report-editorial .step,
body.report-editorial .metric{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:baseline;
  gap:1rem;
  min-width:0;
  max-width:100%;
  padding:.75rem .85rem;
  border:1px solid var(--report-rule)!important;
  border-radius:8px!important;
  background:var(--report-panel-2)!important;
  color:var(--report-ink)!important;
  box-shadow:none!important;
}

body.report-editorial .verdict > *,
body.report-editorial .step > *,
body.report-editorial .metric > *{
  min-width:0;
  max-width:100%;
  overflow-wrap:anywhere;
}

body.report-editorial .chain{
  display:grid;
  gap:.6rem;
}

body.report-editorial .finding.stop,
body.report-editorial .finding.warn{
  border-color:var(--report-rule)!important;
}

body.report-editorial footer{
  width:var(--report-measure);
  max-width:var(--report-measure);
  margin:0 auto;
  padding:0 0 2rem;
  color:var(--report-soft);
}

body.report-editorial.report-redirect main{
  min-height:calc(100vh - 5rem);
  display:grid;
  align-content:center;
}

body.report-editorial.report-redirect h1{
  max-width:22ch!important;
}

@media (max-width:760px){
  body.analytics-page main,
  body.report-editorial main{
    width:min(calc(100% - 1rem),72rem)!important;
    max-width:min(calc(100% - 1rem),72rem)!important;
  }

  body.report-editorial .hero,
  body.report-editorial .grid,
  body.report-editorial .wide,
  body.analytics-page .scope,
  body.report-editorial .scope{
    grid-template-columns:1fr;
  }

  body.analytics-page h1,
  body.report-editorial h1{
    font-size:clamp(2rem,12vw,3.25rem)!important;
  }

  body.report-editorial .verdict,
  body.report-editorial .step,
  body.report-editorial .metric{
    display:flex;
    flex-direction:column;
    gap:.25rem;
    align-items:stretch;
  }

  body.report-editorial .verdict > *,
  body.report-editorial .step > *,
  body.report-editorial .metric > *{
    display:block;
  }
}

@media (forced-colors:active){
  body.analytics-page,
  body.report-editorial{
    background:Canvas!important;
    color:CanvasText!important;
  }
  body.analytics-page :is(.card,.notice,.does-not-prove,.table-wrap,.figure-scroll),
  body.report-editorial :is(.card,.notice,.does-not-prove,.table-wrap,.figure-scroll){
    background:Canvas!important;
    color:CanvasText!important;
    border-color:CanvasText!important;
  }
}

@media print{
  body.analytics-page,
  body.report-editorial{
    background:#fff!important;
    color:#000!important;
  }

  body.analytics-page main,
  body.report-editorial main{
    width:100%!important;
    max-width:100%!important;
    padding:0!important;
  }

  body.report-editorial .table-wrap,
  body.report-editorial .report-scroll{
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
    border:0!important;
    border-radius:0!important;
    background:#fff!important;
  }

  body.report-editorial .table-wrap table,
  body.report-editorial .report-scroll table{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    table-layout:fixed!important;
  }

  body.report-editorial .table-wrap :is(th,td),
  body.report-editorial .report-scroll :is(th,td){
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
  }

  body.report-editorial pre[role="region"]{
    max-width:100%!important;
    overflow:visible!important;
    white-space:pre-wrap!important;
    word-break:break-word!important;
  }
}
