/* $OATMEAL — warm oat, pop pink, chocolate ink. One system, light only. */
@font-face{font-family:Fredoka;src:url(/fonts/fredoka.woff2) format('woff2');font-weight:300 700;font-display:swap}
@font-face{font-family:Nunito;src:url(/fonts/nunito.woff2) format('woff2');font-weight:300 900;font-display:swap}
@font-face{font-family:Nunito;src:url(/fonts/nunito-italic.woff2) format('woff2');font-weight:300 900;font-style:italic;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url(/fonts/jetbrains-mono.woff2) format('woff2');font-weight:400 700;font-display:swap}
:root{
  --oat:#F6E7C8;--oat-2:#FBF1DC;--cream:#FFF9EE;--milk:#FFFDF8;
  --choc:#3B1F1A;--cocoa:#8B5A3C;--tan:#E2C48F;--butter:#F2C96B;
  --pop:#FF4D8D;--pop-2:#FF8AB8;--berry:#D7266E;--sky:#4F7BFF;--mint:#2FCB8C;--lemon:#FFD65C;
  --ink:var(--choc);--bg:var(--oat);
  --r:22px;--r2:34px;--shadow:0 10px 30px rgba(59,31,26,.14);--shadow-2:0 18px 60px rgba(59,31,26,.18);
  --wrap:1180px;--display:Fredoka,Nunito,system-ui,sans-serif;--body:Nunito,system-ui,sans-serif;--mono:'JetBrains Mono',ui-monospace,Menlo,monospace;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:18px;line-height:1.55;overflow-x:hidden;
 background-image:radial-gradient(circle at 15% 10%,rgba(255,77,141,.10),transparent 38%),radial-gradient(circle at 85% 0%,rgba(79,123,255,.10),transparent 32%),radial-gradient(circle at 60% 90%,rgba(255,214,92,.18),transparent 40%)}
img{display:block;max-width:100%;height:auto}a{color:inherit}button{font:inherit;color:inherit}
.wrap{width:min(var(--wrap),calc(100% - 40px));margin:0 auto}
h1,h2{font-family:var(--display);font-weight:700;letter-spacing:-.02em;line-height:1;margin:0 0 .35em}
h1{font-size:clamp(52px,8.4vw,112px)}h2{font-size:clamp(38px,5.6vw,72px)}
.pink{color:var(--pop)}
.eyebrow{font-family:var(--mono);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--cocoa);margin:0 0 14px}
.lede{font-size:clamp(18px,1.6vw,22px);max-width:58ch;margin:0 0 26px}
.fine{font-size:14px;color:var(--cocoa);max-width:76ch;line-height:1.5}
.fine a{color:var(--cocoa)}
code,.mono{font-family:var(--mono)}
section{padding:clamp(72px,9vw,128px) 0;position:relative}
/* buttons + pills */
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--choc);color:var(--milk);text-decoration:none;border:0;border-radius:999px;padding:14px 26px;font-family:var(--display);font-weight:600;font-size:18px;box-shadow:var(--shadow);cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s}
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-2)}.btn:active{transform:translateY(1px) scale(.98)}
.btn.big{padding:18px 34px;font-size:21px}.btn.small{padding:10px 18px;font-size:15px}
.btn.ghost{background:transparent;color:var(--choc);box-shadow:inset 0 0 0 3px var(--choc)}
.btn.buy{background:var(--pop);color:#fff}.btn.buy:hover{background:var(--berry)}
.pill{display:inline-flex;align-items:center;gap:9px;background:var(--milk);border:2px solid rgba(59,31,26,.12);border-radius:999px;padding:8px 14px;font-size:14px;cursor:pointer;box-shadow:0 4px 14px rgba(59,31,26,.08)}
.pill .dot{width:10px;height:10px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 4px rgba(47,203,140,.22)}
.pill.tba .dot{background:var(--butter);box-shadow:0 0 0 4px rgba(242,201,107,.3)}
.pill .cp{color:var(--cocoa);font-family:var(--mono);font-size:12px}
.pill.copied .cp{color:var(--mint)}
.ic{display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;border-radius:50%;background:var(--milk);color:var(--choc);box-shadow:0 4px 14px rgba(59,31,26,.08);text-decoration:none}
.ic.soon{opacity:.55;font-weight:700}
/* top */
.top{position:sticky;top:0;z-index:50;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:rgba(246,231,200,.78);border-bottom:1px solid rgba(59,31,26,.08)}
.top .wrap{display:flex;align-items:center;gap:22px;height:76px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--display);font-weight:700;font-size:26px;letter-spacing:-.02em}
.brand img{border-radius:50%;background:var(--milk)}
.links{display:flex;gap:6px;margin-left:8px}
.links a{text-decoration:none;font-weight:700;padding:8px 12px;border-radius:999px;font-size:16px}
.links a:hover{background:rgba(59,31,26,.08)}
.tools{margin-left:auto;display:flex;align-items:center;gap:10px}
.burger{display:none;margin-left:auto;background:transparent;border:0;width:44px;height:44px;padding:8px;flex-direction:column;justify-content:center;gap:5px;cursor:pointer}
.burger i{display:block;height:3px;border-radius:2px;background:var(--choc)}
/* hero */
.hero{padding:clamp(40px,6vw,88px) 0 clamp(30px,4vw,60px);overflow:visible}
.hero .grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(24px,4vw,60px);align-items:center}
.hero .copy .cta{display:flex;gap:14px;flex-wrap:wrap;margin:8px 0 30px}
.facts{list-style:none;padding:0;margin:0;display:flex;gap:10px;flex-wrap:wrap}
.facts li{display:flex;flex-direction:column;background:var(--milk);border-radius:16px;padding:10px 16px;box-shadow:0 4px 14px rgba(59,31,26,.08);min-width:120px}
.facts b{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--cocoa);font-weight:600}
.facts span{font-family:var(--display);font-weight:600;font-size:18px}
.stage{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:420px}
.ring{position:absolute;z-index:0;width:min(88%,560px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,138,184,.55) 0%,rgba(255,138,184,.28) 42%,transparent 68%);animation:breathe 4.5s ease-in-out infinite}
@keyframes breathe{0%,100%{transform:scale(.96)}50%{transform:scale(1.04)}}
.cat{position:relative;z-index:1;background:transparent;border:0;padding:0;cursor:pointer;width:min(100%,520px);aspect-ratio:1;-webkit-tap-highlight-color:transparent;touch-action:manipulation;user-select:none;-webkit-user-select:none;transform-origin:50% 90%;transition:transform .12s cubic-bezier(.34,1.56,.64,1)}
.cat img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 24px 40px rgba(59,31,26,.25));pointer-events:none}
.cat .open{opacity:0}.cat.popped .open{opacity:1}.cat.popped .closed{opacity:0}
.cat.popped{transform:scale(1.06) rotate(-2deg)}
.cat:focus-visible{outline:4px solid var(--sky);outline-offset:8px;border-radius:50%}
.counter{margin-top:-8px;display:flex;flex-direction:column;align-items:center;background:var(--milk);border-radius:22px;padding:10px 26px;box-shadow:var(--shadow);position:relative;z-index:2}
.counter .n{font-family:var(--display);font-weight:700;font-size:44px;line-height:1;font-variant-numeric:tabular-nums}
.counter .l{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--cocoa)}
.hint{margin-top:10px;font-family:var(--mono);font-size:12px;color:var(--cocoa);letter-spacing:.08em}
.combo{position:absolute;top:8%;right:6%;background:var(--lemon);color:var(--choc);font-family:var(--display);font-weight:700;padding:8px 14px;border-radius:999px;box-shadow:var(--shadow);opacity:0;transform:scale(.6);transition:opacity .2s,transform .2s;pointer-events:none}
.combo.on{opacity:1;transform:scale(1)}
.particle{position:absolute;left:50%;top:50%;width:14px;height:14px;border-radius:50%;pointer-events:none;will-change:transform,opacity}
.float{position:absolute;left:50%;top:40%;font-family:var(--display);font-weight:700;font-size:28px;color:var(--pop);pointer-events:none;will-change:transform,opacity;text-shadow:0 2px 0 #fff}
/* marquee */
.marquee{overflow:hidden;background:var(--choc);color:var(--oat);padding:14px 0;transform:rotate(-1.2deg);margin:10px -20px 0;border-top:3px solid var(--pop);border-bottom:3px solid var(--pop)}
.marquee .track{display:flex;gap:28px;white-space:nowrap;width:max-content;animation:slide 32s linear infinite;font-family:var(--display);font-weight:600;font-size:20px;align-items:center}
.marquee i{color:var(--pop);font-style:normal}
@keyframes slide{to{transform:translateX(-50%)}}
/* story */
.story .cols{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,72px);align-items:start}
.prose p{font-size:clamp(18px,1.5vw,21px);margin:0 0 18px}
.timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.timeline li{display:grid;grid-template-columns:110px 1fr;gap:16px;background:var(--milk);border-radius:18px;padding:16px 18px;box-shadow:0 4px 14px rgba(59,31,26,.08);position:relative}
.timeline li::before{content:"";position:absolute;left:-14px;top:22px;width:10px;height:10px;border-radius:50%;background:var(--pop)}
.timeline b{font-family:var(--mono);font-size:13px;color:var(--cocoa);letter-spacing:.06em;padding-top:3px}
.timeline span{font-weight:600}
.receipts{margin-top:clamp(36px,5vw,64px);background:var(--milk);border-radius:var(--r2);padding:clamp(22px,3vw,36px);box-shadow:var(--shadow)}
.receipts ul{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:10px}
.receipts li{display:flex;justify-content:space-between;gap:16px;align-items:baseline;border-bottom:1px dashed rgba(59,31,26,.15);padding:10px 0}
.receipts li a{font-family:var(--mono);font-size:12px;color:var(--cocoa);white-space:nowrap}
/* how */
.how{background:var(--choc);color:var(--oat);border-radius:var(--r2);margin:0 12px}
.how .eyebrow{color:var(--pop-2)}.how .fine{color:rgba(246,231,200,.7)}.how .lede b{color:var(--lemon)}
.steps{list-style:none;margin:36px 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.steps li{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:var(--r);padding:26px 22px;display:flex;flex-direction:column;gap:8px}
.steps i{font-style:normal;font-family:var(--display);font-weight:700;font-size:44px;color:var(--pop);line-height:1}
.steps b{font-family:var(--display);font-weight:600;font-size:26px}
.steps span{color:rgba(246,231,200,.85)}
.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:8px 0 22px}
.trust div{background:var(--oat);color:var(--choc);border-radius:18px;padding:16px 18px;display:flex;flex-direction:column;gap:4px}
.trust b{font-family:var(--display);font-weight:600;font-size:19px}.trust span{font-size:14px;color:var(--cocoa)}
.live{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:28px}
.tile{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:16px 18px;display:flex;flex-direction:column;gap:4px;cursor:default}
.tile b{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--pop-2);font-weight:600}
.tile .v{font-family:var(--display);font-weight:700;font-size:28px;line-height:1.1;font-variant-numeric:tabular-nums}
.tile .v.mono{font-family:var(--mono);font-size:16px;font-weight:600;cursor:pointer}
.tile small{font-size:12px;color:rgba(246,231,200,.7)}.tile small.up{color:var(--mint)}.tile small.down{color:var(--pop-2)}
/* pops */
.board{display:grid;grid-template-columns:1fr 1.2fr;gap:20px;align-items:stretch}
.total{background:var(--pop);color:#fff;border-radius:var(--r2);padding:clamp(28px,4vw,48px);display:flex;flex-direction:column;justify-content:center;box-shadow:var(--shadow-2);position:relative;overflow:hidden}
.total::after{content:"";position:absolute;right:-60px;bottom:-60px;width:240px;height:240px;border-radius:50%;background:rgba(255,255,255,.14)}
.total .n{font-family:var(--display);font-weight:700;font-size:clamp(48px,7vw,96px);line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.total .l{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;opacity:.9;margin-top:8px}
.total .you{margin-top:18px;background:rgba(255,255,255,.18);border-radius:999px;padding:8px 14px;width:max-content;font-family:var(--mono);font-size:13px}
.lb{list-style:none;margin:0;padding:0;background:var(--milk);border-radius:var(--r2);box-shadow:var(--shadow);overflow:hidden;counter-reset:lb}
.lb li{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid rgba(59,31,26,.08);font-weight:700}
.lb li::before{counter-increment:lb;content:counter(lb);font-family:var(--mono);color:var(--cocoa);font-size:13px}
.lb li .f{font-size:22px;margin-right:6px}.lb li .c{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--cocoa)}
.lb li.me{background:rgba(255,77,141,.08)}.lb li.empty{grid-template-columns:1fr;color:var(--cocoa);font-weight:500}.lb li.empty::before{content:none}
/* memes */
.maker{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start;margin-bottom:36px}
.canvasWrap{background:var(--milk);border-radius:var(--r2);padding:14px;box-shadow:var(--shadow)}
.canvasWrap canvas{width:100%;height:auto;border-radius:18px;display:block}
.ctrl{display:flex;flex-direction:column;gap:14px}
.ctrl label{display:flex;flex-direction:column;gap:6px;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--cocoa)}
.ctrl input{font:700 18px/1.2 var(--body);padding:14px 16px;border-radius:14px;border:2px solid rgba(59,31,26,.14);background:var(--milk);color:var(--choc);text-transform:uppercase}
.ctrl input:focus{outline:none;border-color:var(--pop)}
.frames{display:flex;flex-wrap:wrap;gap:8px}
.frames button{border:2px solid rgba(59,31,26,.14);background:var(--milk);border-radius:999px;padding:8px 14px;font-weight:700;cursor:pointer}
.frames button.on{background:var(--choc);color:var(--milk);border-color:var(--choc)}
.ctrl .row{display:flex;gap:10px;flex-wrap:wrap}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}
.gallery .m{display:block;border-radius:18px;overflow:hidden;background:var(--milk);box-shadow:0 4px 14px rgba(59,31,26,.08);transition:transform .15s}
.gallery .m:hover{transform:translateY(-3px) rotate(-1deg)}
.gallery .m img{aspect-ratio:1;object-fit:cover;width:100%}
.gallery .empty{grid-column:1/-1;color:var(--cocoa)}
/* faq */
.faq dl{margin:0;display:grid;gap:12px;max-width:820px}
.faq dt{font-family:var(--display);font-weight:600;font-size:24px;background:var(--milk);border-radius:18px 18px 0 0;padding:16px 20px 0}
.faq dd{margin:0;background:var(--milk);border-radius:0 0 18px 18px;padding:8px 20px 18px;box-shadow:0 4px 14px rgba(59,31,26,.08)}
.faq code{background:var(--oat);padding:2px 6px;border-radius:6px;font-size:14px;cursor:pointer;word-break:break-all}
/* footer */
.foot{padding:48px 0 40px;border-top:1px solid rgba(59,31,26,.1)}
.foot .wrap{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}
.foot .l{display:flex;align-items:center;gap:12px}.foot .l img{border-radius:50%;background:var(--milk)}
.foot .l b{font-family:var(--display);font-size:22px;display:block}.foot .l span{color:var(--cocoa);font-size:14px}
.foot .r{display:flex;align-items:center;gap:10px}
.foot .fine{grid-column:1/-1}
/* 404 + egg */
.e404,.egg{min-height:70vh;display:flex;align-items:center;text-align:center}
.e404 .wrap,.egg .wrap{display:flex;flex-direction:column;align-items:center;gap:14px}
.egg{background:var(--choc);color:var(--oat)}.egg .eyebrow{color:var(--pop-2)}
/* toast */
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:var(--choc);color:var(--oat);padding:12px 18px;border-radius:999px;font-weight:700;opacity:0;transition:.2s;z-index:60;pointer-events:none}
.toast.on{opacity:1;transform:translate(-50%,0)}
/* responsive */
@media(max-width:980px){.hero .grid,.story .cols,.board,.maker{grid-template-columns:1fr}.steps,.live{grid-template-columns:1fr 1fr}.trust{grid-template-columns:1fr 1fr}.hero .grid .stage{order:-1}}
@media(max-width:720px){
  body{font-size:17px}.top .wrap{height:68px;gap:10px}.links{display:none}.tools .ic,.tools .btn{display:none}.burger{display:flex}
  .tools{margin-left:auto}.pill.ca{padding:6px 10px;gap:6px;white-space:nowrap}.pill.ca .cp{display:none}.pill.ca code{font-size:12px}.brand span{font-size:22px}
  .top.open .links{display:flex;position:absolute;left:0;right:0;top:68px;flex-direction:column;background:var(--oat);padding:12px 20px 18px;border-bottom:1px solid rgba(59,31,26,.1)}
  .steps,.live,.trust{grid-template-columns:1fr}.marquee{margin:10px -20px 0}
  .timeline li{grid-template-columns:1fr;gap:4px}.receipts li{flex-direction:column;gap:4px}.receipts li a{white-space:normal}
  .foot .wrap{grid-template-columns:1fr}.stage{min-height:300px}.counter .n{font-size:36px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.ring{filter:none}}

/* stickers around the stage */
.stk{position:absolute;z-index:2;background:var(--milk);color:var(--choc);font-family:var(--display);font-weight:700;font-size:15px;padding:8px 14px;border-radius:999px;box-shadow:var(--shadow);border:2px solid var(--choc);pointer-events:none;white-space:nowrap}
.stk.a{left:2%;top:10%;transform:rotate(-8deg);background:var(--lemon)}
.stk.b{right:0;top:18%;transform:rotate(7deg);background:var(--pop);color:#fff;border-color:var(--berry)}
.stk.c{left:6%;bottom:22%;transform:rotate(4deg);background:var(--sky);color:#fff;border-color:#2d55d6}
@media(max-width:720px){.stk{font-size:12px;padding:6px 10px}.stk.c{bottom:26%}}
/* paper grain */
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.06;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.23 0 0 0 0 0.12 0 0 0 0 0.1 0 0 0 1 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
.top,section,footer{position:relative;z-index:1}
