/* Local fonts are preloaded by blog pages; optional display prevents late font swaps/CLS. */
@font-face{font-family:"Oswald";src:url("/oswald.woff2") format("woff2");font-style:normal;font-weight:500 700;font-display:optional}
@font-face{font-family:"Space Mono";src:url("/space-mono-regular.woff2") format("woff2");font-style:normal;font-weight:400;font-display:optional}
@font-face{font-family:"Space Mono";src:url("/space-mono-bold.woff2") format("woff2");font-style:normal;font-weight:700;font-display:optional}
/* Apocalypse Closet unified site header + footer — 2026-08-07 */
:root{
  --ac-shell-bg:#080808;
  --ac-shell-panel:#0d0d0d;
  --ac-shell-text:#f4f1ea;
  --ac-shell-muted:#c4bfb6;
  --ac-shell-line:#282828;
  --ac-shell-accent:#f0ece4;
  --ac-shell-danger:#d87970;
  --ac-shell-header-h:68px;
}
html{scroll-padding-top:calc(var(--ac-shell-header-h) + 14px)}
body.ac-site-shell{overflow-x:hidden}
.ac-site-header,.ac-site-footer{
  box-sizing:border-box!important;
  width:100vw!important;
  max-width:none!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  font-family:"Space Mono",ui-monospace,SFMono-Regular,Consolas,monospace!important;
  color:var(--ac-shell-text)!important;
}
.ac-site-header{
  min-height:var(--ac-shell-header-h)!important;
  height:auto!important;
  padding:10px clamp(14px,3vw,34px)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  position:sticky!important;
  inset:auto!important;
  top:0!important;
  z-index:9999!important;
  overflow:visible!important;
  background:rgba(8,8,8,.96)!important;
  border:0!important;
  border-bottom:1px solid var(--ac-shell-line)!important;
  box-shadow:0 8px 28px rgba(0,0,0,.18)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
  transform:none!important;
}
.ac-brand{
  display:inline-flex!important;
  align-items:center!important;
  flex:0 0 auto!important;
  gap:10px!important;
  min-width:0!important;
  color:var(--ac-shell-text)!important;
  text-decoration:none!important;
  background:none!important;
  border:0!important;
  padding:0!important;
  margin:0!important;
}
.ac-brand-mark{display:block!important;width:44px!important;height:44px!important;object-fit:contain!important;flex:0 0 auto!important}
.ac-brand-wordmark{display:block!important;width:auto!important;height:29px!important;max-width:190px!important;object-fit:contain!important;mix-blend-mode:screen!important}
.ac-primary-nav{
  position:static!important;
  inset:auto!important;
  height:auto!important;
  min-height:0!important;
  width:auto!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:none!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:nowrap!important;
  gap:4px!important;
  overflow:visible!important;
}
.ac-primary-nav>a,.ac-dropdown-toggle,.ac-context-button,.ac-user-action{
  box-sizing:border-box!important;
  min-height:38px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  padding:9px 11px!important;
  margin:0!important;
  color:var(--ac-shell-muted)!important;
  background:transparent!important;
  border:1px solid transparent!important;
  border-radius:2px!important;
  font:700 10px/1 "Space Mono",ui-monospace,monospace!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  cursor:pointer!important;
  transition:color .18s ease,border-color .18s ease,background .18s ease!important;
}
.ac-primary-nav>a:hover,.ac-primary-nav>a:focus-visible,.ac-dropdown-toggle:hover,.ac-dropdown-toggle:focus-visible,.ac-context-button:hover,.ac-context-button:focus-visible,.ac-user-action:hover,.ac-user-action:focus-visible,
.ac-primary-nav>a.is-active,.ac-dropdown-toggle.is-active{
  color:var(--ac-shell-text)!important;
  border-color:#3a3a3a!important;
  background:#151515!important;
  outline:none!important;
}
.ac-primary-nav>a.is-active,.ac-dropdown-toggle.is-active{border-color:#5a5a5a!important}
.ac-nav-dropdown{position:relative!important;display:block!important;margin:0!important;padding:0!important}
.ac-dropdown-toggle svg{width:12px!important;height:12px!important;transition:transform .18s ease!important}
.ac-nav-dropdown.is-open .ac-dropdown-toggle svg{transform:rotate(180deg)!important}
.ac-dropdown-menu{
  display:none!important;
  position:absolute!important;
  z-index:10001!important;
  top:calc(100% + 8px)!important;
  right:0!important;
  left:auto!important;
  min-width:232px!important;
  padding:7px!important;
  margin:0!important;
  background:#101010!important;
  border:1px solid #303030!important;
  box-shadow:0 20px 50px rgba(0,0,0,.55)!important;
}
.ac-nav-dropdown.is-open .ac-dropdown-menu,.ac-nav-dropdown:focus-within .ac-dropdown-menu{display:grid!important}
@media (hover:hover) and (min-width:961px){
  /* Invisible hover bridge closes the 8px visual gap between the trigger and menu. */
  .ac-nav-dropdown::after{
    content:""!important;
    position:absolute!important;
    z-index:10000!important;
    top:100%!important;
    left:0!important;
    right:0!important;
    height:10px!important;
  }
  .ac-nav-dropdown:hover .ac-dropdown-menu,
  .ac-nav-dropdown:focus-within .ac-dropdown-menu{display:grid!important}
  .ac-nav-dropdown:hover .ac-dropdown-toggle,
  .ac-nav-dropdown:focus-within .ac-dropdown-toggle{
    color:var(--ac-shell-text)!important;
    border-color:#3a3a3a!important;
    background:#151515!important;
  }
  .ac-nav-dropdown:hover .ac-dropdown-toggle svg,
  .ac-nav-dropdown:focus-within .ac-dropdown-toggle svg{transform:rotate(180deg)!important}
}
.ac-dropdown-menu a{
  display:block!important;
  padding:11px 12px!important;
  color:var(--ac-shell-muted)!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  text-decoration:none!important;
  font:700 10px/1.35 "Space Mono",ui-monospace,monospace!important;
  letter-spacing:.04em!important;
  text-transform:none!important;
  white-space:normal!important;
}
.ac-dropdown-menu a:hover,.ac-dropdown-menu a:focus-visible,.ac-dropdown-menu a.is-active{color:var(--ac-shell-text)!important;background:#1b1b1b!important;outline:none!important}
.ac-menu-toggle{
  display:none!important;
  width:42px!important;
  height:42px!important;
  padding:0!important;
  margin:0!important;
  align-items:center!important;
  justify-content:center!important;
  color:var(--ac-shell-text)!important;
  background:#111!important;
  border:1px solid #333!important;
  border-radius:2px!important;
  cursor:pointer!important;
}
.ac-menu-toggle svg{width:20px!important;height:20px!important}
.ac-context-button{color:var(--ac-shell-text)!important;border-color:#454545!important}
.ac-context-button[data-ac-action="reload"]{font-size:17px!important;padding-inline:11px!important}
.ac-user-panel{display:flex!important;align-items:center!important;gap:7px!important;margin-left:4px!important}
.ac-user-identity{display:flex!important;align-items:center!important;gap:7px!important;max-width:170px!important;color:var(--ac-shell-muted)!important;font:700 9px/1.2 "Space Mono",monospace!important;letter-spacing:.04em!important}
.ac-user-identity img{display:block!important;width:28px!important;height:28px!important;border-radius:50%!important;object-fit:cover!important;border:1px solid #333!important}
.ac-user-identity span{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.ac-user-action{min-height:32px!important;padding:7px 9px!important;font-size:8px!important;border-color:#333!important}
.ac-user-action.ac-danger{color:#d89a94!important;border-color:#55302d!important}
body:not(.auth-ready).ac-closet-page .ac-user-panel{visibility:hidden!important}
.ac-site-footer{
  position:relative!important;
  z-index:2!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  margin-top:64px!important;
  padding:42px clamp(18px,4vw,56px) 24px!important;
  color:var(--ac-shell-muted)!important;
  background:#080808!important;
  border:0!important;
  border-top:1px solid var(--ac-shell-line)!important;
  text-align:left!important;
  font-size:11px!important;
  line-height:1.65!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.ac-footer-grid{max-width:1220px!important;margin:0 auto!important;display:grid!important;grid-template-columns:minmax(250px,1.4fr) repeat(3,minmax(150px,1fr))!important;gap:34px!important}
.ac-footer-brand{display:flex!important;align-items:center!important;gap:10px!important;width:max-content!important;min-height:0!important;margin:0 0 13px!important;padding:0!important;color:var(--ac-shell-text)!important;background:none!important;border:0!important;text-decoration:none!important}
.ac-footer-brand img:first-child{width:40px!important;height:40px!important;object-fit:contain!important}.ac-footer-brand img:last-child{height:27px!important;width:auto!important;max-width:190px!important;object-fit:contain!important;mix-blend-mode:screen!important}
.ac-footer-about p{max-width:460px!important;margin:0!important;color:#c4bfb6!important;font-size:11px!important;line-height:1.75!important}
.ac-footer-title{display:block!important;margin:0 0 12px!important;color:#f4f1ea!important;font:700 11px/1.3 "Space Mono",monospace!important;letter-spacing:.09em!important;text-transform:uppercase!important}
.ac-footer-links{display:grid!important;gap:8px!important;margin:0!important;padding:0!important;list-style:none!important}
.ac-footer-links a{display:inline!important;width:auto!important;min-height:0!important;margin:0!important;padding:0!important;color:#d0cbc2!important;background:none!important;border:0!important;border-radius:0!important;text-decoration:underline!important;text-decoration-color:#66615b!important;text-decoration-thickness:1px!important;text-underline-offset:3px!important;font-size:11px!important;line-height:1.55!important;letter-spacing:.01em!important;text-transform:none!important}
.ac-footer-links a:hover,.ac-footer-links a:focus-visible{color:#fff!important;text-decoration-color:currentColor!important;outline:2px solid #f4f1ea!important;outline-offset:3px!important}
.ac-footer-bottom{max-width:1220px!important;margin:34px auto 0!important;padding-top:18px!important;border-top:1px solid #303030!important;display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:20px!important;flex-wrap:wrap!important;color:#c4bfb6!important;font-size:10px!important;line-height:1.7!important;letter-spacing:.02em!important;text-transform:none!important}
.ac-affiliate-note{max-width:580px!important;text-align:right!important;color:#c4bfb6!important;text-transform:none!important;letter-spacing:0!important}
@media (max-width:1080px){
  .ac-brand-wordmark{max-width:150px!important}
  .ac-primary-nav>a,.ac-dropdown-toggle,.ac-context-button{padding-inline:8px!important;font-size:9px!important;letter-spacing:.05em!important}
}
@media (max-width:960px){
  :root{--ac-shell-header-h:62px}
  .ac-site-header{min-height:62px!important;padding:8px 14px!important;flex-wrap:wrap!important}
  .ac-brand-mark{width:40px!important;height:40px!important}.ac-brand-wordmark{height:25px!important;max-width:155px!important}
  .ac-menu-toggle{display:inline-flex!important;margin-left:auto!important}
  .ac-primary-nav{
    display:none!important;
    order:3!important;
    flex:1 0 100%!important;
    width:100%!important;
    padding:8px 0 5px!important;
    border-top:1px solid #222!important;
    grid-template-columns:1fr 1fr!important;
    gap:6px!important;
    align-items:stretch!important;
  }
  .ac-site-header.is-menu-open .ac-primary-nav{display:grid!important}
  .ac-primary-nav>a,.ac-dropdown-toggle,.ac-context-button{width:100%!important;min-height:42px!important;justify-content:flex-start!important;padding:11px 12px!important;border-color:#252525!important;background:#101010!important}
  .ac-nav-dropdown{grid-column:1/-1!important}
  .ac-dropdown-toggle{justify-content:space-between!important}
  .ac-dropdown-menu{position:static!important;min-width:0!important;margin-top:5px!important;box-shadow:none!important;border-color:#252525!important}
  .ac-user-panel{grid-column:1/-1!important;width:100%!important;display:grid!important;grid-template-columns:1fr auto auto!important;margin:0!important;padding:7px!important;border:1px solid #252525!important;background:#101010!important}
  .ac-user-identity{max-width:none!important}
  .ac-footer-grid{grid-template-columns:1.4fr 1fr!important}
}
@media (max-width:620px){
  .ac-brand-wordmark{height:23px!important;max-width:132px!important}
  .ac-primary-nav{grid-template-columns:1fr!important}
  .ac-nav-dropdown,.ac-user-panel{grid-column:1!important}
  .ac-footer-grid{grid-template-columns:1fr!important;gap:26px!important}
  .ac-site-footer{padding-top:34px!important}
  .ac-footer-bottom{display:block!important}.ac-affiliate-note{text-align:left!important;margin-top:8px!important}
}
/* Auth page originally centers the whole body; make room for the shared shell. */
body.ac-auth-page{display:block!important;min-height:100vh!important;overflow-x:hidden!important;overflow-y:auto!important;padding:0!important}
body.ac-auth-page>.card{margin:64px auto 72px!important}
body.ac-auth-page>.back{display:none!important}
/* Trust/privacy pages sometimes place padding directly on body. Keep full-width shell while preserving content spacing. */
body.ac-privacy-page>.wrap{padding-top:30px!important;padding-bottom:20px!important}
body.ac-privacy-page>.wrap>.back{display:none!important}
/* Closet used to hide its footer and had a separate nav. */
body.ac-closet-page>.ac-site-footer{visibility:visible!important}
@media (prefers-reduced-motion:reduce){.ac-site-header *,.ac-site-footer *{transition:none!important;scroll-behavior:auto!important}}

/* A11Y 2026-08-07: links inside prose must not rely on color alone. */
.ac-site-shell :where(.article-content,.faq-section,.seo-faq,.hub-main,.trust-page,.privacy-content) p a,
.ac-site-shell :where(.article-content,.faq-section,.seo-faq,.hub-main,.trust-page,.privacy-content) li a{
  color:#ff8b80!important;text-decoration-line:underline!important;text-decoration-color:currentColor!important;
  text-decoration-thickness:1.5px!important;text-underline-offset:4px!important;text-decoration-skip-ink:auto!important;
}
.ac-site-shell :where(.article-content,.faq-section,.seo-faq,.hub-main,.trust-page,.privacy-content) p a:hover,
.ac-site-shell :where(.article-content,.faq-section,.seo-faq,.hub-main,.trust-page,.privacy-content) li a:hover{color:#ffd3ce!important;text-decoration-thickness:2px!important}
.ac-site-shell a:focus-visible,.ac-site-shell button:focus-visible{outline:3px solid #f4f1ea!important;outline-offset:3px!important}
.ac-footer-bottom>span{color:#c4bfb6!important}
@media(max-width:620px){.ac-footer-links a{display:inline-flex!important;align-items:center!important;min-height:44px!important;padding:7px 0!important}}
