@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;600;700&display=swap');

:root {
  --black: #080808;
  --surface: #0F0F0F;
  --card: #141414;
  --border: #1E1E1E;
  --border-lit: #2E2E2E;
  --red: #C0392B;
  --red-bright: #E74C3C;
  --red-dim: rgba(192,57,43,0.12);
  --green: #27AE60;
  --gremlin-green: #44D62C;
  --gold: #F39C12;
  --gold-dim: rgba(243,156,18,0.12);
  --white: #F5F5F5;
  --grey-1: #999;
  --grey-2: #555;
  --purple: #8E44AD;
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }

body {
  background: var(--black);
  color: var(--white);
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  line-height: 1.5;
  min-height: 100vh;
  overflow-x: hidden;
}

/* PAGES */
.page { display: none; min-height: 100vh; }
.page.active { display: block; }

/* NAV */
.nav {
  position: fixed; top:0; left:0; right:0; z-index:900;
  height:52px; background:rgba(8,8,8,0.95);
  backdrop-filter:blur(20px); border-bottom:1px solid var(--border);
  display:flex; align-items:center; justify-content:space-between; padding:0 16px;
}
.nav-logo { display:flex; align-items:center; gap:8px; cursor:pointer; }
.nav-gremlin {
  width:30px; height:30px; border-radius:50%; overflow:hidden;
  border:1.5px solid var(--gremlin-green); background:#111;
}
.nav-gremlin img { width:100%; height:100%; object-fit:cover; }
.nav-wordmark { font-family:'Bebas Neue',sans-serif; font-size:20px; letter-spacing:3px; display:flex; align-items:baseline; }
.nav-dollar { color:var(--red); }
.nav-sub { font-family:'JetBrains Mono',monospace; font-size:8px; color:var(--grey-2); letter-spacing:2px; margin-left:6px; }
.nav-right { display:flex; align-items:center; gap:10px; }
.nav-pulse { display:flex; align-items:center; gap:5px; font-family:'JetBrains Mono',monospace; font-size:9px; color:var(--gremlin-green); letter-spacing:1px; }
.pulse-dot { width:5px; height:5px; border-radius:50%; background:var(--gremlin-green); animation:blink 1.8s ease-in-out infinite; box-shadow:0 0 6px var(--gremlin-green); }
.nav-btn { background:var(--red); color:var(--white); border:none; padding:6px 14px; font-family:'Inter',sans-serif; font-size:11px; font-weight:700; letter-spacing:1px; text-transform:uppercase; cursor:pointer; border-radius:2px; transition:opacity 0.15s; }
.nav-btn:hover { opacity:0.9; }
.nav-user { font-family:'JetBrains Mono',monospace; font-size:10px; color:var(--gremlin-green); letter-spacing:1px; }

/* APP TABS */
.app-tabs {
  position:fixed; top:52px; left:0; right:0; z-index:800;
  background:var(--surface); border-bottom:1px solid var(--border);
  display:flex; overflow-x:auto; scrollbar-width:none;
}
.app-tabs::-webkit-scrollbar { display:none; }
.app-tab {
  flex-shrink:0; padding:0 14px; height:38px;
  font-family:'JetBrains Mono',monospace; font-size:9px; letter-spacing:1.5px;
  text-transform:uppercase; color:var(--grey-2); background:none; border:none;
  border-bottom:2px solid transparent; cursor:pointer; transition:all 0.15s; white-space:nowrap;
}
.app-tab:hover { color:var(--grey-1); }
.app-tab.active { color:var(--red); border-bottom-color:var(--red); }

/* KEYFRAMES */
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:0.2} }
@keyframes spin-slow { from{transform:rotate(0deg)} to{transform:rotate(360deg)} }
@keyframes pulse-glow { 0%,100%{opacity:0.6;transform:scale(1)} 50%{opacity:1;transform:scale(1.1)} }
@keyframes fadeIn { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:translateY(0)} }
@keyframes spin { from{transform:rotate(0deg)} to{transform:rotate(360deg)} }

/* LANDING PAGE */
.hero {
  padding:80px 20px 20px; position:relative; min-height:100vh; overflow:hidden;
  display:flex; flex-direction:column; justify-content:center;
}
.hero-rays { position:absolute; top:0; right:0; width:100%; height:100%; pointer-events:none; overflow:hidden; }
.hero-rays::before {
  content:''; position:absolute; top:-50px; right:-80px; width:400px; height:500px;
  background:conic-gradient(from 200deg,transparent 0deg,rgba(68,214,44,0.04) 20deg,transparent 40deg,rgba(192,57,43,0.06) 70deg,transparent 90deg,rgba(243,156,18,0.03) 110deg,transparent 130deg,rgba(68,214,44,0.03) 160deg,transparent 180deg);
  animation:spin-slow 20s linear infinite;
}
.hero-rays::after {
  content:''; position:absolute; top:20px; right:-20px; width:280px; height:280px;
  background:radial-gradient(ellipse,rgba(68,214,44,0.08) 0%,rgba(192,57,43,0.05) 40%,transparent 70%);
  animation:pulse-glow 3s ease-in-out infinite;
}
.hero-gremlin {
  position:absolute; right:-15px; top:50px; width:160px; z-index:3;
  opacity:0.5;
}
.hero-gremlin img { width:100%; height:auto; display:block; border-radius:50%; }
.hero-content { position:relative; z-index:2; max-width:280px; }
.hero-eyebrow { font-family:'JetBrains Mono',monospace; font-size:10px; color:var(--gremlin-green); letter-spacing:3px; text-transform:uppercase; margin-bottom:10px; display:flex; align-items:center; gap:6px; }
.hero-eyebrow::before { content:''; display:inline-block; width:16px; height:1px; background:var(--gremlin-green); }
.hero-title { font-family:'Bebas Neue',sans-serif; font-size:52px; line-height:0.92; letter-spacing:1px; margin-bottom:14px; }
.hero-t1 { color:var(--white); display:block; }
.hero-t2 { color:var(--red); display:block; }
.hero-t3 { display:block; font-size:28px; background:linear-gradient(90deg,var(--gold),var(--gremlin-green)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.hero-body { font-size:13px; color:var(--grey-1); line-height:1.7; margin-bottom:20px; }

/* COUNTDOWN */
.cd-wrap { margin-bottom:20px; }
.cd-lbl { font-family:'JetBrains Mono',monospace; font-size:9px; color:var(--grey-2); letter-spacing:2px; margin-bottom:8px; }
.countdown { display:grid; grid-template-columns:repeat(4,1fr); gap:6px; }
.cd-unit { background:var(--card); border:1px solid var(--border); border-radius:3px; padding:10px 6px; text-align:center; position:relative; overflow:hidden; }
.cd-unit::after { content:''; position:absolute; bottom:0; left:0; right:0; height:2px; background:linear-gradient(90deg,var(--red),var(--gremlin-green)); }
.cd-num { font-family:'Bebas Neue',sans-serif; font-size:30px; color:var(--white); line-height:1; display:block; }
.cd-sub { font-family:'JetBrains Mono',monospace; font-size:7px; color:var(--grey-2); letter-spacing:2px; text-transform:uppercase; margin-top:2px; display:block; }

/* AIRDROP STRIP */
.airdrop-strip { margin:16px 20px 0; background:linear-gradient(135deg,rgba(243,156,18,0.08),rgba(192,57,43,0.08)); border:1px solid rgba(243,156,18,0.25); border-radius:3px; padding:12px 14px; display:flex; align-items:center; gap:10px; }
.strip-pulse { width:8px; height:8px; border-radius:50%; background:var(--gold); flex-shrink:0; animation:blink 1.2s ease-in-out infinite; box-shadow:0 0 8px var(--gold); }
.strip-text { flex:1; }
.strip-title { font-size:11px; font-weight:700; color:var(--gold); }
.strip-sub { font-size:11px; color:var(--grey-1); margin-top:1px; }
.strip-badge { background:var(--gold); color:var(--black); font-size:10px; font-weight:800; padding:4px 8px; border-radius:2px; white-space:nowrap; }

/* TRUST */
.trust-section { padding:24px 20px; border-top:1px solid var(--border); margin-top:20px; }
.section-eye { font-family:'JetBrains Mono',monospace; font-size:9px; color:var(--grey-2); letter-spacing:3px; text-transform:uppercase; margin-bottom:14px; }
.trust-grid { display:flex; flex-direction:column; gap:8px; }
.trust-item { display:flex; align-items:center; gap:12px; padding:12px 14px; background:var(--card); border:1px solid var(--border); border-radius:3px; }
.t-icon { width:32px; height:32px; border-radius:3px; display:flex; align-items:center; justify-content:center; font-size:16px; flex-shrink:0; }
.t-icon.fire { background:rgba(192,57,43,0.15); border:1px solid rgba(192,57,43,0.25); }
.t-icon.lock { background:rgba(68,214,44,0.1); border:1px solid rgba(68,214,44,0.2); }
.t-icon.shield { background:rgba(142,68,173,0.1); border:1px solid rgba(142,68,173,0.2); }
.t-copy { flex:1; }
.t-name { font-size:12px; font-weight:600; color:var(--white); }
.t-desc { font-size:11px; color:var(--grey-2); margin-top:1px; }
.t-verify { font-family:'JetBrains Mono',monospace; font-size:9px; color:var(--gremlin-green); letter-spacing:1px; opacity:0.7; }

/* FOOTER */
.site-footer { padding:28px 20px; border-top:1px solid var(--border); text-align:center; }
.footer-logo { font-family:'Bebas Neue',sans-serif; font-size:28px; letter-spacing:4px; margin-bottom:2px; }
.footer-logo span { color:var(--red); }
.footer-tag { font-size:11px; color:var(--grey-2); letter-spacing:2px; margin-bottom:14px; }
.footer-links { display:flex; justify-content:center; gap:16px; margin-bottom:12px; }
.footer-link { font-family:'JetBrains Mono',monospace; font-size:10px; color:var(--grey-2); text-decoration:none; letter-spacing:1px; transition:color 0.15s; }
.footer-link:hover { color:var(--gremlin-green); }
.footer-built { font-family:'JetBrains Mono',monospace; font-size:9px; color:#333; letter-spacing:2px; }

/* REGISTER PAGE */
.register-page { padding:80px 20px 40px; max-width:480px; margin:0 auto; animation:fadeIn 0.3s ease; }
.reg-step { font-family:'JetBrains Mono',monospace; font-size:9px; color:var(--red); letter-spacing:3px; text-transform:uppercase; margin-bottom:8px; }
.reg-title { font-family:'Bebas Neue',sans-serif; font-size:30px; letter-spacing:2px; line-height:1; margin-bottom:6px; }
.reg-desc { font-size:12px; color:var(--grey-1); line-height:1.7; margin-bottom:24px; }

/* FORMS */
.form-group { margin-bottom:14px; }
.form-label { font-family:'JetBrains Mono',monospace; font-size:9px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--grey-2); display:block; margin-bottom:6px; }
.form-input { width:100%; background:var(--card); border:1px solid var(--border); color:var(--white); padding:12px 14px; font-family:'Inter',sans-serif; font-size:13px; border-radius:2px; outline:none; transition:border-color 0.15s; }
.form-input:focus { border-color:var(--gremlin-green); box-shadow:0 0 8px rgba(68,214,44,0.1); }
.form-input::placeholder { color:var(--grey-2); }
.form-hint { font-size:10px; color:var(--grey-2); margin-top:4px; }
.form-error { font-size:10px; color:var(--red); margin-top:4px; display:none; }
.form-input.error { border-color:var(--red); }
.form-input.valid { border-color:var(--gremlin-green); }
.form-input.valid:focus { border-color:var(--gremlin-green); }

/* BUTTONS */
.btn-primary { display:block; width:100%; background:linear-gradient(135deg,var(--red) 0%,#8B1A1A 100%); color:var(--white); border:none; padding:15px 20px; font-family:'Inter',sans-serif; font-size:12px; font-weight:800; letter-spacing:2px; text-transform:uppercase; cursor:pointer; border-radius:2px; margin-bottom:8px; transition:all 0.15s; box-shadow:0 4px 20px rgba(192,57,43,0.3); }
.btn-primary:hover { box-shadow:0 6px 28px rgba(192,57,43,0.5); transform:translateY(-1px); }
.btn-primary:disabled { opacity:0.5; cursor:not-allowed; transform:none; }
.btn-secondary { display:block; width:100%; background:transparent; color:var(--grey-1); border:1px solid var(--border-lit); padding:13px 20px; font-family:'Inter',sans-serif; font-size:11px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; cursor:pointer; border-radius:2px; transition:all 0.15s; }
.btn-secondary:hover { border-color:var(--gremlin-green); color:var(--gremlin-green); }

/* LOADING */
.loading-page { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:100vh; padding:20px; text-align:center; animation:fadeIn 0.3s ease; }
.loading-spinner { width:48px; height:48px; border:3px solid var(--border); border-top-color:var(--red); border-radius:50%; animation:spin 0.8s linear infinite; margin-bottom:24px; }
.loading-gremlin { width:80px; height:80px; margin-bottom:20px; }
.loading-gremlin img { width:100%; height:auto; border-radius:50%; }
.loading-title { font-family:'Bebas Neue',sans-serif; font-size:28px; letter-spacing:2px; margin-bottom:8px; }
.loading-sub { font-size:12px; color:var(--grey-1); letter-spacing:1px; }

/* SUCCESS PAGE */
.success-page { padding:80px 20px 40px; max-width:400px; margin:0 auto; text-align:center; animation:fadeIn 0.3s ease; }
.success-gremlin { width:100px; height:100px; margin:0 auto 20px; }
.success-gremlin img { width:100%; height:auto; border-radius:50%; }
.success-title { font-family:'Bebas Neue',sans-serif; font-size:36px; letter-spacing:2px; margin-bottom:6px; }
.success-t1 { color:var(--white); display:block; }
.success-t2 { color:var(--gremlin-green); display:block; font-size:24px; }
.success-sub { font-size:12px; color:var(--grey-1); line-height:1.7; margin-bottom:24px; }
.success-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:20px; }
.ss { background:var(--card); border:1px solid var(--border); border-radius:3px; padding:14px 8px; text-align:center; }
.ss-num { font-family:'Bebas Neue',sans-serif; font-size:22px; display:block; line-height:1; }
.ss-num.pos { color:var(--gold); }
.ss-num.date { color:var(--gremlin-green); font-size:16px; }
.ss-num.pool { color:var(--red); font-size:18px; }
.ss-lbl { font-family:'JetBrains Mono',monospace; font-size:8px; color:var(--grey-2); letter-spacing:1.5px; text-transform:uppercase; display:block; margin-top:2px; }

/* APP LAYOUT */
.app-layout { padding-top:90px; min-height:100vh; }
.app-section { display:none; padding:24px 20px; max-width:480px; margin:0 auto; animation:fadeIn 0.3s ease; }
.app-section.active { display:block; }

/* DASHBOARD */
.dash-header { background:linear-gradient(180deg,rgba(68,214,44,0.03) 0%,transparent 100%); border-bottom:1px solid var(--border); padding:20px 20px 18px; margin:-24px -20px 20px; }
.dash-greeting { font-family:'JetBrains Mono',monospace; font-size:9px; color:var(--gremlin-green); letter-spacing:2px; margin-bottom:4px; }
.dash-title { font-family:'Bebas Neue',sans-serif; font-size:26px; letter-spacing:2px; margin-bottom:14px; }
.dash-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.dash-stat { background:var(--card); border:1px solid var(--border); border-radius:3px; padding:12px 8px; text-align:center; }
.dash-num { font-family:'Bebas Neue',sans-serif; font-size:26px; line-height:1; display:block; }
.dash-num.pos { color:var(--gold); }
.dash-num.ref { color:var(--gremlin-green); }
.dash-num.tasks { color:var(--red); }
.dash-lbl { font-family:'JetBrains Mono',monospace; font-size:8px; color:var(--grey-2); letter-spacing:1.5px; text-transform:uppercase; display:block; margin-top:2px; }

.info-card { background:var(--card); border:1px solid var(--border); border-radius:3px; padding:16px; margin-bottom:14px; }
.card-lbl { font-family:'JetBrains Mono',monospace; font-size:9px; color:var(--grey-2); letter-spacing:2px; text-transform:uppercase; margin-bottom:10px; }
.ref-row { display:flex; align-items:center; gap:8px; background:var(--surface); border:1px solid var(--border); border-radius:2px; padding:10px 12px; margin-bottom:8px; }
.ref-url { flex:1; font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--gremlin-green); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.copy-btn { background:var(--red); color:var(--white); border:none; padding:7px 12px; font-family:'JetBrains Mono',monospace; font-size:9px; font-weight:700; letter-spacing:1px; cursor:pointer; border-radius:2px; flex-shrink:0; transition:all 0.15s; }
.copy-btn:hover { background:var(--red-bright); }
.copy-btn.copied { background:var(--green); }
.ref-note { font-size:11px; color:var(--grey-2); line-height:1.5; }

/* TASKS */
.task-card { display:flex; align-items:center; gap:12px; padding:14px; background:var(--card); border:1px solid var(--border); border-radius:3px; margin-bottom:8px; transition:all 0.15s; }
.task-card.done { border-color:var(--green); opacity:0.7; }
.t-circle { width:22px; height:22px; border:2px solid var(--border-lit); border-radius:50%; flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:11px; transition:all 0.2s; }
.task-card.done .t-circle { background:var(--green); border-color:var(--green); color:white; }
.t-body { flex:1; }
.t-title { font-weight:600; font-size:13px; color:var(--white); }
.t-sub { font-size:11px; color:var(--grey-2); margin-top:2px; }
.t-right { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.badge { font-family:'JetBrains Mono',monospace; font-size:8px; font-weight:700; letter-spacing:1px; padding:3px 7px; border-radius:2px; text-transform:uppercase; }
.badge-req { background:var(--red-dim); color:var(--red); border:1px solid rgba(192,57,43,0.25); }
.badge-opt { background:rgba(255,255,255,0.04); color:var(--grey-2); border:1px solid var(--border); }
.badge-done { background:rgba(39,174,96,0.1); color:var(--green); border:1px solid rgba(39,174,96,0.25); }
.t-go { color:var(--gremlin-green); font-size:14px; font-weight:700; text-decoration:none; }
.t-go:hover { text-decoration:underline; }

/* LEADERBOARD */
.your-pos { background:linear-gradient(135deg,rgba(68,214,44,0.08),rgba(192,57,43,0.05)); border:1px solid rgba(68,214,44,0.3); border-radius:3px; padding:14px 16px; margin-bottom:14px; display:flex; align-items:center; gap:12px; }
.yp-rank { font-family:'Bebas Neue',sans-serif; font-size:30px; color:var(--gremlin-green); line-height:1; min-width:38px; }
.yp-info { flex:1; }
.yp-handle { font-weight:700; font-size:13px; }
.yp-you { font-family:'JetBrains Mono',monospace; font-size:8px; color:var(--gremlin-green); letter-spacing:2px; margin-top:1px; }
.yp-xp { font-family:'Bebas Neue',sans-serif; font-size:22px; color:var(--gold); }
.lb-table { background:var(--card); border:1px solid var(--border); border-radius:3px; overflow:hidden; }
.lb-head { display:flex; padding:8px 14px; border-bottom:1px solid var(--border); font-family:'JetBrains Mono',monospace; font-size:8px; color:var(--grey-2); letter-spacing:2px; text-transform:uppercase; }
.lb-row { display:flex; align-items:center; padding:11px 14px; border-bottom:1px solid rgba(30,30,30,0.6); gap:10px; }
.lb-row:last-child { border-bottom:none; }
.lb-rank { font-family:'Bebas Neue',sans-serif; font-size:20px; width:28px; text-align:center; color:var(--grey-2); flex-shrink:0; }
.lb-rank.r1 { color:var(--gold); }
.lb-rank.r2 { color:#BDC3C7; }
.lb-rank.r3 { color:#CD7F32; }
.lb-user { flex:1; }
.lb-handle { font-weight:600; font-size:13px; }
.lb-refs { font-size:11px; color:var(--grey-2); margin-top:1px; }
.lb-xp { font-family:'Bebas Neue',sans-serif; font-size:20px; color:var(--red); width:56px; text-align:right; }
.lb-foot { padding:10px 14px; text-align:center; font-size:11px; color:var(--grey-2); border-top:1px solid var(--border); font-family:'JetBrains Mono',monospace; letter-spacing:1px; }

/* PROGRESS */
.prog-wrap { background:var(--card); border:1px solid var(--border); border-radius:3px; padding:14px; margin-bottom:14px; }
.prog-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; }
.prog-lbl { font-family:'JetBrains Mono',monospace; font-size:9px; color:var(--grey-2); letter-spacing:2px; text-transform:uppercase; }
.prog-count { font-size:11px; font-weight:700; color:var(--gremlin-green); }
.prog-bar { height:3px; background:var(--border); border-radius:2px; overflow:hidden; margin-bottom:6px; }
.prog-fill { height:100%; background:linear-gradient(90deg,var(--red),var(--gremlin-green)); border-radius:2px; transition:width 0.5s; }
.prog-note { font-size:11px; color:var(--grey-2); }

/* MODAL */
.modal-overlay {
  position:fixed; inset:0; background:rgba(0,0,0,0.8); z-index:9999;
  display:none; align-items:center; justify-content:center; padding:20px;
}
.modal-box {
  background:var(--card); border:1px solid var(--border-lit); border-radius:4px;
  padding:28px 24px 20px; max-width:340px; width:100%; text-align:center;
}
.modal-icon { font-size:40px; margin-bottom:8px; }
.modal-title { font-size:16px; font-weight:700; color:var(--white); margin-bottom:8px; }
.modal-msg { font-size:12px; color:var(--grey-1); line-height:1.5; margin-bottom:16px; }

/* TOAST */
.toast { position:fixed; bottom:24px; left:50%; transform:translateX(-50%) translateY(100px); background:var(--card); border:1px solid var(--gremlin-green); border-radius:3px; padding:10px 20px; font-size:12px; color:var(--white); z-index:9999; transition:transform 0.3s; white-space:nowrap; }
.toast.show { transform:translateX(-50%) translateY(0); }
.toast.error { border-color:var(--red); color:var(--red-bright); }

/* RAIDERS */
.raider-podium { display:grid; grid-template-columns:1fr 1fr 1fr; gap:8px; margin-bottom:16px; align-items:end; }
.raider-card { background:var(--card); border:1px solid var(--border); border-radius:4px; padding:14px 10px; text-align:center; transition:transform 0.15s; }
.raider-card:hover { transform:translateY(-2px); }
.raider-card.gold { border-color:var(--gold); background:linear-gradient(180deg,rgba(243,156,18,0.08) 0%,var(--card) 100%); transform:scale(1.05); z-index:2; }
.raider-card.silver { border-color:#BDC3C7; background:linear-gradient(180deg,rgba(189,195,199,0.06) 0%,var(--card) 100%); }
.raider-card.bronze { border-color:#CD7F32; background:linear-gradient(180deg,rgba(205,127,50,0.06) 0%,var(--card) 100%); }
.raider-medal { font-size:24px; display:block; margin-bottom:4px; }
.raider-rank-txt { font-family:'JetBrains Mono',monospace; font-size:8px; color:var(--grey-2); letter-spacing:2px; margin-bottom:4px; }
.raider-handle { font-weight:700; font-size:11px; color:var(--white); margin-bottom:4px; word-break:break-all; }
.raider-xp { font-family:'Bebas Neue',sans-serif; font-size:20px; line-height:1; }
.raider-card.gold .raider-xp { color:var(--gold); }
.raider-card.silver .raider-xp { color:#BDC3C7; }
.raider-card.bronze .raider-xp { color:#CD7F32; }
.raider-prize { font-size:10px; font-weight:700; margin-top:4px; padding:2px 6px; border-radius:2px; display:inline-block; }
.raider-card.gold .raider-prize { background:rgba(243,156,18,0.2); color:var(--gold); }
.raider-card.silver .raider-prize { background:rgba(189,195,199,0.15); color:#BDC3C7; }
.raider-card.bronze .raider-prize { background:rgba(205,127,50,0.15); color:#CD7F32; }
.raiders-rest { background:var(--card); border:1px solid var(--border); border-radius:3px; overflow:hidden; }
.raider-row { display:flex; align-items:center; padding:10px 14px; border-bottom:1px solid rgba(30,30,30,0.8); gap:10px; font-size:12px; }
.raider-row:last-child { border-bottom:none; }
.r-rank { font-family:'Bebas Neue',sans-serif; font-size:18px; color:var(--grey-2); width:24px; text-align:center; flex-shrink:0; }
.r-handle { flex:1; font-weight:600; }
.r-xp { font-family:'Bebas Neue',sans-serif; font-size:18px; color:var(--red); }

/* STORIES */
.story-card { background:var(--card); border:1px solid var(--border); border-radius:3px; padding:16px; margin-bottom:10px; position:relative; overflow:hidden; }
.story-card::before { content:''; position:absolute; left:0; top:0; bottom:0; width:3px; background:linear-gradient(180deg,var(--red),var(--gremlin-green)); }
.story-handle { font-family:'JetBrains Mono',monospace; font-size:10px; color:var(--gremlin-green); letter-spacing:1px; margin-bottom:8px; }
.story-text { font-size:13px; color:var(--white); line-height:1.7; font-style:italic; margin-bottom:10px; }
.story-foot { display:flex; align-items:center; justify-content:space-between; }
.story-date { font-family:'JetBrains Mono',monospace; font-size:9px; color:var(--grey-2); letter-spacing:1px; }
.story-tag { font-size:10px; font-weight:700; color:var(--gold); background:var(--gold-dim); padding:3px 8px; border-radius:2px; }
.story-submit-box { background:linear-gradient(135deg,rgba(68,214,44,0.06),rgba(192,57,43,0.06)); border:1px solid rgba(68,214,44,0.2); border-radius:3px; padding:16px; margin-bottom:20px; }
.story-submit-title { font-weight:700; font-size:13px; margin-bottom:4px; color:var(--gremlin-green); }
.story-submit-desc { font-size:12px; color:var(--grey-1); margin-bottom:12px; line-height:1.6; }

/* PROFILE */
.profile-top { background:linear-gradient(180deg,rgba(68,214,44,0.05) 0%,transparent 100%); border-bottom:1px solid var(--border); padding:24px 20px; text-align:center; margin:-24px -20px 20px; }
.profile-av { width:64px; height:64px; border-radius:50%; background:var(--card); border:2px solid var(--gremlin-green); display:flex; align-items:center; justify-content:center; font-size:28px; margin:0 auto 10px; box-shadow:0 0 16px rgba(68,214,44,0.2); }
.profile-handle { font-family:'Bebas Neue',sans-serif; font-size:22px; letter-spacing:2px; margin-bottom:3px; }
.profile-joined { font-family:'JetBrains Mono',monospace; font-size:9px; color:var(--grey-2); letter-spacing:2px; }
.profile-stats { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--border); border-radius:3px; overflow:hidden; margin-bottom:20px; }
.ps { padding:14px 8px; text-align:center; border-right:1px solid var(--border); background:var(--card); }
.ps:last-child { border-right:none; }
.ps-num { font-family:'Bebas Neue',sans-serif; font-size:22px; display:block; line-height:1; }
.ps-num.pos { color:var(--gold); }
.ps-num.ref { color:var(--gremlin-green); }
.ps-num.xp { color:var(--red); }
.ps-num.tasks { color:var(--purple); }
.ps-lbl { font-family:'JetBrains Mono',monospace; font-size:8px; color:var(--grey-2); letter-spacing:1.5px; text-transform:uppercase; display:block; margin-top:2px; }
.p-section { margin-bottom:18px; }
.p-section-lbl { font-family:'JetBrains Mono',monospace; font-size:9px; color:var(--grey-2); letter-spacing:2px; text-transform:uppercase; margin-bottom:10px; }
.task-status { display:flex; align-items:center; gap:10px; padding:10px 0; border-bottom:1px solid var(--border); font-size:12px; }
.task-status:last-child { border-bottom:none; }
.ts-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.ts-dot.done { background:var(--green); box-shadow:0 0 6px var(--green); }
.ts-dot.pending { background:var(--grey-2); }
.wahala-story-box { background:var(--card); border:1px solid var(--border); border-left:3px solid var(--gremlin-green); border-radius:3px; padding:14px 16px; font-size:13px; color:var(--grey-1); line-height:1.7; font-style:italic; }

/* SUCCESS */
.success-gremlin { width:140px; height:140px; margin:0 auto 20px; }
.success-gremlin img { width:100%; height:auto; }
.success-title { font-family:'Bebas Neue',sans-serif; font-size:42px; letter-spacing:3px; margin-bottom:6px; }
.success-t1 { color:var(--white); display:block; }
.success-t2 { color:var(--gremlin-green); display:block; font-size:28px; }
.success-sub { font-size:12px; color:var(--grey-1); line-height:1.7; margin-bottom:24px; max-width:300px; margin-left:auto; margin-right:auto; }
.success-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:20px; }
.ss { background:var(--card); border:1px solid var(--border); border-radius:3px; padding:14px 8px; text-align:center; }
.ss-num { font-family:'Bebas Neue',sans-serif; font-size:22px; display:block; line-height:1; }
.ss-num.pos { color:var(--gold); }
.ss-num.date { color:var(--gremlin-green); font-size:16px; }
.ss-num.pool { color:var(--red); font-size:18px; }
.ss-lbl { font-family:'JetBrains Mono',monospace; font-size:8px; color:var(--grey-2); letter-spacing:1.5px; text-transform:uppercase; display:block; margin-top:2px; }
.success-ref-box { background:linear-gradient(135deg,rgba(68,214,44,0.06),rgba(192,57,43,0.04)); border:1px solid rgba(68,214,44,0.2); border-radius:3px; padding:16px; margin-bottom:16px; }
.sref-label { font-family:'JetBrains Mono',monospace; font-size:9px; color:var(--gremlin-green); letter-spacing:2px; text-transform:uppercase; margin-bottom:8px; }
.sref-desc { font-size:12px; color:var(--grey-1); line-height:1.6; margin-bottom:12px; }
.success-links { display:flex; justify-content:center; gap:20px; padding:12px 0 6px; }
.success-link { font-family:'JetBrains Mono',monospace; font-size:10px; color:var(--grey-2); text-decoration:none; letter-spacing:1px; text-transform:uppercase; transition:color 0.15s; }
.success-link:hover { color:var(--gremlin-green); }

/* LOADING STEPS */
.loading-steps { margin-top:24px; display:flex; flex-direction:column; gap:8px; width:100%; max-width:280px; }
.loading-step { display:flex; align-items:center; gap:10px; padding:10px 14px; background:var(--card); border:1px solid var(--border); border-radius:3px; font-size:12px; color:var(--grey-2); opacity:0.4; transition:all 0.5s; }
.loading-step.done { opacity:1; color:var(--gremlin-green); border-color:rgba(68,214,44,0.3); }
.loading-step.active { opacity:1; color:var(--white); border-color:var(--red); }
.step-dot { width:8px; height:8px; border-radius:50%; background:currentColor; flex-shrink:0; }

/* LB ROW HOVER */
.lb-row { transition:background 0.1s; }
.lb-row:hover { background:rgba(255,255,255,0.015); }

/* TASK CARD HOVER */
.task-card:hover:not(.done) { border-color:var(--gremlin-green); box-shadow:0 0 12px rgba(68,214,44,0.08); cursor:pointer; }

/* GREMLIN ANIMATIONS (for register/loading) */
@keyframes gremlin-enter { from{opacity:0;transform:translateX(60px) translateY(20px) rotate(8deg)} to{opacity:1;transform:translateX(0) translateY(0) rotate(0)} }
@keyframes gremlin-breathe { 0%,100%{transform:translateY(0) scale(1)} 33%{transform:translateY(-8px) scale(1.01)} 66%{transform:translateY(-4px) scale(1.005)} }
@keyframes float-glow { 0%,100%{filter:drop-shadow(0 0 12px rgba(68,214,44,0.4)) drop-shadow(0 0 24px rgba(192,57,43,0.2))} 50%{filter:drop-shadow(0 0 20px rgba(68,214,44,0.6)) drop-shadow(0 0 40px rgba(192,57,43,0.3))} }

/* WALLET BUTTONS */
.wallet-btn { display:flex; align-items:center; gap:14px; width:100%; padding:14px 16px; background:var(--card); border:1px solid var(--border); border-radius:3px; cursor:pointer; margin-bottom:8px; transition:all 0.15s; font-family:'Inter',sans-serif; text-align:left; }
.wallet-btn:hover { border-color:var(--gremlin-green); box-shadow:0 0 12px rgba(68,214,44,0.1); }
.wallet-av { width:38px; height:38px; border-radius:10px; flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:22px; }
.wallet-info { flex:1; }
.wallet-name { font-weight:700; font-size:13px; color:var(--white); }
.wallet-sub { font-size:11px; color:var(--grey-1); margin-top:1px; }
.wallet-arr { color:var(--grey-2); font-size:16px; }
.connected-wallet { background:rgba(68,214,44,0.08); border:1px solid rgba(68,214,44,0.3); border-radius:3px; padding:12px 14px; display:flex; align-items:center; gap:10px; margin-bottom:16px; }
.wallet-addr { font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--gremlin-green); flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.wallet-check { color:var(--gremlin-green); font-size:16px; }
.divider { display:flex; align-items:center; gap:10px; margin:18px 0; color:var(--grey-2); font-size:11px; letter-spacing:1px; }
.divider::before,.divider::after { content:''; flex:1; height:1px; background:var(--border); }

/* ── UPLOAD UI ── */
.upload-area {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.upload-add-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border: 1.5px dashed var(--border-lit);
  border-radius: 6px;
  background: var(--surface);
  cursor: pointer;
  transition: all 0.15s;
  flex-shrink: 0;
}
.upload-add-btn:hover {
  border-color: var(--gremlin-green);
  background: rgba(68,214,44,0.05);
}
.upload-plus {
  font-size: 22px;
  font-weight: 700;
  color: var(--gremlin-green);
  line-height: 1;
}
.upload-label {
  font-size: 7px;
  color: var(--grey-2);
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-top: 2px;
}
.upload-previews {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.upload-thumb {
  position: relative;
  width: 64px;
  height: 64px;
  border-radius: 6px;
  overflow: hidden;
  border: 1px solid var(--border);
  cursor: pointer;
  flex-shrink: 0;
}
.upload-thumb:hover .thumb-remove {
  opacity: 1;
}
.thumb-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.thumb-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.thumb-vid-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 18px;
  color: white;
  text-shadow: 0 1px 4px rgba(0,0,0,0.8);
  pointer-events: none;
}
.thumb-remove {
  position: absolute;
  top: 2px;
  right: 2px;
  width: 18px;
  height: 18px;
  background: rgba(192,57,43,0.9);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  color: white;
  opacity: 0;
  transition: opacity 0.15s;
  pointer-events: none;
}
.upload-thumb:hover .thumb-remove {
  opacity: 1;
}

/* ── UPLOAD PROGRESS BAR ── */
.upload-progress {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 0;
  font-size: 10px;
  color: var(--grey-1);
}
.upload-progress-bar {
  flex: 1;
  height: 4px;
  background: var(--border);
  border-radius: 2px;
  overflow: hidden;
}
.upload-progress-fill {
  height: 100%;
  width: 0%;
  background: linear-gradient(90deg, var(--red), var(--gremlin-green));
  border-radius: 2px;
  transition: width 0.3s;
}

/* RESPONSIVE */
@media (min-width:420px) {
  .hero-content { max-width:340px; }
  .hero-title { font-size:64px; }
  .hero-t3 { font-size:34px; }
}

/* ── ANNOUNCEMENT TICKER ── */
.ticker-wrap {
  width: 100%;
  background: var(--red);
  overflow: hidden;
  display: none;
  position: relative;
  z-index: 1;
}
.ticker-wrap.active { display: block; }
.ticker-content {
  display: inline-block;
  white-space: nowrap;
  animation: ticker-scroll 26s linear infinite;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 700;
  color: white;
  letter-spacing: 1px;
  padding: 7px 0;
}
.ticker-content:hover { animation-play-state: paused; }
@keyframes ticker-scroll {
  0%   { transform: translateX(0%); }
  100% { transform: translateX(-50%); }
}
/* Landing page ticker positioned below nav */
.ticker-landing {
  margin-top: 52px;
}
/* App page ticker inside app-layout */
.ticker-app {
  margin-bottom: 14px;
  border-radius: 3px;
}
