/* Layout invariants and fixes shared by static documents and PHP templates. */
*,*::before,*::after{box-sizing:border-box}
html body{overflow-x:visible!important}
main,article,section,aside,figure{min-width:0}
img,video,iframe,canvas{max-width:100%}
img[width][height]{height:auto}
.pd-table-scroll{min-width:0;max-width:100%;overflow:auto;overscroll-behavior-inline:contain;scrollbar-gutter:stable}
.pd-table-scroll table{border-collapse:separate;border-spacing:0;min-width:100%;font-variant-numeric:tabular-nums}
.pd-table-scroll:focus-visible{outline:2px solid #a6e9d2;outline-offset:3px}
.pd-table-scroll th{vertical-align:bottom;white-space:normal}
.pd-table-scroll td{vertical-align:top}
.pd-table-scroll :is(code,.fingerprint,.domain-name){overflow-wrap:anywhere}
[data-page="registrar-stats"] .pd-table-scroll{max-height:calc(100dvh - var(--pd-header-h,72px) - 112px)}
[data-page="registrar-stats"] .pd-table-scroll th{position:sticky!important;top:0!important;z-index:3;background:#111d27!important;box-shadow:0 1px #35454c}
[data-page="registrar-stats"] :is(th,td):not(:nth-child(3)){text-align:right;font-variant-numeric:tabular-nums}
[data-page="registrar-stats"] :is(th,td):nth-child(3){min-width:220px;text-align:start;white-space:normal}
[data-page="registrar-stats"] .pd-table-scroll table{width:100%}
[data-page="registrar-stats"] [data-column-hidden]{display:none}
/* Product names use word boundaries; the grid adapts to the space left by the sidebar. */
html[data-page="privacy-arsenal"] .main{container-type:inline-size}
html[data-page="privacy-arsenal"] body .tools-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))!important;gap:12px!important;background:transparent!important;padding:0!important}
html[data-page="privacy-arsenal"] body .tool-top{display:grid!important;grid-template-columns:38px minmax(0,1fr) 44px!important;gap:12px!important;align-items:start}
html[data-page="privacy-arsenal"] body .tool-info{min-width:0}
html[data-page="privacy-arsenal"] body .tool-name{white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important}
html[data-page="privacy-arsenal"] body .tool-card{min-height:0;grid-template-areas:"top top" "desc desc" "tags tags" "platforms platforms" "links links";grid-template-rows:auto 1fr auto auto auto}
html[data-page="privacy-arsenal"] body .tool-tags{grid-area:tags;flex-wrap:wrap}
html[data-page="privacy-arsenal"] body .tool-platforms{grid-area:platforms;justify-content:flex-start}
html[data-page="privacy-arsenal"] body .filters{grid-template-columns:minmax(0,1fr) minmax(150px,220px)!important}
html[data-page="privacy-arsenal"] body .results-info{grid-column:1/-1}
@container(max-width:650px){html[data-page="privacy-arsenal"] body .filters{grid-template-columns:minmax(0,1fr)!important}html[data-page="privacy-arsenal"] body .filter-pills{grid-column:1/-1;flex-wrap:wrap}}
html[data-page="privacy-arsenal"] .category{scroll-margin-top:calc(var(--pd-header-h) + 132px)}
/* Compact local chart controls; long buttons elsewhere retain natural wrapping. */
html[data-page="hack-wallet"] body .hw-chart{height:auto!important;min-height:0!important;padding:24px!important}
.hw-chart-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:20px}
.hw-chart-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px;flex:0 0 auto;min-width:0}
html[data-page="hack-wallet"] body :is(#view-years,#view-months){flex:0 0 auto!important;width:auto!important;min-width:max-content!important;height:42px!important;min-height:42px!important;padding:8px 16px!important;white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important}
html[data-page="hack-wallet"] #year-select{height:42px;min-width:90px;max-width:100%}
.hw-chart-canvas{position:relative;min-width:0;height:300px}
@media(max-width:600px){.hw-chart-controls{flex-basis:100%}.hw-chart-canvas{height:240px}html[data-page="hack-wallet"] body .hw-chart{padding:18px!important}}
/* Labs retains its distinctive terminal while keeping training immediately reachable. */
#homeScreen .hero{padding-block:24px!important}
#homeScreen .hero-title{font-size:clamp(36px,5.5vw,64px)!important;line-height:1.12;color:#e6faf4!important;-webkit-text-fill-color:currentColor!important}
#homeScreen .hero-description{margin-bottom:24px;font-size:18px}
#homeScreen .terminal-body{min-height:174px}
#homeScreen .terminal{margin-block:24px;max-width:720px}
#labScreen .threat-card.locked{opacity:1!important;background:rgba(18,27,34,.82);border-color:#34424c}
#labScreen .threat-card.locked .threat-title{color:#d7e2e8}
#labScreen .threat-card.locked .threat-description{color:#aebbc5}
#labScreen :is(h1,h2):focus{outline:none}
/* Informational research notice remains available without covering the article. */
.investigation-notice{max-width:1120px;margin:24px auto;padding:18px 22px;border:1px solid #425152;border-radius:12px;background:#111b23;color:#cbd6df;line-height:1.7}
.investigation-notice>summary{font-weight:650;color:#e5f2ed;cursor:pointer;min-height:28px}
.investigation-notice .dscl-main,.investigation-notice .dscl-footnote{padding:16px 0 0;max-height:none;overflow:visible}
.investigation-notice details{margin-block:16px}
.investigation-notice p{margin-block:12px}
/* Stable reading rhythm; individual investigations keep their own diagrams and accents. */
.pd-reading-intro{max-width:1000px!important;margin-inline:auto!important;padding:32px 24px!important;min-height:0!important;text-align:start!important}
.pd-reading-intro h1{margin-block:12px 20px!important;font-size:clamp(32px,4.5vw,56px)!important;line-height:1.12!important;max-width:26ch;text-wrap:balance}
.pd-reading-intro>p:not(.subtitle){max-width:70ch;line-height:1.7}
.pd-reading-intro :is(.article-meta-strip,.pd-pdf-dl,.pd-article-actions){justify-content:flex-start!important}
.pd-reading-intro .pd-audio-player{width:100%;max-width:580px;margin:16px 0!important}
.pd-reading-intro .pd-pdf-dl{margin:12px 0!important}
.pd-reading-intro .typing-container:empty{display:none}
html[data-page="scam-team-operations"] .hero-wrapper>.container{max-width:1048px;margin-inline:auto}
html[data-page="scam-team-operations"] .reading-masthead+.toc{margin-inline:0}
.pd-article-image{display:block;width:100%;height:auto!important;object-fit:contain!important;background:#111b24}
.pd-image-error{position:relative;background:#111b24}
.pd-image-error::after{content:attr(data-image-error);position:absolute;inset:0;display:grid;place-items:center;padding:24px;color:#bfcbd4;text-align:center;background:#111b24}
.pd-series-navigation{display:flex;flex-wrap:wrap;gap:8px;margin-block:24px}
.pd-series-navigation a{padding:10px 14px;border:1px solid #344b4e;border-radius:8px}
.pd-series-navigation [aria-current="page"]{background:#a6e9d2;color:#10201b!important;font-weight:700}
html[data-page^="my-dog"] main>section:first-child{padding-block:32px 16px!important}
html[data-page^="my-dog"] main>section:nth-child(2){padding-top:16px!important}
html[data-page="news"] :is(.card-media,.news-card-image,.card-image) img[data-text-cover]{object-fit:contain!important;background:#111b24}
html[data-page="api"] main>section{padding-block:32px!important}
html[data-page="api"] pre{max-width:100%;overflow:auto;white-space:pre;overflow-wrap:normal;word-break:normal}
html[data-legal-reader] .legal-heading-text{word-break:normal;overflow-wrap:break-word;hyphens:auto}
html[data-legal-reader] #toc-list{max-height:60vh;overflow-y:auto}
html[data-legal-reader] .reveal{opacity:1!important;transform:none!important}
@media(max-width:600px){.pd-reading-intro{padding:24px 16px!important}.investigation-notice{margin-inline:16px}html[data-legal-reader] #toc-list{max-height:40vh}}
.analytics-platform{margin-top:28px;padding-top:24px;border-top:1px solid #34464d}
.analytics-platform h2,.analytics-month-context h2{font-size:18px;color:#e0eee8;margin-bottom:12px}
.analytics-context,.analytics-definition,.analytics-month-context p{max-width:85ch;margin:12px auto;color:#abbec9;font-size:14px;line-height:1.65;text-wrap:pretty}
.analytics-definition{font-variant-numeric:tabular-nums}
.analytics-month-context{margin:24px 0;padding:20px;border-left:3px solid #a6e9d2;background:#101c25}
.analytics-month-context p{margin-inline:0}
.wallet-captcha{min-height:92px;max-width:100%}
#wallet-verification-status{min-height:3.3em;color:#b7c9d4;line-height:1.6;font-size:14px}
.pd-article-image{aspect-ratio:var(--pd-image-ratio)!important}
.pes-keyspace .pes-keyspace-grid{margin-top:24px!important;align-items:start}
.pes-keyspace{padding-block:48px!important}
.pes-keyspace :is(.pes-section-head,.pes-section-intro){margin-bottom:24px!important}
.pes-keyspace :is(output,.pes-keyspace-result,.pes-keyspace-value){min-width:0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
[data-stat]{display:inline-block;min-width:4ch;font-variant-numeric:tabular-nums}
[data-stat-state="error"],[data-stat-state="empty"]{letter-spacing:normal!important}
