:root{--bg:#0D0D12;--bg2:#17171F;--lime:#C6FF3D;--pink:#FF2E88;--cyan:#28E0FF;--sun:#FFE14D;--txt:#F4F4F6;--mut:#B9B9C6;
--disp:Unbounded,"Arial Black",system-ui,sans-serif;--body:Inter,system-ui,"Segoe UI",Roboto,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--txt);font-family:var(--body);font-size:17px;line-height:1.5;overflow-x:hidden;
background-image:radial-gradient(circle at 15% 10%,rgba(255,46,136,.18),transparent 40%),radial-gradient(circle at 90% 30%,rgba(40,224,255,.14),transparent 40%)}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
a{color:var(--lime)}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;color:#000;padding:8px;z-index:99}
:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}
h1,h2,h3{font-family:var(--disp);font-weight:900;line-height:1.02;margin:0 0 .45em;letter-spacing:-.02em}
h2{font-size:clamp(1.9rem,8vw,3.4rem)}
section{padding:56px 20px;max-width:1120px;margin:0 auto}
.top{position:sticky;top:0;z-index:30;display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:rgba(13,13,18,.86);backdrop-filter:blur(10px);border-bottom:1px solid #2a2a36}
.logo{font-family:var(--disp);font-weight:900;font-size:1.3rem;color:#fff;text-decoration:none}.logo span{color:var(--lime)}
.top nav{display:flex;gap:10px;align-items:center}.top nav a:not(.btn){display:none;color:#fff;text-decoration:none;font-weight:600;font-size:.9rem}
@media(min-width:820px){.top nav a:not(.btn){display:inline}}
.me-btn{font:700 .85rem var(--body);background:transparent;color:#fff;border:1px solid #555;border-radius:999px;padding:6px 10px;cursor:pointer}
.btn{display:inline-block;font:800 1rem var(--disp);background:#D1005F;color:#fff;border:0;border-radius:14px;padding:13px 18px;text-decoration:none;cursor:pointer;box-shadow:0 0 0 2px #fff,6px 6px 0 2px var(--cyan);transition:transform .12s,box-shadow .12s}
.btn:hover{transform:translate(-2px,-2px) rotate(-1deg)}.btn:active{transform:translate(3px,3px);box-shadow:0 0 0 2px #fff}
.btn-sm{font-size:.8rem;padding:8px 12px;box-shadow:0 0 0 2px #fff}
.btn-big{font-size:1.05rem;padding:16px 22px}
.btn-lime{background:var(--lime);color:#0D0D12}.btn-ghost{background:transparent;color:#fff}.btn-danger{background:#C4002F;color:#fff}
.linkish{background:none;border:0;color:var(--mut);text-decoration:underline;cursor:pointer;font:600 .95rem var(--body);margin-top:6px}
.tiny{font-size:.82rem;color:var(--mut)}
.tag{display:inline-block;font:800 .72rem var(--body);text-transform:uppercase;letter-spacing:.1em;background:var(--cyan);color:#0D0D12;padding:3px 8px;border-radius:6px;vertical-align:middle}
.sample-tag{display:inline-block;background:var(--sun);color:#0D0D12;font-weight:800;padding:8px 12px;border-radius:10px}
/* hero */
.hero{display:grid;gap:30px;padding-top:30px;align-items:center}@media(min-width:900px){.hero{grid-template-columns:1.3fr 1fr}}
.sticker{display:inline-block;font:800 .85rem var(--body);background:var(--lime);color:#0D0D12;padding:6px 12px;border-radius:999px;transform:rotate(-4deg);margin:0 0 14px}
.hero h1{font-size:clamp(2.4rem,11.5vw,5.2rem)}.hero h1 span{display:block}
.hero h1 span{animation:rise .7s cubic-bezier(.2,1.5,.4,1) both}.hero h1 span:nth-child(2){animation-delay:.1s}.hero h1 span:nth-child(3){animation-delay:.2s}.hero h1 span:nth-child(4){animation-delay:.3s}
.hl{color:var(--lime);text-shadow:0 0 24px rgba(198,255,61,.55)}
.glitch{position:relative;color:#fff}
.glitch:before,.glitch:after{content:attr(data-text);position:absolute;left:0;top:0;width:100%;overflow:hidden}
.glitch:before{color:var(--pink);animation:gl1 2.6s infinite steps(2);clip-path:inset(0 0 55% 0)}
.glitch:after{color:var(--cyan);animation:gl2 3.1s infinite steps(2);clip-path:inset(55% 0 0 0)}
.punch{font:900 clamp(1.3rem,5.5vw,2rem) var(--disp);color:var(--pink);margin:0 0 10px;transform:rotate(-1deg)}
.sub{font-size:1.1rem;color:#E6E6EE;max-width:36em}
.cta-row{display:flex;flex-wrap:wrap;gap:16px;margin:22px 0}
.soon-pill{background:var(--bg2);border:1px dashed var(--lime);border-radius:12px;padding:10px 12px;font-size:.95rem;display:inline-block}
.hero-stack{position:relative;height:340px}
.h-card{position:absolute;width:230px;background:#fff;color:#0D0D12;border-radius:20px;padding:18px;box-shadow:8px 8px 0 var(--pink);display:grid;gap:2px}
.h-card b{font:900 1.5rem var(--disp)}.h-card i{font-weight:800;color:#6B00B8}.h-card small{font-size:.9rem}
.c1{left:4%;top:10px;transform:rotate(-8deg);animation:bob 4s ease-in-out infinite}
.c2{right:2%;top:100px;transform:rotate(6deg);background:var(--lime);animation:bob 4.6s .4s ease-in-out infinite}
.c3{left:18%;top:200px;transform:rotate(-2deg);background:var(--cyan);animation:bob 5s .8s ease-in-out infinite}
.marquee{overflow:hidden;background:var(--lime);color:#0D0D12;transform:rotate(-2deg);margin:10px 0;padding:10px 0}
.mq{display:inline-block;white-space:nowrap;animation:mq 22s linear infinite;font:900 1.4rem var(--disp)}.mq span{margin:0 14px}
/* x-ray */
.menu-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
.mtab{font:800 .9rem var(--body);background:var(--bg2);color:#fff;border:2px solid #444;border-radius:999px;padding:9px 14px;cursor:pointer}
.mtab[aria-selected=true]{background:#fff;color:#0D0D12;border-color:#fff}
.scanner{background:var(--bg2);border:2px solid #2d2d3a;border-radius:26px;padding:18px;min-height:220px;position:relative}
.snap-cta{display:grid;place-items:center;text-align:center;min-height:200px;gap:6px}
.paper{position:relative;background:#FFFBF1;color:#1a1a1a;border-radius:18px;padding:18px;overflow:hidden;animation:rise .5s both}
.paper-title{font:900 1.25rem var(--disp);margin:0 0 12px;text-align:center;letter-spacing:.04em}
.scanline{position:absolute;left:0;right:0;height:60px;top:-60px;background:linear-gradient(transparent,rgba(40,224,255,.55),transparent);animation:scan 1.4s ease-in-out 1;pointer-events:none;z-index:2}
.xdishes{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.xd{border-bottom:2px dotted #bbb;padding:10px 4px;display:grid;gap:4px}
.xd-top{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.xd button.open{all:unset;cursor:pointer;font:800 1.1rem var(--disp);color:#1a1a1a}
.xd button.open:focus-visible{outline:3px solid #6B00B8;outline-offset:2px}
.xd .desc{margin:0;font-size:.93rem;color:#333}
.fancy{font-weight:800;border-radius:4px;padding:0 2px}
.xon .fancy{background:linear-gradient(90deg,#FFE14D,#C6FF3D,#28E0FF,#FFE14D);background-size:300% 100%;animation:shimmer 2.4s linear infinite;color:#0D0D12}
.xmode{display:flex;gap:8px;align-items:center;margin-top:12px;font-weight:700;color:#1a1a1a}
.xmode input{width:20px;height:20px;accent-color:#6B00B8}
.yp{display:inline-block;font:800 .72rem var(--body);background:#6B00B8;color:#fff;border-radius:999px;padding:2px 8px;text-transform:uppercase;letter-spacing:.05em}
.xd.pick{background:#F2E9FF;border-radius:12px;border-bottom:0;padding:10px}
.why{font-size:.9rem;font-weight:700;color:#3D0070;margin:0}
.picks{background:#0D0D12;color:#fff;border-radius:16px;padding:14px;margin-bottom:14px}
.picks h3{font-size:1.1rem;color:var(--lime)}
.pick-row{display:grid;gap:10px}@media(min-width:720px){.pick-row{grid-template-columns:repeat(3,1fr)}}
.pick-card{background:var(--bg2);border:1px solid #333;border-radius:14px;padding:10px;display:grid;gap:6px}
.pick-card b{font-family:var(--disp)}
.pick-card p{margin:0;font-size:.88rem}
.look{border-radius:12px;background:radial-gradient(circle at 50% 60%,#fff6 0,#fff0 60%),linear-gradient(135deg,#FF2E88,#6B2BFF);height:110px;display:grid;place-items:center;font-size:2.6rem;position:relative;letter-spacing:-.1em}
.look-lbl{display:block;font-size:.72rem;font-weight:700;color:#0D0D12;background:#fff;border-radius:6px;padding:2px 6px;justify-self:start}
/* calorie pill: plain, high contrast */
.kcal{display:inline-block;background:#FFFFFF;color:#0D0D12;border:2px solid #0D0D12;border-radius:999px;padding:3px 10px;font:700 .85rem var(--body);white-space:nowrap}
.kcal.none{background:#EDEDED;color:#1a1a1a;border-style:dashed}
/* sheet */
.sheet{position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:60;display:flex;align-items:flex-end;justify-content:center}
.sheet[hidden]{display:none}
.sheet-card{background:#fff;color:#0D0D12;width:min(640px,100%);max-height:92vh;overflow:auto;border-radius:26px 26px 0 0;padding:22px 20px 30px;position:relative;animation:up .35s cubic-bezier(.2,1.3,.4,1)}
@media(min-width:700px){.sheet{align-items:center}.sheet-card{border-radius:26px}}
.sheet-card a{color:#5A00A0}
.x{position:absolute;top:12px;right:12px;background:#0D0D12;color:#fff;border:0;border-radius:50%;width:38px;height:38px;font-size:1rem;cursor:pointer}
.sh-name{font-size:clamp(1.6rem,7vw,2.3rem);padding-right:40px}
.say{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px}
.say .ph{font-weight:800;color:#5A00A0;font-size:1.1rem}
.speak{font:800 .95rem var(--body);background:#0D0D12;color:#fff;border:0;border-radius:999px;padding:8px 14px;cursor:pointer}
.speak.talking{background:#6B00B8;animation:pulse .6s infinite alternate}
.sh-sec{border-top:2px solid #eee;padding-top:10px;margin-top:10px}
.sh-sec h4{font:900 .8rem var(--disp);text-transform:uppercase;letter-spacing:.08em;margin:0 0 6px;color:#444}
.sh-sec p,.sh-sec ul{margin:0 0 6px}
.ing{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0}.ing li{background:#F1F1F4;border-radius:999px;padding:3px 10px;font-size:.9rem;font-weight:600}
.method{display:flex;align-items:center;gap:14px;background:#0D0D12;color:#fff;border-radius:16px;padding:12px}
.m-anim{font-size:2.2rem;width:70px;height:60px;display:grid;place-items:center;position:relative;flex:none}
.m-fry{animation:sizzle .25s infinite alternate}.m-slow{animation:slowspin 3s linear infinite}.m-grill{animation:flick .3s infinite alternate}
.m-torch{animation:sweep 1.5s ease-in-out infinite alternate}.m-spit{animation:slowspin 1.5s linear infinite}.m-simmer{animation:steam 1.5s ease-in-out infinite}
.m-wok{animation:toss .8s ease-in-out infinite}.m-stew{animation:steam 2s ease-in-out infinite}
.words dt{font-weight:800}.words dd{margin:0 0 6px}
.nut{background:#FFF3C4;border-radius:10px;padding:8px 10px;font-size:.9rem;color:#1a1a1a}
.estbox{background:#F7F7FA;border:2px solid #0D0D12;border-radius:14px;padding:12px;color:#0D0D12}
.estbox .lbl{font-weight:800;font-size:.85rem}
.estbox .src{font-size:.8rem;color:#333}
.try-btn{margin-top:12px}
/* quiz */
.quiz-card fieldset{border:0;padding:0;margin:0 0 14px}
.quiz-card legend{font:900 .9rem var(--disp);margin-bottom:8px}
.bingo{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}
.bingo label{position:relative;cursor:pointer}
.bingo input{position:absolute;opacity:0;inset:0}
.bingo span{display:block;text-align:center;padding:12px 6px;border:2px solid #0D0D12;border-radius:14px;font-weight:800;transition:transform .15s}
.bingo input:checked+span{background:#0D0D12;color:var(--lime);transform:rotate(-2deg) scale(1.04)}
.bingo input:focus-visible+span{outline:3px solid #6B00B8;outline-offset:2px}
input[type=range]{width:100%;accent-color:#FF2E88}
.spice-row{display:flex;justify-content:space-between;font-size:1.3rem}
.check{display:flex;gap:10px;align-items:flex-start;font-weight:600}.check input{width:22px;height:22px;flex:none;margin-top:2px;accent-color:var(--pink)}
.never{font-weight:800}
.me-list{list-style:none;padding:0}.me-list li{margin:6px 0}
/* flip */
.flips{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;margin-top:18px}
.fc{perspective:900px;height:220px}
.fc-in{position:relative;width:100%;height:100%;transition:transform .6s cubic-bezier(.2,1.4,.4,1);transform-style:preserve-3d;cursor:pointer}
.fc.flipped .fc-in{transform:rotateY(180deg)}
.fc-f,.fc-b{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:20px;padding:14px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}
.fc-f{background:linear-gradient(135deg,#FF2E88,#6B2BFF);color:#fff;border:2px solid #fff}
.fc-f b{font:900 1.35rem var(--disp)}.fc-f small{margin-top:8px;opacity:.9}
.fc-b{background:#fff;color:#0D0D12;transform:rotateY(180deg);font-size:.92rem;gap:8px}
.fc-b .ans{display:flex;gap:6px}.fc-b button{font:800 .8rem var(--body);border:2px solid #0D0D12;border-radius:999px;padding:5px 9px;cursor:pointer;background:#fff}
.fc-b button.yes{background:var(--lime)}
.fc.done .fc-b{background:#EFFFD0}
.score-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:18px}.score{font:900 1.4rem var(--disp);margin:0}
.outline{color:transparent;-webkit-text-stroke:2px var(--lime)}
/* passport */
.passport{display:grid;gap:24px}@media(min-width:820px){.passport{grid-template-columns:1fr 2fr}}
.streak-box{background:var(--bg2);border:2px solid var(--pink);border-radius:24px;padding:20px;text-align:center}
.flame{font-size:4rem;margin:6px 0;animation:flick .5s infinite alternate}
.streak-n{font:900 1.4rem var(--disp);margin:0}
.stamps{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:12px}
.stamp{aspect-ratio:1;border:3px dashed #555;border-radius:50%;display:grid;place-items:center;text-align:center;font:800 .75rem var(--body);color:#888;padding:6px}
.stamp .e{font-size:1.8rem;display:block;filter:grayscale(1);opacity:.4}
.stamp.got{border:3px solid var(--lime);color:#fff;transform:rotate(-8deg);animation:stampin .45s cubic-bezier(.2,1.8,.4,1)}.stamp.got .e{filter:none;opacity:1}
/* board */
.lb{list-style:none;padding:0;counter-reset:r;display:grid;gap:10px;margin:18px 0}
.lb li{counter-increment:r;display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;background:var(--bg2);border-radius:14px;padding:10px 12px;position:relative;overflow:hidden}
.lb li:before{content:counter(r);font:900 1.2rem var(--disp);color:var(--lime)}
.lb .bar{position:absolute;left:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--pink),var(--cyan));width:0;transition:width 1.2s cubic-bezier(.2,1,.3,1)}
.lb b{font-weight:800}.lb span.n{font:900 1rem var(--disp)}
/* price */
.deal{display:grid;gap:16px}@media(min-width:760px){.deal{grid-template-columns:1fr 1fr}}
.deal>div{background:#fff;color:#0D0D12;border-radius:22px;padding:20px;box-shadow:8px 8px 0 var(--lime)}
.deal .big{font:900 2.6rem var(--disp);margin:0}.deal small{font-size:1rem}
/* join */
.join{background:var(--bg2);border:2px solid var(--lime);border-radius:28px;max-width:720px;margin:30px 16px}
@media(min-width:760px){.join{margin:30px auto}}
.join-form{display:grid;gap:14px}
label{display:grid;gap:4px;font-weight:700}
input[type=email],input[type=text],select{font:1rem var(--body);padding:12px;border-radius:12px;border:2px solid #555;background:#0D0D12;color:#fff;width:100%}
.req{color:var(--pink)}.hp{position:absolute;left:-9999px}
.form-err{background:#C4002F;color:#fff;border-radius:10px;padding:10px;font-weight:700}
.thanks{text-align:center}.big-emoji{font-size:4rem;margin:0}
.rn-teaser{text-align:center}
.fineprint{font-size:.88rem;color:var(--mut);margin-top:16px}
.foot{text-align:center;padding:40px 20px;border-top:1px solid #2a2a36}.foot-brand{font:900 2rem var(--disp);color:var(--lime);margin:0}
.foot a{color:#fff}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--lime);color:#0D0D12;font-weight:800;padding:12px 18px;border-radius:999px;z-index:90;animation:up .3s}
/* keyframes */
@keyframes rise{from{opacity:0;transform:translateY(24px) skewY(4deg)}to{opacity:1;transform:none}}
@keyframes gl1{0%{transform:translate(0)}50%{transform:translate(-3px,1px)}100%{transform:translate(2px,-1px)}}
@keyframes gl2{0%{transform:translate(0)}50%{transform:translate(3px,-1px)}100%{transform:translate(-2px,1px)}}
@keyframes bob{50%{translate:0 -10px}}
@keyframes mq{to{transform:translateX(-50%)}}
@keyframes scan{from{top:-60px}to{top:100%}}
@keyframes shimmer{to{background-position:300% 0}}
@keyframes up{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
@keyframes pulse{to{transform:scale(1.06)}}
@keyframes sizzle{to{transform:translateY(-3px) rotate(4deg)}}
@keyframes slowspin{to{transform:rotate(360deg)}}
@keyframes flick{to{transform:scale(1.12) rotate(-3deg)}}
@keyframes sweep{from{transform:translateX(-14px) rotate(-20deg)}to{transform:translateX(14px) rotate(10deg)}}
@keyframes steam{0%{transform:translateY(4px);opacity:.6}50%{transform:translateY(-6px);opacity:1}100%{transform:translateY(4px);opacity:.6}}
@keyframes toss{0%,100%{transform:translateY(0) rotate(0)}40%{transform:translateY(-14px) rotate(-12deg)}}
@keyframes stampin{from{transform:scale(2.2) rotate(10deg);opacity:0}to{transform:rotate(-8deg) scale(1)}}
html,body{overflow-x:clip}
