/* Cute Mascot preset */
:root{--cream:#fff4e8;--cream-2:#ffe5cc;--peach:#ffb7a8;--sky:#aee0ff;--butter:#ffe082;--ink:#2a1f1c;--ink-2:#5a4640;--muted:rgba(42,31,28,.6);--border:rgba(42,31,28,.12);--ease:cubic-bezier(.22,1,.36,1);--ease-spring:cubic-bezier(.34,1.56,.64,1);--sans:"Quicksand","Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--mono:ui-monospace,"JetBrains Mono","SF Mono",Menlo,Consolas,monospace;}
*,*::before,*::after{box-sizing:border-box;}
html,body{margin:0;padding:0;background:var(--cream);color:var(--ink);min-height:100%;font-family:var(--sans);font-size:15.5px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
a{color:inherit;text-decoration:none;}button{font:inherit;cursor:pointer;background:none;border:0;color:inherit;}img{display:block;max-width:100%;}
::selection{background:var(--peach);}
:focus-visible{outline:2px solid var(--peach);outline-offset:3px;border-radius:8px;}

.bg{position:fixed;inset:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,#fff8ef,#ffe9d6);overflow:hidden;}
.cloud{position:absolute;border-radius:999px;background:#fff;opacity:.7;filter:blur(2px);}
.cloud.c1{width:280px;height:120px;top:8%;left:10%;}
.cloud.c2{width:200px;height:90px;top:30%;right:8%;}
.cloud.c3{width:340px;height:140px;bottom:8%;left:30%;}
.bg-dots{position:absolute;inset:0;background-image:radial-gradient(rgba(42,31,28,.12) 1px,transparent 1.4px);background-size:22px 22px;opacity:.5;}
@media (prefers-reduced-motion:no-preference){.cloud.c1{animation:driftA 22s ease-in-out infinite;}.cloud.c2{animation:driftB 28s ease-in-out infinite;}.cloud.c3{animation:driftA 32s ease-in-out infinite reverse;}}
@keyframes driftA{0%,100%{transform:translate(0,0);}50%{transform:translate(20px,10px);}}
@keyframes driftB{0%,100%{transform:translate(0,0);}50%{transform:translate(-18px,8px);}}

.topbar{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1180px;margin:0 auto;padding:20px 24px;}
.brand{display:inline-flex;align-items:center;gap:10px;}
.brand-bug{width:30px;height:30px;border-radius:50%;background:var(--peach);box-shadow:inset 4px -4px 0 rgba(0,0,0,.12),3px 3px 0 var(--ink);}
.brand-name{font-weight:800;letter-spacing:.05em;font-size:18px;}
.topnav{display:inline-flex;gap:20px;margin-left:auto;}
.topnav a{font-weight:700;font-size:14px;color:var(--ink-2);padding:6px 4px;transition:color .2s var(--ease);}
.topnav a:hover{color:var(--ink);}
@media (max-width:760px){.topnav{display:none;}}
.topbar-right{display:inline-flex;align-items:center;gap:10px;}
.share-btn{padding:9px 16px;border-radius:999px;background:#fff;border:2px solid var(--ink);font-weight:800;font-size:12px;letter-spacing:.10em;text-transform:uppercase;box-shadow:3px 3px 0 var(--ink);transition:transform .14s var(--ease-spring);}
.share-btn:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--ink);}
.share-btn.is-copied{background:var(--butter);}

.shell{position:relative;z-index:1;max-width:1180px;margin:0 auto;padding:24px 24px 80px;}
.hero{padding:24px 0 48px;}
.hello{display:inline-block;padding:6px 14px;background:#fff;border:2px solid var(--ink);border-radius:999px;font-weight:800;font-size:12px;letter-spacing:.05em;box-shadow:2px 2px 0 var(--ink);margin-bottom:20px;}
.hero-row{display:grid;grid-template-columns:minmax(260px,360px) 1fr;gap:40px;align-items:center;position:relative;}
@media (max-width:880px){.hero-row{grid-template-columns:1fr;}}

.mascot{position:relative;margin:0;}
.mascot-card{position:relative;aspect-ratio:1/1;border-radius:36px;background:var(--peach);border:3px solid var(--ink);box-shadow:8px 8px 0 var(--ink);overflow:hidden;}
#token-image{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s var(--ease);}
#token-image.is-loaded{opacity:1;}
.visual-fallback{position:absolute;inset:0;display:grid;place-items:center;}
.m-head{position:relative;width:60%;height:60%;border-radius:50%;background:#fff;border:3px solid var(--ink);box-shadow:inset 0 -10px 0 rgba(0,0,0,.06);}
.m-eye{position:absolute;width:14px;height:18px;border-radius:50%;background:var(--ink);}
.m-eye.e1{top:36%;left:30%;}
.m-eye.e2{top:36%;right:30%;}
.m-blush{position:absolute;width:18px;height:10px;border-radius:50%;background:var(--peach);opacity:.85;}
.m-blush.b1{top:54%;left:24%;}
.m-blush.b2{top:54%;right:24%;}
.m-mouth{position:absolute;bottom:24%;left:38%;right:38%;height:10px;border-bottom:3px solid var(--ink);border-radius:0 0 30px 30px;}
.m-glyph{position:absolute;bottom:8%;left:50%;transform:translateX(-50%);font-family:var(--mono);font-weight:800;font-size:18px;color:var(--ink);}
.visual-badge{position:absolute;left:16px;bottom:16px;padding:5px 12px;border-radius:999px;background:#fff;border:2px solid var(--ink);font-family:var(--mono);font-weight:800;font-size:12px;}
.float{position:absolute;font-size:24px;}
.float.f1{top:-12px;right:-8px;color:var(--peach);}
.float.f2{bottom:-6px;left:-10px;color:var(--butter);}
.float.f3{top:50%;right:-18px;color:var(--peach);}
@media (prefers-reduced-motion:no-preference){.mascot-card{animation:bob 4s ease-in-out infinite;}.float.f1{animation:floatA 5s ease-in-out infinite;}.float.f2{animation:floatA 7s ease-in-out infinite reverse;}.float.f3{animation:floatA 6s ease-in-out infinite;}}
@keyframes bob{0%,100%{transform:translateY(0) rotate(0);}50%{transform:translateY(-10px) rotate(-1.2deg);}}
@keyframes floatA{0%,100%{transform:translate(0,0) rotate(0);}50%{transform:translate(6px,-8px) rotate(10deg);}}

.hero-text{display:flex;flex-direction:column;gap:14px;min-width:0;}
.token-name{margin:0;font-size:clamp(40px,8vw,90px);font-weight:800;line-height:.95;letter-spacing:-.025em;color:var(--ink);text-wrap:balance;}
.tagline{margin:0;font-size:clamp(17px,2.2vw,22px);font-weight:700;color:var(--ink-2);}
.desc{margin:0;color:var(--ink-2);font-size:16px;line-height:1.7;max-width:60ch;}
.meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-family:var(--mono);font-size:12px;color:var(--ink-2);}
.sym{font-weight:800;color:var(--ink);font-size:14px;}
.meta-d{width:5px;height:5px;border-radius:50%;background:var(--ink);opacity:.4;}
.meta-chip{padding:3px 10px;border:2px solid var(--ink);border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;background:#fff;}
.cta-row{display:flex;flex-direction:column;gap:10px;}
.cta-primary{display:flex;flex-wrap:wrap;gap:10px;}
.cta-secondary{display:flex;flex-wrap:wrap;gap:8px;}
.btn-primary{display:inline-flex;align-items:center;gap:8px;padding:14px 22px;border-radius:999px;background:var(--ink);color:#fff;border:3px solid var(--ink);font-weight:900;font-size:14px;letter-spacing:.06em;text-transform:uppercase;box-shadow:6px 6px 0 var(--peach);transition:transform .14s var(--ease-spring);}
.btn-primary::after{content:"→";}
.btn-primary:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--peach);}
.chip{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border-radius:999px;border:2px solid var(--ink);background:#fff;font-weight:800;font-size:12px;transition:transform .12s var(--ease-spring),background .2s var(--ease);}
.chip::after{content:"↗";font-size:11px;}
.chip:hover{transform:translateY(-2px);background:var(--butter);}
.chip[data-kind="birdeye"]:hover{background:var(--sky);}
.chip[data-kind="gmgn"]:hover{background:var(--peach);}
.ca{display:inline-flex;align-items:center;gap:10px;padding:8px 12px;border:2px dashed var(--ink);border-radius:14px;background:#fff;cursor:copy;font-family:var(--mono);font-size:12px;}
.ca-l{padding:3px 8px;border-radius:8px;background:var(--peach);color:var(--ink);font-family:var(--sans);font-weight:900;font-size:10px;letter-spacing:.16em;}
.ca-copy{margin-left:6px;padding:4px 10px;border:2px solid var(--ink);border-radius:8px;font-family:var(--sans);font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;}
.ca.is-copied{background:var(--butter);}

.about,.how,.contract,.links{margin:60px 0;}
.sec-title{margin:0 0 12px;font-size:clamp(34px,5vw,60px);font-weight:800;letter-spacing:-.02em;color:var(--ink);}
.sec-lead{margin:0;font-size:17px;color:var(--ink-2);max-width:62ch;}
.steps{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;}
.steps li{display:flex;gap:12px;padding:18px;background:#fff;border:3px solid var(--ink);border-radius:22px;box-shadow:4px 4px 0 var(--ink);}
.steps .n{flex:0 0 36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--sky);border:2px solid var(--ink);font-weight:900;}
.steps h3{margin:0 0 4px;font-size:15px;font-weight:800;}
.steps p{margin:0;color:var(--ink-2);font-size:13.5px;}
.mint-card{padding:20px;background:#fff;border:3px solid var(--ink);border-radius:22px;box-shadow:6px 6px 0 var(--peach);}
.mint-k{display:block;font-size:11px;font-weight:800;letter-spacing:.20em;text-transform:uppercase;color:var(--ink-2);margin-bottom:8px;}
.mint-v{font-family:var(--mono);font-size:13px;color:var(--ink);word-break:break-all;display:block;margin-bottom:10px;}
.mint-note{margin:8px 0 0;font-size:12px;color:var(--muted);}
.link-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;}
.link-card{padding:18px;background:#fff;border:3px solid var(--ink);border-radius:22px;box-shadow:4px 4px 0 var(--ink);display:flex;flex-direction:column;gap:6px;transition:transform .14s var(--ease-spring),box-shadow .14s var(--ease);}
.link-card:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--peach);}
.link-card-h{display:flex;justify-content:space-between;align-items:center;}
.link-card-name{font-weight:800;font-size:16px;}
.link-card-arrow{font-size:14px;}
.link-card-sub{font-size:12px;color:var(--ink-2);}
.link-card[data-kind="pumpfun"]{background:var(--butter);}
.link-card[data-kind="birdeye"]{background:var(--sky);}
.link-card[data-kind="gmgn"]{background:var(--peach);}

.foot{margin-top:48px;padding-top:24px;border-top:3px solid var(--ink);font-size:13px;display:flex;flex-direction:column;gap:10px;}
.foot p{margin:0;color:var(--ink-2);max-width:80ch;}
.foot-mark{font-family:var(--mono);font-weight:800;letter-spacing:.18em;text-transform:uppercase;}

[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
[data-reveal].is-revealed{opacity:1;transform:translateY(0);}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;}[data-reveal]{opacity:1;transform:none;}}

/* ── PREMIUM HERO IMAGE LAYER (added) ─────────────────────────────── */
/* Multi-stage reveal, ambient float, soft halo, hover lift.
   Targets only #token-image and its direct parent via :has() so it
   never collides with preset-specific frame animations.
   Falls back gracefully when :has() is unsupported. */
#token-image{transform-origin:50% 50%;transition:transform .45s cubic-bezier(.22,1,.36,1),filter .45s cubic-bezier(.22,1,.36,1);will-change:transform,opacity,filter;}
#token-image.is-loaded{opacity:1;animation:phiHeroReveal 1.05s cubic-bezier(.16,1,.3,1) both,phiHeroFloat 7.5s ease-in-out 1.2s infinite;}
@keyframes phiHeroReveal{
  0%  {opacity:0;transform:scale(.86) translateY(8px);filter:blur(12px) saturate(.55);}
  55% {opacity:1;filter:blur(0) saturate(1.05);}
  100%{opacity:1;transform:scale(1) translateY(0);filter:blur(0) saturate(1);}
}
@keyframes phiHeroFloat{
  0%,100%{transform:scale(1) translateY(0);}
  50%   {transform:scale(1.014) translateY(-4px);}
}
*:has(> #token-image.is-loaded){box-shadow:0 22px 70px -22px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.04);animation:phiHeroHalo 6s ease-in-out 1.6s infinite;}
@keyframes phiHeroHalo{0%,100%{filter:brightness(1);}50%{filter:brightness(1.05);}}
@media (hover:hover){
  #token-image.is-loaded:hover{transform:scale(1.04) translateY(-2px);filter:saturate(1.10) brightness(1.04);animation-play-state:paused;}
}
@media (prefers-reduced-motion:reduce){
  #token-image{transition:none;}
  #token-image.is-loaded{animation:none;opacity:1;transform:none;filter:none;}
  *:has(> #token-image.is-loaded){animation:none;}
}
