@import url('https://fonts.googleapis.com/css2?family=Fredoka+One&family=Nunito:wght@400;500;600;700;800&family=DM+Mono:wght@300;400;500&display=swap');

/* ── THEME ── */
:root {
  --bg: #06060a;
  --surface: #0d0d14;
  --surface2: #12121c;
  --border: #1c1c2e;
  --border2: #28283c;
  --accent: #ffb89a;
  --accent2: #ff8f6b;
  --accent-light: #ffd4be;
  --accent-dim: rgba(255,184,154,0.10);
  --accent-glow: rgba(255,184,154,0.18);
  --red: #c8242b;
  --red-dim: rgba(200,36,43,0.10);
  --text: #f0eee8;
  --text2: #9898b4;
  --muted: #62627a;
  --muted2: #30304a;
  --card: #0b0b12;
  --green: #4fffa0;
  --blue: #4fa8ff;
  --cx-blue: #1a3a6b;
  --shadow: 0 8px 48px rgba(0,0,0,0.6);
  --radius: 14px;
 --font-body: 'Nunito', sans-serif;
--font-display: 'Nunito', sans-serif;
--font-head: 'Fredoka One', cursive;
--font-sub: 'Nunito', sans-serif;
--font-mono: 'DM Mono', monospace;
}
[data-theme="light"] {
  --bg: #faf9f6;
  --surface: #ffffff;
  --surface2: #f2f0eb;
  --border: #e4e0d8;
  --border2: #cdc8be;
  --accent: #d96f42;
  --accent2: #c05a2e;
  --accent-light: #e8855a;
  --accent-dim: rgba(217,111,66,0.08);
  --accent-glow: rgba(217,111,66,0.15);
  --red: #c8242b;
  --text: #18182a;
  --text2: #4a4a65;
  --muted: #7a7a98;
  --muted2: #c8c4bc;
  --card: #ffffff;
  --shadow: 0 8px 48px rgba(0,0,0,0.10);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:var(--font-body);overflow-x:hidden;transition:background .3s,color .3s;line-height:1.6}

/* ── ANIMATED DIAGONAL WAVE BG ── */
.grid-bg{position:relative;overflow:hidden}
.grid-bg::before{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:0;
  background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);
  background-size:60px 60px;
  -webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 50%, black 30%, transparent 80%);
  mask-image:radial-gradient(ellipse 80% 60% at 50% 50%, black 30%, transparent 80%);
  opacity:.28;
  animation:waveMove 18s ease-in-out infinite;
}
[data-theme="light"] .grid-bg::before{opacity:.12}
@keyframes waveMove{
  0%{transform:translate(0,0) rotate(0deg)}
  25%{transform:translate(12px,8px) rotate(.4deg)}
  50%{transform:translate(8px,16px) rotate(-.3deg)}
  75%{transform:translate(-8px,8px) rotate(.2deg)}
  100%{transform:translate(0,0) rotate(0deg)}
}
.grid-bg>*{position:relative;z-index:1}

/* noise */
body::after{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.03'/%3E%3C/svg%3E");pointer-events:none;z-index:9998;opacity:.3}
[data-theme="light"] body::after{opacity:.08}

/* ── NAV ── */
nav{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:.8rem 2.5rem;background:rgba(6,6,10,.92);backdrop-filter:blur(24px);border-bottom:1px solid var(--border);transition:background .3s;height:66px}
[data-theme="light"] nav{background:rgba(250,249,246,.95)}
.nav-logo{display:flex;align-items:center;text-decoration:none;cursor:pointer;flex-shrink:0;position:absolute;left:50%;transform:translateX(-50%)}
.nav-logo img{height:58px;width:auto}
.nav-links{display:flex;align-items:center;gap:1.2rem;list-style:none}
.nav-links a{
  text-decoration:none;color:var(--muted);font-weight:600;font-size:.72rem;
  letter-spacing:1.5px;text-transform:uppercase;transition:color .2s;
  position:relative;cursor:pointer;font-family:var(--font-body);padding:.2rem 0;
}
.nav-links a::after{
  content:'';position:absolute;bottom:-2px;left:0;width:0;height:2px;
  background:linear-gradient(90deg,var(--accent),var(--accent2));
  transition:width .25s cubic-bezier(.4,0,.2,1);border-radius:2px;
}
.nav-links a:hover{color:var(--text)}
.nav-links a.active{color:var(--accent)}
.nav-links a:hover::after,.nav-links a.active::after{width:100%}
.nav-right{display:flex;align-items:center;gap:.6rem;flex-shrink:0}

/* theme toggle enhanced */
.theme-toggle{
  background:var(--surface2);border:1px solid var(--border2);
  border-radius:50px;padding:.35rem .85rem;cursor:pointer;
  font-size:.82rem;color:var(--text2);transition:all .25s;
  display:flex;align-items:center;gap:.4rem;font-family:var(--font-body);
  font-weight:600;
}
.theme-toggle:hover{border-color:var(--accent);color:var(--text);background:var(--accent-dim);box-shadow:0 0 12px var(--accent-glow)}
.theme-icon{font-size:1rem;transition:transform .3s}
.theme-toggle:hover .theme-icon{transform:rotate(20deg)}

.nav-user{display:flex;align-items:center;gap:.5rem;padding:.3rem .75rem;border:1px solid var(--border2);border-radius:50px;cursor:pointer;transition:border-color .2s;font-size:.78rem;font-family:var(--font-body)}
.nav-user:hover{border-color:var(--accent)}
.nav-avatar{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;color:#000;font-weight:800;overflow:hidden;flex-shrink:0}
.nav-avatar img{width:100%;height:100%;object-fit:cover}

/* hamburger */
.hamburger{display:none;flex-direction:column;gap:4px;cursor:pointer;padding:.3rem;background:none;border:none}
.hamburger span{display:block;width:20px;height:2px;background:var(--text);border-radius:2px;transition:all .3s}
.mobile-menu{display:none;position:fixed;top:66px;left:0;right:0;background:var(--surface);border-bottom:1px solid var(--border);z-index:999;padding:.5rem 0 1rem}
.mobile-menu.open{display:block}
.mobile-menu ul{list-style:none}
.mobile-menu ul li a{display:block;padding:.75rem 1.5rem;color:var(--text2);text-decoration:none;font-size:.88rem;font-weight:600;border-bottom:1px solid var(--border);transition:color .2s;cursor:pointer;font-family:var(--font-display);letter-spacing:.5px}
.mobile-menu ul li a:hover{color:var(--accent)}
.mob-auth{display:flex;gap:.6rem;padding:1rem 1.5rem}

/* ── BUTTONS ── */
.btn{padding:.48rem 1.25rem;border-radius:8px;font-family:var(--font-sub);font-weight:700;font-size:.76rem;letter-spacing:.8px;text-transform:uppercase;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-flex;align-items:center;gap:.4rem;border:none;white-space:nowrap}
.btn-primary{background:var(--accent);color:#000}
.btn-primary:hover{background:var(--accent-light);transform:translateY(-1px);box-shadow:0 6px 24px var(--accent-glow)}
.btn-outline{background:transparent;border:1px solid var(--border2);color:var(--text)}
.btn-outline:hover{border-color:var(--accent);color:var(--accent)}
.btn-red{background:var(--red);color:#fff;border:none}
.btn-red:hover{background:#e02d34;transform:translateY(-1px)}
.btn-ghost{background:transparent;border:1px solid var(--border);color:var(--muted)}
.btn-ghost:hover{color:var(--text);border-color:var(--border2)}
.btn-sm{padding:.28rem .75rem;font-size:.68rem}
.btn-lg{padding:.8rem 2rem;font-size:.88rem}
.btn-full{width:100%;justify-content:center}
.filter-btn{background:var(--surface2);border:1px solid var(--border);color:var(--muted)}
.filter-btn.active,.filter-btn:hover{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}

/* ── PAGES ── */
.page{display:none;padding-top:66px;min-height:100vh}
.page.active{display:block}

/* ── INSIGHT BAR ── */
.insight-bar{background:var(--surface);border-bottom:1px solid var(--border);padding:.8rem 2.5rem;text-align:center;position:relative;overflow:hidden}
.insight-bar::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--accent-dim),transparent);animation:shimmer 5s infinite;pointer-events:none}
@keyframes shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
.insight-label{font-size:.55rem;letter-spacing:3px;text-transform:uppercase;color:var(--accent);font-family:var(--font-mono);opacity:.5;margin-bottom:.1rem}
.insight-text{font-family:var(--font-body);font-size:clamp(.78rem,1.5vw,.92rem);font-weight:500;color:var(--muted);letter-spacing:.2px;opacity:.55}
[data-theme="light"] .insight-text{opacity:.45}

/* ── BLOCKS GRID ── */
.blocks-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border)}
/* Desktop: col1=left, col2=center, col3=right */
.blocks-grid .block:nth-child(3n+1){text-align:left}
.blocks-grid .block:nth-child(3n+1) .block-title{text-align:left}
.blocks-grid .block:nth-child(3n+1) .block-footer{justify-content:flex-start}
.blocks-grid .block:nth-child(3n+1) .btn-group{justify-content:flex-start}
.blocks-grid .block:nth-child(3n+2){text-align:center}
.blocks-grid .block:nth-child(3n+2) .block-title{text-align:center}
.blocks-grid .block:nth-child(3n+2) .block-footer{justify-content:center}
.blocks-grid .block:nth-child(3n+2) .btn-group{justify-content:center}
.blocks-grid .block:nth-child(3n+3){text-align:right}
.blocks-grid .block:nth-child(3n+3) .block-title{text-align:right}
.blocks-grid .block:nth-child(3n+3) .block-footer{justify-content:flex-end}
.blocks-grid .block:nth-child(3n+3) .btn-group{justify-content:flex-end}
.block{background:var(--bg);padding:1.8rem;min-height:300px;display:flex;flex-direction:column;position:relative;overflow:hidden;cursor:pointer;transition:background .25s}
.block:hover{background:var(--surface)}
.block::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:transparent;transition:background .25s}
.block:hover::before{background:linear-gradient(90deg,var(--accent),var(--accent2))}
.block.red-block:hover::before{background:var(--red)}
@keyframes bgPulse1{0%,100%{background-color:var(--bg)}50%{background-color:rgba(255,184,154,.03)}}
@keyframes bgPulse2{0%,100%{background-color:var(--bg)}50%{background-color:rgba(79,168,255,.03)}}
@keyframes bgPulse3{0%,100%{background-color:var(--bg)}50%{background-color:rgba(79,255,160,.03)}}
.block-anim-1{animation:bgPulse1 7s ease-in-out infinite}
.block-anim-2{animation:bgPulse2 8s ease-in-out infinite}
.block-anim-3{animation:bgPulse3 9s ease-in-out infinite}
.block-num{font-family:var(--font-mono);font-size:.58rem;color:var(--muted2);letter-spacing:2px;margin-bottom:.6rem}
.block-title{font-family:var(--font-head);font-size:clamp(1.6rem,2.5vw,2.2rem);letter-spacing:1px;line-height:1.05;margin-bottom:.4rem;color:var(--text)}
.block-title em{color:var(--accent);font-style:normal}
.block-title .red{color:var(--red)}
.block-desc{font-size:.8rem;color:var(--muted);line-height:1.65;flex:1;margin-bottom:.7rem;font-family:var(--font-body)}
.block-footer{display:flex;align-items:center;gap:.7rem;margin-top:auto}
.block-tag{font-size:.58rem;letter-spacing:2px;text-transform:uppercase;color:var(--accent);font-family:var(--font-mono)}
.block-arrow{width:26px;height:26px;border:1px solid var(--border2);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--muted);transition:all .2s;font-size:.78rem;flex-shrink:0}
.block:hover .block-arrow{border-color:var(--accent);color:var(--accent);transform:translateX(3px)}
.btn-group{display:flex;gap:.4rem;flex-wrap:wrap;margin:.5rem 0}

/* fake bar chart */
.fake-chart{display:flex;align-items:flex-end;gap:3px;height:50px;margin:.7rem 0}
.fc-bar{flex:1;border-radius:3px 3px 0 0;transition:height .4s ease,opacity .2s}
.block:hover .fc-bar{opacity:1 !important}

/* product slider */
.block-slider-outer{width:100%;overflow:hidden;margin:.6rem 0;position:relative}
.block-slider-label{font-family:var(--font-mono);font-size:.58rem;letter-spacing:2px;text-transform:uppercase;color:var(--accent);margin-bottom:.4rem}
.block-slider-track{display:flex;gap:6px;align-items:center;will-change:transform}
.block-slide{flex-shrink:0;border-radius:10px;overflow:hidden;border:1px solid var(--border);background:#2a2a32;transition:all .5s cubic-bezier(.4,0,.2,1);width:88px}
[data-theme="light"] .block-slide{background:#e8e4dc}
.block-slide img{width:88px;height:88px;object-fit:contain;display:block;padding:4px}
.block-slide.center-slide{transform:scale(1.15);box-shadow:0 8px 28px rgba(255,184,154,.25);border-color:var(--accent);z-index:2;opacity:1 !important}
.block-slide.side-slide{opacity:.5;transform:scale(.86)}

/* nft thumbs */
.block-nft-row{display:flex;gap:.4rem;margin:.6rem 0;overflow:hidden}
.block-nft-thumb{width:52px;height:52px;border-radius:8px;object-fit:cover;border:1px solid var(--border);transition:transform .2s}
.block:hover .block-nft-thumb{transform:translateY(-2px)}

/* social icons */
.block-socials{display:flex;gap:.5rem;margin:.5rem 0;align-items:center;flex-wrap:wrap}
.block-social-link{width:34px;height:34px;border-radius:9px;background:var(--surface2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;transition:all .2s;text-decoration:none;flex-shrink:0}
.block-social-link img{width:15px;height:15px;filter:brightness(0) invert(1);opacity:.55}
[data-theme="light"] .block-social-link img{filter:none;opacity:.65}
.block-social-link:hover,.block:hover .block-social-link{border-color:var(--accent);background:var(--accent-dim)}
.block-social-link:hover img{opacity:1}

/* community stats */
.block-comm-stats{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;margin:.6rem 0}
.bcs-item{background:var(--surface2);border-radius:8px;padding:.35rem .5rem;text-align:center}
.bcs-num{font-family:var(--font-head);font-size:1.2rem;color:var(--accent);line-height:1;display:block}
.bcs-lbl{font-size:.54rem;color:var(--muted);letter-spacing:1px;text-transform:uppercase;font-family:var(--font-mono)}

/* live price mini */
.block-prices{display:flex;flex-direction:column;gap:.25rem;margin:.6rem 0}
.bp-row{display:flex;align-items:center;justify-content:space-between;font-size:.72rem;padding:.2rem 0;border-bottom:1px solid var(--border)}
.bp-sym{font-family:var(--font-mono);font-weight:600;color:var(--text)}
.bp-price{font-family:var(--font-mono);color:var(--text2)}
.t-up{color:var(--green)}
.t-dn{color:var(--red)}

/* floating chars */
.float-char{pointer-events:none;animation:floatBob 3s ease-in-out infinite}
.float-char img{filter:drop-shadow(0 8px 24px rgba(0,0,0,.5))}
[data-theme="light"] .float-char img{filter:drop-shadow(0 4px 12px rgba(0,0,0,.2))}
@keyframes floatBob{0%,100%{transform:translateY(0) rotate(-1.5deg)}50%{transform:translateY(-11px) rotate(1.5deg)}}

/* ── SECTION ── */
.section{padding:4rem 2.5rem;max-width:1280px;margin:0 auto}
.section-tag{font-size:.62rem;letter-spacing:3px;color:var(--accent);text-transform:uppercase;margin-bottom:.4rem;font-family:var(--font-mono)}
.section h2{font-family:var(--font-head);font-size:clamp(2rem,5vw,4rem);letter-spacing:1px;line-height:1;margin-bottom:.5rem}
.section h2 em{color:var(--accent);font-style:normal}
.section>p{color:var(--muted);font-size:.88rem;line-height:1.7;max-width:540px;margin-bottom:2rem}

/* ── CARDS ── */
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:all .25s}
.card:hover{border-color:var(--border2);transform:translateY(-3px);box-shadow:var(--shadow)}
.card-pad{padding:1.3rem}
.grid-3{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.2rem}
.grid-4{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1.2rem}
.grid-2{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.2rem}

/* ── SHOP ── */
.product-img-wrap{aspect-ratio:1;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#2a2a32;position:relative}
[data-theme="light"] .product-img-wrap{background:#e8e4dc}
.product-img-wrap img{width:90%;height:90%;object-fit:contain;transition:transform .3s}
.card:hover .product-img-wrap img{transform:scale(1.05)}
.product-badge{position:absolute;top:10px;left:10px;font-size:.6rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:.18rem .5rem;border-radius:4px}
.badge-new{background:var(--green);color:#000}
.badge-soon{background:var(--muted2);color:var(--text2)}
.product-cat{font-size:.6rem;letter-spacing:2px;color:var(--accent);text-transform:uppercase;font-family:var(--font-mono)}
.product-name{font-size:.95rem;font-weight:700;margin:.2rem 0 .3rem;font-family:var(--font-sub)}
.product-price{font-family:var(--font-head);font-size:1.5rem;color:var(--accent)}
.product-desc{font-size:.76rem;color:var(--muted);line-height:1.55;margin-bottom:.8rem}

/* ── NFT ── */
#nft-canvas-wrap{width:100%;height:440px;position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:16px;margin-bottom:2.5rem;cursor:grab}
#nft-canvas-wrap:active{cursor:grabbing}
.float-nft{position:absolute;width:96px;height:96px;border-radius:12px;overflow:hidden;border:2px solid var(--border2);user-select:none;transition:box-shadow .2s,border-color .2s;box-shadow:0 4px 20px rgba(0,0,0,.4)}
.float-nft img{width:100%;height:100%;object-fit:cover;pointer-events:none}
.float-nft:hover{box-shadow:0 8px 40px rgba(255,184,154,.25);border-color:var(--accent)}
.float-nft.dragging{box-shadow:0 16px 60px rgba(255,184,154,.4);z-index:100;border-color:var(--accent)}
.float-nft.bounce{animation:nftBounce .4s ease !important}
@keyframes nftBounce{0%,100%{transform:scale(1)}30%{transform:scale(1.2) rotate(-5deg)}60%{transform:scale(.95) rotate(3deg)}}
.nft-marquee-wrap{overflow:hidden;width:100%;margin:1rem 0}
.nft-marquee{display:flex;gap:1.2rem;animation:marqueeScroll 60s linear infinite;width:max-content}
.nft-marquee:hover{animation-play-state:paused}
.nft-marquee-item{display:flex;align-items:center;gap:.7rem;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:.7rem 1rem;flex-shrink:0}
.nft-marquee-item img{width:56px;height:56px;border-radius:8px;object-fit:cover}
.nft-marquee-name{font-size:.8rem;font-weight:700;white-space:nowrap;font-family:var(--font-sub)}
.nft-marquee-badge{font-size:.62rem;color:var(--accent);font-family:var(--font-mono)}
@keyframes marqueeScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.nft-gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
@media(min-width:900px){.nft-gallery-grid{grid-template-columns:repeat(4,1fr)}}

.nft-canvas-shell{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:16px;margin-bottom:2.5rem;cursor:grab}
.nft-canvas-shell:active{cursor:grabbing}
.nft-canvas-hint{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--muted2);font-size:.74rem;font-family:var(--font-mono);pointer-events:none;z-index:0}
.nft-mint-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:1.5rem;align-items:start}
.mystery-card{background:var(--card);border:1px solid var(--border);border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}
.mystery-img-wrap{position:relative;width:100%;aspect-ratio:1/1;background:radial-gradient(circle at center, rgba(79,168,255,.08), transparent 45%),linear-gradient(135deg,var(--surface2),var(--surface));overflow:hidden;display:flex;align-items:center;justify-content:center}
.mystery-img-wrap svg{width:92%;max-width:320px;height:auto;display:block}
.hidden-state-art{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:1rem}
.mystery-img-wrap::before{content:'';position:absolute;inset:14px;border:1px solid rgba(79,168,255,.12);border-radius:26px;pointer-events:none}
.mystery-badge{position:absolute;top:14px;left:14px;background:rgba(15,17,32,.9);color:var(--accent);font-size:.72rem;font-weight:700;padding:.45rem .85rem;border-radius:999px;letter-spacing:1px;text-transform:uppercase}
.mystery-caption{padding:1.2rem 1.4rem 1.6rem}
.mystery-label{font-size:.64rem;letter-spacing:2px;color:var(--accent);text-transform:uppercase;font-family:var(--font-mono)}
.mystery-caption h3{font-family:var(--font-head);font-size:1.4rem;margin:.35rem 0 .35rem}
.mystery-caption p{color:var(--muted);font-size:.84rem;line-height:1.7}
.rarity-legend{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.6rem;margin-top:1rem}
.rarity-pill{background:var(--surface2);border:1px solid var(--border);border-radius:12px;padding:.7rem .45rem;text-align:center}
.rarity-pill .swatch{width:10px;height:10px;border-radius:999px;margin:0 auto .4rem}
.rarity-pill .tier-name{font-size:.68rem;font-weight:700}
.rarity-pill .tier-count{font-size:.6rem;color:var(--muted);margin-top:.15rem;font-family:var(--font-mono)}
.mint-panel{background:var(--card);border:1px solid var(--border);border-radius:20px;padding:1.4rem;box-shadow:var(--shadow)}
.progress-row,.price-row,.total-row,.qty-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.progress-row{font-size:.74rem;color:var(--muted);margin-bottom:.55rem}
.mint-progress{height:9px;background:var(--surface2);border-radius:999px;overflow:hidden;margin-bottom:1rem}
.mint-progress-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:width .4s ease}
.network-warning{display:none;background:rgba(200,36,43,.12);border:1px solid rgba(200,36,43,.25);color:var(--red);border-radius:12px;padding:.7rem .8rem;font-size:.74rem;text-align:center;margin-bottom:1rem}
.network-warning.show{display:block}
.price-row{padding-bottom:.9rem;margin-bottom:.9rem;border-bottom:1px solid var(--border)}
.price-label{font-size:.78rem;color:var(--muted)}
.price-value-wrap{display:flex;align-items:baseline;gap:.4rem;justify-content:flex-end;flex-wrap:wrap}
.price-value{font-family:var(--font-head);font-size:1.1rem;color:var(--accent)}
.price-usd{font-size:.7rem;color:var(--muted);font-family:var(--font-mono)}
.qty-row{margin-bottom:1rem}
.qty-label{font-size:.8rem;color:var(--muted)}
.qty-control{display:flex;align-items:center;gap:.7rem;background:var(--surface2);border:1px solid var(--border);border-radius:999px;padding:.35rem .45rem}
.qty-btn{width:28px;height:28px;border:none;border-radius:999px;background:var(--surface);color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem}
.qty-btn:hover:not(:disabled){background:var(--accent);color:#000}
.qty-btn:disabled{opacity:.4;cursor:not-allowed}
.qty-num{font-family:var(--font-head);font-size:1rem;min-width:18px;text-align:center}
.total-row{margin-bottom:1rem;padding-top:.2rem}
.total-label{font-size:.8rem;font-weight:700}
.total-value{font-family:var(--font-head);font-size:1.2rem;color:var(--accent)}
.mint-btn{justify-content:center}
.mint-status{min-height:1.2rem;margin-top:.8rem;text-align:center;font-size:.74rem;color:var(--muted)}
.mint-status.error{color:var(--red)}
.mint-status.success{color:var(--green)}
.mint-footer-note{margin-top:1.4rem;padding:1rem 1.3rem;border:1px solid var(--border);border-radius:16px;background:var(--surface);color:var(--muted);font-size:.76rem;text-align:center;line-height:1.7}
.mint-footer-note a{color:var(--accent);text-decoration:none}
@media(max-width:900px){.nft-mint-grid{grid-template-columns:1fr}.rarity-legend{grid-template-columns:repeat(3,minmax(0,1fr))}} 
@media(max-width:640px){#nft-canvas-wrap{height:320px}.rarity-legend{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-row,.price-row,.total-row,.qty-row{flex-direction:column;align-items:flex-start}.price-value-wrap{justify-content:flex-start}} 

/* ── TICKER ── */
.ticker-tape{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:.55rem 0;overflow:hidden;white-space:nowrap}
.ticker-inner{display:inline-flex;gap:3rem;animation:tickerScroll 35s linear infinite;font-family:var(--font-mono);font-size:.74rem}
.ticker-item{display:flex;align-items:center;gap:.4rem}
.t-sym{color:var(--text);font-weight:500}
@keyframes tickerScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* market cards */
.market-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:1rem 1.2rem;display:flex;align-items:center;justify-content:space-between;transition:border-color .2s;gap:.8rem}
.market-card:hover{border-color:var(--border2)}
.market-sym{font-weight:700;font-size:.9rem;font-family:var(--font-sub)}
.market-name{font-size:.66rem;color:var(--muted)}
.market-price{font-family:var(--font-mono);font-size:.9rem;text-align:right}
.market-chg{font-size:.7rem;font-family:var(--font-mono)}
.sparkline{width:80px;height:30px}

/* ── COMMUNITY ── */
.community-hero-wrap{background:var(--surface);border-bottom:1px solid var(--border);padding:3.5rem 2rem;text-align:center;position:relative;overflow:hidden}
.community-hero-wrap::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 100%,var(--accent-dim),transparent 70%);pointer-events:none}
.social-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
@media(min-width:768px){.social-grid{grid-template-columns:repeat(4,1fr)}}
.social-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;text-align:center;text-decoration:none;color:var(--text);transition:all .25s;display:flex;flex-direction:column;align-items:center}
.social-card:hover{transform:translateY(-4px)}
.social-card.tg:hover{border-color:#29b6f6;box-shadow:0 8px 30px rgba(41,182,246,.12)}
.social-card.tw:hover{border-color:#1da1f2;box-shadow:0 8px 30px rgba(29,161,242,.12)}
.social-card.dc:hover{border-color:#7289da;box-shadow:0 8px 30px rgba(114,137,218,.12)}
.social-card.ig:hover{border-color:#e1306c;box-shadow:0 8px 30px rgba(225,48,108,.12)}
.social-icon-wrap{width:50px;height:50px;border-radius:50%;background:var(--surface2);display:flex;align-items:center;justify-content:center;margin-bottom:.6rem}
.social-icon-wrap img{width:24px;height:24px;object-fit:contain;filter:brightness(0) invert(1)}
[data-theme="light"] .social-icon-wrap img{filter:none}
.social-name{font-weight:700;font-size:.9rem;margin-bottom:.2rem;font-family:var(--font-sub)}
.social-count{font-family:var(--font-head);font-size:2rem;color:var(--accent);line-height:1;display:block;margin:.1rem 0}
.social-handle{font-size:.66rem;color:var(--muted);font-family:var(--font-mono)}
.event-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:1.2rem;display:flex;gap:1rem;align-items:flex-start;transition:border-color .2s}
.event-card:hover{border-color:var(--accent-dim)}
.event-date-box{background:var(--accent-dim);border:1px solid rgba(255,184,154,.2);border-radius:8px;padding:.4rem .65rem;text-align:center;flex-shrink:0;min-width:50px}
.event-day{font-family:var(--font-head);font-size:1.6rem;color:var(--accent);line-height:1;display:block}
.event-mon{font-size:.56rem;letter-spacing:2px;color:var(--muted);text-transform:uppercase;font-family:var(--font-mono)}
.event-title{font-weight:700;font-size:.88rem;margin-bottom:.25rem;font-family:var(--font-sub)}
.event-desc{font-size:.76rem;color:var(--muted);line-height:1.55}
.event-live-badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.58rem;letter-spacing:1px;color:var(--green);font-family:var(--font-mono);text-transform:uppercase;margin-top:.4rem}
.event-live-badge::before{content:'';width:6px;height:6px;background:var(--green);border-radius:50%;animation:livePulse 1.5s infinite}
@keyframes livePulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}
.event-past{opacity:.6}

/* ── TOKEN ── */
.donut-wrap{position:relative;width:220px;height:220px;margin:0 auto}
.donut-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.donut-center .d-ticker{font-family:var(--font-head);font-size:1.6rem;color:var(--accent);letter-spacing:1px}
.donut-center .d-label{font-size:.58rem;letter-spacing:2px;color:var(--muted);text-transform:uppercase;font-family:var(--font-mono)}
.donut-tooltip{position:absolute;background:var(--surface);border:1px solid var(--border2);border-radius:10px;padding:.6rem .9rem;pointer-events:none;opacity:0;transition:opacity .2s;z-index:10;min-width:120px;font-size:.76rem;box-shadow:var(--shadow)}
.donut-tooltip.show{opacity:1}
.dt-name{font-weight:700;margin-bottom:.2rem;font-family:var(--font-sub)}
.dt-pct{font-family:var(--font-head);font-size:1.5rem;color:var(--accent)}
.token-breakdown{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1rem}
.token-item{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:1.2rem;transition:border-color .2s,transform .2s}
.token-item:hover{border-color:var(--border2);transform:translateY(-2px)}
.token-pct{font-family:var(--font-head);font-size:2.2rem;line-height:1}
.token-label{font-size:.82rem;font-weight:700;margin:.2rem 0;font-family:var(--font-sub)}
.token-desc{font-size:.72rem;color:var(--muted);line-height:1.55}

/* ── LAUNCH COUNTDOWN ── */
.launch-countdown{background:linear-gradient(135deg,rgba(255,184,154,0.06),rgba(79,168,255,0.04));border:1px solid rgba(255,255,255,0.04);border-radius:20px;padding:1.6rem;display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative;overflow:hidden;min-height:320px;transition:opacity .6s ease,transform .6s ease}
.launch-countdown .lc-inner{width:100%;max-width:420px;text-align:center}
.lc-hero{margin-bottom:1.2rem}
.lc-title{font-family:var(--font-head);font-size:1.05rem;letter-spacing:1px;color:var(--accent);margin-bottom:.25rem}
.lc-sub{font-weight:700;font-size:.92rem;color:var(--text);margin-bottom:.6rem}
.lc-price-row{display:flex;justify-content:center;gap:.6rem;align-items:baseline;margin-bottom:.6rem}
.lc-price-label{font-size:.78rem;color:var(--muted);font-family:var(--font-mono)}
.lc-price-val{font-family:var(--font-head);font-size:1.05rem;color:var(--accent)}
.lc-launching{font-size:.82rem;color:var(--muted);letter-spacing:1px;margin-bottom:.6rem}
.lc-count-grid{display:flex;gap:12px;justify-content:center;align-items:center;margin:0 auto 1rem}
.lc-count-item{background:linear-gradient(180deg,rgba(255,255,255,0.02),transparent);padding:.8rem 1rem;border-radius:12px;min-width:82px}
.lc-count-num{font-family:var(--font-head);font-size:2.4rem;color:var(--text);text-shadow:0 8px 28px rgba(0,0,0,.6);letter-spacing:1px;display:block}
.lc-count-label{font-size:.64rem;color:var(--muted);letter-spacing:2px;margin-top:.3rem;font-family:var(--font-mono)}
.lc-note{font-size:.75rem;color:var(--muted);margin-top:.3rem}

/* Glowing pulses and animated gradient */
.launch-countdown::before{content:'';position:absolute;inset:-20%;background:linear-gradient(120deg,rgba(255,184,154,0.06),rgba(124,92,255,0.06),rgba(79,168,255,0.06));filter:blur(40px);opacity:.9;transform:rotate(12deg);animation:lcGradient 8s linear infinite;z-index:0;pointer-events:none}
.launch-countdown .lc-inner{position:relative;z-index:1}
@keyframes lcGradient{0%{transform:rotate(0deg)}50%{transform:rotate(12deg)}100%{transform:rotate(0deg)}}

/* Final 10s styling */
.launch-countdown.final-seconds{padding:2.2rem}
.launch-countdown.final-seconds .lc-count-grid{display:block}
.launch-countdown.final-seconds .lc-count-item{background:transparent;padding:0}
.launch-countdown.final-seconds .lc-count-num{font-size:6.2rem;color:var(--accent);text-shadow:0 12px 40px rgba(255,184,154,.18)}
.launch-countdown.final-seconds .lc-count-label{display:none}

/* Live launch flash */
.launch-live{font-family:var(--font-head);font-size:1.6rem;color:var(--accent);opacity:0;transform:scale(.98);transition:opacity .25s,transform .25s}
.launch-live.show{opacity:1;transform:scale(1)}

/* Hidden states and transitions */
.mint-panel.hidden{opacity:0;transform:translateY(10px);pointer-events:none;height:0;overflow:hidden}
.launch-countdown.hidden{opacity:0;transform:translateY(-8px);pointer-events:none;height:0;overflow:hidden}

/* Disable mint action until launch */
.mint-action-disabled{opacity:.5;pointer-events:none}

@media(max-width:640px){.lc-count-grid{gap:8px}.lc-count-item{min-width:64px;padding:.6rem .8rem}.lc-count-num{font-size:1.8rem}.launch-countdown.final-seconds .lc-count-num{font-size:4.2rem}}

/* Hide footer links until reveal */
.mint-footer-note #mint-footer-links.hidden{display:none !important}
.token-bar{height:3px;border-radius:2px;margin-top:.8rem}
.presale-banner{background:linear-gradient(135deg,var(--red-dim),var(--accent-dim));border:1px solid rgba(200,36,43,.2);border-radius:16px;padding:2.5rem;text-align:center}

/* ── STAKING ── */
.stake-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.8rem;text-align:center;transition:all .25s}
.stake-card:hover{border-color:var(--border2);transform:translateY(-3px)}
.stake-apy{font-family:var(--font-head);font-size:2.8rem;color:var(--green);display:block;line-height:1}
.stake-period{font-size:.66rem;letter-spacing:2px;color:var(--muted);text-transform:uppercase;font-family:var(--font-mono);margin-bottom:.8rem}

/* ── DAO ── */
.proposal-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;transition:border-color .2s}
.proposal-card:hover{border-color:var(--border2)}
.p-status{font-size:.58rem;letter-spacing:1px;text-transform:uppercase;padding:.18rem .5rem;border-radius:4px;font-family:var(--font-mono);display:inline-block;margin-bottom:.8rem}
.p-passed{background:rgba(79,255,160,.12);color:var(--green)}
.proposal-title{font-size:1rem;font-weight:700;margin-bottom:.35rem;font-family:var(--font-sub)}
.proposal-desc{font-size:.78rem;color:var(--muted);line-height:1.6;margin-bottom:1rem}
.vote-bar-wrap{height:6px;background:var(--surface2);border-radius:3px;overflow:hidden;margin:.8rem 0 .4rem}
.vote-bar-fill{height:100%;background:var(--green);border-radius:3px}
.vote-meta{display:flex;justify-content:space-between;font-size:.68rem;color:var(--muted);font-family:var(--font-mono)}
.vote-winner{color:var(--green);font-weight:700}

/* ── GAMES ── */
.game-cover{width:100%;aspect-ratio:16/10;object-fit:cover}
.game-status-badge{font-size:.58rem;letter-spacing:1px;text-transform:uppercase;padding:.18rem .5rem;border-radius:4px;font-family:var(--font-mono);background:rgba(200,36,43,.12);color:var(--red)}
.game-title{font-size:1.05rem;font-weight:700;margin-bottom:.3rem;font-family:var(--font-sub)}
.game-tagline{font-size:.78rem;color:var(--muted);line-height:1.55;margin-bottom:.8rem}
.game-tags{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.8rem}
.game-tag{font-size:.58rem;letter-spacing:1px;text-transform:uppercase;padding:.18rem .5rem;border-radius:4px;background:var(--surface2);color:var(--muted);font-family:var(--font-mono)}

/* ── AUTH ── */
.auth-wrap{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 66px);padding:2rem}
.auth-card{background:var(--surface);border:1px solid var(--border2);border-radius:20px;padding:2.5rem;width:100%;max-width:420px}
.auth-logo{text-align:center;margin-bottom:1.5rem}
.auth-logo img{height:58px}
.auth-tabs{display:flex;border-bottom:1px solid var(--border);margin-bottom:1.8rem}
.auth-tab{flex:1;padding:.7rem;background:none;border:none;color:var(--muted);font-family:var(--font-head);font-weight:400;font-size:1rem;cursor:pointer;transition:all .2s;border-bottom:2px solid transparent;margin-bottom:-1px;letter-spacing:.5px}
.auth-tab.active{color:var(--accent);border-bottom-color:var(--accent)}
.auth-form{display:none}
.auth-form.active{display:block}
.form-group{margin-bottom:1rem}
.form-label{display:block;font-size:.66rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-bottom:.3rem;font-family:var(--font-mono)}
.form-input{width:100%;padding:.65rem .95rem;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:var(--font-body);font-size:.86rem;outline:none;transition:border-color .2s}
.form-input:focus{border-color:var(--accent)}
.form-input::placeholder{color:var(--muted2)}
.form-input[readonly]{opacity:.5;cursor:not-allowed}
textarea.form-input{resize:vertical}

/* ── DASHBOARD ── */
.dash-layout{display:grid;grid-template-columns:220px 1fr;min-height:calc(100vh - 66px)}
.dash-sidebar{background:var(--surface);border-right:1px solid var(--border);padding:0;position:sticky;top:66px;height:calc(100vh - 66px);overflow-y:auto}
.dash-profile-top{padding:1.4rem;border-bottom:1px solid var(--border);text-align:center}
.dash-avatar-wrap{position:relative;width:68px;height:68px;margin:0 auto .6rem;cursor:pointer}
.dash-avatar-img{width:68px;height:68px;border-radius:50%;object-fit:cover;border:2px solid var(--border2);display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:800;color:#000;background:var(--accent)}
.dash-avatar-overlay{position:absolute;inset:0;border-radius:50%;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;font-size:1rem}
.dash-avatar-wrap:hover .dash-avatar-overlay{opacity:1}
.dash-username{font-weight:700;font-size:.9rem;margin-bottom:.1rem;font-family:var(--font-sub)}
.dash-email{font-size:.68rem;color:var(--muted)}
.dash-nav{list-style:none;padding:.4rem 0}
.dash-nav li a{display:flex;align-items:center;gap:.7rem;padding:.65rem 1.4rem;color:var(--muted);text-decoration:none;font-size:.82rem;font-weight:600;transition:all .2s;border-left:2px solid transparent;cursor:pointer;font-family:var(--font-body)}
.dash-nav li a:hover,.dash-nav li a.active{color:var(--text);background:var(--accent-dim);border-left-color:var(--accent)}
.dash-nav-icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0;opacity:.7}
.dash-nav li a:hover .dash-nav-icon,.dash-nav li a.active .dash-nav-icon{opacity:1}
.dash-main{padding:2rem;overflow-y:auto}
.dash-section{display:none}
.dash-section.active{display:block}
.dash-section h2{font-family:var(--font-head);font-size:2rem;letter-spacing:1px;margin-bottom:1.5rem}
.dash-section h2 em{color:var(--accent);font-style:normal}
.xp-bar-wrap{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.4rem;margin-bottom:1.5rem}
.xp-level-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.8rem}
.xp-level-badge{background:var(--accent);color:#000;font-family:var(--font-head);font-size:1rem;letter-spacing:1px;padding:.18rem .75rem;border-radius:4px}
.xp-amount{font-family:var(--font-mono);font-size:.74rem;color:var(--muted)}
.xp-bar-track{height:7px;background:var(--surface2);border-radius:4px;overflow:hidden;margin-bottom:.4rem}
.xp-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-light));border-radius:4px;transition:width 1s ease}
.xp-next{font-size:.68rem;color:var(--muted);font-family:var(--font-mono)}
.xp-perks{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.7rem}
.xp-perk{font-size:.6rem;padding:.18rem .55rem;border-radius:4px;background:var(--accent-dim);color:var(--accent);font-family:var(--font-mono);letter-spacing:.5px}
.stat-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:.9rem;margin-bottom:1.5rem}
.stat-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:1rem}
.stat-val{font-family:var(--font-head);font-size:1.8rem;color:var(--accent);display:block;line-height:1}
.stat-lbl{font-size:.62rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);font-family:var(--font-mono);margin-top:.2rem}
.order-row{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--card);border:1px solid var(--border);border-radius:12px;margin-bottom:.5rem;flex-wrap:wrap}
.order-id{font-family:var(--font-mono);font-size:.68rem;color:var(--muted);min-width:90px}
.order-items{font-size:.78rem;flex:1;min-width:120px}
.order-total{font-family:var(--font-head);font-size:1.2rem;color:var(--accent)}
.order-status{font-size:.58rem;letter-spacing:1px;text-transform:uppercase;padding:.18rem .5rem;border-radius:4px;font-family:var(--font-mono)}
.os-pending{background:var(--accent-dim);color:var(--accent)}
.os-shipped{background:rgba(79,168,255,.12);color:var(--blue)}
.os-delivered{background:rgba(79,255,160,.12);color:var(--green)}
.xp-history-item{display:flex;align-items:center;gap:.8rem;padding:.6rem 0;border-bottom:1px solid var(--border);font-size:.78rem}
.xp-history-icon{font-size:.95rem;width:22px;text-align:center}
.xp-history-action{flex:1;color:var(--text2)}
.xp-history-amount{font-family:var(--font-mono);font-size:.74rem;color:var(--green);font-weight:700}
.xp-history-date{font-size:.62rem;color:var(--muted);font-family:var(--font-mono)}

/* presale buy */
.presale-buy-card{background:linear-gradient(135deg,var(--red-dim),var(--accent-dim));border:1px solid rgba(255,184,154,.2);border-radius:var(--radius);padding:2rem;text-align:center;margin-bottom:1.5rem}
.presale-buy-card h3{font-family:var(--font-head);font-size:1.8rem;letter-spacing:1px;margin-bottom:.4rem}
.presale-buy-card p{font-size:.82rem;color:var(--muted);max-width:360px;margin:0 auto 1.2rem;line-height:1.65}

/* wallet */
.wallet-coming{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;text-align:center}
.wallet-stat{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:1.2rem;text-align:center}
.wallet-stat .ws-val{font-family:var(--font-head);font-size:1.6rem;color:var(--muted);display:block}
.wallet-stat .ws-lbl{font-size:.62rem;letter-spacing:1.5px;color:var(--muted);text-transform:uppercase;font-family:var(--font-mono)}

/* ── CART ── */
.cart-fab{position:fixed;bottom:2rem;right:2rem;z-index:500;background:var(--accent);color:#000;border:none;border-radius:50px;padding:.7rem 1.4rem;font-family:var(--font-sub);font-weight:800;font-size:.82rem;cursor:pointer;box-shadow:0 8px 30px var(--accent-glow);display:none;align-items:center;gap:.5rem;transition:all .2s}
.cart-fab:hover{transform:scale(1.04)}
.cart-fab-count{background:#000;color:var(--accent);border-radius:50%;width:20px;height:20px;font-size:.68rem;display:flex;align-items:center;justify-content:center}
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.86);z-index:2000;display:none;align-items:center;justify-content:center;backdrop-filter:blur(8px);padding:1rem}
.overlay.open{display:flex}
.modal{background:var(--surface);border:1px solid var(--border2);border-radius:20px;width:100%;max-width:520px;max-height:88vh;overflow-y:auto;padding:2rem;animation:slideUp .3s ease}
.modal-lg{max-width:680px}
.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}
.modal-head h2{font-family:var(--font-head);font-size:1.8rem;letter-spacing:1px}
.modal-close{background:none;border:none;color:var(--muted);font-size:1.3rem;cursor:pointer;transition:color .2s;line-height:1;padding:0}
.modal-close:hover{color:var(--text)}
.cart-item{display:flex;gap:1rem;align-items:center;padding:.85rem 0;border-bottom:1px solid var(--border)}
.ci-img{width:50px;height:50px;border-radius:8px;object-fit:contain;background:#2a2a32;flex-shrink:0;padding:4px}
[data-theme="light"] .ci-img{background:#eee}
.ci-info{flex:1}
.ci-name{font-weight:700;font-size:.86rem;font-family:var(--font-sub)}
.ci-var{font-size:.66rem;color:var(--muted)}
.ci-price{font-family:var(--font-head);font-size:1.2rem;color:var(--accent)}
.ci-remove{background:none;border:none;color:var(--muted);cursor:pointer;font-size:.9rem;transition:color .2s}
.ci-remove:hover{color:var(--red)}
.qty-ctrl{display:flex;align-items:center;gap:.4rem;margin-top:.3rem}
.qty-btn{background:var(--border);border:none;color:var(--text);width:22px;height:22px;border-radius:4px;cursor:pointer;font-size:.82rem;transition:background .15s}
.qty-btn:hover{background:var(--accent);color:#000}
.qty-n{font-weight:700;font-size:.82rem;min-width:18px;text-align:center}
.cart-empty{text-align:center;padding:2.5rem;color:var(--muted)}
.cart-total-row{display:flex;justify-content:space-between;align-items:center;margin-top:1.2rem;padding-top:1rem;border-top:1px solid var(--border)}
.cart-total-lbl{font-size:.74rem;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}
.cart-total-amt{font-family:var(--font-head);font-size:1.9rem;color:var(--accent)}
.checkout-steps{display:flex;gap:.5rem;margin-bottom:1.5rem}
.c-step{flex:1;height:3px;border-radius:2px;background:var(--border)}
.c-step.done{background:var(--accent)}
.c-step.active{background:var(--red)}
.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.pm-top{display:flex;gap:1.2rem;align-items:flex-start;margin-bottom:1rem}
.pm-img{width:120px;height:120px;border-radius:12px;object-fit:contain;flex-shrink:0;background:#2a2a32;padding:8px}
[data-theme="light"] .pm-img{background:#eee}
.pm-cat{font-size:.6rem;letter-spacing:2px;color:var(--accent);text-transform:uppercase;font-family:var(--font-mono)}
.pm-name{font-family:var(--font-head);font-size:1.8rem;letter-spacing:1px;line-height:1;margin:.2rem 0}
.pm-price{font-family:var(--font-head);font-size:2rem;color:var(--accent)}
.pm-desc{font-size:.78rem;color:var(--muted);line-height:1.65;margin:.8rem 0}
.variant-group{margin-bottom:1rem}
.variant-opts{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.35rem}
.var-btn{padding:.28rem .8rem;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text);font-family:var(--font-body);font-size:.76rem;cursor:pointer;transition:all .15s}
.var-btn:hover,.var-btn.sel{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}

/* ── WAITLIST ── */
.waitlist-section{background:linear-gradient(135deg,var(--red-dim),var(--accent-dim));border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:3.5rem 2rem;text-align:center;position:relative;overflow:hidden}
.waitlist-section::before{content:'';position:absolute;inset:0;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:40px 40px;opacity:.25;pointer-events:none}
.waitlist-section h2{font-family:var(--font-head);font-size:clamp(2rem,5vw,3.5rem);letter-spacing:1px;margin-bottom:.5rem;position:relative}
.waitlist-section h2 em{color:var(--accent);font-style:normal}
.waitlist-section p{color:var(--muted);max-width:440px;margin:0 auto 1.5rem;font-size:.86rem;line-height:1.7;position:relative}
.waitlist-form{display:flex;gap:.6rem;max-width:420px;margin:0 auto;position:relative}
.waitlist-input{flex:1;padding:.7rem 1rem;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:var(--font-body);font-size:.86rem;outline:none;transition:border-color .2s}
.waitlist-input:focus{border-color:var(--accent)}
.waitlist-input::placeholder{color:var(--muted)}

/* ── TOAST ── */
.toast{position:fixed;bottom:6.5rem;right:2rem;z-index:3000;background:var(--surface);border:1px solid var(--border2);border-radius:10px;padding:.75rem 1.1rem;font-size:.78rem;font-weight:600;animation:slideUp .3s ease,fadeOut .3s 2.7s ease forwards;max-width:280px;pointer-events:none;box-shadow:var(--shadow);font-family:var(--font-body)}
@keyframes slideUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeOut{to{opacity:0}}

/* ── FOOTER ── */
footer{border-top:1px solid var(--border);padding:2rem 2.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;color:var(--muted);font-size:.74rem}
.footer-copy{text-align:center;flex:1}
.footer-links{display:flex;gap:1.4rem;flex-wrap:wrap}
.footer-links a{color:var(--muted);text-decoration:none;transition:color .2s;cursor:pointer}
.footer-links a:hover{color:var(--text)}

/* partner */
.partner-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;display:flex;align-items:center;gap:1.5rem;transition:all .25s}
.partner-card:hover{border-color:var(--border2);transform:translateY(-2px)}
.partner-logo-wrap{width:58px;height:58px;border-radius:12px;background:var(--surface2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.partner-info h3{font-size:1rem;font-weight:700;margin-bottom:.3rem;font-family:var(--font-sub)}
.partner-info p{font-size:.76rem;color:var(--muted);line-height:1.55}
.partner-live{display:inline-flex;align-items:center;gap:.3rem;font-size:.58rem;letter-spacing:1px;color:var(--green);font-family:var(--font-mono);text-transform:uppercase;margin-top:.35rem}
.partner-live::before{content:'';width:6px;height:6px;background:var(--green);border-radius:50%;animation:livePulse 1.5s infinite}
.cx-c{color:var(--cx-blue);font-family:var(--font-head)}
.cx-x{background:linear-gradient(135deg,#ff6b2b,#ffffff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-family:var(--font-head)}

/* legal */
.legal-content{max-width:800px;margin:0 auto;padding:3rem 2rem}
.legal-content h1{font-family:var(--font-head);font-size:3rem;letter-spacing:1px;margin-bottom:.5rem}
.legal-content h1 em{color:var(--accent);font-style:normal}
.legal-content .last-updated{font-size:.7rem;color:var(--muted);font-family:var(--font-mono);margin-bottom:2rem}
.legal-content h2{font-family:var(--font-head);font-size:1.4rem;letter-spacing:1px;margin:2rem 0 .7rem;color:var(--accent)}
.legal-content p,.legal-content ul{color:var(--text2);line-height:1.8;margin-bottom:1rem;font-size:.88rem}
.legal-content ul{margin-left:1.5rem}
.legal-content ul li{margin-bottom:.4rem}

/* ── RESPONSIVE ── */
@media(max-width:960px){
  .blocks-grid{grid-template-columns:repeat(2,1fr)}
  /* Tablet: odd=left, even=right */
  .blocks-grid .block:nth-child(2n+1){text-align:left}
  .blocks-grid .block:nth-child(2n+1) .block-title{text-align:left}
  .blocks-grid .block:nth-child(2n+1) .block-footer{justify-content:flex-start}
  .blocks-grid .block:nth-child(2n+1) .btn-group{justify-content:flex-start}
  .blocks-grid .block:nth-child(2n+2){text-align:right}
  .blocks-grid .block:nth-child(2n+2) .block-title{text-align:right}
  .blocks-grid .block:nth-child(2n+2) .block-footer{justify-content:flex-end}
  .blocks-grid .block:nth-child(2n+2) .btn-group{justify-content:flex-end}
  .block-comm-stats{max-width:200px}
}
@media(max-width:768px){
  nav{padding:.75rem 1.2rem}
  .nav-links{display:none}
  .hamburger{display:flex}
  .nav-right .btn{display:none}
  .nav-right #nav-user-area{display:none !important}
  .theme-toggle{display:flex}
  .section{padding:2.5rem 1.2rem}
  .dash-layout{grid-template-columns:1fr}
  .dash-sidebar{position:static;height:auto;border-right:none;border-bottom:1px solid var(--border)}
  .dash-nav{display:flex;overflow-x:auto;padding:0 .5rem}
  .dash-nav li a{white-space:nowrap;border-left:none;border-bottom:2px solid transparent;padding:.55rem .85rem}
  .dash-nav li a.active{border-bottom-color:var(--accent);background:none}
  .form-row-2{grid-template-columns:1fr}
  .waitlist-form{flex-direction:column}
  footer{flex-direction:column;text-align:center;align-items:center}
  .footer-copy{text-align:center}
  .footer-links{justify-content:center}
  .pm-top{flex-direction:column}
  .pm-img{width:100%;height:200px}
  #products-grid{grid-template-columns:repeat(2,1fr) !important;gap:.8rem !important;padding:1rem !important}
  .token-grid{grid-template-columns:1fr !important}
  .token-desc-col{order:-1;text-align:center}
  .social-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:580px){
  .blocks-grid{grid-template-columns:1fr}
  .block{min-height:260px}
  .blocks-grid .block,.blocks-grid .block:nth-child(n){text-align:center !important}
  .blocks-grid .block .block-title{text-align:center !important}
  .blocks-grid .block .block-footer,.blocks-grid .block .btn-group{justify-content:center !important}
  .nft-gallery-grid{grid-template-columns:repeat(2,1fr)}
}

/* Home NFT marquee enlarged 2.5x */
#home-nft-marquee img{width:75px !important;height:75px !important;border-radius:10px !important}

.blocks-grid .block:nth-child(2) .block-title,
.blocks-grid .block:nth-child(5) .block-title {
  text-align: center !important;
  width: 100% !important;
  position: relative !important;
  z-index: 1 !important;
}
.block-comm-stats {
  margin-left: auto !important;
  margin-right: auto !important;
}



/* Event cards */
.event-dash-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;margin-bottom:1rem;cursor:pointer;transition:all .25s}
.event-dash-card:hover{border-color:var(--accent);transform:translateY(-2px)}
.event-dash-card.live{border-color:rgba(200,36,43,.3)}
.edc-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.6rem;flex-wrap:wrap}
.edc-status{font-size:.65rem;letter-spacing:1.5px;text-transform:uppercase;font-family:var(--font-mono);margin-bottom:.3rem}
.edc-status.live{color:var(--red)}
.edc-status.upcoming{color:var(--accent)}
.edc-status.ended{color:var(--muted)}
.edc-title{font-family:var(--font-head);font-size:1.4rem;margin-bottom:.2rem}
.edc-prize{font-size:.8rem;color:var(--green)}
.edc-desc{font-size:.8rem;color:var(--muted);line-height:1.6}
.edc-ends{font-size:.7rem;color:var(--muted);font-family:var(--font-mono);margin-top:.5rem}

/* Activity cards */
.activity-card{display:flex;align-items:center;gap:.9rem;padding:1rem;background:var(--card);border:1px solid var(--border);border-radius:12px;margin-bottom:.6rem;flex-wrap:wrap;transition:border-color .2s}
.activity-card:hover{border-color:var(--border2)}
.activity-card.activity-done{opacity:.6}
.activity-card.activity-pending{border-color:rgba(255,184,154,.2)}
.activity-icon{font-size:1.3rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--surface2);border-radius:8px;flex-shrink:0}
.activity-info{flex:1;min-width:140px}
.activity-title{font-weight:700;font-size:.86rem;font-family:var(--font-sub)}
.activity-desc{font-size:.74rem;color:var(--muted)}
.activity-review-tag{font-size:.62rem;color:var(--accent);font-family:var(--font-mono);margin-top:.2rem}
.activity-approved-tag{font-size:.62rem;color:var(--green);font-family:var(--font-mono);margin-top:.2rem}
.activity-xp{font-family:var(--font-head);font-size:1.1rem;color:var(--accent);flex-shrink:0}
.activity-actions{display:flex;gap:.4rem;flex-shrink:0;flex-wrap:wrap}

/* Leaderboard */
.leaderboard-header{display:flex;gap:1rem;padding:.5rem 1rem;font-size:.65rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);font-family:var(--font-mono);border-bottom:1px solid var(--border);margin-bottom:.4rem}
.leaderboard-header span:nth-child(1){width:50px}
.leaderboard-header span:nth-child(2){flex:1}
.leaderboard-header span:nth-child(3){width:80px;text-align:center}
.leaderboard-header span:nth-child(4){width:80px;text-align:right}
.leaderboard-row{display:flex;align-items:center;gap:1rem;padding:.65rem 1rem;border-radius:10px;transition:background .2s}
.leaderboard-row:hover{background:var(--surface2)}
.leaderboard-me{background:var(--accent-dim) !important;border:1px solid rgba(255,184,154,.2);border-radius:10px}
.lb-rank{width:50px;font-family:var(--font-mono);font-size:.8rem;color:var(--muted)}
.lb-user{flex:1;font-weight:700;font-size:.86rem;font-family:var(--font-sub)}
.lb-acts{width:80px;text-align:center}
.lb-xp{width:80px;text-align:right;font-family:var(--font-head);font-size:1rem;color:var(--accent)}


.event-dash-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;margin-bottom:1rem;cursor:pointer;transition:all .25s}
.event-dash-card:hover{border-color:var(--accent);transform:translateY(-2px)}
.event-dash-card.live{border-color:rgba(200,36,43,.3)}
.edc-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.6rem;flex-wrap:wrap}
.edc-status{font-size:.65rem;letter-spacing:1.5px;text-transform:uppercase;font-family:var(--font-mono);margin-bottom:.3rem}
.edc-status.live{color:var(--red)}
.edc-status.upcoming{color:var(--accent)}
.edc-status.ended{color:var(--muted)}
.edc-title{font-family:var(--font-head);font-size:1.4rem;margin-bottom:.2rem}
.edc-prize{font-size:.8rem;color:var(--green)}
.edc-desc{font-size:.8rem;color:var(--muted);line-height:1.6}
.edc-ends{font-size:.7rem;color:var(--muted);font-family:var(--font-mono);margin-top:.5rem}
.activity-card{display:flex;align-items:center;gap:.9rem;padding:1rem;background:var(--card);border:1px solid var(--border);border-radius:12px;margin-bottom:.6rem;flex-wrap:wrap;transition:border-color .2s}
.activity-card:hover{border-color:var(--border2)}
.activity-card.activity-done{opacity:.6}
.activity-card.activity-pending{border-color:rgba(255,184,154,.2)}
.activity-icon{font-size:1.3rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--surface2);border-radius:8px;flex-shrink:0}
.activity-info{flex:1;min-width:140px}
.activity-title{font-weight:700;font-size:.86rem;font-family:var(--font-sub)}
.activity-desc{font-size:.74rem;color:var(--muted)}
.activity-review-tag{font-size:.62rem;color:var(--accent);font-family:var(--font-mono);margin-top:.2rem}
.activity-approved-tag{font-size:.62rem;color:var(--green);font-family:var(--font-mono);margin-top:.2rem}
.activity-xp{font-family:var(--font-head);font-size:1.1rem;color:var(--accent);flex-shrink:0}
.activity-actions{display:flex;gap:.4rem;flex-shrink:0;flex-wrap:wrap}
.leaderboard-header{display:flex;gap:1rem;padding:.5rem 1rem;font-size:.65rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);font-family:var(--font-mono);border-bottom:1px solid var(--border);margin-bottom:.4rem}
.leaderboard-row{display:flex;align-items:center;gap:1rem;padding:.65rem 1rem;border-radius:10px;transition:background .2s}
.leaderboard-row:hover{background:var(--surface2)}
.leaderboard-me{background:var(--accent-dim) !important;border:1px solid rgba(255,184,154,.2);border-radius:10px}
.lb-rank{width:50px;font-family:var(--font-mono);font-size:.8rem;color:var(--muted)}
.lb-user{flex:1;font-weight:700;font-size:.86rem;font-family:var(--font-sub)}
.lb-acts{width:80px;text-align:center;font-size:.78rem;color:var(--muted)}
.lb-xp{width:80px;text-align:right;font-family:var(--font-head);font-size:1rem;color:var(--accent)}




/* Daily Social Engagement */
.social-engage-group{margin-bottom:1.5rem}
.seg-platform-header{display:flex;align-items:center;gap:.7rem;padding:.6rem 1rem;background:var(--surface2);border-radius:10px;border-left:3px solid;margin-bottom:.6rem}
.seg-icon{font-size:1.1rem}
.seg-platform-name{font-weight:700;font-size:.88rem;font-family:var(--font-sub);flex:1}
.seg-count{font-size:.65rem;color:var(--muted);font-family:var(--font-mono)}
.seg-post-item{display:flex;align-items:center;gap:.8rem;padding:.75rem 1rem;background:var(--card);border:1px solid var(--border);border-radius:10px;margin-bottom:.4rem;flex-wrap:wrap;transition:border-color .2s}
.seg-post-item:hover{border-color:var(--border2)}
.seg-post-info{flex:1;min-width:160px}
.seg-post-title{font-size:.82rem;font-weight:600;color:var(--text);text-decoration:none;display:block;margin-bottom:.2rem;font-family:var(--font-sub)}
.seg-post-title:hover{color:var(--accent)}
.seg-post-date{font-size:.65rem;color:var(--muted);font-family:var(--font-mono)}

