/* Data pages use the same restrained surfaces, reading measure and type scale. */
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:300 700;font-display:swap;src:url('/assets/fonts/space-grotesk-latin.woff2') format('woff2')}
html[data-data-page]{background:#070a0f;color-scheme:dark;scroll-padding-top:104px}
html[data-data-page] body{background:#070a0f!important;padding-inline:0!important;padding-bottom:0!important;color:#eef2f7;font-family:Inter,system-ui,sans-serif}
html[data-data-page] :is(main,.header) :is(h1,h2,h3,.panel-title,.chart-title){font-family:'Space Grotesk',Inter,system-ui,sans-serif!important;text-wrap:balance;letter-spacing:-.025em}
html[data-data-page] :is(main,.header) h1{font-size:clamp(32px,4.3vw,56px)!important;line-height:1.1!important;color:#eef2f7!important;background:none!important;-webkit-text-fill-color:currentColor!important;text-shadow:none!important;margin:0 0 20px!important}
html[data-data-page] main :is(a,button,summary,input,select):focus-visible{outline:2px solid #55b8d6!important;outline-offset:4px}
html[data-data-page] main :is(.stat,.stat-box,.stat-card){min-width:0;border:1px solid rgba(148,163,184,.16)!important;border-radius:12px!important;background:#0c1118!important;box-shadow:none!important;transform:none!important}
html[data-data-page] main :is(.stat-num,.stat-value,.n){font-family:'Space Grotesk',Inter,system-ui,sans-serif!important;font-variant-numeric:tabular-nums;font-size:clamp(26px,3vw,40px)!important;font-weight:650;color:#eef2f7!important;line-height:1.2;background:none!important;-webkit-text-fill-color:currentColor!important}
html[data-data-page] main :is(.stat-label,.stat .l){font-family:Inter,system-ui,sans-serif!important;font-size:12px!important;line-height:1.5;color:#a8b3c2!important;letter-spacing:.015em;text-transform:none!important;margin-top:8px}
html[data-data-page] main :is(.panel,.chart-box){min-width:0;background:#0c1118!important;border:1px solid rgba(148,163,184,.16)!important;border-radius:14px!important;box-shadow:none!important}
html[data-data-page] main :is(.panel-title,.chart-title){font-size:21px!important;color:#eef2f7!important;line-height:1.4}
/* Dataset: scan the evidence, then choose a download format. */
html[data-data-page=dataset] main>.container{max-width:1200px!important;padding:48px 24px 64px}
html[data-data-page=dataset] .lead{max-width:68ch;font-size:17px!important;line-height:1.7;color:#a8b3c2}
html[data-data-page=dataset] .stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:28px 0 40px}
html[data-data-page=dataset] .stat{text-align:start;padding:24px}
html[data-data-page=dataset] .badges{gap:8px 16px}
html[data-data-page=dataset][data-page=dataset] .badges .badge{padding:4px 0!important;min-height:0!important;background:none!important;border:0!important;border-radius:0!important;color:#a8b3c2!important;letter-spacing:.02em!important;text-transform:none!important;font:500 13px/1.5 Inter,system-ui,sans-serif!important}
html[data-data-page=dataset] .downloads{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0 48px}
html[data-data-page=dataset] .dl{align-items:flex-start;min-width:0;padding:24px;background:#0c1118;border-color:rgba(148,163,184,.16);border-radius:12px;transition:transform .2s ease-out,border-color .2s ease-out,background-color .2s ease-out}
html[data-data-page=dataset] .dl .info{min-width:0}
html[data-data-page=dataset] .dl .title{font-size:16px;line-height:1.4;font-weight:600}
html[data-data-page=dataset] .dl .desc{font-size:14px;line-height:1.6;margin-top:8px}
html[data-data-page=dataset] .dl i{font-size:20px;color:#55b8d6;flex:0 0 24px;line-height:1.5}
html[data-data-page=dataset] .dl::after{color:#a8b3c2}
html[data-data-page=dataset] .dl:hover{background:#111925;border-color:#526572;transform:translateY(-2px)}
html[data-data-page=dataset] main h2{font-size:28px;margin:40px 0 16px}
html[data-data-page=dataset] .license-box{border-inline-start:2px solid #35c982;border-left-width:0;padding:24px;background:#0c1118;border-radius:0 12px 12px 0;font-size:16px;line-height:1.7}
html[data-data-page=dataset]:not([dir=rtl]) .license-box{border-left-width:2px}
html[data-data-page=dataset][dir=rtl] .dl::after{content:'←'}
/* DNS charts: preserve a usable bar width and readable provider names on phones. */
html[data-data-page=dns] main{max-width:1248px;margin:0 auto;padding:48px 24px 64px!important}
html[data-data-page=dns] main>.container{padding:0!important;max-width:none}
html[data-data-page=dns] main h1,html[data-data-page=dns] .subtitle{text-align:start}
html[data-data-page=dns] .subtitle{font-size:17px;color:#a8b3c2;line-height:1.6;margin:0 0 32px}
html[data-data-page=dns] :is(.stats-box,.stats-grid){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 32px}
html[data-data-page=dns] :is(.stat,.stat-box){padding:24px;text-align:start}
html[data-data-page=dns] :is(.chart-container,.charts-grid){gap:24px;grid-template-columns:repeat(2,minmax(0,1fr))}
html[data-data-page=dns] .chart-box{padding:24px}
html[data-data-page=dns] .bar-item{display:grid;grid-template-columns:24px minmax(100px,1fr) minmax(40px,1fr) 90px;gap:8px;margin-bottom:16px}
html[data-data-page=dns] .bar-name{width:auto;white-space:normal;overflow-wrap:anywhere;font-size:14px}
html[data-data-page=dns] .bar-rank{width:auto;color:#a8b3c2;font-size:12px}
html[data-data-page=dns] .bar-value{width:auto;font-size:13px;color:#a8b3c2;font-variant-numeric:tabular-nums;text-align:end}
html[data-data-page=dns] .bar-container{width:100%;height:12px;margin:0;border-radius:3px;background:#202c39}
html[data-data-page=dns] .bar{border-radius:3px;transition:none;background:#55b8d6!important}
html[data-data-page=dns] .section-divider{height:1px;background:rgba(148,163,184,.16);margin:48px 0 32px}
html[data-data-page=dns] .section-title{text-align:start;font-size:28px!important;margin:0 0 24px}
/* Registrar report: panels must remain visible when motion is disabled. */
html[data-data-page=registrars] body>.container{max-width:1280px!important;margin-inline:auto!important;padding:48px 24px 64px}
html[data-data-page=registrars] .header{text-align:start;margin-bottom:32px}
html[data-data-page=registrars] .header::before{display:none}
html[data-data-page=registrars] .header .badge{border-radius:6px;animation:none;letter-spacing:.04em;color:#a8b3c2;background:#0c1118;border-color:rgba(148,163,184,.2)}
html[data-data-page=registrars] .header .subtitle{max-width:68ch;font-size:17px;line-height:1.6;color:#a8b3c2}
html[data-data-page=registrars] .stats-grid{gap:16px;margin-bottom:32px}
html[data-data-page=registrars] .stat-card{padding:24px;text-align:start;animation:none}
html[data-data-page=registrars] .stat-card::before{display:none!important}
html[data-data-page=registrars] .stat-value.danger{color:#f15b64!important}
html[data-data-page=registrars] .stat-value.warning{color:#e9ad45!important}
html[data-data-page=registrars] .main-grid{gap:24px}
html[data-data-page=registrars] main .panel{opacity:1;animation:none;padding:24px}
html[data-data-page=registrars] .panel-header{flex-wrap:wrap;gap:12px;margin-bottom:24px}
html[data-data-page=registrars] .panel-badge{background:none;border-radius:0;padding:0;color:#a8b3c2;font:500 12px/1.5 Inter,system-ui,sans-serif;letter-spacing:.04em}
html[data-data-page=registrars] .panel-title-icon{display:none}
html[data-data-page=registrars] :is(.bar-item,.response-item){grid-template-columns:20px minmax(100px,1fr) minmax(24px,1fr) 106px;gap:8px}
html[data-data-page=registrars] :is(.bar-fill,.response-bar){transition:none;border-radius:3px;transform-origin:left;box-shadow:none}
html[data-data-page=registrars][dir=rtl] :is(.bar-fill,.response-bar){transform-origin:right}
html[data-data-page=registrars] .bar-fill:not(.red){background:#55b8d6}
html[data-data-page=registrars] :is(.bar-track,.response-track){height:12px;border-radius:3px;background:#202c39}
html[data-data-page=registrars] .highlight-card{background:#111219;border-color:rgba(241,91,100,.25);border-radius:12px;box-shadow:none}
html[data-data-page=registrars] .highlight-content h2{font-size:22px!important;line-height:1.35!important;margin:0 0 12px!important}
html[data-data-page=registrars] .highlight-content p{font-size:16px;line-height:1.7}
/* Impact: a readable introduction and consistent section rhythm. */
html[data-data-page=impact] main>.hero{padding:48px 24px!important;background:#0c1118!important;border:0!important;border-bottom:1px solid rgba(148,163,184,.16)!important;border-radius:0!important}
html[data-data-page=impact] .hero h1{max-width:24ch;margin:24px auto!important}
html[data-data-page=impact] .hero .subtitle{font-size:17px!important;line-height:1.7!important;text-transform:none!important;letter-spacing:0!important;max-width:68ch!important}
html[data-data-page=impact] main>.hero .live-counter-banner{max-width:920px;margin:28px auto 0;border-radius:12px!important;background:#111925!important}
html[data-data-page=impact] main>.hero .live-counter-banner::before{display:none}
html[data-data-page=impact] .live-counter-value{font-family:'Space Grotesk',Inter,system-ui,sans-serif!important;font-variant-numeric:tabular-nums;color:#eef2f7!important;background:none!important;-webkit-text-fill-color:currentColor!important}
html[data-data-page=impact] main>.hero .pd-audio{max-width:760px}
html[data-data-page=impact] .chart-fallback{margin:0;display:grid;gap:0;font-size:14px;font-variant-numeric:tabular-nums}
html[data-data-page=impact] .chart-fallback>div{display:flex;justify-content:space-between;gap:24px;padding:10px 0;border-bottom:1px solid rgba(148,163,184,.16)}
html[data-data-page=impact] .chart-fallback dt{color:#a8b3c2}
html[data-data-page=impact] .chart-fallback dd{margin:0;color:#eef2f7;font-weight:600}
html[data-data-page=impact] .chart-container:has(.chart-fallback){height:auto;min-height:280px}
@media(max-width:900px){
 html[data-data-page=dns] :is(.chart-container,.charts-grid){grid-template-columns:minmax(0,1fr)}
}
@media(max-width:700px){
 html[data-data-page=dataset] main>.container,html[data-data-page=dns] main,html[data-data-page=registrars] body>.container{padding:32px 16px 48px!important}
 html[data-data-page=dataset] .stats,html[data-data-page=registrars] .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 html[data-data-page] main :is(.stat,.stat-box,.stat-card){padding:16px!important}
 html[data-data-page=dataset] .downloads{grid-template-columns:minmax(0,1fr)}
 html[data-data-page=dataset] .dl{padding:20px;gap:12px}
 html[data-data-page=dns] :is(.stats-box,.stats-grid){grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 html[data-data-page=dns] :is(.stats-box,.stats-grid)>:last-child:nth-child(odd){grid-column:1/-1}
 html[data-data-page=dns] .chart-box,html[data-data-page=registrars] main .panel{padding:20px}
 html[data-data-page=dns] .bar-item,html[data-data-page=registrars] :is(.bar-item,.response-item){grid-template-columns:20px minmax(0,1fr) auto;gap:8px;margin-bottom:16px}
 html[data-data-page=dns] .bar-container,html[data-data-page=registrars] :is(.bar-track,.response-track){grid-column:2/4;grid-row:2;height:8px}
 html[data-data-page=dns] .bar-value,html[data-data-page=registrars] :is(.bar-value,.response-time){grid-column:3;grid-row:1;max-width:120px;white-space:normal}
 html[data-data-page=impact] main>.hero{padding:32px 16px!important}
 html[data-data-page=impact] main>.hero .subtitle{font-size:16px!important}
}
@media(prefers-reduced-motion:no-preference){
 html[data-data-page=registrars] :is(.bar-fill,.response-bar){animation:pd-data-bar .24s ease-out both}
 @keyframes pd-data-bar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
}
@media(prefers-reduced-motion:reduce){
 html[data-data-page] main :is(.dl,.panel,.stat-card,.bar-fill,.response-bar){animation:none!important;transition:none!important;transform:none!important}
}
/* Crypto archive: introduction and illustration share the first screen. */
html[data-data-page=hacks] body>.relative{padding-top:0!important}
html[data-data-page=hacks] body>.relative>.container{max-width:1248px!important;margin-inline:auto!important;padding:40px 24px 64px!important}
html[data-data-page=hacks] .hw-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:20px 48px;align-items:center;text-align:start;margin-bottom:40px!important}
html[data-data-page=hacks] .hw-hero h1{grid-column:1;grid-row:1;margin:0!important;font:650 clamp(36px,4.3vw,56px)/1.1 'Space Grotesk',Inter,system-ui,sans-serif!important;letter-spacing:-.035em!important;text-transform:none!important}
html[data-data-page=hacks] .hw-hero>.pd-pdf-dl{grid-column:1;grid-row:3;justify-content:flex-start!important;margin:0!important}
html[data-data-page=hacks] .hw-hero>p{grid-column:1;grid-row:2;font-size:17px!important;line-height:1.7!important;margin:0!important}
html[data-data-page=hacks] .hw-hero>.hw-hero-art{grid-column:2;grid-row:1/4;width:100%;max-width:none!important;margin:0!important;padding:0!important;border-radius:12px;overflow:hidden;border:1px solid rgba(148,163,184,.16)}
html[data-data-page=hacks] .hw-hero>.hw-background{grid-column:1/-1;margin:12px 0 0!important;padding:0!important;border-top:1px solid rgba(148,163,184,.16)}
html[data-data-page=hacks] .hw-background summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;color:#a8b3c2;font-size:14px;font-weight:600;cursor:pointer;list-style:none}
html[data-data-page=hacks] .hw-background summary::-webkit-details-marker{display:none}
html[data-data-page=hacks] .hw-background summary::after{content:'+';font-size:22px;color:#55b8d6}
html[data-data-page=hacks] .hw-background[open] summary::after{content:'−'}
html[data-data-page=hacks] .hw-background p{max-width:72ch;font-size:16px!important;line-height:1.7!important;margin:16px 0!important}
html[data-data-page=hacks] #hacks-grid{gap:20px}
html[data-data-page=hacks] .hack-card{min-width:0;background:#0c1118!important;border:1px solid rgba(148,163,184,.16)!important;border-radius:12px!important;transform:none!important;box-shadow:none!important;padding:24px!important}
html[data-data-page=hacks] #hacks-grid .hack-card h2{font-size:20px!important;line-height:1.35!important;margin:0!important}
html[data-data-page=hacks] #hacks-grid .hack-card p{font-size:15px!important;line-height:1.65!important}
html[data-data-page=hacks] .hack-card:hover{border-color:#526572!important}
html[data-data-page=hacks] .chart-fallback{max-height:320px;overflow:auto;font-variant-numeric:tabular-nums}
html[data-data-page=hacks] .chart-fallback>div{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid rgba(148,163,184,.16)}
html[data-data-page=hacks] .chart-fallback dd{margin:0}
@media(max-width:700px){
 html[data-data-page=hacks] body>.relative>.container{padding:32px 16px 48px!important}
 html[data-data-page=hacks] .hw-hero{grid-template-columns:minmax(0,1fr);gap:20px}
 html[data-data-page=hacks] .hw-hero>.hw-hero-art{grid-column:1;grid-row:4;max-width:440px!important}
 html[data-data-page=hacks] .hw-hero>.hw-background{grid-row:5}
 html[data-data-page=hacks] #hacks-grid .hack-card{padding:20px!important}
}
/* This legacy page has a fixed header but no header offset in its base stylesheet. */
html[data-data-page=dns] body{padding-top:72px!important}
@media(max-width:900px){html[data-data-page=dns] body{padding-top:64px!important}}
html[data-data-page=hacks] .hw-hero{margin-bottom:24px!important}
html[data-data-page=hacks] body>.relative>.container>section:first-of-type{padding:24px 0!important;margin:0 0 32px!important}
html[data-data-page=hacks] body>.relative>.container>section:first-of-type .stat-card{background:#0c1118!important;border:1px solid rgba(148,163,184,.16)!important;border-radius:12px!important;padding:24px!important;box-shadow:none!important}
html[data-data-page=hacks] body>.relative>.container>section:first-of-type .stat-card h2{font:500 13px/1.5 Inter,system-ui,sans-serif!important;letter-spacing:.01em!important;text-transform:none!important;color:#a8b3c2!important;margin:0 0 12px!important}
html[data-data-page=hacks] :is(#global-total-lost,#global-total-hacks,#total-hacks-archive){font:650 clamp(28px,3vw,40px)/1.2 'Space Grotesk',Inter,system-ui,sans-serif!important;font-variant-numeric:tabular-nums;color:#eef2f7!important;margin:0!important}
html[data-data-page=hacks] #bg-canvas{display:none}
