/* Report and reference-page refinements. Only explicitly marked documents participate. */
html[data-pd-finish] {
  --pf-ink: #edf5f2;
  --pf-copy: #bcc9ce;
  --pf-muted: #93a8ae;
  --pf-line: #2a3c41;
  --pf-accent: #89ddc3;
  --pf-ease: cubic-bezier(.22,.68,.16,1);
}

/* Pair the approved cover with its introduction; keep the authored accent colours. */
html[data-pd-finish="report"] body :is(main,#main-content) .pd-report-hero {
  display: grid !important;
  grid-template-columns: minmax(0,1.13fr) minmax(0,.87fr) !important;
  align-items: center !important;
  gap: 32px clamp(32px,4vw,64px) !important;
  width: min(1080px,calc(100vw - 64px)) !important;
  max-width: none !important;
  min-height: 0 !important;
  margin-inline: calc((100% - min(1080px,calc(100vw - 64px))) / 2) !important;
  margin-block: 0 24px !important;
  padding: 42px 0 30px !important;
  text-align: start !important;
}
html[data-pd-finish="report"] body :is(main,#main-content) .pd-report-hero-copy {min-width:0;}
html[data-pd-finish="report"][data-page="moz-fake-extensions"] body :is(main,#main-content).container:has(.pd-report-hero),
html[data-pd-finish="report"][data-page="crypto-drainer-anatomy"] body :is(main,#main-content) .container:has(.pd-report-hero) {overflow:visible !important;}
html[data-pd-finish="report"] body :is(main,#main-content) .pd-report-hero h1 {
  width: 100% !important;
  max-width: 25ch !important;
  margin-block: 16px 22px !important;
  font-size: clamp(36px,3.65vw,54px) !important;
  line-height: 1.09 !important;
  letter-spacing: -.043em !important;
  text-wrap: pretty;
  overflow-wrap: normal !important;
  word-break: normal !important;
}
html[data-pd-finish="report"] body :is(main,#main-content) .pd-report-hero .pd-hero-description {
  max-width: 60ch !important;
  margin-block: 18px 24px !important;
  font-size: 17px !important;
  line-height: 1.75 !important;
}
html[data-pd-finish="report"] body :is(main,#main-content) .pd-report-hero .pd-reading-meta {
  gap: 10px 18px !important;
  padding-block-start: 18px !important;
  font-size: 11px !important;
}
html[data-pd-finish="report"] body :is(main,#main-content) .pd-report-hero-art {
  display: block !important;
  position: relative;
  min-width: 0;
  padding-block: 26px;
}
html[data-pd-finish="report"] body :is(main,#main-content) .pd-report-hero-art::before {
  content: '';
  position: absolute;
  inset: -25% -12%;
  z-index: -1;
  background: radial-gradient(ellipse at center,#68c2af12,transparent 65%);
  pointer-events: none;
}
html[data-pd-finish="report"] body :is(main,#main-content) .pd-report-hero-art .pd-story-cover {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  border-color: #38534f !important;
  border-radius: 10px !important;
  box-shadow: 0 24px 72px -36px #000c !important;
}
html[data-pd-finish="report"] body :is(main,#main-content) .pd-report-hero-art .pd-story-art {aspect-ratio:1200 / 630;object-fit:contain !important;}
html[data-pd-finish="report"] body :is(main,#main-content)[data-pd-tight-start] {padding-block-start:20px !important;}
html[data-pd-finish="report"] body :is(main,#main-content) [data-pd-tight-container] {padding-block-start:0 !important;margin-block-start:0 !important;}
html[data-pd-finish="report"] body :is(main,#main-content) .pd-report-hero .typing-container:empty {display:none;}
html[data-pd-finish="report"] body :is(main,#main-content) .pd-report-hero-copy > .flex {justify-content:flex-start !important;gap:10px !important;}
html[data-pd-finish="report"] body :is(main,#main-content) .pd-report-hero-copy [class*="bg-purple"] {background:#152c26 !important;border:1px solid #335348 !important;border-radius:5px !important;box-shadow:none !important;color:#a9dfcb !important;font-size:12px !important;font-weight:500 !important;}
html[data-pd-finish="report"] body :is(main,#main-content) > :is(.back-btn,.back) {margin-inline-start:max(16px,calc((100% - 1080px)/2)) !important;}
html[data-pd-finish="report"][data-pd-pdf-listed] body :is(main,#main-content) .pd-pdf-dl {display:none !important;}
html[data-pd-finish="report"] body :is(main,#main-content) .pd-story-resources {width:min(740px,calc(100% - 32px)) !important;max-width:740px !important;margin:22px auto !important;padding:0 !important;border:0 !important;}
html[data-pd-finish="report"] body :is(main,#main-content) .pd-story-resources .pd-audio-player {padding:12px 16px !important;border-radius:8px !important;}

/* Real destinations, present in HTML and usable before JavaScript runs. */
html[data-pd-finish] body :is(main,#main-content) .pd-report-links {
  display: grid;
  grid-template-columns: repeat(var(--pf-link-count,3),minmax(0,1fr));
  width: min(1080px,calc(100vw - 64px));
  max-width: none;
  margin-inline: calc((100% - min(1080px,calc(100vw - 64px))) / 2);
  margin-block: 0 38px;
  padding: 0;
  border-block: 1px solid var(--pf-line);
  background: linear-gradient(105deg,#13282370,transparent 70%);
}
html[data-pd-finish] body :is(main,#main-content) .pd-report-links a {
  display: grid;
  grid-template-columns: minmax(0,1fr) 18px;
  align-content: center;
  align-items: center;
  gap: 6px 12px;
  min-width: 0;
  min-height: 84px;
  padding: 16px 22px;
  margin: 0;
  border: 0;
  border-inline-end: 1px solid var(--pf-line);
  border-radius: 0;
  color: var(--pf-ink);
  background: none;
  font: 500 14px/1.45 'Space Grotesk',system-ui,sans-serif;
  text-decoration: none !important;
  text-align: start;
  transition: background 180ms,color 180ms;
}
html[data-pd-finish] body :is(main,#main-content) .pd-report-links a:last-child {border-inline-end:0;}
html[data-pd-finish] body :is(main,#main-content) .pd-report-links a small {
  grid-column: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--pf-muted);
  font: 400 10px/1.5 'JetBrains Mono',ui-monospace,monospace;
}
html[data-pd-finish] body :is(main,#main-content) .pd-report-links a svg {grid-column:2;grid-row:1 / span 2;width:18px;height:18px;color:var(--pf-accent);transition:translate 180ms;}
html[data-pd-finish] body :is(main,#main-content) .pd-report-links a:hover {background:#8bddc30b;color:var(--pf-accent);}
html[data-pd-finish] body :is(main,#main-content) .pd-report-links a:hover svg {translate:2px -2px;}
html[data-pd-finish] body :is(main,#main-content) .pd-report-links a:active {background:#8bddc315;}
html[data-pd-finish] body :is(main,#main-content) .pd-report-links a:focus-visible {outline:2px solid var(--pf-accent);outline-offset:-3px;}

/* Chapter names stay visible while reading. Native details keeps the index accessible. */
html[data-pd-finish="report"] body :is(main,#main-content) .pd-contents {
  max-width: 1080px !important;
  margin-block: 22px 42px !important;
  border-radius: 7px !important;
}
html[data-pd-finish="report"] body :is(main,#main-content) .pd-contents > summary {min-height:52px;padding:13px 18px;gap:16px;}
.pd-contents-title {min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--pf-copy);font:400 12px/1.5 Inter,system-ui,sans-serif;}
.pd-contents-title:empty {display:none;}
html[data-pd-finish="report"] body :is(main,#main-content) .pd-contents-current {flex-shrink:0;margin-inline-start:auto;}
html[data-pd-finish="report"] body :is(main,#main-content) .pd-contents nav a {font-size:14px;line-height:1.55;}

/* Reading rhythm; source diagrams, exhibits and specialised data widgets retain their styles. */
html[data-pd-finish="report"] body :is(main,#main-content) .pd-reading-prose > p {
  margin-block: 0 24px !important;
  text-wrap: pretty;
}
html[data-pd-finish="report"] body :is(main,#main-content) h2[data-pd-chapter]:not(.pd-card-heading) {
  position: relative;
  scroll-margin-top: 160px !important;
  line-height: 1.25 !important;
  text-wrap: pretty;
}
html[data-pd-finish="report"] body :is(main,#main-content) .pd-reading-prose > h2[data-pd-chapter]:not(.pd-card-heading) {
  margin-block: 56px 24px !important;
  padding-block-start: 26px !important;
  border-block-start: 1px solid var(--pf-line) !important;
  font-size: clamp(27px,2.6vw,35px) !important;
  letter-spacing: -.028em !important;
}
html[data-pd-finish="report"] body :is(main,#main-content) .pd-reading-prose > h2[data-pd-chapter] > i {font-size:.62em;vertical-align:middle;color:var(--pf-accent);}
html[data-pd-finish="report"] body :is(main,#main-content) .pd-reading-prose > :is(ul,ol) {padding-inline-start:24px;}
html[data-pd-finish="report"] body :is(main,#main-content) .pd-reading-prose > :is(ul,ol) > li + li {margin-block-start:10px;}
html[data-pd-finish="report"] body :is(main,#main-content) .pd-reading-prose > :is(p,li) > a:not([class]) {text-decoration-line:underline;text-underline-offset:4px;text-decoration-color:#89ddc370;}
html[data-pd-finish="report"] body :is(main,#main-content) [data-pd-reading-art] {
  width: min(880px,calc(100vw - 64px)) !important;
  max-width: none !important;
  margin-inline: calc((100% - min(880px,calc(100vw - 64px))) / 2) !important;
  margin-block: 34px 38px !important;
}
html[data-pd-finish="report"] body :is(main,#main-content) [data-pd-reading-art] img {width:100% !important;max-height:none !important;height:auto !important;object-fit:contain !important;}

/* One set of recommendations, with legible titles and artwork at its original ratio. */
html[data-pd-finish] body :is(main,#main-content) .pd-related-grid {align-items:stretch;}
html[data-pd-finish] body :is(main,#main-content) .pd-related-card {
  padding: 18px !important;
  border-color: var(--pf-line) !important;
  border-radius: 9px !important;
  transition: border-color 200ms,background 200ms,translate 200ms !important;
}
html[data-pd-finish] body :is(main,#main-content) .pd-related-card:hover {translate:0 -3px;}
html[data-pd-finish] body :is(main,#main-content) .pd-related-card-title {font-size:18px !important;line-height:1.4 !important;}
html[data-pd-finish] body :is(main,#main-content) .pd-related-card :is(p,.rf-desc,.rel-desc) {font-size:13px !important;line-height:1.65 !important;}

/* The policy index is a directory of documents, with a clear reading axis. */
html[data-pd-finish="legal"] body :is(main,#main-content) .pd-policy-index {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  gap: 0 32px !important;
  max-width: 1080px !important;
  margin-inline: auto !important;
}
html[data-pd-finish="legal"] body :is(main,#main-content) .pd-policy-index .pd-policy-link-card {
  display: grid !important;
  grid-template-columns: 40px minmax(0,1fr) 20px;
  align-content: start;
  gap: 10px 16px;
  padding: 28px 4px !important;
  min-height: 154px;
  border: 0 !important;
  border-block-start: 1px solid var(--pf-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-decoration: none;
  transition: background 180ms;
}
html[data-pd-finish="legal"] body :is(main,#main-content) .pd-policy-index .pd-policy-link-card > .lc-icon {grid-column:1;grid-row:1;margin:0 !important;}
html[data-pd-finish="legal"] body :is(main,#main-content) .pd-policy-index .pd-policy-link-card > div:not(.lc-icon) {grid-column:2;grid-row:1;min-width:0;}
html[data-pd-finish="legal"] body :is(main,#main-content) .pd-policy-index .pd-policy-link-card :is(h2,h3) {margin:0 0 10px !important;font-size:20px !important;line-height:1.35 !important;}
html[data-pd-finish="legal"] body :is(main,#main-content) .pd-policy-index .pd-policy-link-card p {margin:0 !important;color:var(--pf-copy);font-size:14px !important;line-height:1.7 !important;}
html[data-pd-finish="legal"] body :is(main,#main-content) .pd-policy-index .pd-policy-link-card::after {content:'↗' !important;display:block !important;position:static !important;grid-column:3;grid-row:1;color:var(--pf-accent);font-size:20px;transition:translate 180ms;}
html[data-pd-finish="legal"] body :is(main,#main-content) .pd-policy-index .pd-policy-link-card:hover {background:#8bddc306 !important;transform:none !important;}
html[data-pd-finish="legal"] body :is(main,#main-content) .pd-policy-index .pd-policy-link-card:hover::after {translate:2px -2px;}

html[data-pd-finish="utility"] body .pd-values-prose > .article-section > :is(p,ul,ol) {max-width:68ch;line-height:1.8;}
html[data-pd-finish="utility"] body .tool-resource-card {transition:border-color 180ms,background 180ms,translate 180ms;}
html[data-pd-finish="utility"] body .tool-resource-card:hover {translate:0 -3px;}
html[data-pd-finish] :is(main,#main-content) :is(button,a,input,select,textarea,summary):focus-visible {outline:2px solid var(--pf-accent);outline-offset:4px;}

@media(min-width:1100px) {
  html[data-pd-finish="report"] body :is(main,#main-content) .pd-report-hero-copy .pd-article-body {width:100% !important;max-width:none !important;}
}
@media(max-width:1100px) {
  html[data-pd-finish="report"] body :is(main,#main-content) .pd-report-hero {grid-template-columns:minmax(0,1fr) !important;gap:20px !important;}
  html[data-pd-finish="report"] body :is(main,#main-content) .pd-report-hero-art {padding-block:0;}
  html[data-pd-finish="report"] body :is(main,#main-content) .pd-report-hero-art::before {inset:0;}
  html[data-pd-finish="report"] body :is(main,#main-content) .pd-report-hero h1 {max-width:30ch !important;}
}
@media(max-width:767px) {
  html[data-pd-finish="report"] body :is(main,#main-content) .pd-report-hero {width:calc(100vw - 32px) !important;margin-inline:calc((100% - (100vw - 32px))/2) !important;padding-block:24px !important;}
  html[data-pd-finish="report"] body :is(main,#main-content) .pd-report-hero h1 {font-size:clamp(31px,8.5vw,42px) !important;line-height:1.12 !important;}
  html[data-pd-finish="report"] body :is(main,#main-content) .pd-report-hero .pd-hero-description {font-size:16px !important;line-height:1.7 !important;}
  html[data-pd-finish="report"] body :is(main,#main-content) .pd-report-hero .pd-reading-meta {gap:9px 14px !important;}
  html[data-pd-finish] body :is(main,#main-content) .pd-report-links {width:calc(100vw - 32px);margin-inline:calc((100% - (100vw - 32px))/2);grid-template-columns:repeat(2,minmax(0,1fr));margin-block-end:26px;}
  html[data-pd-finish] body :is(main,#main-content) .pd-report-links a {padding:13px 12px;min-height:74px;font-size:13px;}
  html[data-pd-finish] body :is(main,#main-content) .pd-report-links a:nth-child(even) {border-inline-end:0;}
  html[data-pd-finish] body :is(main,#main-content) .pd-report-links a:nth-child(3) {grid-column:1 / -1;border-block-start:1px solid var(--pf-line);min-height:64px;}
  html[data-pd-finish] body :is(main,#main-content) .pd-report-links a:first-child:last-child {grid-column:1 / -1;}
  html[data-pd-finish="report"] body :is(main,#main-content) .pd-contents > summary {gap:10px;padding-inline:12px;}
  html[data-pd-finish="report"] body :is(main,#main-content) .pd-contents-title {font-size:11px;}
  html[data-pd-finish="report"] body :is(main,#main-content) .pd-contents-current {font-size:9px;}
  html[data-pd-finish="report"] body :is(main,#main-content) .pd-reading-prose > h2[data-pd-chapter]:not(.pd-card-heading) {font-size:27px !important;margin-block:42px 20px !important;}
  html[data-pd-finish="report"] body :is(main,#main-content) [data-pd-reading-art] {width:100% !important;max-width:100% !important;margin-inline:0 !important;margin-block:26px !important;}
  html[data-pd-finish="legal"] body :is(main,#main-content) .pd-policy-index {grid-template-columns:minmax(0,1fr) !important;}
  html[data-pd-finish="legal"] body :is(main,#main-content) .pd-policy-index .pd-policy-link-card {min-height:0;padding-block:24px !important;}
}
@media(prefers-reduced-motion:reduce) {
  html[data-pd-finish] body :is(.pd-report-hero,.pd-report-links,.pd-related-card,.pd-policy-link-card,.tool-resource-card) {animation:none !important;transition:none !important;translate:none !important;}
  html[data-pd-finish] body .pd-report-links svg {transition:none;translate:none !important;}
}
@media print {
  html[data-pd-finish] body .pd-report-hero {display:block !important;width:100% !important;margin:0 !important;}
  html[data-pd-finish] body .pd-report-hero-art {display:none;}
  html[data-pd-finish] body .pd-report-links {width:100% !important;margin:16px 0 !important;background:none;}
  html[data-pd-finish] body .pd-report-links a {color:#111 !important;}
  html[data-pd-finish] body [data-pd-reading-art] {width:100% !important;max-width:100% !important;margin-inline:0 !important;}
}
