/* ASPN Club build 75ae1: offline shell state. Additive; reuses the app's
   .card/.btn/.eyebrow language and per-theme tokens, so day and night render
   with the real stylesheets. */
#aspn-offline{position:fixed;inset:0;z-index:8000;display:grid;place-items:center;padding:24px;background:radial-gradient(110% 55% at 88% -8%,var(--phase-glow,#f0e7db) 0%,transparent 58%),var(--ivory,#FAF8F4)}
#aspn-offline .of-card{max-width:420px;width:100%;text-align:center;padding:36px 28px;background:var(--glass-strong,var(--paper,#fff));color:var(--ink,#2b2620);border:1px solid var(--line,rgba(0,0,0,.08))}
#aspn-offline .of-logo{width:88px;margin:0 auto 14px;display:block}
#aspn-offline .eyebrow{letter-spacing:.14em;margin:0 0 6px}
/* pin text to theme ink: app.css styles bare h1 for the light auth screens */
#aspn-offline h1{margin:0 0 10px;font-size:clamp(24px,4.6vh,34px);color:var(--ink,#2b2620)}
#aspn-offline .eyebrow{color:var(--sand-text,#8a6a4d)}
#aspn-offline .of-copy{color:var(--ink-2,#6b6257);font-size:15px;line-height:1.55;margin:0 0 20px}
#aspn-offline .btn.grow{width:100%;min-height:46px}
#aspn-offline .of-note{margin:14px 0 0;font-size:12.5px;color:var(--ink-3,#98897a)}
#aspn-offline.of-returning .of-card{border-color:var(--good,#7fa176)}
html[data-theme=night] #aspn-offline .of-logo,html[data-theme=sunset] #aspn-offline .of-logo{filter:brightness(0) invert(.92)}
#aspn-offline-bar{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(14px + env(safe-area-inset-bottom));z-index:8000;max-width:min(92vw,480px);padding:10px 16px;border-radius:999px;background:var(--glass-strong,var(--paper,#fff));color:var(--ink,#2b2620);border:1px solid var(--line,rgba(0,0,0,.08));font-size:13.5px;box-shadow:var(--shadow-sm,0 6px 18px -10px rgba(0,0,0,.25))}
@media (prefers-reduced-transparency:reduce){
  #aspn-offline .of-card,#aspn-offline-bar{background:var(--paper,#fff)}
}
