:root{
  color-scheme:dark;
  --bg:#050712;
  --bg2:#090b1a;
  --panel:rgba(11,15,31,.82);
  --panel2:rgba(19,24,48,.72);
  --line:rgba(255,255,255,.11);
  --line-strong:rgba(142,125,255,.36);
  --text:#f8fbff;
  --muted:#aeb7ca;
  --blue:#59d7ff;
  --purple:#9487ff;
  --pink:#ff70db;
  --gold:#ffd679;
  --danger:#ff8f9d;
  --shadow:0 30px 80px rgba(0,0,0,.46);
}
*{box-sizing:border-box}
html{min-height:100%;background:var(--bg);scroll-behavior:smooth}
body{
  min-height:100vh;
  margin:0;
  overflow-x:hidden;
  background:
    radial-gradient(circle at 50% -10%,rgba(89,215,255,.11),transparent 32%),
    radial-gradient(circle at 90% 18%,rgba(255,112,219,.08),transparent 28%),
    linear-gradient(180deg,#050712 0%,#080a17 55%,#050712 100%);
  color:var(--text);
  font-family:"Space Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  text-align:center;
  line-height:1.55;
}
a{color:var(--blue);text-underline-offset:4px}
a:hover{color:#c5f3ff}
button,select{font:inherit}
button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.aurora{
  position:fixed;
  inset:auto;
  width:46vw;
  height:46vw;
  border-radius:50%;
  filter:blur(90px);
  opacity:.08;
  pointer-events:none;
  z-index:0;
}
.aurora-a{top:9vh;left:-15vw;background:var(--purple)}
.aurora-b{right:-18vw;top:28vh;background:var(--pink)}

.snow{
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.35;
  z-index:0;
  background-image:
    radial-gradient(circle at 12% 18%,#fff 0 1px,transparent 1.5px),
    radial-gradient(circle at 28% 42%,#fff 0 1px,transparent 1.5px),
    radial-gradient(circle at 44% 12%,#fff 0 1px,transparent 1.5px),
    radial-gradient(circle at 66% 32%,#fff 0 1px,transparent 1.5px),
    radial-gradient(circle at 82% 14%,#fff 0 1px,transparent 1.5px),
    radial-gradient(circle at 92% 52%,#fff 0 1px,transparent 1.5px);
  background-size:320px 320px;
  animation:snow-drift 28s linear infinite;
}
@keyframes snow-drift{to{background-position:0 320px}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.snow{animation:none}}

.site-header{
  position:relative;
  z-index:3;
  min-height:82px;
  padding:16px clamp(18px,5vw,72px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  border-bottom:1px solid var(--line);
  background:rgba(5,7,18,.62);
  backdrop-filter:blur(14px);
}
.brand{
  display:flex;
  align-items:center;
  gap:12px;
  color:#fff;
  text-decoration:none;
}
.brand-mark{
  display:grid;
  place-items:center;
  width:44px;height:44px;
  border:1px solid rgba(89,215,255,.45);
  border-radius:12px;
  background:linear-gradient(145deg,rgba(89,215,255,.12),rgba(148,135,255,.12));
  box-shadow:0 0 30px rgba(89,215,255,.09);
  font:400 28px Georgia,serif;
}
.brand-word{font-family:"Press Start 2P",monospace;font-size:13px;letter-spacing:.5px}
.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}
.network{
  color:var(--blue);
  font-size:11px;
  letter-spacing:1.5px;
  font-weight:700;
  white-space:nowrap;
}
.language-wrap select{
  appearance:none;
  min-width:64px;
  padding:9px 26px 9px 11px;
  border:1px solid var(--line);
  border-radius:8px;
  color:var(--text);
  background:
    linear-gradient(45deg,transparent 50%,var(--blue) 50%) calc(100% - 13px) 50%/5px 5px no-repeat,
    linear-gradient(135deg,var(--blue) 50%,transparent 50%) calc(100% - 9px) 50%/5px 5px no-repeat,
    rgba(255,255,255,.04);
  cursor:pointer;
}

main{
  position:relative;
  z-index:1;
  width:min(100% - 28px,760px);
  margin:0 auto;
  padding:34px 0 44px;
}
.mountain-scene{
  position:relative;
  height:180px;
  margin:0 auto -30px;
  overflow:hidden;
  opacity:.92;
}
.moon{
  position:absolute;
  width:54px;height:54px;
  border-radius:50%;
  top:22px;right:16%;
  background:#d9f5ff;
  box-shadow:0 0 40px rgba(89,215,255,.28);
}
.mountain{
  position:absolute;
  left:50%;
  bottom:0;
  width:0;height:0;
  transform:translateX(-50%);
  border-left-style:solid;
  border-right-style:solid;
  border-bottom:0;
}
.mountain-back{
  border-left-width:250px;
  border-right-width:250px;
  border-bottom-width:0;
  border-top:125px solid transparent;
  filter:drop-shadow(0 -1px 0 rgba(255,255,255,.08));
}
.mountain-back::before{
  content:"";
  position:absolute;
  left:-250px;top:-125px;
  width:500px;height:125px;
  clip-path:polygon(50% 0,100% 100%,0 100%);
  background:linear-gradient(160deg,#18213d 0 48%,#10172e 49%);
}
.mountain-front{
  border-left-width:180px;
  border-right-width:180px;
  border-top:95px solid transparent;
}
.mountain-front::before{
  content:"";
  position:absolute;
  left:-180px;top:-95px;
  width:360px;height:95px;
  clip-path:polygon(50% 0,100% 100%,0 100%);
  background:linear-gradient(160deg,#263253 0 42%,#121a34 43%);
}
.cabin{position:absolute;left:50%;bottom:22px;transform:translateX(96px);width:44px;height:38px;filter:drop-shadow(0 0 16px rgba(255,214,121,.25))}
.cabin .house{position:absolute;bottom:0;left:4px;width:36px;height:24px;background:#291c25;border:1px solid rgba(255,255,255,.12)}
.cabin .roof{position:absolute;left:0;top:0;width:44px;height:20px;clip-path:polygon(50% 0,100% 100%,0 100%);background:#3d2936}
.cabin .window{position:absolute;left:23px;bottom:8px;width:7px;height:8px;background:var(--gold);box-shadow:0 0 14px var(--gold)}

.hero{position:relative}
.eyebrow{
  margin:0 0 13px;
  color:var(--blue);
  font-size:12px;
  letter-spacing:3px;
  font-weight:700;
}
h1{
  margin:0;
  font-family:"Press Start 2P",monospace;
  font-size:clamp(28px,7vw,54px);
  line-height:1.26;
  letter-spacing:1px;
  text-shadow:0 0 24px rgba(148,135,255,.18);
}
h1 span{color:var(--purple)}
.intro{
  width:min(100%,580px);
  margin:22px auto 30px;
  color:var(--muted);
  font-size:15px;
}

.claim-card{
  position:relative;
  overflow:hidden;
  border:1px solid var(--line-strong);
  border-top:2px solid var(--purple);
  border-radius:22px;
  padding:clamp(24px,5vw,42px);
  background:
    linear-gradient(180deg,rgba(28,32,62,.70),rgba(9,13,28,.86)),
    var(--panel);
  box-shadow:var(--shadow),0 0 70px rgba(148,135,255,.07);
  backdrop-filter:blur(16px);
}
.claim-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(120deg,transparent 0 43%,rgba(255,255,255,.025) 46%,transparent 50%);
}
.card-glow{
  position:absolute;
  width:280px;height:280px;
  top:-190px;left:50%;
  transform:translateX(-50%);
  border-radius:50%;
  background:var(--purple);
  filter:blur(80px);
  opacity:.14;
}
.claim-label{
  position:relative;
  margin:0 0 10px;
  color:#c5bee9;
  font-size:11px;
  letter-spacing:2.5px;
}
h2{
  position:relative;
  margin:0;
  color:var(--blue);
  font-size:clamp(48px,12vw,80px);
  line-height:1.06;
  letter-spacing:-4px;
  text-shadow:0 0 26px rgba(89,215,255,.18);
}
h2 span{
  display:block;
  margin-top:10px;
  color:#fff;
  font-family:"Press Start 2P",monospace;
  font-size:15px;
  letter-spacing:2px;
}
.muted,.footnote{color:var(--muted)}
.muted{margin:18px 0 0;font-size:14px}

.counters{
  display:flex;
  justify-content:space-between;
  gap:24px;
  margin-top:32px;
  padding-top:24px;
  border-top:1px solid var(--line);
  text-align:left;
}
.counters>div:last-child{text-align:right}
.counters strong,.counters span{display:block}
.counters strong{font-size:21px;color:#fff}
.counters span{margin-top:3px;color:var(--muted);font-size:10px;letter-spacing:1.8px}
progress{
  appearance:none;
  display:block;
  width:100%;
  height:9px;
  margin:18px 0 24px;
  border:0;
  border-radius:100px;
  overflow:hidden;
  background:rgba(255,255,255,.07);
}
progress::-webkit-progress-bar{background:rgba(255,255,255,.07)}
progress::-webkit-progress-value{background:linear-gradient(90deg,var(--blue),var(--purple),var(--pink))}
progress::-moz-progress-bar{background:linear-gradient(90deg,var(--blue),var(--purple),var(--pink))}

.wallet-panel{
  min-height:84px;
  margin:0 0 18px;
  padding:15px 16px;
  border:1px solid var(--line);
  border-radius:12px;
  background:rgba(0,0,0,.18);
  text-align:left;
}
.wallet-dot{
  display:inline-block;
  width:7px;height:7px;
  margin-right:6px;
  border-radius:50%;
  background:var(--blue);
  box-shadow:0 0 12px rgba(89,215,255,.7);
}
.wallet-address{
  display:inline;
  color:#cbd5e6;
  overflow-wrap:anywhere;
  font-size:12px;
}
#status{
  min-height:24px;
  margin:8px 0 0;
  color:#fff;
  font-size:13px;
  overflow-wrap:anywhere;
}

button{
  display:block;
  width:100%;
  min-height:52px;
  margin:11px 0;
  padding:15px 14px;
  border:1px solid var(--purple);
  border-radius:10px;
  background:var(--purple);
  color:#080a16;
  font-family:"Press Start 2P",monospace;
  font-size:11px;
  line-height:1.45;
  letter-spacing:.4px;
  cursor:pointer;
  transition:transform .15s ease,filter .15s ease,border-color .15s ease;
}
button:not(:disabled):hover{filter:brightness(1.12);transform:translateY(-1px)}
button:disabled{opacity:.42;cursor:not-allowed}
#connect{
  background:rgba(255,255,255,.03);
  color:var(--text);
  border-color:rgba(148,135,255,.55);
}
.claim-button{
  background:linear-gradient(90deg,var(--blue),var(--purple));
  border-color:transparent;
  box-shadow:0 0 28px rgba(148,135,255,.11);
}
.secondary{
  min-height:44px;
  margin-top:10px;
  background:transparent;
  color:var(--muted);
  border-color:var(--line);
  font-size:9px;
}
.tx-link{
  display:inline-block;
  margin:13px 0 3px;
  font-family:"Press Start 2P",monospace;
  font-size:9px;
  letter-spacing:.2px;
}
.campaign-info{margin:24px auto 0}
.footnote{margin:7px 0;font-size:12px}
.footer-links{
  display:flex;
  justify-content:center;
  gap:18px;
  flex-wrap:wrap;
  margin-top:22px;
}
.footer-links a{
  font-family:"Press Start 2P",monospace;
  font-size:8px;
  line-height:1.7;
  letter-spacing:.2px;
}
footer{
  position:relative;
  z-index:1;
  padding:18px 20px 30px;
  color:#778198;
  font-size:10px;
  letter-spacing:1.8px;
}

@media(max-width:560px){
  .site-header{padding:13px 16px}
  .brand-word{display:none}
  .header-actions{gap:8px}
  .network{font-size:9px}
  main{width:min(100% - 20px,760px);padding-top:18px}
  .mountain-scene{height:142px;margin-bottom:-18px}
  .moon{right:12%;width:44px;height:44px}
  .claim-card{border-radius:18px;padding:25px 17px}
  h2{letter-spacing:-3px}
  .counters{gap:12px}
  .counters strong{font-size:17px}
  .wallet-panel{min-height:90px}
}
@media(max-width:360px){
  .network{display:none}
  h1{font-size:25px}
  .counters strong{font-size:15px}
}


/* PICO Mountain artwork integration */
.mountain-scene{display:none!important}
.art-hero{
  position:relative;
  width:100%;
  height:clamp(250px,42vw,390px);
  margin:4px auto -72px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.09);
  border-radius:24px 24px 0 0;
  background:
    linear-gradient(180deg,rgba(5,7,18,.03) 0%,rgba(5,7,18,.05) 45%,rgba(5,7,18,.90) 100%),
    url("./pico-mountain-airdrop.png") center 46% / cover no-repeat;
  box-shadow:0 28px 80px rgba(0,0,0,.35),0 0 70px rgba(148,135,255,.06);
}
.art-hero::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 38%,transparent 0 28%,rgba(5,7,18,.08) 68%,rgba(5,7,18,.34) 100%),
    linear-gradient(90deg,rgba(5,7,18,.20),transparent 20% 80%,rgba(5,7,18,.20));
}
.hero{
  position:relative;
  z-index:2;
  width:min(100% - 24px,680px);
  margin:0 auto;
}
.hero>.eyebrow{
  display:inline-block;
  margin-bottom:15px;
  padding:7px 12px;
  border:1px solid rgba(89,215,255,.25);
  border-radius:999px;
  background:rgba(5,7,18,.78);
  backdrop-filter:blur(10px);
}
.hero>h1{
  text-shadow:0 3px 22px rgba(0,0,0,.95),0 0 28px rgba(148,135,255,.32);
}
.hero>.intro{
  color:#d7deeb;
  text-shadow:0 2px 10px rgba(0,0,0,.95);
}
.claim-card{
  background:
    linear-gradient(180deg,rgba(20,25,51,.90),rgba(7,10,23,.95)),
    var(--panel);
  box-shadow:0 32px 90px rgba(0,0,0,.58),0 0 65px rgba(148,135,255,.10);
}
@media(max-width:560px){
  .art-hero{
    height:285px;
    margin-bottom:-54px;
    border-radius:18px 18px 0 0;
    background-position:53% 48%;
  }
  .hero{width:min(100% - 10px,680px)}
}
