/* Bagmon waitlist · v2.3 — tokens + composants repris de l'app (app.css v1.87), puis styles propres à la page */
:root {
  --bg-0: #0d1322; --bg-1: #070a12; --side: #0c1222;
  --text: #f2f6ff; --muted: #8ea0c2; --dim: #5f7094; --ink: #0e1b2e;
  --lime: #b5f23a; --lime-txt: #9be41c; --blue: #6fa0ff; --coral: #ff6b86; --coral-txt: #ffb3c1; --orange: #ffb454; --gold: #e0a312; --epic: #8a5cff;
  --g-card: linear-gradient(180deg, #222d47 0%, #161f34 100%);
  --g-card-hi: linear-gradient(180deg, #2e3b5c 0%, #1f2a44 100%);
  --g-stage: linear-gradient(180deg, #2e4f8f 0%, #1c3466 60%, #101e40 100%);
  --g-lime: linear-gradient(180deg, #e4ff86 0%, #b5f23a 50%, #86cf0b 100%);
  --g-blue: linear-gradient(180deg, #9cc2ff 0%, #4f7dff 50%, #2a55e6 100%);
  --g-gold: linear-gradient(180deg, #ffe08a 0%, #e0a312 100%);
  --g-epic: linear-gradient(180deg, #c9b6ff 0%, #8a5cff 100%);
  --g-coral: linear-gradient(180deg, #ff9db0 0%, #ff4d6d 100%);
  --g-white: linear-gradient(180deg, #ffffff 0%, #d9e0ec 100%);
  --g-promo: linear-gradient(180deg, #1f3a2a 0%, #162a1f 100%);
  --g-releg: linear-gradient(180deg, #3a2230 0%, #2a1722 100%);
  --g-pass: linear-gradient(180deg, #2f4470 0%, #17233c 50%, #0c1426 100%);
  --g-legend: linear-gradient(180deg, #fff1bf 0%, #ffcd5c 50%, #d98a00 100%);
  --g-rare: linear-gradient(180deg, #bfe0ff 0%, #5f9bff 50%, #2a55e6 100%);
  --g-common: linear-gradient(180deg, #dde6f3 0%, #9fb0c9 100%);
  --stroke: rgba(255,255,255,.14);
  --inner: inset 0 1.5px 2px rgba(255,255,255,.22);
  --inner-light: inset 0 2px 2px rgba(255,255,255,.95);
  --shadow: 0 10px 24px rgba(0,0,0,.45); --shadow-s: 0 4px 10px rgba(0,0,0,.35);
  --fd: "Unbounded", system-ui, sans-serif; --ft: "Space Grotesk", system-ui, sans-serif;
  --ease: cubic-bezier(.2,.8,.2,1);
  --sidew: 240px; --topw: 72px;
  --g-side: linear-gradient(180deg,#0f1627,#0a1020);
  --top-bg: rgba(10,14,26,.7);
  --hover: rgba(255,255,255,.04);
  --stroke-hi: rgba(255,255,255,.25);
  --track: #0a1020;
  --g-counter: var(--g-white); --counter-fg: #0e1b2e;
  --stage-fg: #ffffff; --stage-sub: #dce6ff; --stage-sub2: #b7c4dc;
  --g-map: linear-gradient(180deg,#141c30,#0c1222); --map-blk: #1e2b4a; --map-grid: rgba(255,255,255,.05);
  --g-junk: linear-gradient(180deg,#3a2a14,#2a1e0e);
  --back: rgba(5,8,16,.7);
  --line: rgba(255,255,255,.08);
  --map-water:#17263c; --map-land:#242f3e; --map-sand:#2c3747; --map-park:#263d36; --map-bld:#2f3b4d; --map-road:#38414e; --map-major:#746855; --map-lbl:#9ca5b3; --map-halo:#1b2535; --map-sea-lbl:#4e6d8a;
}
*,*::before,*::after{box-sizing:border-box}
html,body{height:100%}
body{margin:0;transition:background-color .25s;font-family:var(--ft);font-weight:500;font-size:14px;line-height:1.45;color:var(--text);background:var(--bg-1);background-image:linear-gradient(180deg,var(--bg-0),var(--bg-1));background-attachment:fixed;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--fd);font-weight:700;margin:0;letter-spacing:-.01em;line-height:1.2}
p{margin:0} a{color:inherit;text-decoration:none} ul,ol{margin:0;padding:0;list-style:none} svg{display:block}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
:focus-visible{outline:2px solid var(--lime);outline-offset:2px;border-radius:6px}
.ic, svg.i{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;flex:none}
svg.i.f{fill:currentColor;stroke:none}
.brand{display:flex;align-items:center;gap:10px;padding:0 8px;font-family:var(--fd);font-size:19px}
.brand__mark{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--g-lime);color:var(--ink);border:1.2px solid rgba(255,255,255,.9);box-shadow:var(--inner-light),0 0 14px rgba(155,228,28,.5)}
.brand__mark svg{width:19px;height:19px;fill:currentColor}
.card{position:relative;padding:20px;border-radius:24px;background:var(--g-card);border:1.2px solid var(--stroke);box-shadow:var(--shadow),var(--inner)}
.card--sm{padding:14px;border-radius:18px;box-shadow:var(--shadow-s),var(--inner)}
.card--promo{background:var(--g-promo);border-color:rgba(155,228,28,.3)}
.card--releg{background:var(--g-releg);border-color:rgba(255,107,134,.45)}
.card--pass{background:var(--g-pass);border-color:rgba(155,228,28,.5);color:#fff} .card--pass .sub{color:#b7c4dc}
.card h3{font-size:14px} .card h2{font-size:15px}
.card .sub{margin-top:4px;font-size:11px;color:var(--muted)}
.stage{position:relative;overflow:hidden;border-radius:28px;background:var(--g-stage);border:1.2px solid rgba(255,255,255,.3);box-shadow:var(--shadow),var(--inner);color:var(--stage-fg)}
.stage::before{content:"";position:absolute;inset:-40% -10%;background:repeating-linear-gradient(102deg,transparent 0 120px,rgba(255,255,255,.07) 120px 180px,transparent 180px 340px,rgba(255,255,255,.05) 340px 380px);pointer-events:none}
.stage>*{position:relative}
.stage .sub{color:var(--stage-sub)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 20px;border-radius:999px;font-family:var(--fd);font-size:13px;line-height:1;white-space:nowrap;border:1.2px solid var(--stroke);background:var(--g-card-hi);color:var(--text);box-shadow:var(--shadow-s),var(--inner);transition:transform .15s var(--ease),filter .15s}
.btn:hover{transform:translateY(-1px)} .btn:active{transform:translateY(1px)}
.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}
.btn--lime{background:var(--g-lime);color:var(--ink);border-color:rgba(255,255,255,.9);box-shadow:var(--shadow),var(--inner-light),0 0 22px rgba(155,228,28,.35)}
.btn--lime svg{fill:currentColor;stroke:none}
.btn--white{background:var(--g-white);color:var(--ink);border-color:rgba(255,255,255,.9);box-shadow:var(--shadow-s),var(--inner-light)}
.btn--sm{padding:9px 14px;font-size:11px}
.btn--block{width:100%}
.btn--served{background:var(--g-promo);color:var(--lime-txt);border-color:rgba(155,228,28,.4);box-shadow:var(--shadow-s),var(--inner);cursor:default}
.btn--served svg{fill:none;stroke:currentColor}
.btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.chip{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;font-weight:700;font-size:11px;line-height:1;white-space:nowrap;background:var(--g-card-hi);color:var(--text);border:1.2px solid var(--stroke);box-shadow:var(--shadow-s),var(--inner)}
.chip svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.chip--lime{background:var(--g-lime);color:var(--ink);border-color:rgba(255,255,255,.9);box-shadow:var(--shadow-s),var(--inner-light)}
.chip--lime svg{fill:currentColor;stroke:none}
.chip--white{background:var(--g-white);color:var(--ink);border-color:rgba(255,255,255,.9);box-shadow:var(--shadow-s),var(--inner-light)}
.chip--epic{background:var(--g-epic);color:#fff}
.chip--coral{background:var(--g-coral);color:#fff}
.chip--card{background:var(--g-card)}
.chip--promo{background:var(--g-promo);color:var(--lime-txt);border-color:rgba(155,228,28,.4)}
.chip--ghost{background:transparent;box-shadow:none;color:var(--muted)}
button.chip{cursor:pointer;transition:transform .15s var(--ease)} button.chip:hover{transform:translateY(-1px)}
.badge{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:999px;font-weight:700;font-size:10px;line-height:1;white-space:nowrap;background:var(--g-card-hi);color:var(--text);border:1px solid rgba(255,255,255,.2);box-shadow:var(--inner)}
.badge svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.badge--lime{background:var(--g-lime);color:var(--ink);border-color:rgba(255,255,255,.9);box-shadow:var(--inner-light)} .badge--lime svg{fill:currentColor;stroke:none}
.badge--white{background:var(--g-white);color:var(--ink);border-color:rgba(255,255,255,.9);box-shadow:var(--inner-light)}
.badge--epic{background:var(--g-epic);color:#fff} .badge--coral{background:var(--g-coral);color:#fff} .badge--gold{background:var(--g-gold);color:var(--ink)}
.badge--muted{color:var(--muted)}
button.badge{cursor:pointer;transition:transform .15s var(--ease)} button.badge:hover{transform:translateY(-1px)}
.counter{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;background:var(--g-counter);color:var(--counter-fg);font-weight:700;font-size:12px;border:1.2px solid rgba(255,255,255,.9);box-shadow:var(--shadow-s),var(--inner-light)}
.counter svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.counter.is-bump{animation:bump .5s var(--ease) 1}
@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.14)}100%{transform:scale(1)}}
.codebox{display:flex;align-items:center;gap:10px;padding:10px 10px 10px 14px;border-radius:14px;background:var(--g-card-hi);border:1px solid var(--stroke)}
.codebox b{flex:1;font-family:var(--fd);font-size:13px}
.toasts{position:fixed;right:24px;bottom:24px;z-index:60;display:grid;gap:8px;max-width:360px}
.toast{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:16px;background:var(--g-card-hi);border:1.2px solid var(--stroke);box-shadow:var(--shadow),var(--inner);font-weight:700;font-size:13px;animation:toastin .35s var(--ease)}
.toast svg{width:16px;height:16px;fill:none;stroke:var(--lime-txt);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;flex:none}
.toast--warn svg{stroke:var(--coral)}
@keyframes toastin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.lrow{padding:9px 14px 9px 12px;border-radius:18px;background:var(--g-card);border:1.2px solid var(--stroke);box-shadow:var(--shadow-s),var(--inner);margin-bottom:8px;transition:transform .15s var(--ease),border-color .15s;position:relative}
.lrow:hover{transform:translateX(3px);border-color:rgba(255,255,255,.28)}
.lrow.is-promo::before,.lrow.is-releg::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:3px;background:var(--lime)} .lrow.is-releg::before{background:var(--coral)}
.lrow.is-me{background:var(--g-promo);border-color:rgba(155,228,28,.7);box-shadow:var(--shadow-s),var(--inner),0 0 0 3px rgba(155,228,28,.12)} .lrow.is-me::before{display:none}
.lrow.is-releg{background:var(--g-releg)}
.medal{display:inline-grid;place-items:center;min-width:30px;height:30px;padding:0 5px;border-radius:999px;background:var(--g-card-hi);font-family:var(--fd);font-size:11px;color:var(--muted);flex:none;border:1px solid var(--stroke)}
.medal--1{background:var(--g-gold);color:var(--ink);border-color:#fff;box-shadow:var(--inner-light),0 0 12px rgba(224,163,18,.6)} .medal--2{background:var(--g-white);color:var(--ink);border-color:#fff;box-shadow:var(--inner-light)} .medal--3{background:linear-gradient(180deg,#f2b58a 0%,#b86a3a 100%);color:#fff;border-color:rgba(255,255,255,.7)}
.lrow .who{display:flex;align-items:center;gap:10px;min-width:0} .lrow .who .pet{width:36px;height:36px;flex:none}
.lrow .who b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} .lrow .who small{display:block;font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lrow .flag{margin-right:5px} .lrow .you{display:inline-block;margin-left:4px;padding:2px 6px;border-radius:999px;background:var(--g-lime);color:var(--ink);font-size:9px;vertical-align:middle}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}

.buy__input{width:100%;height:48px;padding:0 16px;border-radius:14px;border:1.2px solid var(--stroke);background:var(--track);color:var(--text);font-size:16px;font-weight:700} .buy__input:focus{outline:none;border-color:var(--lime)}
.buy__input{border-radius:18px;border:1.2px solid var(--stroke);background:var(--track);color:var(--text)} .buy__input:focus{outline:none;border-color:var(--lime)}

/* ======================= waitlist ======================= */
[hidden]{display:none!important}
html{background:var(--bg-1)}
body{min-height:100%;background:radial-gradient(1200px 700px at 50% -10%,#16234a 0%,rgba(13,19,34,0) 70%),linear-gradient(180deg,var(--bg-0),var(--bg-1));background-attachment:fixed}
.wl-top{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px max(20px,env(safe-area-inset-left)) 14px max(20px,env(safe-area-inset-right));background:var(--top-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.brand{padding:0}
.brand__mark--img{padding:0;overflow:hidden;background:none}
.brand__mark--img img{width:100%;height:100%;display:block}
.wl{max-width:1080px;margin:0 auto;padding:24px max(20px,env(safe-area-inset-left)) 48px max(20px,env(safe-area-inset-right));display:grid;gap:20px}
.wl-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:20px;align-items:start}
.wl-col{display:grid;gap:20px;min-width:0}
.wl>*,.wl-col>*,.wl-grid>*{min-width:0}
.me__wallet .buy__input{min-width:0;flex:1}

/* scène : l'œuf qui va éclore */
.wl-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);align-items:center;gap:8px;padding:40px 44px;min-height:440px;background:linear-gradient(180deg,#1d3366 0%,#13234a 55%,#0b1530 100%)}
.wl-hero__txt{position:relative;z-index:2;display:grid;gap:16px;justify-items:start}
.wl-hero h1{font-size:clamp(28px,4.2vw,46px);line-height:1.08;text-wrap:balance;color:#fff}
.wl-hero .lead{max-width:440px;font-size:16px;line-height:1.5;color:var(--stage-sub)}
.egg{position:relative;z-index:1;height:360px;display:grid;place-items:center}
.egg__rays{position:absolute;left:50%;top:50%;width:760px;height:760px;margin:-400px 0 0 -380px;border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(181,242,58,.13) 0deg 5deg,rgba(181,242,58,0) 5deg 15deg);-webkit-mask:radial-gradient(closest-side,#000 18%,rgba(0,0,0,.5) 45%,transparent 75%);mask:radial-gradient(closest-side,#000 18%,rgba(0,0,0,.5) 45%,transparent 75%);animation:wlspin 60s linear infinite}
.egg__halo{position:absolute;left:50%;top:50%;width:330px;height:400px;margin:-210px 0 0 -165px;border-radius:50%;background:radial-gradient(closest-side,rgba(181,242,58,.5),rgba(181,242,58,.12) 60%,rgba(181,242,58,0))}
.egg__floor{position:absolute;left:50%;bottom:22px;width:260px;height:44px;margin-left:-130px;border-radius:50%;background:radial-gradient(closest-side,rgba(181,242,58,.55),rgba(181,242,58,0))}
.egg img{position:relative;width:auto;height:300px;filter:drop-shadow(0 0 2px rgba(228,255,134,.95)) drop-shadow(0 0 16px rgba(181,242,58,.75)) drop-shadow(0 0 42px rgba(181,242,58,.4));animation:wlwobble 5.5s ease-in-out infinite;transform-origin:50% 92%}
.egg__spark{position:absolute;width:6px;height:6px;border-radius:50%;background:#e4ff86;box-shadow:0 0 10px 2px rgba(181,242,58,.8);animation:wlfloat 6s ease-in-out infinite;opacity:.0}
@keyframes wlspin{to{transform:rotate(360deg)}}
@keyframes wlwobble{0%,62%,100%{transform:rotate(0)}66%{transform:rotate(-4deg)}70%{transform:rotate(3.5deg)}74%{transform:rotate(-2deg)}78%{transform:rotate(1deg)}82%{transform:rotate(0)}}
@keyframes wlfloat{0%{opacity:0;transform:translateY(20px)}20%{opacity:1}100%{opacity:0;transform:translateY(-70px)}}

/* compte à rebours */
.cd{display:flex;gap:8px}
.cd__u{display:grid;justify-items:center;min-width:66px;padding:10px 8px 8px;border-radius:16px;background:rgba(7,10,18,.35);border:1.2px solid rgba(255,255,255,.16);box-shadow:var(--inner)}
.cd__u b{font-family:var(--fd);font-size:24px;line-height:1.1;color:#fff;font-variant-numeric:tabular-nums}
.cd__u span{font-size:10px;font-weight:700;color:var(--stage-sub2);text-transform:uppercase;letter-spacing:.06em}

/* formulaire */
.card h2{font-size:17px}
.form{display:grid;gap:14px;margin-top:16px}
.fld{display:grid;gap:6px}
.fld label{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px;font-weight:700;color:var(--muted)}
.fld label em{font-style:normal;color:var(--lime-txt)}
.inp{position:relative;display:flex;align-items:center}
.inp i{position:absolute;left:16px;font-style:normal;font-weight:700;font-size:16px;color:var(--dim);pointer-events:none}
.buy__input{font-family:var(--ft);border-radius:14px;-webkit-appearance:none;appearance:none}
.buy__input::placeholder{color:var(--dim);font-weight:500}
.inp--at .buy__input{padding-left:34px}
.buy__input.is-bad{border-color:var(--coral)}
.fld small{font-size:11px;color:var(--dim)}
.err{min-height:16px;font-size:12px;font-weight:700;color:var(--coral-txt)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.legal{font-size:11px;color:var(--dim);line-height:1.5}

/* état inscrit */
.me__rank{display:flex;align-items:flex-end;gap:14px;margin-top:14px}
.me__rank b{font-family:var(--fd);font-size:54px;line-height:1;color:var(--lime-txt);text-shadow:0 0 24px rgba(155,228,28,.35)}
.me__rank span{padding-bottom:8px;font-size:13px;color:var(--muted)}
.me__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px}
.me__stats div{padding:12px;border-radius:16px;background:var(--g-card-hi);border:1px solid var(--stroke);box-shadow:var(--inner)}
.me__stats div{min-width:0}
.me__stats b{display:block;font-family:var(--fd);font-size:18px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.me__stats div:last-child b{font-size:13px;line-height:1.85}
.me__stats span{font-size:11px;color:var(--muted)}
.codebox{margin-top:14px}
.codebox b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.me__acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.me__acts .btn{flex:1 1 180px}
.me__wallet{display:flex;gap:8px;margin-top:14px}
.me__wallet .buy__input{height:44px;font-size:14px}

/* classement + règles */
.lb{margin-top:14px}
.lrow{display:flex;align-items:center;gap:12px}
.lrow .who{flex:1}
.lrow .pts{font-family:var(--fd);font-size:13px;white-space:nowrap}
.lb__empty{padding:18px;border-radius:18px;border:1.2px dashed var(--stroke);color:var(--muted);text-align:center;font-size:13px}
.rules{margin-top:12px}
.rules b{color:var(--lime-txt);font-family:var(--fd);font-size:12px}
.foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:11px;color:var(--dim);padding:4px 2px}
.toasts{left:50%;right:auto;transform:translateX(-50%);bottom:max(24px,env(safe-area-inset-bottom))}

@media (max-width:880px){
  .wl-grid{grid-template-columns:minmax(0,1fr)}
  .wl-hero{grid-template-columns:minmax(0,1fr);padding:22px 20px 26px;min-height:0;text-align:center}
  .wl-hero__txt{justify-items:center;order:2}
  .egg{height:280px;order:1}
  .egg img{height:230px}
  .egg__halo{width:250px;height:300px;margin:-160px 0 0 -125px}
  .cd__u{min-width:58px}
}
@media (max-width:420px){ .me__stats b{font-size:15px} .cd__u b{font-size:20px} .cd__u{min-width:0;flex:1} .cd{width:100%} }
@media (prefers-reduced-motion:reduce){ .egg img,.egg__rays,.egg__spark{animation:none} .egg__spark{opacity:.6} }
.kv{display:grid;gap:0} .kv>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:12px} .kv>div span{color:var(--muted)} .kv>div b{text-align:right}

/* badge Early + mode "avant seuil" */
.chip--early{background:var(--g-pass);color:var(--lime);border-color:rgba(155,228,28,.55);box-shadow:var(--shadow-s),var(--inner),0 0 14px rgba(155,228,28,.25)}
.chip--early svg{fill:currentColor;stroke:none}
.me__chips{display:flex;flex-wrap:wrap;gap:8px}
.me__early{display:grid;gap:6px;margin-top:14px}
.me__early b{font-family:var(--fd);font-size:44px;line-height:1;color:var(--lime-txt);letter-spacing:.04em;text-shadow:0 0 24px rgba(155,228,28,.35)}
.me__early span{font-size:13px;color:var(--muted);max-width:420px}
.early{display:grid;grid-template-columns:minmax(0,1fr) 96px;grid-template-areas:"chip egg" "title egg" "sub egg";column-gap:16px;row-gap:10px;align-items:start;overflow:hidden}
.early .chip{grid-area:chip;justify-self:start}
.early h2{grid-area:title;font-size:18px;line-height:1.25;text-wrap:balance}
.early .sub{grid-area:sub;margin:0;font-size:12px;line-height:1.5}
.early__egg{grid-area:egg;align-self:center;position:relative;display:grid;place-items:center;height:130px}
.early__egg::before{content:"";position:absolute;inset:-10px;border-radius:50%;background:radial-gradient(closest-side,rgba(181,242,58,.45),rgba(181,242,58,0))}
.early__egg img{position:relative;height:110px;width:auto;filter:drop-shadow(0 0 2px rgba(228,255,134,.9)) drop-shadow(0 0 12px rgba(181,242,58,.6));animation:wlwobble 5.5s ease-in-out infinite;transform-origin:50% 92%}
@media (prefers-reduced-motion:reduce){ .early__egg img{animation:none} }

/* palier + progression (carte inscrit) */
.tierbar{display:grid;gap:8px;margin-top:16px}
.tierbar__h{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.tierbar__next{font-size:12px;font-weight:700;color:var(--muted)}
.tierbar__track{height:10px;border-radius:999px;background:var(--track);border:1px solid var(--stroke);overflow:hidden}
.tierbar__track i{display:block;height:100%;width:4%;border-radius:999px;background:var(--g-lime);box-shadow:0 0 12px rgba(155,228,28,.6);transition:width .6s var(--ease)}

/* missions */
.ms{display:grid;gap:8px;margin-top:14px}
.ms__row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:start;gap:12px;padding:12px;border-radius:18px;background:var(--g-card-hi);border:1.2px solid var(--stroke);box-shadow:var(--shadow-s),var(--inner)}
.ms__row.is-done{background:var(--g-promo);border-color:rgba(155,228,28,.35)}
.ms__ic{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:rgba(7,10,18,.35);border:1px solid var(--stroke);color:var(--lime-txt)}
.ms__ic svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.ms__row[data-m="follow"] .ms__ic svg{fill:currentColor;stroke:none;width:15px;height:15px}
.ms__b{display:grid;gap:3px;min-width:0}
.ms__b b{font-size:14px;line-height:1.3}
.ms__b small{font-size:12px;line-height:1.45;color:var(--muted)}
.ms__r{display:grid;justify-items:end;gap:8px}
.ms__pts{display:inline-flex;align-items:center;gap:4px;font-family:var(--fd);font-size:12px;color:var(--lime-txt);white-space:nowrap}
.ms__pts svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:3}
.ms__ok{font-size:11px;font-weight:700;color:var(--muted);white-space:nowrap}
.ms__in{display:flex;gap:6px;margin-top:8px}
.ms__in .buy__input{height:40px;font-size:13px;padding:0 12px;min-width:0;flex:1}
.ms__in .btn{flex:none}
.ms__in input[data-in="word"]{text-transform:uppercase;letter-spacing:.06em}
.streak{display:flex;align-items:center;gap:5px;margin-top:8px}
.streak i{width:18px;height:8px;border-radius:999px;background:var(--track);border:1px solid var(--stroke)}
.streak i.on{background:var(--g-lime);border-color:rgba(255,255,255,.7);box-shadow:0 0 8px rgba(155,228,28,.6)}
.streak span{margin-left:6px;font-size:11px;font-weight:700;color:var(--muted)}
.miles{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.miles span{padding:4px 9px;border-radius:999px;font-size:11px;font-weight:700;background:rgba(7,10,18,.35);border:1px solid var(--stroke);color:var(--muted)}
.miles span.on{background:var(--g-promo);color:var(--lime-txt);border-color:rgba(155,228,28,.45)}
#missions.is-locked .ms__row{opacity:.7}

/* paliers (carte recompenses) */
.tiers{display:grid;gap:8px;margin-top:14px}
.tier{position:relative;padding:12px 14px;border-radius:18px;background:var(--g-card-hi);border:1.2px solid var(--stroke);box-shadow:var(--shadow-s),var(--inner)}
.tier__h{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.tier__h b{font-family:var(--fd);font-size:13px}
.tier__h span{font-family:var(--fd);font-size:12px;color:var(--muted);white-space:nowrap}
.tier__access{margin-top:4px;font-size:12px;font-weight:700;color:var(--text)}
.tier__perks{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.tier__perks li{padding:3px 8px;border-radius:999px;font-size:11px;color:var(--muted);background:rgba(7,10,18,.35);border:1px solid var(--stroke)}
.tier.is-on{background:var(--g-promo);border-color:rgba(155,228,28,.35)}
.tier.is-on .tier__h span{color:var(--lime-txt)}
.tier.is-cur{border-color:rgba(155,228,28,.8);box-shadow:var(--shadow-s),var(--inner),0 0 0 3px rgba(155,228,28,.14)}
.tier.is-cur::after{content:"YOU";position:absolute;top:-8px;right:12px;padding:2px 7px;border-radius:999px;background:var(--g-lime);color:var(--ink);font-family:var(--fd);font-size:9px}
.tier.is-next{border-style:dashed;border-color:rgba(155,228,28,.45)}
#rewards .legal{margin-top:12px}
@media (max-width:420px){ .ms__row{grid-template-columns:32px minmax(0,1fr);} .ms__ic{width:32px;height:32px} .ms__r{grid-column:2;justify-items:start;grid-auto-flow:column;align-items:center} }

/* comment ca marche */
.how{display:grid;gap:12px}
.how__t{font-size:18px;padding:0 4px}
.how__steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;counter-reset:none}
.how__steps li{display:grid;gap:6px;align-content:start}
.how__n{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:10px;background:var(--g-lime);color:var(--ink);font-family:var(--fd);font-size:13px;border:1px solid rgba(255,255,255,.9);box-shadow:var(--inner-light)}
.how__steps b{margin-top:4px;font-family:var(--fd);font-size:14px}
.how__steps p{font-size:13px;line-height:1.5;color:var(--muted)}

/* bandeau Founder (rarete) */
.founder{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:28px;padding:26px 32px;background:linear-gradient(180deg,#1f3a2a 0%,#13261c 100%);border-color:rgba(155,228,28,.45)}
.founder__num{display:grid;justify-items:start}
.founder__num b{font-family:var(--fd);font-size:clamp(40px,6vw,64px);line-height:1;color:var(--lime);text-shadow:0 0 28px rgba(155,228,28,.45);font-variant-numeric:tabular-nums}
.founder__num span{margin-top:6px;font-family:var(--fd);font-size:12px;color:#d9f5b0;letter-spacing:.02em}
.founder__txt{position:relative;display:grid;gap:6px}
.founder__txt h2{font-size:18px;color:#fff}
.founder__txt p{font-size:13px;line-height:1.55;color:#c3d9b7;max-width:560px}
.founder__cta{position:relative}

/* fil d'activite */
.feed__h{display:flex;align-items:center;justify-content:space-between;gap:10px}
.live{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--lime-txt);text-transform:uppercase;letter-spacing:.06em}
.live i{width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 8px rgba(155,228,28,.9);animation:livepulse 1.6s ease-in-out infinite}
@keyframes livepulse{50%{opacity:.35}}
.feed{display:grid;gap:6px;margin-top:12px;max-height:290px;overflow:hidden;-webkit-mask:linear-gradient(180deg,#000 75%,transparent);mask:linear-gradient(180deg,#000 75%,transparent)}
.feed__row{display:grid;grid-template-columns:18px auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 12px;border-radius:14px;background:var(--g-card-hi);border:1px solid var(--stroke);font-size:12px;animation:toastin .4s var(--ease)}
.feed__egg{width:12px;height:15px;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;background:linear-gradient(160deg,#fff,#b9c4dc 55%,#4a5a80);box-shadow:0 0 8px rgba(155,228,28,.6)}
.feed__row b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.feed__row span{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.feed__row time{color:var(--dim);font-size:11px;white-space:nowrap}

@media (max-width:880px){
  .how__steps{grid-template-columns:minmax(0,1fr)}
  .founder{grid-template-columns:minmax(0,1fr);gap:14px;padding:22px 20px;text-align:left}
  .founder__cta{justify-self:stretch}
}
@media (prefers-reduced-motion:reduce){ .live i{animation:none} }
