:root{
  --bg:#f7f8fb;
  --card:#ffffff;
  --ink:#12131a;
  --ink-2:#3b3f50;
  --muted:#7a7f93;
  --line:#e6e8ef;
  --soft:#f1f2f7;
  --violet:#6c4dff;
  --violet-2:#8f78ff;
  --violet-soft:#efebff;
  --mint:#2ad19a;
  --mint-ink:#119a6e;
  --mint-soft:#e3f8f0;
  --coral:#ff7a59;
  --r-lg:28px;
  --r-md:20px;
  --r-sm:14px;
  --shadow:0 1px 2px rgba(18,19,26,.04),0 14px 36px rgba(40,30,120,.06);
  --side:252px;
  color-scheme:light;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--bg);color:var(--ink);
  font-family:'Outfit',system-ui,sans-serif;font-size:16px;line-height:1.5;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.mono{font-family:'DM Mono',ui-monospace,monospace}
.muted{color:var(--muted)}
.lab{font:500 11.5px/1.3 'DM Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
em{font-style:normal}
:focus-visible{outline:2px solid var(--violet);outline-offset:3px;border-radius:8px}

/* ---------- shell ---------- */
.shell{display:grid;grid-template-columns:var(--side) minmax(0,1fr);min-height:100vh}

/* the aside is the full-height column (background + border); its inner block sticks */
.side{position:relative;background:var(--card);border-right:1px solid var(--line);min-width:0}
.side-in{
  position:sticky;top:0;height:100vh;height:100dvh;overflow-y:auto;scrollbar-width:none;
  display:flex;flex-direction:column;gap:22px;
  padding:26px 18px 22px;
}
.side-in::-webkit-scrollbar{display:none}
.side-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 8px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:23px;letter-spacing:-.03em}
.brand-mark{width:34px;height:34px}
.chip-count{display:none}

.nav{display:flex;flex-direction:column;gap:4px;margin-top:6px}
.nav a{
  display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:14px;
  font-weight:500;font-size:15.5px;color:var(--ink-2);transition:background .15s,color .15s;
}
.nav a svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.nav a:hover{background:var(--soft);color:var(--ink)}
.nav a.on{background:var(--violet-soft);color:var(--violet);font-weight:600}

.side-card{
  margin-top:auto;position:relative;
  padding:16px 16px 18px;border-radius:var(--r-md);
  background:linear-gradient(160deg,#f3f0ff,#fff 70%);border:1px solid var(--line);
}
.side-count{font-size:30px;font-weight:500;letter-spacing:-.02em;margin-top:6px;color:var(--ink)}
.side-sub{font-size:13px;color:var(--muted)}
.side-bar{height:6px;border-radius:6px;background:#e9e6fb;margin-top:12px;overflow:hidden}
.side-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--violet),var(--mint));border-radius:6px}
.side-card .tag{position:absolute;top:13px;right:12px}
.side-foot{display:flex;align-items:center;gap:8px;padding:0 8px;font-size:13px;color:var(--muted)}

.dot{width:8px;height:8px;border-radius:50%;background:var(--mint);flex:none}
.dot-idle{background:#c8cbd8}

.tag{display:inline-flex;align-items:center;font:500 10.5px/1 'DM Mono',monospace;letter-spacing:.1em;text-transform:uppercase;padding:5px 8px;border-radius:999px}
.tag-preview{background:var(--mint-soft);color:var(--mint-ink)}

/* ---------- main ---------- */
.main{padding:22px 40px 40px;max-width:1220px;width:100%;min-width:0}

.ribbon{
  display:flex;align-items:center;gap:12px;
  padding:11px 16px;border-radius:16px;margin-bottom:20px;
  background:var(--mint-soft);border:1px solid #c9f0e0;color:#0d5e44;font-size:14.5px;
}
.ribbon-dot{width:10px;height:10px;border-radius:50%;background:var(--mint);flex:none;box-shadow:0 0 0 4px rgba(42,209,154,.22)}
.ribbon p{flex:1;min-width:0}
.ribbon a{font-weight:600;white-space:nowrap;text-decoration:underline;text-underline-offset:3px}

.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow)}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  height:50px;padding:0 22px;border-radius:999px;font-weight:600;font-size:16px;
  transition:transform .15s,box-shadow .15s,background .15s;white-space:nowrap;
}
.btn-primary{background:var(--violet);color:#fff;box-shadow:0 10px 24px rgba(108,77,255,.28)}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(108,77,255,.34)}
.btn-ghost{background:#fff;border:1px solid var(--line);color:var(--ink)}
.btn-ghost:hover{border-color:#d3d6e2}
.btn[disabled]{background:#dcdfe9;color:#8a8fa3;box-shadow:none;cursor:not-allowed;transform:none}
.btn-block{width:100%}

.note{font-size:13.5px;color:var(--muted);line-height:1.5}

/* ---------- hero ---------- */
.hero{
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:24px;align-items:center;
  padding:48px 44px 44px;overflow:hidden;
  background:
    radial-gradient(120% 90% at 100% 0%,#efe9ff 0%,rgba(239,233,255,0) 55%),
    radial-gradient(70% 70% at 85% 100%,#e5f9f1 0%,rgba(229,249,241,0) 60%),
    #fff;
}
.hero h1{
  text-wrap:balance;font-weight:800;letter-spacing:-.045em;line-height:.98;
  font-size:clamp(40px,4.9vw,70px);margin-top:16px;
}
.hero h1 em{color:var(--violet)}
.lede{margin-top:20px;font-size:18.5px;line-height:1.5;color:var(--ink-2);max-width:470px}
.cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.hero-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:34px;max-width:520px}
.hero-facts div{padding:12px 14px;border-radius:var(--r-sm);background:rgba(247,248,251,.85);border:1px solid var(--line)}
.hero-facts dt{font-size:18px;font-weight:500;letter-spacing:-.02em}
.hero-facts dd{font-size:13px;color:var(--muted);line-height:1.35;margin-top:2px}

.fan-wrap{position:relative;min-width:0}
.fan{position:relative;container-type:inline-size;width:100%;max-width:500px;margin:0 auto;aspect-ratio:1/1.14}
.gc{
  position:absolute;width:58cqw;aspect-ratio:1.586/1;border-radius:4.6cqw;
  padding:3.8cqw 4.8cqw 4cqw;color:#fff;
  left:var(--x);top:var(--y);transform:rotate(var(--r));
  background:
    radial-gradient(60% 90% at 100% 0%,rgba(255,255,255,.16),rgba(255,255,255,0) 70%),
    linear-gradient(150deg,rgba(255,255,255,.14),rgba(255,255,255,0) 40%),
    var(--c);
  box-shadow:0 -0.4cqw 0 rgba(255,255,255,.08) inset,0 2.4cqw 6cqw rgba(40,30,120,.2);
  display:flex;flex-direction:column;
  transition:transform .45s cubic-bezier(.2,.8,.2,1);
}
.gc .cat{font:500 3.3cqw/1.1 'DM Mono',monospace;letter-spacing:.01em;opacity:.9}
.gc .val{font-weight:800;font-size:8.8cqw;letter-spacing:-.04em;line-height:1;margin-top:1cqw}
.gc img{position:absolute;right:3.4cqw;top:2.4cqw;width:13.5cqw;height:auto;filter:drop-shadow(0 1cqw 1.4cqw rgba(0,0,0,.2))}
.gc-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;font:500 2.5cqw/1 'DM Mono',monospace;letter-spacing:.12em;text-transform:uppercase;opacity:.7}
.gc-5{--x:39cqw;--y:5cqw;--r:7deg;z-index:1}
.gc-4{--x:29cqw;--y:22cqw;--r:4deg;z-index:2}
.gc-3{--x:20cqw;--y:39cqw;--r:1deg;z-index:3}
.gc-2{--x:11cqw;--y:56cqw;--r:-2deg;z-index:4}
.gc-1{--x:2cqw;--y:73cqw;--r:-5deg;z-index:5}
.fan:hover .gc-5{transform:rotate(9deg) translate(2cqw,-2cqw)}
.fan:hover .gc-4{transform:rotate(5deg) translate(1.5cqw,-1.5cqw)}
.fan:hover .gc-3{transform:rotate(1deg) translate(1cqw,-.5cqw)}
.fan:hover .gc-2{transform:rotate(-3deg) translate(0,.5cqw)}
.fan:hover .gc-1{transform:rotate(-6deg) translate(-1cqw,1cqw)}

.won-chip{
  position:absolute;right:0;bottom:3%;z-index:6;
  display:flex;align-items:center;gap:10px;padding:9px 14px 9px 10px;border-radius:16px;
  background:rgba(255,255,255,.94);border:1px solid var(--line);box-shadow:0 12px 30px rgba(40,30,120,.12);
  backdrop-filter:blur(6px);
}
.won-chip img{width:34px;height:34px}
.won-chip b{display:block;font-size:14px;font-weight:600}
.won-chip span{display:block;font-size:11.5px;color:var(--muted)}

/* ---------- blocks ---------- */
.block{margin-top:56px;scroll-margin-top:24px}
.hero{scroll-margin-top:24px}
.block-head{margin-bottom:20px;max-width:680px}
.block-head h2{text-wrap:balance;font-weight:800;font-size:clamp(30px,3.4vw,44px);letter-spacing:-.04em;line-height:1.02;margin-top:8px}
.block-head p{margin-top:10px;color:var(--ink-2);font-size:16.5px}

/* ---------- launch ---------- */
.launch{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);overflow:hidden}
.launch-form{padding:32px 34px;display:flex;flex-direction:column;gap:20px}
.field-row{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:12px}
.field{display:flex;flex-direction:column;gap:8px;min-width:0}
.field input[type=text]{
  height:52px;width:100%;padding:0 16px;border-radius:var(--r-sm);
  border:1px solid var(--line);background:var(--bg);font:500 17px 'Outfit',sans-serif;color:var(--ink);
  transition:border-color .15s,background .15s,box-shadow .15s;
}
.field-ticker input[type=text]{font-family:'DM Mono',monospace;text-transform:uppercase;letter-spacing:.04em}
.field input[type=text]::placeholder{color:#a9adbd}
.field input[type=text]:focus{outline:0;border-color:var(--violet);background:#fff;box-shadow:0 0 0 4px rgba(108,77,255,.12)}
.split-head{display:flex;align-items:baseline;justify-content:space-between}
.split-val{font-size:15px;color:var(--muted)}
.split-val b{font-size:26px;font-weight:500;color:var(--violet);letter-spacing:-.02em}

.range{-webkit-appearance:none;appearance:none;width:100%;height:28px;background:transparent;cursor:pointer;--p:40%}
.range::-webkit-slider-runnable-track{height:8px;border-radius:8px;background:linear-gradient(90deg,var(--violet) 0 var(--p),#e3e5ee var(--p) 100%)}
.range::-moz-range-track{height:8px;border-radius:8px;background:#e3e5ee}
.range::-moz-range-progress{height:8px;border-radius:8px;background:var(--violet)}
.range::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:50%;background:#fff;border:2px solid var(--violet);margin-top:-9px;box-shadow:0 4px 12px rgba(108,77,255,.3)}
.range::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#fff;border:2px solid var(--violet);box-shadow:0 4px 12px rgba(108,77,255,.3)}
.range-scale{display:flex;justify-content:space-between;font-size:11.5px;color:var(--muted);margin-top:-2px}

.splitbar{display:flex;height:56px;border-radius:var(--r-sm);overflow:hidden;background:var(--soft);gap:3px}
.splitbar > div{display:flex;align-items:center;min-width:0;padding:0 14px;transition:flex-basis .25s ease;overflow:hidden;white-space:nowrap}
.splitbar span{font-size:13px}
.splitbar b{font-weight:500}
.splitbar-c{background:var(--violet);color:#fff;flex:0 0 20%;border-radius:var(--r-sm) 4px 4px var(--r-sm)}
.splitbar-h{background:var(--mint);color:#063b2a;flex:1 1 auto;border-radius:4px var(--r-sm) var(--r-sm) 4px}
.splitbar-c.zero{padding:0;flex-basis:0 !important}
.splitbar .sm{display:none}
.split-sentence{font-size:15.5px;color:var(--ink-2)}
.launch-form .note{margin-top:-8px;text-align:center}

.launch-preview{
  padding:32px 30px;border-left:1px solid var(--line);
  background:linear-gradient(180deg,#faf9ff,#f6f7fb);
  display:flex;flex-direction:column;gap:16px;
}
.coin-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:22px;box-shadow:0 10px 26px rgba(40,30,120,.06)}
.coin-card img{width:56px;height:56px}
.coin-name{font-weight:800;font-size:28px;letter-spacing:-.035em;line-height:1.05;margin-top:12px;overflow-wrap:anywhere}
.coin-ticker{font-size:13px;color:var(--muted);letter-spacing:.08em;margin-top:4px}
.coin-rows{margin-top:16px;border-top:1px solid var(--line)}
.coin-rows div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px;color:var(--ink-2)}
.coin-rows div:last-child{border-bottom:0;padding-bottom:0}
.coin-rows b{font-weight:500;color:var(--ink);white-space:nowrap}
#pHold{color:var(--mint-ink)}
#pCre{color:var(--violet)}
.mini-cards{display:flex;gap:8px;justify-content:center;margin-top:auto;padding-top:4px}
.mini-cards i{width:44px;height:28px;border-radius:7px;background:var(--c);box-shadow:0 6px 14px rgba(40,30,120,.12)}
.mini-cards i:nth-child(odd){transform:rotate(-6deg)}
.mini-cards i:nth-child(even){transform:rotate(5deg) translateY(3px)}

/* ---------- payouts ---------- */
.pay-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}
.pay-main{padding:24px 26px 26px;min-width:0}
.pay-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.pay-title{display:flex;align-items:center;gap:12px}
.pay-title img{width:42px;height:42px}
.pay-title b{display:block;font-size:18px;font-weight:700;letter-spacing:-.02em}
.pay-title span{display:block;font-size:12px;color:var(--muted)}

.tiles{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;gap:10px;margin-top:20px}
.tile{padding:14px 16px;border-radius:var(--r-md);background:var(--bg);border:1px solid var(--line);display:flex;flex-direction:column;gap:4px;min-width:0}
.tile b{font-size:28px;font-weight:500;letter-spacing:-.03em;line-height:1.15;white-space:nowrap}
.tile b small{font-size:15px;color:var(--muted)}
.tile-sub{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tile-count{background:linear-gradient(150deg,#6c4dff,#8a6dff);border-color:transparent;color:#fff}
.tile-count .lab,.tile-count .tile-sub{color:rgba(255,255,255,.75)}

.winners{margin-top:22px}
.winners-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.winners-head b{font-size:17px;font-weight:700}
.winners-head span{font-size:13px;color:var(--muted)}
.wtable{border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}
.wrow{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) 72px;gap:10px;align-items:center;padding:11px 16px;border-top:1px solid var(--line);font-size:14.5px}
.wrow-h{border-top:0;background:var(--bg);font:500 11px 'DM Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:10px 16px}
.wrow .w{display:flex;align-items:center;gap:9px;font-family:'DM Mono',monospace;font-size:13.5px}
.wrow .w i{width:22px;height:22px;border-radius:50%;flex:none;background:var(--g)}
.wrow .b{font-weight:600}
.wrow .v{font-family:'DM Mono',monospace;font-weight:500;text-align:right}
.wrow-h span:last-child{text-align:right}
.ph{
  display:inline-flex;align-items:center;height:24px;padding:0 9px;border-radius:8px;
  border:1px dashed #cfd2de;color:#a3a7b8;font:400 11.5px 'DM Mono',monospace;white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis;max-width:100%;
}
.winners .note{margin-top:12px}

.pay-side{display:flex;flex-direction:column;gap:16px;min-width:0}
.take{padding:20px}
.take-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.take-rows{margin-top:10px}
.take-rows > div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;border-top:1px solid var(--line);font-size:14px;color:var(--ink-2)}
.take-rows > div:first-child{border-top:0}
.take-rows b{font-weight:500;color:var(--ink);white-space:nowrap}
.take-rows .ph{max-width:58%}
.take .note,.size .note{margin-top:12px;font-size:12.5px}
.post{padding:20px}
.post-head{display:flex;align-items:center;gap:10px}
.post-av{width:38px;height:38px;padding:5px;border-radius:50%;background:var(--violet-soft);flex:none}
.post-head b{display:block;font-size:15px;font-weight:700;line-height:1.1}
.post-head span.mono{display:block;font-size:11.5px;color:var(--muted)}
.post-head .tag{margin-left:auto}
.post-body{margin-top:14px;font-size:15px;line-height:1.55;color:var(--ink)}
.post-foot{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:11.5px;color:var(--muted);line-height:1.5}

.size{padding:20px}
.size-row{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;align-items:center;margin-top:14px}
.size-name b{display:block;font-size:15px;font-weight:700}
.size-name span{display:block;font-size:12.5px;color:var(--muted)}
.size-cards{display:flex;flex-wrap:wrap;gap:4px}
.size-cards i{width:22px;height:14px;border-radius:3px;background:var(--coral)}
.size-many i{width:14px;height:9px;border-radius:2px}

/* ---------- how ---------- */
.flow{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;counter-reset:f}
.flow li{position:relative;padding:20px 18px 20px;display:flex;flex-direction:column;gap:6px}
.flow li img{width:52px;height:52px;margin-bottom:8px}
.flow-n{position:absolute;top:18px;right:18px;font-size:12px;color:var(--muted)}
.flow li b{font-size:17px;font-weight:700;letter-spacing:-.02em;line-height:1.2}
.flow li > span:last-child{font-size:14px;color:var(--ink-2);line-height:1.45}

.claim{display:grid;grid-template-columns:340px minmax(0,1fr);gap:28px;margin-top:20px;align-items:start}

.phone{
  width:320px;max-width:100%;margin:0 auto;padding:11px;border-radius:50px;
  background:#12131a;box-shadow:0 30px 70px rgba(40,30,120,.22),inset 0 0 0 2px #2a2c38;
}
.phone-screen{position:relative;height:620px;border-radius:40px;background:#fbfbfe;overflow:hidden}
.phone-status{display:flex;align-items:center;justify-content:space-between;padding:14px 24px 0;font-size:12px;color:var(--ink-2);height:40px}
.notch{width:92px;height:26px;border-radius:14px;background:#12131a}
.phone-status span:last-child{color:var(--mint-ink)}
.scr{position:absolute;inset:44px 0 0;padding:18px 22px 22px;display:flex;flex-direction:column;opacity:0;transform:translateX(18px);pointer-events:none;transition:opacity .3s,transform .3s}
.scr.on{opacity:1;transform:none;pointer-events:auto}
.scr-brand{display:flex;align-items:center;gap:7px;font-weight:800;font-size:16px;letter-spacing:-.03em}
.scr-brand svg{width:22px;height:22px}
.scr-gift{width:112px;height:112px;margin:22px auto 16px;animation:bob 3.4s ease-in-out infinite}
.scr-h{font-weight:800;font-size:34px;letter-spacing:-.045em;line-height:1;text-align:center}
.scr-h em{color:var(--coral)}
.scr-h.sm{font-size:27px;text-align:left;margin-top:6px}
.scr-k{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.scr-p{font-size:13.5px;color:var(--ink-2);margin-top:12px;line-height:1.45}
.scr[data-scr="0"] .scr-p{text-align:center}
.scr-wallet{margin:12px auto 0;font-size:12px;padding:6px 10px;border-radius:999px;background:var(--soft);color:var(--ink-2)}
.won-info{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}
.won-info div{padding:10px 12px;border-radius:14px;background:#fff;border:1px solid var(--line)}
.won-info span{display:block;font:500 10px 'DM Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.won-info b{display:block;font-size:15px;font-weight:600;margin-top:2px}
.pbtn{margin-top:auto;height:50px;border-radius:16px;background:var(--violet);color:#fff;font-weight:600;font-size:15px;width:100%}
.pbtn-ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}
.sig{margin-top:18px;padding:16px;border-radius:16px;background:#fff;border:1px solid var(--line);font-size:13px;line-height:1.75;color:var(--ink);white-space:pre-wrap}
.fake-search{margin-top:14px;height:42px;display:flex;align-items:center;padding:0 14px;border-radius:12px;background:#fff;border:1px solid var(--line);font-size:12.5px;color:#a3a7b8}
.cats{display:flex;gap:6px;margin-top:10px;font-size:11.5px;overflow:hidden;white-space:nowrap;-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}
.cats span{flex:none;padding:6px 10px;border-radius:999px;background:var(--soft);color:var(--ink-2)}
.cats span.on{background:var(--ink);color:#fff}
.brands{display:flex;flex-direction:column;gap:7px;margin-top:12px}
.brands button{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-radius:13px;background:#fff;border:1px solid var(--line);font-weight:600;font-size:15px;text-align:left;transition:background .15s,border-color .15s,color .15s}
.brands button span{font:400 12px 'DM Mono',monospace;color:var(--muted)}
.brands button:hover{border-color:#cfc6ff}
.brands button.on{background:var(--violet);border-color:var(--violet);color:#fff}
.brands button.on span{color:rgba(255,255,255,.8)}
.code-box{margin-top:20px;padding:22px 16px;border:2px dashed var(--violet);border-radius:20px;background:#fff;text-align:center;display:flex;flex-direction:column;gap:8px}
.code-box b{font-size:20px;font-weight:500;letter-spacing:.03em;color:var(--ink);white-space:nowrap}
.code-brand{font-size:12.5px;color:var(--ink-2)}
.code-note{font-size:11px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}

.steps{display:flex;flex-direction:column;gap:8px;min-width:0}
.step{display:flex;gap:14px;align-items:flex-start;text-align:left;padding:16px 18px;border-radius:var(--r-md);border:1px solid transparent;transition:background .2s,border-color .2s}
.step:hover{background:#fff;border-color:var(--line)}
.step.on{background:#fff;border-color:var(--line);box-shadow:var(--shadow)}
.step-n{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--soft);color:var(--muted);font-size:14px;flex:none;transition:background .2s,color .2s}
.step.on .step-n{background:var(--violet);color:#fff}
.step b{display:block;font-size:18px;font-weight:700;letter-spacing:-.02em}
.step span span{display:block;font-size:14.5px;color:var(--ink-2);margin-top:2px;line-height:1.45}

.step-cap{display:none}
.odds{padding:18px 20px;margin-top:8px}
.odds-row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) 70px;gap:12px;align-items:center;margin-top:12px;font-size:14px;color:var(--ink-2)}
.odds-row b{font-weight:500;font-size:14px;text-align:right;color:var(--ink)}
.odds-bar{display:flex;gap:3px;height:12px;border-radius:6px;background:var(--soft);overflow:hidden}
.odds-bar i{display:block;height:100%;background:var(--mint);border-radius:6px}
.odds-split i:last-child{background:#7fe3c1}
.odds .note{margin-top:12px}

/* ---------- rules ---------- */
.rules{display:flex;flex-direction:column;gap:12px}
.rules-group{padding:20px 28px 6px}
.rules-tag{
  display:inline-flex;align-items:center;gap:8px;padding:6px 11px;border-radius:999px;
  font:500 11px/1.2 'DM Mono',monospace;letter-spacing:.1em;text-transform:uppercase;
  background:var(--soft);color:var(--ink-2);
}
.rules-tag-chain{background:var(--violet-soft);color:#5536e0}
.rules-tag-off{background:#fff0ea;color:#b4441f}
.rules-group ol{list-style:none;margin-top:6px}
.rules-group li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:8px;padding:16px 0;border-top:1px solid var(--line)}
.rules-group li:first-child{border-top:0}
.rules-group li .mono{font-size:13px;color:var(--violet);padding-top:3px}
.rules-group li p{font-size:17px;line-height:1.5;color:var(--ink);max-width:860px}
.rules a{color:var(--violet);font-weight:600;text-decoration:underline;text-underline-offset:3px}

/* ---------- footer ---------- */
.foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:44px;padding:22px 2px 6px;border-top:1px solid var(--line)}
.foot-brand{display:flex;align-items:center;gap:9px;font-weight:800;font-size:18px;letter-spacing:-.03em}
.foot-brand svg{width:26px;height:26px}
.foot-brand .mono{font-weight:400;font-size:13px;letter-spacing:0;margin-left:4px}
.foot-meta{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;color:var(--muted)}

@keyframes bob{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-8px) rotate(3deg)}}

/* ---------- responsive ---------- */
@media (max-width:1180px){
  .hero{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);padding:40px 32px}
  .pay-grid{grid-template-columns:minmax(0,1fr)}
  .pay-side{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .pay-side .size{grid-column:1 / -1}
  .flow{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (min-width:901px) and (max-width:1180px){
  .hero-facts{grid-template-columns:minmax(0,1fr);gap:8px}
  .hero-facts div{display:flex;align-items:baseline;gap:10px;padding:10px 12px}
  .hero-facts dt{flex:none;min-width:92px;font-size:16px}
}

@media (max-width:900px){
  .shell{display:block}
  .side{
    position:sticky;top:0;z-index:50;
    border-right:0;border-bottom:1px solid var(--line);
    background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  }
  .side-in{position:static;height:auto;overflow:visible;gap:8px;padding:10px 16px 8px}
  .side-top{padding:0}
  .brand{font-size:20px}
  .brand-mark{width:28px;height:28px}
  .chip-count{display:inline-flex;align-items:center;gap:7px;font-size:13px;padding:6px 11px;border-radius:999px;background:var(--violet-soft);color:var(--violet)}
  .nav{
    flex-direction:row;gap:4px;margin:0 -16px;padding:0 28px 2px 16px;overflow-x:auto;scrollbar-width:none;
    -webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent);
  }
  .nav::-webkit-scrollbar{display:none}
  .nav a{padding:7px 12px;font-size:14px;white-space:nowrap;flex:none;gap:7px}
  .nav a svg{width:17px;height:17px}
  .side-card,.side-foot{display:none}
  .main{padding:16px 16px 28px}
  .block,.hero{scroll-margin-top:112px}

  .hero{grid-template-columns:minmax(0,1fr);padding:30px 22px 22px;gap:8px}
  .fan-wrap{margin-top:12px}
  .launch{grid-template-columns:minmax(0,1fr)}
  .launch-preview{border-left:0;border-top:1px solid var(--line)}
  .claim{grid-template-columns:minmax(0,1fr)}
  .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:640px){
  .ribbon{align-items:flex-start;flex-wrap:wrap;font-size:13.5px;padding:11px 14px;gap:4px 10px}
  .ribbon-dot{margin-top:5px}
  .ribbon p{flex:1 1 calc(100% - 30px)}
  .ribbon a{margin-left:20px}
  .hero{padding:26px 18px 18px;border-radius:24px}
  .hero h1{font-size:clamp(36px,10.4vw,46px)}
  .lede{font-size:16px}
  .cta .btn{flex:1 1 0;padding:0 14px}
  .hero-facts{grid-template-columns:minmax(0,1fr);gap:8px}
  .hero-facts div{display:flex;align-items:baseline;gap:10px;padding:10px 12px}
  .fan{max-width:310px}
  .hero-facts dt{font-size:16px;flex:none;min-width:84px}
  .won-chip{right:0;bottom:0;padding:7px 11px 7px 8px}
  .won-chip img{width:28px;height:28px}
  .won-chip b{font-size:13px}

  .block{margin-top:38px}
  .block-head{margin-bottom:16px}
  .block-head p{font-size:15.5px}
  .launch-form,.launch-preview{padding:22px 18px}
  .field-row{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:10px}
  .splitbar span{font-size:12px}
  .splitbar .lg{display:none}
  .splitbar .sm{display:inline}
  .splitbar > div{padding:0 10px}

  .pay-main{padding:18px 16px}
  .pay-side{display:flex}
  .tile b{font-size:24px}
  .wrow-h{display:none}
  .wrow{grid-template-columns:minmax(0,1fr) auto 44px;column-gap:12px;padding:10px 12px}
  #wbody .wrow:first-child{border-top:0}
  .wrow .w{grid-column:1;min-width:0}
  .wrow .b{grid-column:2;font-size:14px;text-align:right}
  .wrow .v{grid-column:3;text-align:right}
  .flow{grid-template-columns:minmax(0,1fr)}
  .mini-cards{display:none}
  .flow li{padding:16px;display:grid;grid-template-columns:52px minmax(0,1fr);column-gap:14px;row-gap:2px;align-items:start}
  .flow li img{grid-row:1 / span 2;margin:0}
  .phone{width:300px}
  .phone-screen{height:560px}
  .steps{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
  .step{padding:10px 12px;gap:10px;align-items:center;background:#fff;border-color:var(--line)}
  .step.on{box-shadow:none;border-color:var(--violet);background:var(--violet-soft)}
  .step-n{width:26px;height:26px;border-radius:8px;font-size:12.5px}
  .step b{font-size:15.5px}
  .step span span{display:none}
  .step-cap{display:block;grid-column:1 / -1;min-height:4.5em;padding:2px 4px 0;font-size:14.5px;line-height:1.5;color:var(--ink-2)}
  .odds{grid-column:1 / -1;margin-top:0}
  .odds-row{grid-template-columns:minmax(0,1fr) 64px;row-gap:6px}
  .odds-row span{grid-column:1 / -1}
  .rules{gap:10px}
  .rules-group{padding:14px 16px 2px;border-radius:24px}
  .rules-group li{grid-template-columns:28px minmax(0,1fr);gap:6px;padding:12px 0}
  .rules-group li .mono{font-size:12px}
  .rules-group li p{font-size:15px;line-height:1.48}
  .foot{flex-direction:column;align-items:flex-start;gap:10px;margin-top:36px}
  .foot-meta{flex-direction:column;gap:4px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none !important;transition:none !important}
}
