@font-face{font-family:Fredoka;src:url(/fonts/fredoka.woff) format("woff");font-weight:300 700;font-display:swap}
:root{--bg:#1C1D21;--card:#26272D;--line:#33343B;--fg:#FAF7F0;--mut:#B9B5C2;--acc:#9B8CF2;--acc-d:#8676ea;--cream:#FEF7F0}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:17px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
h1,h2,h3,.logo,.kicker,.signup button,.nav nav a{font-family:Fredoka,ui-rounded,"Nunito",system-ui,sans-serif}
a{color:var(--acc)}main{max-width:760px;margin:0 auto;padding:1.25rem}
.nav{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.7rem 1.1rem;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5;background:rgba(28,29,33,.92);backdrop-filter:blur(8px)}
.logo{display:flex;align-items:center;gap:.55rem;font-weight:700;font-size:1.3rem;color:var(--fg);text-decoration:none;letter-spacing:-.01em}
.logo img{width:44px;height:44px;border-radius:50%;background:var(--cream);box-shadow:0 0 0 2px var(--line)}.logo b{color:var(--acc)}
.nav nav{display:flex;align-items:center}.nav nav a{color:var(--mut);text-decoration:none;margin-left:.9rem;font-weight:600}
.nav .cta{color:#17161c;background:var(--acc);padding:.4rem .9rem;border-radius:999px}
@media(max-width:420px){.nav nav a:not(.cta){display:none}.logo{font-size:1.15rem}}
.hero{padding:1.5rem 0 1rem;text-align:center;display:grid;gap:.5rem;align-items:center}
.hero-art,.glow{position:relative;display:flex;justify-content:center}
.hero-art::before,.glow::before{content:"";position:absolute;inset:-10% -15%;background:radial-gradient(closest-side,rgba(155,140,242,.45),rgba(155,140,242,.12) 55%,transparent 75%);filter:blur(10px);z-index:0}
.mascot{position:relative;z-index:1;width:min(330px,72vw);height:auto;animation:float 5s ease-in-out infinite;filter:drop-shadow(0 18px 24px rgba(0,0,0,.35))}
.glow{width:fit-content;margin:0 auto}.glow .mascot{width:min(220px,55vw)}
@keyframes float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-12px) rotate(-2deg)}}
@media(prefers-reduced-motion:reduce){.mascot{animation:none}}
@media(min-width:820px){main:has(.hero){max-width:1040px}.hero{grid-template-columns:1fr 1.15fr;text-align:left;padding:3rem 0 2rem}.hero-art{order:2}.mascot{width:380px}.hero .lede{margin:0}.hero .signup{margin-left:0}}
.solo{text-align:center;padding:2rem 0}.btn{display:inline-block;background:var(--acc);color:#17161c;padding:.75rem 1.3rem;border-radius:999px;font-family:Fredoka,sans-serif;font-weight:700;text-decoration:none}
.kicker{color:var(--acc);text-transform:uppercase;letter-spacing:.16em;font-size:.85rem;font-weight:600;margin:1.4rem 0 0}
h1{font-size:clamp(2rem,7vw,3.1rem);line-height:1.1;margin:.4rem 0 .9rem;font-weight:700}h1 span{color:var(--acc)}
.lede{color:var(--mut);font-size:1.08rem}.hero .lede{max-width:34em;margin:0 auto}
.sec{font-size:.9rem;text-transform:uppercase;letter-spacing:.12em;color:var(--mut);margin-top:2.5rem}
.signup{display:flex;flex-direction:column;gap:.6rem;margin:1.3rem auto 0;max-width:520px}
.signup input,.signup button{font:inherit;padding:.9rem 1.1rem;border-radius:999px;border:2px solid var(--line)}
.signup input{background:var(--card);color:var(--fg)}.signup input:focus{outline:none;border-color:var(--acc)}
.signup button{background:var(--acc);color:#17161c;border-color:var(--acc);font-weight:700;cursor:pointer;transition:transform .1s}.signup button:hover{background:var(--acc-d);transform:translateY(-1px)}
@media(min-width:560px){.signup{flex-direction:row}.signup input{flex:1}}
.fine{color:var(--mut);font-size:.82rem}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.card{display:block;background:var(--card);border:2px solid var(--line);border-radius:20px;padding:1.1rem 1.25rem;color:var(--fg);text-decoration:none;margin-bottom:1rem;transition:border-color .15s,transform .15s}
.card:hover{border-color:var(--acc);transform:translateY(-2px)}.card h3{margin:.3rem 0;font-size:1.25rem}.card p{margin:0;color:var(--mut)}
.num{color:var(--acc);font-size:.85rem;font-weight:600}.num a{color:var(--acc)}
.grid{display:grid;gap:1rem}@media(min-width:700px){.grid{grid-template-columns:1fr 1fr}.grid .card{margin:0}}
.issue h2{margin-top:2rem;font-size:1.4rem}.issue h2::before{content:"";display:inline-block;width:.55em;height:.55em;border-radius:50%;background:var(--acc);margin-right:.5em;vertical-align:.1em}
.issue strong{color:#fff}
.box{background:var(--card);border:2px solid var(--line);border-radius:20px;padding:1.3rem;margin:2.5rem 0;text-align:center}.box h2{margin:0}
.pn{display:flex;justify-content:space-between;margin:2rem 0}
footer{text-align:center;color:var(--mut);font-size:.85rem;padding:2rem 1rem;border-top:1px solid var(--line)}footer a{color:var(--mut)}footer .tag{font-family:Fredoka,sans-serif;letter-spacing:.14em;color:var(--fg)}
