/* ============================================================
   EverestCraftWeb — style.css
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500;9..40,600;9..40,700&family=DM+Serif+Display&display=swap');

:root {
  /* LIGHT THEME (Default) */
  --bg: #ffffff;
  --surface: #ffffff;
  --s2: #f6f6f6;
  --s3: #ebebeb;
  --border: rgba(0,0,0,0.06);
  --border-md: rgba(0,0,0,0.12);
  --text: #111111;
  --text-2: #454545;
  --text-3: #909090;
  --ink: #000000;
  --accent: #111111; /* Changed from green to black */
  --sh-sm: 0 1px 4px rgba(0,0,0,0.05);
  --sh: 0 4px 20px rgba(0,0,0,0.08);
  --sh-lg: 0 16px 52px rgba(0,0,0,0.1);
  --r-sm: 10px; --r: 20px; --r-lg: 26px; --r-pill: 999px;
  --ease: cubic-bezier(0.4, 0, 0.2, 1);
  --t: 0.28s var(--ease);
}

body.dark-theme {
  /* DARK THEME */
  --bg: #0a0a0c;
  --surface: rgba(255,255,255,0.03);
  --s2: rgba(255,255,255,0.05);
  --s3: rgba(255,255,255,0.08);
  --border: rgba(255,255,255,0.08);
  --border-md: rgba(255,255,255,0.14);
  --text: #ffffff;
  --text-2: #e0e0e0;
  --text-3: #a0a0a0;
  --ink: #ffffff;
  --accent: #ffffff; /* Changed from green to white */
  --sh-sm: 0 1px 4px rgba(0,0,0,0.4);
  --sh: 0 4px 20px rgba(0,0,0,0.6);
  --sh-lg: 0 16px 52px rgba(0,0,0,0.8);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'DM Sans',sans-serif;
  background:var(--bg);
  color:var(--text);
  overflow-x:hidden;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  transition: background-color 0.4s var(--ease), color 0.4s var(--ease);
}

/* Background Stars (Only in Dark Theme) */
body.dark-theme::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -1;
  background: 
    radial-gradient(circle at 20% 30%, #1a1a2e 0%, transparent 40%),
    radial-gradient(circle at 80% 70%, #16213e 0%, transparent 40%),
    linear-gradient(135deg, #0a0a0c 0%, #1a1a1a 100%);
  animation: fadeIn 1s ease both;
}

.stars-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  pointer-events: none;
  overflow: hidden;
  display: none;
}
body.dark-theme .stars-container { display: block; }

@keyframes fallingStar {
  0% { transform: translateY(-100vh) translateX(0) rotate(45deg); opacity: 1; }
  100% { transform: translateY(100vh) translateX(200px) rotate(45deg); opacity: 0; }
}

.star {
  position: absolute;
  width: 2px;
  height: 80px;
  background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,0.5));
  animation: fallingStar linear infinite;
}

img{display:block;max-width:100%;}a{color:inherit;text-decoration:none;}ul{list-style:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}
::-webkit-scrollbar{width:5px;}::-webkit-scrollbar-track{background:var(--bg);}::-webkit-scrollbar-thumb{background:var(--s3);border-radius:3px;}

@keyframes fadeDown{from{opacity:0;transform:translateY(-16px);}to{opacity:1;transform:none;}}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:0.2;}}
@keyframes flowIn{from{opacity:0;transform:translateY(30px) scale(0.97);}to{opacity:1;transform:none;}}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:500;height:72px;
  display:flex;align-items:center;justify-content:space-between;padding:0 5%;
  background:rgba(var(--bg-rgb, 255,255,255), 0.8);backdrop-filter:blur(24px) saturate(1.8);
  border-bottom:1px solid var(--border);animation:fadeDown 0.7s var(--ease) both;transition:all var(--t);}
body.dark-theme .nav { background:rgba(10,10,12,0.7); }
.nav--scrolled{box-shadow:var(--sh-sm);}
.nav__logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0;}
.nav__logo-img{height:42px;width:42px;object-fit:contain;border-radius:10px;transition: filter 0.4s;}
body.dark-theme .nav__logo-img { filter: drop-shadow(0 0 8px rgba(255,255,255,0.2)); }
.nav__logo-text{font-family:'DM Serif Display',serif;font-size:1.25rem;color:var(--ink);letter-spacing:0.5px;}
.nav__links{display:flex;align-items:center;gap:30px;}
.nav__links a{font-size:0.88rem;font-weight:500;color:var(--text-3);transition:color var(--t);position:relative;}
.nav__links a::after{content:'';position:absolute;bottom:-3px;left:0;right:0;height:1.5px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform var(--t);}
.nav__links a:hover{color:var(--ink);}
.nav__links a:hover::after{transform:scaleX(1);}

/* Theme Toggle Button */
.theme-toggle {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-2);
  transition: all var(--t);
  background: var(--surface);
}
.theme-toggle:hover { background: var(--s2); transform: scale(1.05); }
.theme-toggle svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; }
.theme-toggle .sun { display: block; }
.theme-toggle .moon { display: none; }
body.dark-theme .theme-toggle .sun { display: none; }
body.dark-theme .theme-toggle .moon { display: block; }

.nav__cta{background:var(--ink)!important;color:var(--bg)!important;padding:10px 24px!important;border-radius:var(--r-pill)!important;font-size:0.85rem!important;font-weight:700!important;transition:all var(--t)!important;box-shadow:var(--sh-sm)!important;}
.nav__cta:hover{opacity:0.9;transform:translateY(-2px);box-shadow:var(--sh)!important;}
.nav__hamburger{display:none;flex-direction:column;gap:5px;padding:4px;}
.nav__hamburger span{display:block;width:24px;height:2px;background:var(--text-2);border-radius:2px;transition:var(--t);}

/* HERO */
.hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:100px 6% 80px;position:relative;overflow:hidden;}
.hero>*{position:relative;z-index:1;}
.hero__capsule{display:inline-flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border-md);border-radius:var(--r-pill);padding:8px 20px;font-size:0.75rem;font-weight:600;color:var(--text-2);letter-spacing:1.2px;text-transform:uppercase;margin-bottom:32px;backdrop-filter:blur(10px);box-shadow:var(--sh-sm);animation:flowIn 0.9s 0.1s var(--ease) both;}
.hero__capsule-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:blink 2s infinite;box-shadow:0 0 10px var(--accent);}
.hero__title{font-family:'DM Serif Display',serif;font-size:clamp(3.2rem,9vw,7.2rem);font-weight:400;line-height:1.05;color:var(--ink);letter-spacing:-2px;margin-bottom:28px;}
.hero__title .line-1{display:block;animation:flowIn 0.9s 0.22s var(--ease) both;}
.hero__title .line-2{display:block;color:var(--text-3);animation:flowIn 0.9s 0.38s var(--ease) both;}
.hero__sub{font-size:1.15rem;color:var(--text-3);max-width:560px;margin:0 auto 48px;line-height:1.7;animation:flowIn 0.9s 0.52s var(--ease) both;}
.hero__actions{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;animation:flowIn 0.9s 0.64s var(--ease) both;}
.hero__stats{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:64px;animation:flowIn 0.9s 0.78s var(--ease) both;}
.hero__stat{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-pill);padding:10px 22px;font-size:0.9rem;font-weight:500;color:var(--text-2);backdrop-filter:blur(10px);box-shadow:var(--sh-sm);transition:all var(--t);}
.hero__stat:hover{transform:translateY(-3px);box-shadow:var(--sh);border-color:var(--border-md);}
.hero__stat strong{color:var(--ink);font-weight:700;}
.hero__ip{display:inline-flex;align-items:center;gap:14px;margin-top:24px;background:var(--surface);border:1px solid var(--border-md);border-radius:var(--r-pill);padding:12px 24px;font-size:0.92rem;color:var(--text-2);backdrop-filter:blur(12px);animation:flowIn 0.9s 0.9s var(--ease) both;box-shadow:var(--sh-sm);}
.hero__ip code{font-family:monospace;font-weight:700;color:var(--text);}
.hero__ip-copy{background:var(--s3);border-radius:8px;padding:6px 16px;font-size:0.78rem;font-weight:700;color:var(--text);border:1px solid var(--border);transition:all var(--t);}
.hero__ip-copy:hover{background:var(--ink);color:var(--bg);transform:scale(1.05);}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 34px;border-radius:var(--r-pill);font-size:0.95rem;font-weight:700;transition:all var(--t);text-decoration:none;}
.btn--primary{background:var(--ink);color:var(--bg);box-shadow:var(--sh-sm);}
.btn--primary:hover{opacity:0.85;transform:translateY(-3px);box-shadow:var(--sh);}
.btn--outline{background:var(--surface);color:var(--text);border:1px solid var(--border-md);backdrop-filter:blur(8px);}
.btn--outline:hover{background:var(--s2);transform:translateY(-3px);box-shadow:var(--sh);}

/* SECTION BASE */
.section{padding:120px 6%;}
.section__eyebrow{display:inline-block;font-size:0.75rem;font-weight:700;letter-spacing:2.8px;text-transform:uppercase;color:var(--text-3);margin-bottom:16px;}
.section__title{font-family:'DM Serif Display',serif;font-size:clamp(2.5rem,5vw,4rem);font-weight:400;line-height:1.1;color:var(--ink);letter-spacing:-0.5px;margin-bottom:18px;}
.section__sub{font-size:1.1rem;color:var(--text-3);max-width:540px;line-height:1.7;}
.reveal{opacity:0;transform:translateY(24px);transition:opacity 0.8s var(--ease),transform 0.8s var(--ease);}
.reveal.visible{opacity:1;transform:none;}

/* FEATURES */
.features__header{text-align:center;margin-bottom:72px;}
.features__sub{margin:0 auto;}
.features__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1160px;margin:0 auto;}
.feature-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:42px 36px;transition:all var(--t);backdrop-filter:blur(10px);}
.feature-card:hover{transform:translateY(-8px);box-shadow:var(--sh-lg);border-color:var(--border-md);background:var(--s2);}
.feature-card__icon{width:56px;height:56px;background:var(--ink);border-radius:18px;display:flex;align-items:center;justify-content:center;margin-bottom:28px;box-shadow:var(--sh-sm);}
.feature-card__icon svg{width:26px;height:26px;stroke:var(--bg);fill:none;stroke-width:2;}
.feature-card h3{font-family:'DM Serif Display',serif;font-size:1.4rem;font-weight:400;color:var(--ink);margin-bottom:12px;}
.feature-card p{font-size:0.95rem;color:var(--text-3);line-height:1.7;}

/* GALLERY */
.gallery__header{text-align:center;margin-bottom:52px;}
.gallery__sub{margin:0 auto;}
.gallery__viewport{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-lg);border:1px solid var(--border);background:#000;user-select:none;}
.gallery__track{display:flex;transition:transform 0.65s var(--ease);}
.gallery__slide{min-width:100%;}
.gallery__slide img{width:100%;height:580px;object-fit:cover;display:block;}
.gallery__nav{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:28px;}
.gallery__btn{width:52px;height:52px;border-radius:50%;background:var(--surface);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;box-shadow:var(--sh-sm);transition:all var(--t);}
.gallery__btn:hover{background:var(--ink);transform:scale(1.1);box-shadow:var(--sh);}
.gallery__btn:hover svg{stroke:var(--bg);}
.gallery__btn svg{width:20px;height:20px;stroke:var(--text-2);fill:none;stroke-width:2.5;}
.gallery__dot{width:8px;height:8px;border-radius:50%;background:var(--s3);border:1px solid var(--border);cursor:pointer;transition:all var(--t);}
.gallery__dot.active{background:var(--accent);transform:scale(1.5);border-color:var(--accent);}

/* STORE */
.store__header{text-align:center;margin-bottom:72px;}
.store__sub{margin:0 auto;}
.store__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1160px;margin:0 auto;}
.store-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:42px 34px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:all var(--t);backdrop-filter:blur(10px);}
.store-card:hover{transform:translateY(-8px);box-shadow:var(--sh-lg);background:var(--s2);}
.store-card.store-card--featured{background:#000000;border-color:rgba(255,255,255,0.1);box-shadow:var(--sh-lg);}
body.dark-theme .store-card.store-card--featured { background: #000000; border-color: var(--border-md); }
.store-card--featured h3, 
.store-card--featured .price-row__val, 
.store-card--featured .price-row__name,
.store-card--featured .store-card__label,
.store-card--featured .store-card__desc,
.store-card--featured .store-card__note { color: #ffffff!important; }
.store-card--featured .store-card__label { color: rgba(255,255,255,0.5)!important; }
.store-card--featured .store-card__desc, .store-card--featured .store-card__note { color: rgba(255,255,255,0.7)!important; }
.store-card--featured .price-row { border-color: rgba(255,255,255,0.1); }
.store-card--featured .store-card__cta { background: #ffffff!important; color: #000000!important; }
body.dark-theme .store-card--featured .store-card__cta { background: #ffffff!important; color: #000000!important; }
.store-card__label{font-size:0.75rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--text-3);margin-bottom:12px;}
.store-card h3{font-family:'DM Serif Display',serif;font-size:2rem;font-weight:400;color:var(--ink);margin-bottom:10px;}
.store-card__desc{font-size:0.95rem;color:var(--text-3);line-height:1.7;margin-bottom:32px;}
.price-list{flex:1;display:flex;flex-direction:column;}
.price-row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--border);font-size:0.95rem;}
.price-row__name{color:var(--text-2);font-weight:500;}
.price-row__val{font-weight:700;color:var(--ink);}
.store-card__cta{display:block;text-align:center;margin-top:32px;background:var(--ink);color:var(--bg);padding:16px 24px;border-radius:var(--r-pill);font-size:0.92rem;font-weight:800;transition:all var(--t);}
.store-card__cta:hover{opacity:0.9;transform:scale(1.03);}
.store-card__note{text-align:center;margin-top:14px;font-size:0.82rem;color:var(--text-3);}

/* RULES */
.rules__header{text-align:center;margin-bottom:56px;}
.rules__sub{margin:0 auto;}
.rules__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1160px;margin:0 auto;}
.rules-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:38px 32px;transition:all var(--t);backdrop-filter:blur(10px);}
.rules-card:hover{transform:translateY(-5px);box-shadow:var(--sh);background:var(--s2);}
.rules-card__head{display:flex;align-items:center;gap:14px;margin-bottom:24px;}
.rules-card__icon{width:40px;height:40px;background:var(--s2);border:1px solid var(--border);border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.rules-card__icon svg{width:20px;height:20px;stroke:var(--ink);fill:none;stroke-width:2;}
.rules-card h4{font-family:'DM Serif Display',serif;font-size:1.25rem;font-weight:400;color:var(--ink);}
.rules-card__list{display:flex;flex-direction:column;gap:12px;}
.rules-card__list li{font-size:0.9rem;color:var(--text-2);line-height:1.65;padding-left:20px;position:relative;}
.rules-card__list li::before{content:'';position:absolute;left:0;top:10px;width:6px;height:6px;border-radius:50%;background:var(--accent);border:1px solid var(--border-md);}
.rules__final{margin:40px auto 0;text-align:center;padding:32px 40px;background:var(--surface);border:1px solid var(--border);color:var(--text-2);border-radius:var(--r-lg);font-size:0.95rem;line-height:1.75;max-width:1160px;box-shadow:var(--sh-sm);}
.rules__final strong{display:block;margin-bottom:10px;font-family:'DM Serif Display',serif;font-size:1.3rem;color:var(--ink);}

/* VOTING */
.voting__inner{max-width:720px;margin:0 auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:64px 52px;text-align:center;box-shadow:var(--sh);}
.voting__desc{font-size:1rem;color:var(--text-3);margin-top:12px;line-height:1.75;}
.voting__list{display:flex;flex-direction:column;gap:14px;margin-top:42px;text-align:left;}
.vote-link{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--s2);border:1px solid var(--border);border-radius:var(--r-sm);padding:18px 24px;color:var(--text-2);font-size:0.95rem;font-weight:500;transition:all var(--t);}
.vote-link:hover{transform:translateX(8px);box-shadow:var(--sh);background:var(--surface);border-color:var(--border-md);}
.vote-link__num{width:32px;height:32px;background:var(--s3);border:1px solid var(--border);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:0.8rem;font-weight:800;color:var(--text-2);}
.vote-link__name{font-weight:600;color:var(--ink);}
.vote-link__domain{font-size:0.82rem;color:var(--text-3);}
.vote-link__arrow svg{width:18px;height:18px;stroke:var(--text-3);fill:none;stroke-width:2.5;transition:stroke var(--t);}
.vote-link:hover .vote-link__arrow svg{stroke:var(--ink);}
.voting__note{margin-top:24px;font-size:0.85rem;color:var(--text-3);}

/* JOIN */
.join__box{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:var(--r-lg);padding:100px 6%;max-width:1160px;margin:0 auto;position:relative;overflow:hidden;box-shadow:var(--sh-lg);text-align:center;}
body.dark-theme .join__box { background: linear-gradient(145deg,rgba(255,255,255,0.06),rgba(255,255,255,0.02)); border-color: var(--border-md); }
.join__eyebrow{color:var(--text-3);margin-bottom:12px;display:block;}
.join__title{font-family:'DM Serif Display',serif;font-size:clamp(2.5rem,5vw,4.2rem);font-weight:400;color:var(--ink);margin-bottom:18px;letter-spacing:-0.5px;}
.join__sub{font-size:1.1rem;color:var(--text-3);max-width:500px;margin:0 auto 48px;line-height:1.75;}
body.dark-theme .join__title, body.dark-theme .join__sub { text-shadow: 0 4px 20px rgba(0,0,0,0.6); }

/* FOOTER */
.footer{background:var(--bg);border-top:1px solid var(--border);padding:80px 6% 40px;transition: background-color 0.4s;}
.footer__top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:56px;margin-bottom:64px;}
.footer__brand-logo{display:flex;align-items:center;gap:12px;margin-bottom:20px;}
.footer__brand-img{height:46px;width:46px;object-fit:contain;border-radius:10px;transition: filter 0.4s;}
body.dark-theme .footer__brand-img { filter: drop-shadow(0 0 5px rgba(255,255,255,0.1)); }
.footer__brand-name{font-family:'DM Serif Display',serif;font-size:1.25rem;color:var(--ink);}
.footer__brand-desc{font-size:0.9rem;color:var(--text-3);line-height:1.75;max-width:260px;}
.footer__ip{margin-top:20px;display:inline-flex;align-items:center;gap:10px;background:var(--s2);border:1px solid var(--border);border-radius:var(--r-pill);padding:8px 18px;font-size:0.85rem;color:var(--text-2);}
.footer__ip code{font-family:monospace;color:var(--ink);font-weight:700;}
.footer__col-title{font-size:0.75rem;font-weight:800;letter-spacing:2.5px;text-transform:uppercase;color:var(--text-3);margin-bottom:22px;}
.footer__col-links{display:flex;flex-direction:column;gap:14px;}
.footer__col-links a{font-size:0.92rem;color:var(--text-3);transition:color var(--t);}
.footer__col-links a:hover{color:var(--ink);}
.footer__bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding-top:32px;border-top:1px solid var(--border);}
.footer__copy{font-size:0.85rem;color:var(--text-3);}
.footer__status{display:inline-flex;align-items:center;gap:8px;font-size:0.82rem;color:var(--text-2);}
.footer__status-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:blink 2s infinite;box-shadow:0 0 8px var(--accent);}

@media(max-width:1100px){.features__grid,.store__grid,.rules__grid{grid-template-columns:1fr 1fr;}}
@media(max-width:768px){
  .features__grid,.store__grid,.rules__grid{grid-template-columns:1fr;}
  .footer__top{grid-template-columns:1fr 1fr;gap:40px;}
  .hero__title{font-size:3.5rem;}
  .hero__sub{font-size:1.05rem;}
  .section{padding:90px 5%;}
}
@media(max-width:580px){
  .nav__links{display:none;}
  .nav__hamburger{display:flex;}
  .nav__links.is-open{display:flex;flex-direction:column;align-items:flex-start;gap:20px;position:fixed;top:72px;left:0;right:0;background:rgba(var(--bg-rgb, 255,255,255), 0.98);backdrop-filter:blur(24px);padding:30px 6%;border-bottom:1px solid var(--border);animation:fadeDown 0.3s var(--ease);}
  body.dark-theme .nav__links.is-open { background: rgba(10,10,12,0.98); }
  .footer__top{grid-template-columns:1fr;gap:32px;}
  .gallery__slide img{height:300px;}
}
