@font-face{font-family:Luckiest;src:url(assets/luckiest.woff2) format("woff2");font-display:swap}
:root{--blue:#70afd8;--navy:#222f56;--orange:#d3663d;--ink:#100f12;--cream:#fffdf9;--sage:#a1b382;--display:Luckiest,"Arial Black",Impact,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--blue);color:var(--ink);font:16px/1.55 "Courier New",monospace}img{display:block;max-width:100%;height:auto}a{color:inherit}button,input,select{font:inherit}h1,h2,h3{font:900 clamp(29px,4vw,60px)/1.04 var(--display);letter-spacing:-.025em;margin:0;text-transform:uppercase}h3{font-size:clamp(23px,3vw,42px)}p{margin:1.15em 0}section{text-align:center;scroll-margin-top:85px}.nav{position:absolute;z-index:2;top:16px;left:0;width:100%;padding:0 16px}.nav nav{margin:auto;width:min(100%,1000px);display:flex;gap:5px;align-items:center;border:1px solid #171719;border-radius:40px;background:white;padding:8px 13px;box-shadow:0 3px 8px #0003}.nav a{padding:9px 15px;white-space:nowrap;font:700 13px/1.1 "Courier New",monospace;text-transform:uppercase;text-decoration:none;border-radius:32px}.nav a:hover,.home{background:var(--orange);color:white}.nav .nav-buy{margin-left:auto;background:var(--blue);color:var(--ink)}.hero{position:relative;aspect-ratio:16/9;overflow:hidden}.hero img{width:100%;height:100%;object-fit:cover}.hero:after{content:"";position:absolute;inset:auto 0 0;height:28%;background:linear-gradient(transparent,var(--blue));pointer-events:none}.intro{padding:26px 22px 175px}.intro>h2,.about>h2{font-size:clamp(26px,3vw,36px)}.contract{background:white;display:flex;align-items:center;text-align:left;gap:16px;border-radius:12px;padding:15px;max-width:640px;margin:16px auto 72px;overflow-wrap:anywhere}.contract b{background:var(--orange);color:white;border-radius:6px;padding:8px 15px}.intro>h1{font-size:clamp(28px,4vw,48px);margin-bottom:80px}.feature{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:6%;margin:0 auto;max-width:1250px}.feature img{margin:auto}.join-copy{max-width:380px;margin:auto}.join h2{font-size:clamp(36px,4.6vw,60px)}.join h2 strong{display:block;color:var(--orange);font-size:1.2em}.paper{border:2px solid var(--ink);border-radius:7px;padding:32px;transform:rotate(-2deg);text-align:center}.facts{margin-top:20px}.facts h3,.story p{color:var(--cream)}.facts ul{list-style:none;padding:0;font:900 clamp(19px,2.1vw,28px)/1.2 var(--display);text-transform:uppercase}.facts li{margin-bottom:20px}.facts p{font-size:14px}.pool{width:min(100%,550px)}.dark{background:var(--navy);color:var(--cream)}.generator-call{padding:58px 20px 62px}.generator-call p{margin:34px auto 55px}.button{display:inline-block;cursor:pointer;background:var(--orange);color:white;border:3px solid var(--ink);border-radius:5px;padding:12px 29px;min-width:175px;box-shadow:4px 5px var(--ink);text-decoration:none;text-align:center;text-transform:uppercase;transition:transform .2s,box-shadow .2s}.button:hover{transform:translate(-2px,-2px);box-shadow:6px 7px var(--ink)}.button:active{transform:translate(4px,5px);box-shadow:none}.buy-call{padding:128px 20px 122px}.buy-call h2,.buy h2{font-size:clamp(30px,4vw,48px);margin-bottom:44px}.buy-call em{color:white;font-style:normal}.buy{padding:30px 16px 72px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:1250px;margin:auto}.steps article{background:var(--sage);border:3px solid var(--ink);border-radius:23px;box-shadow:3px 4px #171719;padding:28px 24px;min-height:280px}.steps h3{color:white;font-size:clamp(22px,2.4vw,30px)}.steps p{text-transform:uppercase;font-size:14px}.exchanges{padding:45px 20px 75px}.exchanges p{font:900 23px var(--display);text-transform:uppercase}.listing{border:2px solid var(--ink);box-shadow:4px 4px var(--ink);border-radius:5px;background:white;color:var(--ink);display:inline-block;padding:20px 40px}.about{padding:52px 24px 22px}.story{max-width:1150px;min-height:545px}.story .paper{max-width:440px;margin:auto}.story h3{color:var(--orange);font-size:clamp(36px,5vw,62px)}.story p{font:900 clamp(18px,2vw,23px)/1.32 var(--display);text-transform:uppercase}.coffee{width:470px}.meditate{width:510px}footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#263c24;color:white;padding:28px max(20px,calc((100vw - 1150px)/2))}.subpage{padding:115px 20px 70px;min-height:85vh;text-align:center}.subpage h1{margin:0 auto 30px}.meme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1100px;margin:auto}.meme-grid figure{margin:0;padding:12px;background:var(--navy);color:white;border-radius:8px}.meme-grid img{width:100%;height:250px;object-fit:contain}.meme-grid a{display:inline-block;margin:7px}.editor{display:grid;grid-template-columns:minmax(0,390px) minmax(0,510px);gap:28px;max-width:940px;margin:auto;text-align:left;align-items:start}.editor form{display:grid;gap:12px;background:var(--navy);color:white;padding:22px;border-radius:10px}.editor input,.editor select{width:100%;padding:8px}.editor canvas{width:100%;height:auto;border:2px solid var(--ink);border-radius:8px}.article{max-width:680px;margin:auto;text-align:left}.motion .pool,.motion .meditate{animation:drift 5s ease-in-out infinite}@keyframes drift{50%{transform:translateY(-10px)}}.intro:before{content:"✦";position:absolute;right:5%;margin-top:220px;color:#fff3b1;font-size:23px;animation:twinkle 3s ease-in-out infinite}@keyframes twinkle{50%{opacity:.3;transform:scale(.75)}}
@media(max-width:760px){.nav{top:9px;padding:0 8px}.nav nav{gap:2px;padding:6px;justify-content:center;flex-wrap:wrap}.nav a{padding:6px;font-size:11px}.nav .nav-buy{margin-left:0}.hero{aspect-ratio:1.4}.hero img{object-fit:contain;object-position:bottom}.intro{padding-bottom:75px}.intro>h1{margin-bottom:45px}.contract{margin-bottom:45px}.feature{grid-template-columns:1fr;gap:24px}.join-copy{max-width:460px}.pool{width:min(90%,410px)}.steps,.meme-grid{grid-template-columns:repeat(2,1fr)}.steps article{min-height:170px;padding:18px 10px}.story{min-height:0;margin:32px auto}.coffee,.meditate{width:min(90%,330px)}.story .paper{grid-row:1}.buy-call{padding:72px 20px 55px}.editor{grid-template-columns:1fr}.meme-grid img{height:160px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@font-face{font-family:Inconsolata;src:url(assets/inconsolata.woff2) format("woff2");font-display:swap;font-weight:200 900}
body,.nav a{font-family:Inconsolata,"Courier New",monospace}
h1,h2,h3,.facts ul,.story p,.exchanges p{font-weight:400}
.blob-footer{display:block;min-height:320px;padding:clamp(38px,6vw,88px) max(22px,calc((100vw - 1120px)/2));background:#273a22 url(assets/footer.jpg) center right/cover no-repeat;color:#fffdf9}
.footer-inner{max-width:55%}.footer-brand{font:clamp(36px,6vw,75px)/.95 var(--display);text-decoration:none;text-transform:uppercase;text-shadow:3px 4px #172519}.blob-footer p{font-size:clamp(16px,2vw,21px);margin:12px 0 22px}.blob-footer nav{display:flex;gap:8px 24px;flex-wrap:wrap;margin-bottom:20px}.blob-footer nav a{text-underline-offset:4px}.blob-footer small{color:#e4e8dc}.meme-grid figure{overflow:hidden;padding:0 0 10px}.meme-grid img{height:auto;aspect-ratio:1;object-fit:cover}.meme-grid figcaption{font:22px/1.18 var(--display);padding:15px 10px 0}.meme-grid .meme-edit{font-size:15px}
@media(max-width:600px){.blob-footer{background-position:72% center;background-image:linear-gradient(90deg,#1b2d19c9 0%,#1b2d1973 53%,transparent 82%),url(assets/footer.jpg)}.footer-inner{max-width:65%}.meme-grid{gap:9px}.meme-grid figcaption{font-size:17px}}
#contract-address{scroll-margin-top:32px}.steps article{display:flex;flex-direction:column;align-items:stretch}.steps article p{margin:20px 0 28px}.steps .button{margin-top:auto;min-width:0;padding:11px 6px;font-size:clamp(14px,1.55vw,20px);line-height:1.2}
@media(max-width:420px){.steps{grid-template-columns:1fr}.steps article{padding:22px 20px}.steps .button{font-size:17px}}

.stage {
  position: relative;
  display: grid;
  place-items: center;
  overflow: hidden;
  min-height: 480px;
  height: 80svh;
  padding: 20px 16px 35px;
  background: #360a0b url(assets/memetics-stage.jpg) center center / cover no-repeat;
  color: white;
}
.stage-content { width: min(100%, 920px); min-width: 0; }
.carousel {
  position: relative;
  width: 100%;
  --card: clamp(165px, min(38vw, 48svh), 338px);
}
.carousel-slides {
  position: relative;
  height: calc(var(--card) + 42px);
  overflow: hidden;
  perspective: 920px;
  touch-action: pan-y;
}
.meme-slide {
  position: absolute;
  top: 50%;
  left: 50%;
  width: var(--card);
  height: var(--card);
  max-width: none;
  object-fit: cover;
  box-shadow: 0 10px 30px #1603039c;
  opacity: 0;
  transform: translate(-50%, -50%) scale(.66);
  transition: transform .44s ease, opacity .34s ease, filter .34s ease;
  pointer-events: none;
}
.meme-slide[data-slot="-2"] { transform: translate(-218%, -50%) rotateY(34deg) scale(.66); }
.meme-slide[data-slot="-1"] {
  z-index: 1;
  transform: translate(-155%, -50%) rotateY(34deg) scale(.9);
  opacity: 1;
  filter: brightness(.68);
}
.meme-slide[data-slot="0"] { z-index: 2; opacity: 1; transform: translate(-50%, -50%); }
.meme-slide[data-slot="1"] {
  z-index: 1;
  transform: translate(55%, -50%) rotateY(-34deg) scale(.9);
  opacity: 1;
  filter: brightness(.68);
}
.meme-slide[data-slot="2"] { transform: translate(118%, -50%) rotateY(-34deg) scale(.66); }
.carousel button {
  position: absolute;
  z-index: 3;
  top: 50%;
  transform: translateY(-50%);
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  padding: 0 0 4px;
  color: white;
  background: #170909ba;
  border: 1px solid #ffffff38;
  border-radius: 50%;
  font-size: 33px;
  line-height: 1;
  cursor: pointer;
}
.carousel button:hover { background: #72241c; }
.carousel button:focus-visible, .stage-links a:focus-visible { outline: 2px solid white; outline-offset: 3px; }
.carousel [data-prev] { left: 24px; }
.carousel [data-next] { right: 24px; }
.stage-caption { margin: 0 0 12px; font: clamp(16px, 2vw, 23px)/1.15 var(--display); text-shadow: 0 2px 5px #000; }
.stage-links { display: flex; gap: 18px; align-items: center; justify-content: center; font-size: 15px; }
.stage-links span { color: #ffd4bd; font-variant-numeric: tabular-nums; }
.stage-links a { text-underline-offset: 4px; }
.curtain {
  position: absolute;
  z-index: 4;
  inset: 0 auto 0 0;
  width: 50.2%;
  pointer-events: none;
  visibility: hidden;
  background: linear-gradient(180deg, #0002, #18000090), repeating-linear-gradient(90deg, #3b0507, #991f22 6%, #cf444a 9%, #6c0c13 14%, #330406 19%);
  box-shadow: inset -9px 0 20px #17000390;
  transition: transform 1.3s cubic-bezier(.5,0,.25,1);
}
.motion .curtain { visibility: visible; }
.curtain.right { inset: 0 0 0 auto; }
.stage.is-open .curtain.left { transform: translateX(-101%); }
.stage.is-open .curtain.right { transform: translateX(101%); }
.stage:focus-within .curtain { visibility: hidden; }

@media (max-width: 600px) {
  .stage { height: auto; min-height: 390px; padding: 20px 10px; }
  .carousel { --card: clamp(165px, 55vw, 255px); }
  .carousel [data-prev] { left: 4px; }
  .carousel [data-next] { right: 4px; }
  .carousel-slides { height: calc(var(--card) + 34px); }
}
@media (prefers-reduced-motion: reduce) { .stage .curtain { display: none; } }

.contract { flex-wrap: wrap; gap: 12px; }
.contract code { flex: 1; min-width: 0; font: inherit; user-select: all; }
.contract button { cursor: pointer; border: 1px solid var(--ink); border-radius: 6px; background: white; color: var(--ink); padding: 6px 12px; }
.contract-feedback:not(:empty) { flex-basis: 100%; font-size: 14px; }
