@font-face{font-family:D-DIN;src:url('/fonts/D-DIN.otf');font-weight:100 500;font-display:swap}
@font-face{font-family:D-DIN;src:url('/fonts/D-DIN-Bold.otf');font-weight:600 900;font-display:swap}
*{box-sizing:border-box}html{background:#080a0b;scroll-behavior:smooth;overflow-anchor:none}body{margin:0;background:#080a0b;color:#171717;font-family:D-DIN,Arial,sans-serif;-webkit-font-smoothing:antialiased;overflow-anchor:none}.skip{position:fixed;top:-80px;left:16px;z-index:200;padding:10px 14px;background:#171717;color:#fff;text-decoration:none}.skip:focus{top:12px}.wrap{width:min(1055px,calc(100% - 64px));margin-inline:auto}.research-embed{display:block;width:100%;min-height:calc(100dvh - 72px);border:0;background:#fff;overflow:hidden}.research-footer{display:flex;justify-content:space-between;gap:32px;padding:28px 0 34px;border-top:0;color:#777;font-size:12px;line-height:18px}.research-footer a{color:#171717;text-decoration:none}.research-footer a:hover{text-decoration:underline;text-underline-offset:3px}@media(max-width:1024px),(pointer:coarse) and (max-width:1366px){.research-embed{min-height:100dvh}.research-footer{padding-top:24px}}@media(max-width:640px){.wrap{width:calc(100% - 40px)}.research-footer{flex-direction:column;gap:10px}}
.is-standalone .topbar,.is-standalone .research-footer,.is-standalone>.skip{display:none!important}

/* Reserve the fixed navigation height without changing the header-free share view. */
html:not(.is-standalone) #article{padding-top:calc(72px * var(--header-scale,1))}
@media(min-width:1025px) and (pointer:fine),(min-width:1367px){html.macbook-pro-14:not(.is-standalone) #article{padding-top:calc(104px * var(--header-scale,1))}}
@media(max-width:1024px),(pointer:coarse) and (max-width:1366px){
  html:not(.is-standalone) #article{padding-top:calc(64px + env(safe-area-inset-top))}
  .topbar .mobile-logo img{filter:brightness(0)}
  .topbar.mobile-header--light{--nav-muted:#171717}
}

.topbar .mobile-logo xgen-logo-particles{display:block;width:100%;height:100%;filter:brightness(0)}
.topbar .mobile-logo xgen-logo-particles>img{width:100%;height:100%;max-width:none;object-fit:fill}
.topbar .mobile-logo xgen-logo-particles>canvas{width:167%;height:169%}

/* Mobile's static image is 28px. Give the animation the same geometry instead
   of sizing its settled logo from the larger navigation slot. */
@media(max-width:1024px),(pointer:coarse) and (max-width:1366px){
  .topbar .mobile-logo xgen-logo-particles{flex:0 0 28px;width:28px;height:28px}
  /* A 67 x 64 source is centered inside the 112 x 108 particle canvas. */
  .topbar .mobile-logo xgen-logo-particles>canvas{width:167.1641791045%;height:168.75%}
}

header.topbar.mobile-header--light{--nav-ink:#171717;--nav-muted:#171717}

/* Follow the actual DAO section boundary, including lazy-loaded height changes. */
header.topbar.is-dark{--header-ink:#fff;--header-muted:#fff;--nav-ink:#fff;--nav-muted:#fff;--nav-veil:#080a0bd9;color:#fff}
.topbar.is-dark::before{background:#080a0bd9}
.topbar.is-dark .map-tabs :is(a,button){color:#fff}
.topbar.is-dark .mobile-logo xgen-logo-particles{filter:brightness(0) invert(1)}

/* Continue the DAO surface into one compact footer. */
.research-footer{width:100%;max-width:none;margin:0;padding:20px max(40px,calc((100% - 1180px)/2));background:#080a0b;color:#959ba3;border-top:0}
.research-footer a{color:#dce0e5}
@media(max-width:640px){.research-footer{padding:16px 20px;gap:8px}}

/* Match the light veil extent to the original dark navigation fade. */
header.topbar:not(.is-dark)::before{inset:0;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);mask-image:linear-gradient(to bottom,#000 0 82%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0 82%,transparent 100%)}

/* Keep the light article while the canvas below its dark footer stays dark. */
#article{background:#fff}

/* The unpainted iframe is light; only its loaded bottom rounding uses DAO black. */
.research-embed{background:#fff}.research-embed.is-loaded{background:#080a0b}.research-footer{border:0;box-shadow:none}

@media(max-width:760px){.research-footer{padding-inline:20px}}
