
:root{
  --paper:#f3eee3;
  --paper-2:#eae3d2;
  --ink:#111310;
  --green:#00c805;
  --green-deep:#049a04;
  --blue:#5b8fd6;
  --blue-soft:#cfe0f6;
  --orange:#e8963c;
  --red:#ff4d4d;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--ink);
  color:var(--ink);
  font-family:'Space Grotesk',sans-serif;
  overflow-x:clip;
  cursor:none;
}
/* the shrine markup lives in this wrapper — it carries the paper colour so any
   space below the dark footer (browser chrome, overscroll) stays dark, not cream */
.shrine-root{background:var(--paper);min-height:100svh}
::selection{background:var(--green);color:var(--ink)}
img{user-select:none;-webkit-user-drag:none}

/* ---------- grain ---------- */
body::after{
  content:"";position:fixed;inset:-50%;z-index:9990;pointer-events:none;opacity:.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='linear' slope='0.05'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- cursor ---------- */
#cursor{
  position:fixed;top:0;left:0;z-index:9999;pointer-events:none;
  width:34px;height:34px;margin:-17px 0 0 -17px;
  display:flex;align-items:center;justify-content:center;
  font-size:22px;transform:translate(-100px,-100px);
  transition:scale .25s cubic-bezier(.34,1.56,.64,1);
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.25));
}
#cursor::before{content:"🐾"}
#cursor.hovered{scale:1.9;rotate:-18deg}
@media (hover:none){#cursor{display:none} body{cursor:auto}}

/* ---------- preloader ---------- */
#preloader{
  position:fixed;inset:0;z-index:10000;background:var(--ink);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;
}
#preloader .load-cat{width:120px;filter:grayscale(1) brightness(0) invert(1);opacity:.9;animation:pump 0.6s ease-in-out infinite alternate}
@keyframes pump{from{transform:scale(.94)}to{transform:scale(1.06)}}
#preloader .bar{width:min(320px,70vw);height:10px;border:2px solid #f3eee355;border-radius:99px;overflow:hidden}
#preloader .bar i{display:block;height:100%;width:0%;background:var(--green)}
#preloader p{color:#f3eee3aa;letter-spacing:.35em;font-size:11px;text-transform:uppercase}

/* ---------- marquee ---------- */
.marquee{overflow:hidden;white-space:nowrap;background:var(--ink);color:var(--paper);border-top:3px solid var(--ink);border-bottom:3px solid var(--ink)}
.marquee.green{background:var(--green);color:var(--ink)}
.marquee .track{display:inline-flex;gap:0;animation:scroll 22s linear infinite;will-change:transform}
.marquee span{font-family:'Anton',sans-serif;font-size:clamp(18px,2.6vw,30px);letter-spacing:.06em;padding:10px 0;display:inline-block}
.marquee b{color:var(--green);font-weight:400}
.marquee.green b{color:var(--paper)}
@keyframes scroll{to{transform:translateX(-50%)}}

/* ---------- nav ---------- */
nav{
  position:fixed;top:0;left:0;right:0;z-index:900;
  display:flex;align-items:center;justify-content:space-between;
  padding:14px clamp(16px,4vw,44px);
  mix-blend-mode:normal;pointer-events:none;
}
nav .brand,nav .links a{pointer-events:auto}
nav .brand{
  position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;
  gap:1px;text-decoration:none;color:var(--ink);
  background:#fff;border:2px solid var(--ink);border-radius:99px;
  padding:8px 18px 10px 44px;
  box-shadow:4px 4px 0 var(--ink);
  transition:transform .12s,box-shadow .12s;
}
nav .brand::before{
  content:"🚀";position:absolute;left:12px;top:50%;transform:translateY(-50%);
  font-size:22px;line-height:1;
}
nav .brand:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink)}
nav .brand:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}
nav .brand .brand-eyebrow{
  font-family:'Space Grotesk',sans-serif;font-size:9px;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:#666;line-height:1;
}
nav .brand .brand-title{
  font-family:'Anton',sans-serif;font-size:18px;letter-spacing:.02em;
  text-transform:uppercase;line-height:1.05;
}
nav .brand .brand-line{
  position:absolute;left:44px;bottom:9px;width:28px;height:3px;background:var(--green);border-radius:2px;
}
nav .links{display:flex;gap:8px}
nav .links a{
  font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--ink);
  background:var(--paper);border:2px solid var(--ink);border-radius:99px;padding:8px 14px;box-shadow:3px 3px 0 var(--ink);
  transition:transform .15s, box-shadow .15s, background .15s;
}
nav .links a:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--ink);background:var(--green)}
@media(max-width:760px){nav .links{display:none}}

/* ---------- hero ---------- */
header{
  min-height:100svh;position:relative;display:flex;flex-direction:column;
  align-items:center;justify-content:center;padding:110px 16px 60px;overflow:hidden;
}
.hero-meta{
  font-size:clamp(11px,1.4vw,14px);font-weight:700;letter-spacing:.34em;text-transform:uppercase;
  display:flex;gap:14px;align-items:center;margin-bottom:18px;flex-wrap:wrap;justify-content:center;
}
.hero-meta .dot{width:8px;height:8px;background:var(--green);border-radius:50%;display:inline-block}
h1{
  font-family:'Anton',sans-serif;text-align:center;line-height:.88;letter-spacing:.01em;
  font-size:clamp(52px,11.5vw,190px);text-transform:uppercase;
}
h1 .feather{font-size:.42em;vertical-align:.35em;-webkit-text-stroke:0;display:inline-block;transform:rotate(-8deg);margin-left:.06em}
h1 .row{display:block;position:relative}
h1 .outline{
  color:transparent;-webkit-text-stroke:2.5px var(--ink);
}
h1 .vs{
  font-size:.32em;vertical-align:middle;background:var(--ink);color:var(--paper);
  border-radius:50%;width:1.9em;height:1.9em;display:inline-flex;align-items:center;justify-content:center;
  transform:rotate(-8deg);margin:0 .15em;box-shadow:0 6px 0 rgba(0,0,0,.18);
}
h1 .greenword{color:var(--green);text-shadow:4px 4px 0 var(--ink)}
.hero-sub{
  margin-top:26px;max-width:620px;text-align:center;font-size:clamp(14px,1.8vw,18px);line-height:1.55;font-weight:500;
}
.hero-sub b{background:var(--green);padding:0 6px;border-radius:4px}
.hero-cats{position:absolute;inset:0;pointer-events:none;z-index:2}
.hero-cats img{position:absolute;bottom:0}
.hero-cats .h-buff{left:clamp(-60px,2vw,60px);width:clamp(190px,26vw,430px);transform-origin:bottom left}
.hero-cats .h-cry{right:clamp(-30px,3vw,70px);width:clamp(130px,17vw,270px);bottom:4vh}
.hero-cta{margin-top:34px;display:flex;gap:14px;flex-wrap:wrap;justify-content:center;position:relative;z-index:3}
.hero-sub,.hero-meta,h1#hero-h1{position:relative;z-index:3}
.btn{
  font-family:'Anton',sans-serif;font-size:16px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;
  padding:14px 26px;border:3px solid var(--ink);border-radius:99px;color:var(--ink);background:var(--green);
  box-shadow:5px 5px 0 var(--ink);transition:transform .15s,box-shadow .15s;display:inline-flex;align-items:center;gap:10px;
}
.btn.ghost{background:var(--paper)}
.btn:hover{transform:translate(-3px,-3px);box-shadow:8px 8px 0 var(--ink)}
.btn:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}
.floaty{position:absolute;z-index:1;font-size:26px;opacity:.9;pointer-events:none;will-change:transform}
.scroll-hint{
  position:absolute;bottom:22px;left:50%;transform:translateX(-50%);
  font-size:11px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;opacity:.6;z-index:3;
  animation:bob 1.6s ease-in-out infinite;
}
@keyframes bob{50%{transform:translate(-50%,8px)}}
@media(max-width:900px){
  .hero-cats .h-buff{width:200px;left:-56px}
  .hero-cats .h-cry{width:120px;right:-24px}
}

/* ---------- section shell ---------- */
section{position:relative;padding:clamp(70px,10vw,130px) clamp(16px,5vw,60px);scroll-margin-top:64px}
.kicker{
  display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;
  background:var(--ink);color:var(--paper);border-radius:99px;padding:8px 18px;margin-bottom:22px;
}
.kicker i{font-style:normal;color:var(--green)}
h2{font-family:'Anton',sans-serif;font-size:clamp(42px,7vw,110px);line-height:1.02;text-transform:uppercase;margin-bottom:18px}
h2 .stroke{color:transparent;-webkit-text-stroke:2px var(--ink)}
.section-sub{max-width:560px;font-size:clamp(15px,1.7vw,18px);line-height:1.6;font-weight:500}
.center{text-align:center}
.center .section-sub{margin-left:auto;margin-right:auto}

/* ---------- tweet ---------- */
#tweet-sec{background:var(--paper-2);border-top:3px solid var(--ink);border-bottom:3px solid var(--ink)}
.tweet-wrap{display:flex;justify-content:center;perspective:1200px}
.tweet-card{
  width:min(640px,94vw);background:#000;color:#e7e9ea;border-radius:24px;padding:22px 24px;
  border:1px solid #2f3336;font-family:'Space Grotesk',sans-serif;
  box-shadow:0 30px 80px -20px rgba(0,0,0,.45), 0 0 0 6px var(--paper), 0 0 0 9px var(--ink);
  transform-style:preserve-3d;will-change:transform;position:relative;
}
.tweet-head{display:flex;gap:12px;align-items:center}
.tweet-ava{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--green),#0a5);display:flex;align-items:center;justify-content:center;font-size:26px;flex:none;border:1px solid #2f3336}
.tweet-name{font-weight:700;font-size:16px;display:flex;align-items:center;gap:6px}
.tweet-name svg{width:18px;height:18px;flex:none}
.tweet-handle{color:#71767b;font-size:14px}
.tweet-x{margin-left:auto;color:#71767b;font-weight:700;font-size:20px}
.tweet-body{margin-top:12px;font-size:19px;line-height:1.4;text-align:left}
.tweet-body a{color:#1d9bf0;text-decoration:none;position:relative;z-index:3}
.tweet-img{margin-top:14px;border-radius:16px;overflow:hidden;border:1px solid #2f3336;background:#fff}
.tweet-img img{width:100%;display:block}
.tweet-stats{display:flex;gap:26px;margin-top:14px;color:#71767b;font-size:13px;border-top:1px solid #2f3336;padding-top:12px;flex-wrap:wrap}
.tweet-stats span b{color:#e7e9ea}
.tweet-date{color:#71767b;font-size:14px;margin-top:12px}
.tweet-link{position:absolute;inset:0;border-radius:24px;z-index:2}
.tweet-caption{margin-top:34px;font-family:'Permanent Marker',cursive;font-size:clamp(18px,2.6vw,26px);text-align:center;transform:rotate(-1.5deg)}
.tweet-caption .hl{background:var(--green);padding:0 8px;border-radius:4px}

/* ---------- lore ---------- */
.timeline{margin-top:56px;position:relative;max-width:900px;margin-left:auto;margin-right:auto}
.timeline::before{content:"";position:absolute;left:19px;top:0;bottom:0;width:4px;background:var(--ink);border-radius:4px}
.t-item{display:flex;gap:26px;margin-bottom:44px;position:relative}
.t-item:last-child{margin-bottom:0}
.t-node{
  width:42px;height:42px;flex:none;background:var(--paper);border:4px solid var(--ink);border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:19px;z-index:1;box-shadow:3px 3px 0 rgba(0,0,0,.2);
}
.t-card{
  background:#fff;border:3px solid var(--ink);border-radius:18px;padding:20px 24px;box-shadow:6px 6px 0 var(--ink);
  transition:transform .2s;flex:1;
}
.t-card:hover{transform:translate(-3px,-3px) rotate(-.4deg)}
.t-card .t-year{font-family:'Anton',sans-serif;font-size:14px;letter-spacing:.2em;color:var(--green-deep);text-transform:uppercase}
.t-card h3{font-family:'Anton',sans-serif;font-size:clamp(20px,2.6vw,28px);text-transform:uppercase;margin:6px 0 8px}
.t-card p{font-size:15px;line-height:1.55;font-weight:500}
.t-card .marker{font-family:'Permanent Marker',cursive;color:var(--blue);font-size:15px;display:block;margin-top:10px;transform:rotate(-1deg)}

/* ---------- fighter ---------- */
#fighter{padding:0;border-top:3px solid var(--ink);border-bottom:3px solid var(--ink)}
.versus-grid{display:grid;grid-template-columns:1fr 1fr;min-height:92vh;position:relative}
.side{padding:clamp(40px,6vw,80px) clamp(18px,4vw,56px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;position:relative;overflow:hidden;transition:flex .3s}
.side.buff{background:linear-gradient(160deg,#e8f7e2,#c9f0bd)}
.side.cash{background:linear-gradient(160deg,#e9f0fb,#cfdff5);border-left:3px solid var(--ink)}
.side .tag{font-size:12px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;opacity:.7}
.side h3{font-family:'Anton',sans-serif;font-size:clamp(34px,5.5vw,84px);text-transform:uppercase;line-height:.9;text-align:center}
.side.buff h3{color:var(--green-deep)}
.side.cash h3{color:var(--blue)}
.side .cat-stage{height:clamp(240px,36vh,380px);display:flex;align-items:flex-end;justify-content:center;margin:10px 0;position:relative}
.side .cat-stage img{max-height:100%;max-width:90%;will-change:transform}
.side .stats{width:min(340px,86%);display:flex;flex-direction:column;gap:10px;margin-top:8px}
.stat{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.stat .bar{height:14px;border:2px solid var(--ink);border-radius:99px;background:#fff;overflow:hidden;margin-top:4px}
.stat .bar i{display:block;height:100%;width:0%;border-radius:99px;transition:width 1.2s cubic-bezier(.22,1,.36,1)}
.side.buff .bar i{background:var(--green)}
.side.cash .bar i{background:var(--blue)}
.counter-pill{
  margin-top:16px;background:var(--ink);color:var(--paper);border-radius:99px;padding:10px 20px;
  font-family:'Anton',sans-serif;letter-spacing:.1em;font-size:15px;text-transform:uppercase;
}
.counter-pill b{color:var(--green);font-size:19px}
.side.cash .counter-pill b{color:var(--blue)}
.pet-btn{
  margin-top:12px;font-family:'Anton',sans-serif;font-size:15px;letter-spacing:.1em;text-transform:uppercase;
  background:#fff;border:3px solid var(--ink);border-radius:99px;padding:12px 24px;box-shadow:4px 4px 0 var(--ink);
  cursor:none;transition:transform .12s, box-shadow .12s;
}
.pet-btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink)}
.pet-btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}
.heal-note{font-family:'Permanent Marker',cursive;font-size:16px;color:var(--blue);margin-top:10px;min-height:24px;text-align:center;transform:rotate(-1deg)}
.vs-badge{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-8deg);z-index:5;
  width:clamp(70px,9vw,120px);height:clamp(70px,9vw,120px);background:var(--ink);color:var(--paper);
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-family:'Anton',sans-serif;font-size:clamp(22px,3vw,40px);border:4px solid var(--paper);
  box-shadow:0 10px 30px rgba(0,0,0,.3);pointer-events:none;
}
.tear,.bill{position:absolute;pointer-events:none;z-index:4;will-change:transform,opacity}
@media(max-width:820px){.versus-grid{grid-template-columns:1fr}.side.cash{border-left:none;border-top:3px solid var(--ink)}.vs-badge{top:50%}}

/* ---------- gallery ---------- */
#gallery .cards{display:flex;gap:clamp(18px,3vw,40px);justify-content:center;flex-wrap:wrap;margin-top:50px;perspective:1000px;align-items:flex-start}
.polaroid{
  background:#fff;border:3px solid var(--ink);padding:14px 14px 18px;box-shadow:8px 8px 0 var(--ink);
  width:min(340px,88vw);position:relative;transition:transform .25s;will-change:transform;
}
.polaroid:nth-child(1){transform:rotate(-2.5deg)}
.polaroid:nth-child(2){transform:rotate(1.6deg)}
.polaroid:nth-child(3){transform:rotate(-1deg)}
.polaroid:hover{transform:rotate(0) translateY(-8px) scale(1.02);z-index:2}
.polaroid img{width:100%;display:block;border:2px solid var(--ink);background:#fff}
.polaroid figcaption{font-family:'Permanent Marker',cursive;font-size:17px;margin-top:12px;text-align:center}
.polaroid .tape{
  position:absolute;top:-14px;left:50%;transform:translateX(-50%) rotate(-3deg);
  width:110px;height:28px;background:rgba(0,200,5,.35);border:1px solid rgba(0,0,0,.12);
}

/* ---------- big quote ---------- */
#quote{background:var(--ink);color:var(--paper);overflow:hidden}
#quote .big{
  font-family:'Anton',sans-serif;font-size:clamp(34px,6.2vw,96px);line-height:1.02;text-transform:uppercase;
  max-width:1200px;margin:0 auto;
}
#quote .big em{font-style:normal;color:var(--green)}
#quote .big .mk{background:var(--green);color:var(--ink);padding:0 .12em;border-radius:6px;display:inline-block;transform:rotate(-1.5deg)}
#quote .attrib{margin-top:30px;font-size:14px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:#f3eee3aa;text-align:right;max-width:1200px;margin-left:auto;margin-right:auto}
#quote .cat-peek{position:absolute;right:-40px;bottom:-30px;width:clamp(160px,22vw,320px);transform:rotate(6deg)}

/* ---------- faq ---------- */
.faq{max-width:820px;margin:50px auto 0}
.faq details{
  background:#fff;border:3px solid var(--ink);border-radius:16px;margin-bottom:14px;box-shadow:5px 5px 0 var(--ink);overflow:hidden;
}
.faq summary{
  list-style:none;cursor:none;padding:18px 22px;font-family:'Anton',sans-serif;font-size:clamp(16px,2.2vw,22px);
  text-transform:uppercase;display:flex;justify-content:space-between;align-items:center;gap:14px;letter-spacing:.03em;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary .plus{font-size:26px;transition:transform .25s;color:var(--green-deep)}
.faq details[open] .plus{transform:rotate(45deg)}
.faq .a{padding:0 22px 20px;font-size:15px;line-height:1.6;font-weight:500}
.faq .a b{background:var(--green);padding:0 5px;border-radius:4px}

/* ---------- footer ---------- */
footer{background:var(--ink);color:var(--paper);padding:clamp(44px,6vw,72px) clamp(16px,5vw,60px) 28px;position:relative;overflow:hidden}
footer .giant{
  font-family:'Anton',sans-serif;font-size:clamp(26px,7.4vw,120px);text-transform:uppercase;line-height:1;
  color:transparent;-webkit-text-stroke:2px #f3eee366;white-space:nowrap;
}
footer .giant b{color:var(--green);-webkit-text-stroke:0;font-weight:400}
footer .legal{max-width:680px;margin-top:22px;font-size:12.5px;line-height:1.65;color:#f3eee399}
footer .legal b{color:var(--paper)}
footer .foot-row{display:flex;justify-content:space-between;align-items:flex-end;gap:10px 26px;flex-wrap:wrap;margin-top:28px;border-top:1px solid #f3eee322;padding-top:18px;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:#f3eee377}
footer .foot-row a{color:var(--green);text-decoration:none}
footer .foot-cat{position:absolute;right:clamp(10px,3vw,44px);bottom:-10px;width:clamp(130px,14vw,200px);transform:rotate(-4deg);z-index:0}
footer .giant, footer .legal, footer .foot-row{position:relative;z-index:1}
@media(min-width:1021px){footer .foot-row{padding-right:clamp(150px,15vw,220px)}}
@media(max-width:1020px){footer .foot-cat{display:none}}
@media(max-width:760px){
  footer .giant{white-space:normal;line-height:1.02}
  footer .foot-row{flex-direction:column;align-items:flex-start;gap:10px}
}

/* ---------- socials / join ---------- */
#join{background:var(--ink);color:var(--paper);border-top:3px solid var(--ink)}
#join .kicker{background:var(--green);color:var(--ink)}
#join .kicker i{color:var(--ink)}
#join h2 .stroke{-webkit-text-stroke:2px var(--paper)}
#join h2 .greenw{color:var(--green)}
#join .section-sub{color:#f3eee3cc}
.social-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,24px);margin-top:52px;max-width:1240px;margin-left:auto;margin-right:auto}
@media(max-width:1000px){.social-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.social-grid{grid-template-columns:1fr}}
.s-card{
  background:var(--paper);color:var(--ink);border:3px solid var(--paper);border-radius:20px;
  padding:26px 22px 22px;text-decoration:none;display:flex;flex-direction:column;gap:14px;align-items:flex-start;
  box-shadow:7px 7px 0 rgba(0,200,5,.9);transition:transform .18s,box-shadow .18s,background .18s;position:relative;overflow:hidden;
}
.s-card:hover{transform:translate(-4px,-4px) rotate(-.6deg);box-shadow:12px 12px 0 rgba(0,200,5,.9)}
.s-card:active{transform:translate(2px,2px);box-shadow:2px 2px 0 rgba(0,200,5,.9)}
.s-card .s-ico{
  width:56px;height:56px;border-radius:16px;border:3px solid var(--ink);display:flex;align-items:center;justify-content:center;
  background:var(--green);flex:none;box-shadow:3px 3px 0 var(--ink);
}
.s-card .s-ico svg{width:30px;height:30px;fill:var(--ink)}
.s-card.x .s-ico{background:var(--ink)}
.s-card.x .s-ico svg{fill:var(--paper)}
.s-card h3{font-family:'Anton',sans-serif;font-size:22px;text-transform:uppercase;letter-spacing:.03em;line-height:1.05}
.s-card p{font-size:13.5px;line-height:1.5;font-weight:500;color:#333;text-align:left}
.s-card .s-cta{
  margin-top:auto;font-family:'Anton',sans-serif;font-size:13px;letter-spacing:.14em;text-transform:uppercase;
  display:inline-flex;align-items:center;gap:8px;border-bottom:3px solid var(--green);padding-bottom:2px;
}
.s-card .handle{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;opacity:.55}
.contract-bar{
  margin:44px auto 0;max-width:1240px;background:#1a1d1a;border:2px dashed #f3eee355;border-radius:18px;
  padding:18px 22px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;
}
.contract-bar .c-lab{font-family:'Anton',sans-serif;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--green);flex:none}
.contract-bar code{
  flex:1;min-width:200px;font-size:clamp(11px,1.5vw,14px);color:#f3eee3dd;word-break:break-all;
  font-family:ui-monospace,'Courier New',monospace;background:#00000055;padding:8px 12px;border-radius:10px;
}
.copy-btn{
  flex:none;font-family:'Anton',sans-serif;font-size:13px;letter-spacing:.12em;text-transform:uppercase;
  background:var(--green);color:var(--ink);border:2px solid var(--green);border-radius:99px;padding:10px 18px;cursor:none;
  transition:transform .12s;
}
.copy-btn:hover{transform:scale(1.06)}
.copy-btn.copied{background:var(--paper);border-color:var(--paper)}

/* ---------- the gym (pfp generator) ---------- */
#gym{background:var(--paper)}
.gym-grid{display:grid;grid-template-columns:minmax(300px,560px) 1fr;gap:clamp(22px,4vw,48px);margin-top:48px;align-items:start;max-width:1240px;margin-left:auto;margin-right:auto}
@media(max-width:960px){.gym-grid{grid-template-columns:1fr}}
.gym-stage{
  background:#fff;border:3px solid var(--ink);border-radius:22px;box-shadow:8px 8px 0 var(--ink);padding:16px;
}
.gym-stage canvas{
  width:100%;aspect-ratio:1;display:block;border-radius:14px;border:3px solid var(--ink);
  background:var(--paper);touch-action:none;cursor:grab;
}
.gym-stage canvas:active{cursor:grabbing}
.gym-tools{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;justify-content:center}
.gym-tools button{
  font-family:'Space Grotesk',sans-serif;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  background:var(--paper);border:2px solid var(--ink);border-radius:99px;padding:8px 14px;cursor:none;
  box-shadow:2px 2px 0 var(--ink);transition:transform .12s, box-shadow .12s;
}
.gym-tools button:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--ink);background:var(--green)}
.gym-tools button:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--ink)}
.gym-hint{margin-top:12px;font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;opacity:.55;text-align:center}
.gym-panel{display:flex;flex-direction:column;gap:26px}
.gym-step .step-lab{
  display:flex;align-items:center;gap:12px;font-family:'Anton',sans-serif;font-size:15px;letter-spacing:.16em;
  text-transform:uppercase;margin-bottom:12px;
}
.gym-step .step-lab .num{
  width:28px;height:28px;background:var(--ink);color:var(--paper);border-radius:50%;flex:none;
  display:flex;align-items:center;justify-content:center;font-size:13px;
}
.base-picker{display:flex;gap:12px}
.base-opt{
  flex:1;display:flex;align-items:center;gap:12px;background:#fff;border:3px solid var(--ink);border-radius:16px;
  padding:10px 14px;cursor:none;box-shadow:4px 4px 0 var(--ink);transition:transform .14s, background .14s;
}
.base-opt img{width:52px;height:52px;object-fit:contain}
.base-opt .b-name{font-family:'Anton',sans-serif;font-size:15px;text-transform:uppercase;line-height:1.05}
.base-opt .b-sub{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.55}
.base-opt.active{background:var(--green)}
.base-opt:hover{transform:translate(-2px,-2px)}
.gear-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:10px}
.gear-btn{
  background:#fff;border:3px solid var(--ink);border-radius:14px;padding:8px 6px 7px;cursor:none;
  display:flex;flex-direction:column;align-items:center;gap:5px;box-shadow:3px 3px 0 var(--ink);
  transition:transform .12s, background .12s;
}
.gear-btn:hover{transform:translate(-2px,-2px);background:#eaffea}
.gear-btn:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--ink)}
.gear-btn img{width:100%;height:44px;object-fit:contain;pointer-events:none}
.gear-btn span{font-size:9.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;text-align:center;line-height:1.15}
.bg-picker{display:flex;gap:10px;flex-wrap:wrap}
.bg-swatch{
  width:46px;height:46px;border-radius:12px;border:3px solid var(--ink);cursor:none;box-shadow:3px 3px 0 var(--ink);
  transition:transform .12s;position:relative;
}
.bg-swatch:hover{transform:translate(-2px,-2px)}
.bg-swatch.active::after{
  content:"✓";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:20px;font-weight:900;color:#fff;text-shadow:0 0 4px #000,0 0 4px #000;
}
.bg-swatch.checker{background:repeating-conic-gradient(#ccc 0 25%, #fff 0 50%) 0 0/16px 16px}
.gym-export{
  font-family:'Anton',sans-serif;font-size:clamp(16px,2vw,20px);letter-spacing:.1em;text-transform:uppercase;
  background:var(--green);color:var(--ink);border:3px solid var(--ink);border-radius:99px;padding:16px 26px;
  box-shadow:5px 5px 0 var(--ink);cursor:none;width:100%;transition:transform .14s, box-shadow .14s;
}
.gym-export:hover{transform:translate(-3px,-3px);box-shadow:8px 8px 0 var(--ink)}
.gym-export:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}

/* ---------- buff clicker ---------- */
#clicker{background:var(--paper-2);border-top:3px solid var(--ink);border-bottom:3px solid var(--ink)}
.clicker-grid{display:grid;grid-template-columns:1.2fr .9fr;gap:clamp(24px,4vw,54px);margin-top:48px;align-items:start;max-width:1240px;margin-left:auto;margin-right:auto}
@media(max-width:960px){.clicker-grid{grid-template-columns:1fr}}
.clicker-stage{
  background:#fff;border:3px solid var(--ink);border-radius:22px;box-shadow:8px 8px 0 var(--ink);
  padding:clamp(18px,3vw,34px);text-align:center;position:relative;overflow:hidden;user-select:none;
}
.click-count{
  font-family:'Anton',sans-serif;font-size:clamp(56px,8vw,110px);line-height:1;text-transform:uppercase;
  color:var(--green);text-shadow:4px 4px 0 var(--ink);margin:6px 0 2px;
}
.click-lab{font-size:12px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;opacity:.6}
#clickCat{
  width:min(78%,380px);margin:10px auto 0;display:block;cursor:none;touch-action:manipulation;
  transition:filter .15s;will-change:transform;
}
#clickCat:hover{filter:brightness(1.04)}
.clicker-cta{margin-top:14px;font-family:'Permanent Marker',cursive;font-size:clamp(16px,2vw,21px);transform:rotate(-1.2deg);color:var(--ink)}
.clicker-cta b{background:var(--green);padding:0 8px;border-radius:4px}
.float-plus{position:absolute;pointer-events:none;font-family:'Anton',sans-serif;font-size:26px;color:var(--green-deep);z-index:5;text-shadow:2px 2px 0 #fff}

.lb-card{
  background:#fff;border:3px solid var(--ink);border-radius:22px;box-shadow:8px 8px 0 var(--ink);padding:clamp(18px,3vw,28px);
}
.lb-card h3{font-family:'Anton',sans-serif;font-size:clamp(20px,2.4vw,27px);text-transform:uppercase;display:flex;align-items:center;gap:10px}
.lb-card h3 .live-dot{width:10px;height:10px;background:var(--green);border-radius:50%;animation:pulse 1.4s ease-in-out infinite}
@keyframes pulse{50%{transform:scale(1.6);opacity:.5}}
.lb-sub{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;opacity:.55;margin:6px 0 16px}
.lb-row{
  display:flex;align-items:center;gap:12px;padding:10px 12px;border:2px solid var(--ink);border-radius:12px;margin-bottom:8px;
  background:var(--paper);font-weight:700;font-size:14px;transition:transform .15s, background .3s;
}
.lb-row.you{background:var(--green);animation:youGlow 2.2s ease-in-out infinite}
@keyframes youGlow{50%{box-shadow:0 0 0 4px rgba(0,200,5,.35)}}
.lb-row .flag{font-size:22px;line-height:1}
.lb-row .cname{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lb-row .cbuff{font-family:'Anton',sans-serif;letter-spacing:.04em;font-size:15px}
.lb-row .cbuff i{font-style:normal;font-size:10px;opacity:.55;letter-spacing:.14em}
.lb-bar{height:6px;background:#00000018;border-radius:99px;margin-top:4px;overflow:hidden;flex-basis:100%;display:none}
.lb-foot{margin-top:14px;font-size:11.5px;line-height:1.6;font-weight:500;opacity:.65}
.lb-foot b{color:var(--green-deep)}

/* ---------- letshood launchpad ---------- */
#pad{background:var(--paper);border-top:3px solid var(--ink)}
.pad-brand{
  font-family:'Anton',sans-serif;font-size:clamp(56px,10vw,170px);line-height:.9;text-transform:uppercase;text-align:center;
  letter-spacing:.01em;
}
.pad-brand .green{color:var(--green);text-shadow:5px 5px 0 var(--ink)}
.pad-brand .outline{color:transparent;-webkit-text-stroke:2.5px var(--ink)}
.pad-tag{text-align:center;font-size:clamp(13px,1.7vw,17px);font-weight:700;letter-spacing:.24em;text-transform:uppercase;margin-top:14px;opacity:.75}
.pad-tag b{background:var(--ink);color:var(--paper);padding:2px 10px;border-radius:99px}
/* king of the hill */
.koth{
  margin:44px auto 0;max-width:1240px;background:var(--ink);border:3px solid var(--ink);border-radius:24px;
  padding:clamp(18px,3vw,32px);box-shadow:8px 8px 0 var(--green);position:relative;overflow:hidden;
}
.koth-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:var(--paper)}
.koth-head .fire{font-family:'Anton',sans-serif;font-size:clamp(18px,2.4vw,28px);text-transform:uppercase;letter-spacing:.06em}
.koth-head .fire b{color:var(--green)}
.live-pill{
  display:inline-flex;align-items:center;gap:7px;background:var(--red);color:#fff;border-radius:99px;
  font-size:11px;font-weight:900;letter-spacing:.2em;padding:5px 13px;text-transform:uppercase;
}
.live-pill::before{content:"";width:8px;height:8px;background:#fff;border-radius:50%;animation:pulse 1.2s infinite}
.koth-sub{color:#f3eee3aa;font-size:13px;font-weight:500;width:100%}
.koth-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:20px}
@media(max-width:960px){.koth-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.koth-grid{grid-template-columns:1fr}}
/* token card */
.tok{
  background:var(--paper);border:3px solid var(--ink);border-radius:18px;padding:14px;position:relative;
  box-shadow:4px 4px 0 rgba(0,200,5,.85);transition:transform .15s, box-shadow .15s;display:flex;flex-direction:column;gap:8px;
}
.tok:hover{transform:translate(-3px,-3px) rotate(-.5deg);box-shadow:7px 7px 0 rgba(0,200,5,.85)}
.tok-top{display:flex;gap:12px;align-items:center}
.tok-img{width:64px;height:64px;flex:none;border-radius:14px;border:2px solid var(--ink);object-fit:cover;background:#fff}
.tok-name{font-family:'Anton',sans-serif;font-size:17px;line-height:1.05;text-transform:uppercase}
.tok-tick{font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--green-deep);text-transform:uppercase}
.tok-ca{
  font-family:ui-monospace,'Courier New',monospace;font-size:11px;background:#0000000d;border:1.5px dashed #11131055;
  border-radius:8px;padding:4px 8px;cursor:none;display:flex;justify-content:space-between;gap:6px;align-items:center;
}
.tok-ca:hover{background:#00000018}
.tok-ca .cp{font-weight:900}
.tok-stats{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;font-weight:700}
.tok-stats .mc{font-family:'Anton',sans-serif;font-size:15px;letter-spacing:.03em}
.tok-stats .mc i{font-style:normal;font-size:10px;opacity:.55;letter-spacing:.1em}
.tok-stats .age{opacity:.5;font-size:11px}
.tok-prog{height:12px;border:2px solid var(--ink);border-radius:99px;background:#fff;overflow:hidden}
.tok-prog i{display:block;height:100%;background:linear-gradient(90deg,var(--green),#7dff8a);transition:width 1s ease}
.tok-plab{display:flex;justify-content:space-between;font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.65}
.tok .grad{
  position:absolute;top:-11px;right:12px;background:var(--green);border:2px solid var(--ink);border-radius:99px;
  font-size:9.5px;font-weight:900;letter-spacing:.16em;padding:3px 10px;text-transform:uppercase;
}
.tok.real .grad{background:var(--ink);color:var(--green)}
.tok-view{
  margin-top:2px;text-align:center;font-family:'Anton',sans-serif;font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  background:#fff;border:2px solid var(--ink);border-radius:99px;padding:7px;text-decoration:none;color:var(--ink);
  box-shadow:2px 2px 0 var(--ink);transition:transform .12s,background .12s;
}
.tok-view:hover{background:var(--green);transform:translate(-1px,-1px)}
/* filter bar */
.pad-filters{
  margin:40px auto 0;max-width:1240px;display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between;
}
.pad-tabs{display:flex;gap:8px;flex-wrap:wrap}
.pad-tab{
  font-family:'Anton',sans-serif;font-size:13px;letter-spacing:.1em;text-transform:uppercase;background:#fff;
  border:3px solid var(--ink);border-radius:99px;padding:9px 18px;cursor:none;box-shadow:3px 3px 0 var(--ink);
  transition:transform .12s,background .12s;
}
.pad-tab:hover{transform:translate(-2px,-2px)}
.pad-tab.active{background:var(--ink);color:var(--green)}
.launch-btn{
  font-family:'Anton',sans-serif;font-size:clamp(14px,1.8vw,17px);letter-spacing:.08em;text-transform:uppercase;
  background:var(--green);border:3px solid var(--ink);border-radius:99px;padding:12px 24px;cursor:none;
  box-shadow:4px 4px 0 var(--ink);transition:transform .14s,box-shadow .14s;
}
.launch-btn:hover{transform:translate(-3px,-3px);box-shadow:7px 7px 0 var(--ink)}
.pad-grid{
  margin:22px auto 0;max-width:1240px;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;
}
.pad-note{margin:26px auto 0;max-width:1240px;font-size:11.5px;line-height:1.6;font-weight:500;opacity:.6}
/* launch modal */
.pad-modal{
  position:fixed;inset:0;z-index:9500;background:rgba(17,19,16,.75);display:none;align-items:center;justify-content:center;
  padding:18px;backdrop-filter:blur(4px);
}
.pad-modal.open{display:flex}
.pm-card{
  background:var(--paper);border:3px solid var(--ink);border-radius:24px;box-shadow:10px 10px 0 var(--green);
  width:min(560px,96vw);max-height:92svh;overflow:auto;padding:clamp(20px,3vw,32px);position:relative;
}
.pm-card h3{font-family:'Anton',sans-serif;font-size:clamp(26px,4vw,38px);text-transform:uppercase;line-height:1}
.pm-card h3 b{color:var(--green);text-shadow:2px 2px 0 var(--ink)}
.pm-sub{font-size:13px;font-weight:500;margin:10px 0 18px;opacity:.75}
.pm-x{
  position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:50%;border:3px solid var(--ink);
  background:#fff;font-size:18px;font-weight:900;cursor:none;box-shadow:2px 2px 0 var(--ink);
}
.pm-x:hover{background:var(--red);color:#fff}
.pm-field{margin-bottom:14px}
.pm-field label{display:block;font-size:11px;font-weight:900;letter-spacing:.2em;text-transform:uppercase;margin-bottom:6px}
.pm-field input,.pm-field textarea{
  width:100%;border:3px solid var(--ink);border-radius:12px;background:#fff;padding:11px 14px;font-family:'Space Grotesk',sans-serif;
  font-size:15px;font-weight:500;outline:none;resize:none;
}
.pm-field input:focus,.pm-field textarea:focus{box-shadow:4px 4px 0 var(--green)}
.pm-imgs{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
@media(max-width:560px){.pm-imgs{grid-template-columns:repeat(4,1fr)}}
.pm-img{
  aspect-ratio:1;border-radius:12px;border:3px solid var(--ink);overflow:hidden;cursor:none;background:#fff;padding:0;
}
.pm-img img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.pm-img.active{outline:4px solid var(--green);outline-offset:2px}
.pm-go{
  width:100%;margin-top:8px;font-family:'Anton',sans-serif;font-size:18px;letter-spacing:.1em;text-transform:uppercase;
  background:var(--green);border:3px solid var(--ink);border-radius:99px;padding:15px;cursor:none;
  box-shadow:5px 5px 0 var(--ink);transition:transform .13s;
}
.pm-go:hover{transform:translate(-2px,-2px)}
.pm-disclaimer{font-size:10.5px;opacity:.55;margin-top:12px;line-height:1.5;text-align:center}
/* pad teaser */
.pad-teaser{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;max-width:1080px;margin:34px auto 0}
.pt-card{
  background:#fff;border:3px solid var(--ink);border-radius:22px;padding:26px 22px;
  box-shadow:7px 7px 0 var(--ink);text-align:center;
}
.pt-card h3{font-family:'Anton',sans-serif;font-size:21px;letter-spacing:.05em;margin:8px 0 10px}
.pt-card p{font-size:13.5px;line-height:1.55;font-weight:500;opacity:.8}
.pt-card p b{background:var(--green);padding:0 4px;border-radius:3px}
.pt-big{font-size:44px}
.pad-cta{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:36px}
.pad-cta .launch-btn{text-decoration:none;color:var(--ink);display:inline-block}
.pad-cta-note{font-size:11px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;opacity:.6}
.pad-cta-note b{color:var(--green-deep)}
.wallet-btn{
  font-family:'Anton',sans-serif;font-size:clamp(13px,1.7vw,16px);letter-spacing:.08em;text-transform:uppercase;
  background:#fff;border:3px solid var(--ink);border-radius:99px;padding:12px 22px;cursor:none;
  box-shadow:4px 4px 0 var(--ink);transition:transform .14s,box-shadow .14s;
}
.wallet-btn:hover{transform:translate(-3px,-3px);box-shadow:7px 7px 0 var(--ink)}
.wallet-btn.on{background:var(--ink);color:var(--green)}
.pad-status{margin:18px auto 0;max-width:1240px;display:none;align-items:center;gap:12px;flex-wrap:wrap;
  background:#fff;border:3px solid var(--ink);border-radius:16px;padding:12px 18px;box-shadow:5px 5px 0 var(--green);
  font-size:13px;font-weight:700}
.pad-status.show{display:flex}
.pad-status .chip{background:var(--ink);color:var(--green);border-radius:99px;padding:4px 12px;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.pad-status a{color:var(--ink);border-bottom:2px solid var(--green)}
.pm-up{text-decoration:underline;cursor:none;color:var(--green);font-weight:900}
.tm-res{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:14px}
.tm-res div{background:#fff;border:2px solid var(--ink);border-radius:12px;padding:10px;text-align:center}
.tm-res b{display:block;font-family:'Anton',sans-serif;font-size:17px}
.tm-res span{font-size:9.5px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;opacity:.6}
.tm-est{min-height:22px;font-size:13.5px;font-weight:700;margin:-4px 0 10px;text-align:center}
.tm-est b{background:var(--green);padding:0 6px;border-radius:4px}
.tm-swap{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tm-sell{background:var(--red,#e5484d);color:#fff}
.tok-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.tok-actions button{
  font-family:'Anton',sans-serif;font-size:14px;letter-spacing:.08em;text-transform:uppercase;
  border:3px solid var(--ink);border-radius:99px;padding:9px 6px;cursor:none;box-shadow:3px 3px 0 var(--ink);
  transition:transform .13s;background:var(--green);color:var(--ink);
}
.tok-actions button:last-child{background:#fff}
.tok-actions button:hover{transform:translate(-2px,-2px)}
.tok-claim{
  margin-top:8px;width:100%;font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;
  background:var(--ink);color:var(--green);border:2px solid var(--ink);border-radius:99px;padding:8px;cursor:none;
}

/* ---------- meme wall ---------- */
#memewall{background:var(--ink);color:var(--paper);padding-left:0;padding-right:0;overflow:hidden;border-top:3px solid var(--ink)}
#memewall .mw-head{padding:0 clamp(16px,5vw,60px)}
#memewall .kicker{background:var(--green);color:var(--ink)}
#memewall .kicker i{color:var(--ink)}
#memewall h2 .greenw{color:var(--green)}
#memewall .section-sub{color:#f3eee3cc}
.mw-row{display:flex;gap:16px;width:max-content;margin-top:34px;will-change:transform}
.mw-row.r1{animation:mwscroll 46s linear infinite}
.mw-row.r2{animation:mwscroll 58s linear infinite reverse;margin-top:16px}
#memewall:hover .mw-row{animation-play-state:paused}
.mw-row img{
  height:clamp(150px,17vw,230px);width:auto;border-radius:14px;border:2px solid #f3eee333;
  transition:transform .2s, border-color .2s;background:#000;
}
.mw-row img:hover{transform:scale(1.04) rotate(-1deg);border-color:var(--green)}
@keyframes mwscroll{to{transform:translateX(-50%)}}
.mw-note{margin-top:26px;margin-bottom:-30px;padding:0 clamp(16px,5vw,60px);font-family:'Permanent Marker',cursive;font-size:clamp(16px,2.2vw,22px);color:#f3eee3aa;transform:rotate(-.6deg)}
.mw-note b{color:var(--green)}

/* reveal helper */
.rv{opacity:0;transform:translateY(46px)}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms !important;transition-duration:.01ms !important}
  .rv{opacity:1;transform:none}
}

/* the sonner toast live-region <section> must not inherit shrine section padding */
body > section[aria-label^="Notifications"]{padding:0;height:0;min-height:0}
