/* NeverDawn pixel theme, shared by the home, vote and admin pages (the store keeps its own copy inline). */
:root {
  --bg:#0c0911; --panel:#1a1324; --panel-2:#221830; --slot:#0f0b16; --edge:#06040a;
  --text:#f1ebfa; --muted:#a79bbb; --am-1:#e9d5ff; --am-2:#c084fc; --am-3:#a855f7; --am-4:#7c3aed; --am-5:#4c1d95;
  --ok:#7dfc5c; --no:#ff5555; --gold:#ffd84a;
}
* { box-sizing:border-box; }
[hidden] { display:none !important; }
html { scroll-behavior:smooth; }
html, body { overflow-x:hidden; }
body { margin:0; font:17px/1.5 'Pixelify Sans', system-ui, sans-serif; color:var(--text); background:var(--bg); }
#bg { position:fixed; inset:0; width:100%; height:100%; z-index:-2; pointer-events:none; image-rendering:pixelated; }
body::before { content:''; position:fixed; inset:0; z-index:-1; pointer-events:none;
  background:radial-gradient(900px 500px at 50% -5%, rgba(124,58,237,.3), transparent 70%), radial-gradient(ellipse at center, transparent 55%, rgba(0,0,0,.55)); }
#fx { position:fixed; inset:0; z-index:70; pointer-events:none; }
a { color:inherit; }
button { font:inherit; color:inherit; }
:focus-visible { outline:3px solid #fff; outline-offset:2px; }
.px { font-family:'Silkscreen', monospace; letter-spacing:.02em; }
.wrap { width:100%; max-width:960px; margin:0 auto; padding:0 16px; }
.pix { display:block; width:62%; height:62%; shape-rendering:crispEdges; filter:drop-shadow(2px 2px 0 rgba(0,0,0,.5)); }

/* GUI pieces */
.gui { background:var(--panel); border:3px solid var(--edge);
  box-shadow:inset 3px 3px 0 rgba(255,255,255,.08), inset -3px -3px 0 rgba(0,0,0,.45), 0 10px 0 -4px rgba(0,0,0,.35); }
.slot { background:var(--slot); border:3px solid; border-color:#05030a #3a2d4c #3a2d4c #05030a; }
.mc-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:10px 16px; cursor:pointer; position:relative;
  font-family:'Silkscreen', monospace; font-size:14px; color:#fff; text-shadow:2px 2px 0 #2a0e4f; text-decoration:none;
  background:linear-gradient(180deg, #a463f2, #7c3aed); border:3px solid var(--edge);
  box-shadow:inset 3px 3px 0 rgba(255,255,255,.35), inset -3px -3px 0 rgba(0,0,0,.35); transition:filter .1s, transform .1s; }
.mc-btn:hover { filter:brightness(1.15); outline:3px solid #fff; outline-offset:-6px; }
.mc-btn:active { transform:translateY(2px); }
.mc-btn.stone { background:linear-gradient(180deg, #4a4256, #352d40); text-shadow:2px 2px 0 #111; }
.mc-btn.light { background:linear-gradient(180deg, #fff, #ddd0f0); color:var(--am-4); text-shadow:none; }
.mc-btn.discord { background:linear-gradient(180deg, #7983f5, #5865f2); text-shadow:2px 2px 0 #1e237a; }
.mc-btn.danger { background:linear-gradient(180deg, #e5534b, #9b2c2c); }
.mc-btn:disabled { filter:grayscale(.7) brightness(.7); cursor:not-allowed; outline:none; }
.mc-btn .pix { width:22px; height:22px; }
.mc-btn.sm { padding:6px 10px; font-size:12px; }
input, select, textarea { width:100%; padding:10px 12px; font:16px 'Pixelify Sans', sans-serif; color:var(--text); background:var(--slot);
  border:3px solid; border-color:#05030a #3a2d4c #3a2d4c #05030a; border-radius:0; outline:none; }
input:focus, select:focus, textarea:focus { border-color:var(--am-3); }
textarea { min-height:90px; resize:vertical; }

/* nav */
.nav { position:sticky; top:12px; z-index:20; margin-top:12px; }
.nav-in { display:flex; align-items:center; gap:4px; padding:6px; }
.nav .logo { display:flex; align-items:center; gap:8px; padding:0 10px 0 4px; text-decoration:none; font-size:15px; }
.nav .logo img { width:30px; height:30px; }
.nav a.link { padding:8px 10px; color:var(--muted); text-decoration:none; font-size:13px; font-family:'Silkscreen', monospace; }
.nav a.link:hover, .nav a.link.on { color:#fff; text-shadow:2px 2px 0 #000; }
.nav .spacer { flex:1; }
.nav .mc-btn { padding:6px 10px; font-size:12px; }
.site-links { display:flex; gap:2px; }
/* phones: the links drop to their own row under the logo instead of disappearing */
@media (max-width:640px) { .nav-in { flex-wrap:wrap; } .site-links { order:9; width:100%; justify-content:space-around; margin-top:4px; padding-top:4px; border-top:3px solid var(--edge); } }

/* hero + title */
.hero { text-align:center; padding:44px 0 24px; }
.hero-logo { width:110px; height:110px; display:block; margin:0 auto 14px; filter:drop-shadow(0 0 26px rgba(168,85,247,.75)); animation:bob 3.4s ease-in-out infinite; }
.title { margin:0; font-family:'Silkscreen', monospace; font-weight:700; font-size:clamp(30px, 7.6vw, 74px); line-height:1.1; letter-spacing:.02em; }
.letter { display:inline-block; cursor:default;
  background:linear-gradient(180deg, #fff 0 30%, var(--am-2) 30% 65%, var(--am-3) 65%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 4px 0 var(--am-5)) drop-shadow(0 4px 0 #2b0f55) drop-shadow(4px 4px 0 #000); opacity:0;
  transition:translate .18s ease-out, rotate .18s ease-out, scale .18s ease-out; }
.word { display:inline-block; white-space:nowrap; margin:0 .2em; }
body.ready .letter { animation:drop .7s cubic-bezier(.3,1.5,.5,1) both var(--d), float 2.8s ease-in-out infinite calc(var(--d) + .7s); }
@keyframes drop { from { opacity:0; transform:translateY(-140px) rotate(-14deg); } to { opacity:1; transform:none; } }
@keyframes float { 0%, 100% { opacity:1; transform:translateY(0); } 50% { opacity:1; transform:translateY(-10px); } }
@keyframes bob { 50% { transform:translateY(-9px); } }
.lead { color:var(--muted); font-size:19px; max-width:640px; margin:14px auto 0; }
.row { display:flex; justify-content:center; flex-wrap:wrap; gap:10px; margin-top:22px; }
.status { display:inline-flex; align-items:center; gap:8px; padding:10px 14px; font-family:'Silkscreen', monospace; font-size:12px; }
.dot { width:10px; height:10px; background:var(--ok); box-shadow:0 0 10px var(--ok); animation:pulse 2s infinite; }
@keyframes pulse { 50% { opacity:.4; } }

/* entrance + scroll reveal */
.enter { opacity:0; }
body.ready .enter { animation:rise .8s cubic-bezier(.2,.9,.25,1.15) both; animation-delay:var(--d, 0s); }
@keyframes rise { from { opacity:0; transform:translateY(46px) scale(.96); } to { opacity:1; transform:none; } }
body.ready .nav.enter { animation-name:slideDown; }
@keyframes slideDown { from { opacity:0; transform:translateY(-60px); } to { opacity:1; transform:none; } }
.reveal { opacity:0; transform:translateY(30px); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.9,.25,1.15); }
.reveal.in { opacity:1; transform:none; }

/* sections & cards */
.section { position:relative; margin:28px 0; padding:26px 24px; }
.section-title { margin:0 0 20px; padding-bottom:12px; border-bottom:3px solid var(--edge); box-shadow:0 3px 0 rgba(255,255,255,.05);
  font-family:'Silkscreen', monospace; font-size:24px; text-shadow:3px 3px 0 #000; }
@media (max-width:640px) { .section { padding:20px 12px; } }
.grid3 { display:grid; grid-template-columns:repeat(3, 1fr); gap:14px; }
.grid2 { display:grid; grid-template-columns:repeat(2, 1fr); gap:14px; }
@media (max-width:760px) { .grid3, .grid2 { grid-template-columns:1fr; } }
.card { padding:16px; transition:transform .15s; }
.card h3 { margin:0 0 8px; font-family:'Silkscreen', monospace; font-size:16px; text-shadow:2px 2px 0 #000; }
.card p { margin:0; color:var(--muted); }
.icon-slot { width:64px; height:64px; display:grid; place-items:center; margin-bottom:12px; }

/* footer */
.blocks { height:48px; margin-top:70px; border-top:3px solid var(--edge);
  background:linear-gradient(90deg, rgba(0,0,0,.35) 3px, transparent 3px) 0 0 / 48px 48px, linear-gradient(rgba(0,0,0,.35) 3px, transparent 3px) 0 0 / 48px 48px,
    repeating-conic-gradient(#6d28d9 0 25%, #7c3aed 0 50%) 0 0 / 12px 12px; }
footer { background:#0a0710; }
.foot { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:16px; padding:28px 0; }
.foot .brand { display:flex; align-items:center; gap:12px; font-family:'Silkscreen', monospace; }
.foot .brand img { width:40px; }
.socials { display:flex; gap:8px; }
.socials a { width:48px; height:48px; display:grid; place-items:center; }
.socials a:hover { outline:3px solid #fff; outline-offset:-6px; }
.legal { padding:14px 0 24px; border-top:3px solid var(--edge); color:#766c87; font-size:14px; }

/* advancement-style toast */
.toast { position:fixed; right:16px; top:16px; z-index:60; display:flex; align-items:center; gap:12px; min-width:240px; max-width:380px; padding:10px 14px;
  background:#1d1426; border:3px solid #000; box-shadow:inset 3px 3px 0 #3f2d58, inset -3px -3px 0 #0d0814; transform:translateX(130%); transition:transform .35s cubic-bezier(.2,.9,.3,1.2); }
.toast.show { transform:none; }
.toast b { display:block; color:var(--gold); font-family:'Silkscreen', monospace; font-size:12px; }

@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { animation:none !important; transition:none !important; }
  .reveal, .enter, .letter { opacity:1 !important; transform:none !important; }
}
