/* REBOUND — "the bounce" (canvas v3). Light paper, near-black ink, one payout green, one loss orange.
   No cards, glows or decorative labels. Loaded last: shell, home, loader, and the light overrides for the
   older pages. Every animation has a reduced-motion fallback at the end of the file. */

/* ---------- base ---------- */
html{background:var(--bg)}
body{background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:15px}
h1,h2,h3,.display{font-family:var(--font-display);letter-spacing:-.035em}
a{color:inherit}
::selection{background:#CBE7D8;color:var(--ink)}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.pos{color:var(--mint)}.neg{color:var(--amber)}.muted{color:var(--muted)}
#main a:not([class]){text-decoration:underline;text-decoration-color:#C8C8C0;text-underline-offset:3px;transition:text-decoration-color .15s}
#main a:not([class]):hover{text-decoration-color:var(--ink)}
#main table.coins a{text-decoration:none}
/* Schibsted's tabular figures also widen ':' ',' '.' — keep proportional figures everywhere but the mono face. */
body,body *{font-variant-numeric:normal!important}

/* ---------- buttons ---------- */
.ink,.btn,.btn.dark,.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;border:0;border-radius:10px;background:var(--ink);color:var(--on-ink);font:500 14.5px/1 var(--font-body);text-decoration:none;cursor:pointer;white-space:nowrap;box-shadow:none;transition:transform .12s,background-color .15s}
.ink:hover,.btn:hover:not(:disabled),.btn-primary:hover{background:var(--ink-hover);color:var(--on-ink);box-shadow:none;transform:none}
.ink:active,.btn:active:not(:disabled),.btn-primary:active{transform:scale(.97)}
.ink:disabled{opacity:.6;cursor:progress}
.btn.outline,.btn.ghost,.btn-ghost{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 16px;border:1px solid var(--line-strong);border-radius:10px;background:transparent;color:var(--ink);font:500 14.5px/1 var(--font-body)}
.btn.outline:hover:not(:disabled),.btn.ghost:hover:not(:disabled),.btn-ghost:hover{background:var(--row-hover);border-color:var(--ink);transform:none}
.btn.small{height:34px;font-size:13.5px;padding:0 12px;min-height:0}
.btn-primary.lg,.btn-ghost.lg{height:52px;padding:0 22px;font-size:15.5px;border-radius:12px}
.ghost-link,.link-button{padding:0;border:0;background:transparent;font:inherit;font-size:14.5px;color:var(--muted);text-decoration:underline;text-underline-offset:3px;cursor:pointer;transition:color .15s}
.ghost-link:hover,.link-button:hover{color:var(--ink)}
.link-button{font-size:15px;color:var(--ink);text-decoration-color:#C8C8C0}

/* ---------- shell: header, footer ---------- */
.workspace{margin-left:0;min-height:100vh;display:flex;flex-direction:column}
.topbar{position:sticky;top:0;z-index:40;background:var(--bg);border-bottom:1px solid transparent;transition:border-color .2s}
body.scrolled .topbar{border-bottom-color:var(--line)}
.topbar-inner{max-width:1440px;margin:0 auto;height:72px;padding:0 64px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.topbar-brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font:800 22px/1 var(--font-display);letter-spacing:-.04em;flex-shrink:0}
.topbar-brand .brand-mark{width:30px;height:30px;border-radius:8px;display:block}
.topbar-inner>.topbar-brand{margin-right:24px}
.topnav{display:flex;gap:28px;font-size:15px;flex:1}
.topnav a{color:var(--muted);text-decoration:none;transition:color .15s;padding:6px 0}
.topnav a:hover,.topnav a.active{color:var(--ink)}
.topbar-actions{display:flex;align-items:center;gap:10px}
.ca{position:relative;display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;border:0;border-radius:10px;background:var(--chip);color:var(--ink);font:400 14px/1 var(--font-body);cursor:pointer;transition:background-color .15s,transform .12s}
.ca:hover{background:var(--chip-hover)}.ca:active{transform:scale(.97)}
.ca b{font-weight:600}.ca .ca-addr{color:var(--muted)}
.ca .ca-icon{width:15px;height:15px;color:var(--muted)}
.ca .ca-done{display:none;color:var(--mint);font-weight:600}
.ca.copied .ca-icon{display:none}.ca.copied .ca-done{display:inline;animation:bn-copied .25s ease-out both}
@keyframes bn-copied{0%{transform:scale(.6);opacity:0}100%{transform:none;opacity:1}}
.wallet-button{min-width:0}
.x-link{display:flex;align-items:center;gap:8px;height:40px;padding:0 12px;border-radius:10px;background:var(--chip);color:var(--ink);text-decoration:none;font-size:14px;font-weight:500;transition:background-color .15s,transform .12s}
.x-link:hover{background:var(--chip-hover)}.x-link:active{transform:scale(.97)}
.x-link svg{width:16px;height:16px}
.menu-button{display:none;width:44px;height:44px;border:0;border-radius:10px;background:var(--chip);color:var(--ink);align-items:center;justify-content:center}
.menu-button svg{width:20px;height:20px}
#main{flex:1;width:100%;max-width:1440px;margin:0 auto;padding:0 64px 40px;box-sizing:border-box}
#main:focus{outline:none}
.site-footer{max-width:1440px;width:100%;margin:104px auto 0;padding:24px 64px 40px;box-sizing:border-box;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:14px;color:var(--muted);background:none}
.site-footer::before{content:"";position:absolute}
.site-footer{border-top:0;position:relative}
.site-footer>span:first-child{flex:1}
.site-footer:after{content:"";position:absolute;left:64px;right:64px;top:0;border-top:1px solid var(--line)}
.footer-links{display:flex;gap:22px}.footer-links a{color:var(--ink);text-decoration:underline;text-decoration-color:#C8C8C0;text-underline-offset:3px}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:12px;z-index:100;background:var(--ink);color:var(--on-ink);padding:10px 14px;border-radius:10px}
.mobile-bottom-nav{display:none!important}

/* ---------- home: hero ---------- */
.home{display:flex;flex-direction:column}
.b-hero{padding-top:56px;display:grid;grid-template-columns:minmax(0,1fr) 560px;gap:48px;align-items:center}
.hero-copy{display:flex;flex-direction:column;gap:24px;animation:bn-up .45s ease-out both}
.b-hero h1{margin:0;font:800 76px/.98 var(--font-display);letter-spacing:-.05em}
.b-hero p{margin:0;max-width:540px;font-size:19px;line-height:1.5;color:var(--body)}
.hero-check{display:flex;flex-direction:column;gap:10px;margin-top:12px;max-width:560px}
.hero-check label{font-size:14px;font-weight:500}
.hc-row{display:flex;gap:8px}
.hc-row.shake{animation:bn-shake .35s ease-out}
.hc-row .field{flex:1;min-width:0;height:52px;box-sizing:border-box;padding:0 16px;border-radius:12px;border:1px solid var(--line-strong);background:#FFFFFF;color:var(--ink);font:400 15.5px var(--font-body);box-shadow:none;transition:border-color .15s}
.hc-row .field:focus{outline:none;border-color:var(--ink);box-shadow:none}
.hc-row .field[aria-invalid=true]{border-color:var(--amber)}
.hc-row .ink{height:52px;padding:0 22px;border-radius:12px;font-size:15.5px}
.hc-err{font-size:14px;color:var(--amber);min-height:0}.hc-err:empty{display:none}
#hc-example{align-self:flex-start;font-size:14px}
.hc-out{display:flex;flex-direction:column;gap:4px}.hc-out:empty{display:none}
.hc-line{font-size:19px;line-height:1.4;padding-top:6px;animation:bn-up .35s ease-out both}.hc-line b{font-weight:700}
.hc-detail{font-size:14px;color:var(--muted);animation:bn-up .35s .05s ease-out both}
.hc-more{color:var(--ink);text-decoration:underline;text-decoration-color:#C8C8C0;text-underline-offset:3px}

/* ---------- home: the arrow-clock ---------- */
.clock-wrap{position:relative;width:560px;height:540px}
.clock{position:absolute;left:0;top:0;width:560px;height:540px;transform-origin:0 0}
.ck-svg{position:absolute;left:0;top:0;width:560px;height:500px;overflow:visible}
.ck-track{fill:none;stroke:#E3E3DD;stroke-width:22;stroke-linecap:round;stroke-linejoin:round}
.ck-trail{fill:none;stroke:var(--ink);stroke-width:22;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1s linear}
.ck-snap{stroke:var(--amber);stroke-width:3;stroke-linecap:round}
.ck-headg{transform-origin:420px 110px;opacity:0}
.ck-head{fill:none;stroke:var(--ink);stroke-width:22;stroke-linecap:round;stroke-linejoin:round}
.ck-dot{position:absolute;left:0;top:0;width:32px;height:32px;box-sizing:border-box;border-radius:50%;background:var(--mint-light);border:4px solid var(--bg);offset-path:path('M132 144 V288 A144 144 0 0 0 420 288 V96');offset-rotate:0deg;offset-distance:0%;transition:offset-distance 1s linear;animation:bn-pulse 1.8s ease-out infinite}
.ck-dot.idle{animation:none;background:#B9BDB9}
.ck-start,.ck-tip{position:absolute;font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.ck-start{right:444px;top:134px;text-align:right}.ck-tip{left:440px;top:44px;transition:opacity .2s}
.ck-snaplabel{position:absolute;left:464px;top:112px;font-size:13px;color:var(--amber);white-space:nowrap}
.ck-center{position:absolute;left:154px;top:200px;width:244px;display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}
.ck-time{font:800 84px/1 var(--font-display);letter-spacing:-.05em;font-variant-numeric:tabular-nums;transition:color .2s}
.ck-label{font-size:14.5px;color:var(--muted)}
.ck-proc{margin-top:6px;font-size:12.5px;line-height:1.35;color:var(--teal);display:flex;align-items:center;gap:6px}
.ck-proc::before{content:"";width:10px;height:10px;flex-shrink:0;border-radius:50%;border:2px solid #CFE0E3;border-top-color:var(--teal);animation:bn-spin .8s linear infinite}
.clock.holding .ck-time{color:var(--teal)}
.clock.holding .ck-dot{animation:bn-pulse-teal 1.4s ease-out infinite;background:var(--teal)}
.ck-preview{position:absolute;left:132px;top:488px}
.ck-pill{position:absolute;left:50%;top:8px;transform:translateX(-30%);padding:8px 14px;border-radius:999px;background:var(--ink);color:var(--on-ink);font-size:15px;font-weight:500;white-space:nowrap;opacity:0;pointer-events:none}
.ck-burst{position:absolute;left:0;top:0;width:0;height:0}
.ck-burst i,.ck-burst svg{position:absolute;display:block;opacity:0}
.ck-burst .p0{left:414px;top:74px;width:12px;height:12px;border-radius:50%;background:var(--confetti-a)}
.ck-burst .p1{left:415px;top:75px;width:10px;height:10px;border-radius:2px;background:var(--confetti-b)}
.ck-burst .p2{left:413px;top:73px;width:14px;height:14px;border-radius:50%;background:var(--mint-light)}
.ck-burst .p3{left:413px;top:73px;width:14px;height:14px;fill:var(--ink)}
.ck-burst .p4{left:415px;top:75px;width:9px;height:9px;border-radius:50%;background:var(--confetti-a)}
.ck-burst .p5{left:413px;top:73px;width:14px;height:14px;fill:var(--confetti-b)}
.clock.run .ck-dot{transition:offset-distance 1.1s cubic-bezier(.55,0,.35,1)}
.clock.run .ck-trail{transition:stroke-dashoffset 1.1s cubic-bezier(.55,0,.35,1)}
.clock.back .ck-dot{transition:offset-distance .6s cubic-bezier(.3,1.3,.5,1)}
.clock.back .ck-trail{transition:stroke-dashoffset .6s ease-out}
.clock.paid .ck-headg{opacity:1;animation:bn-headpop .55s cubic-bezier(.3,1.5,.5,1) both}
.clock.paid .ck-tip{opacity:0}
.clock.paid .ck-pill{animation:bn-pill .5s .25s cubic-bezier(.3,1.4,.5,1) both}
.clock.paid .ck-burst .p0{animation:bn-p0 .9s cubic-bezier(.2,.7,.4,1) both}
.clock.paid .ck-burst .p1{animation:bn-p1 .95s cubic-bezier(.2,.7,.4,1) both}
.clock.paid .ck-burst .p2{animation:bn-p2 .9s cubic-bezier(.2,.7,.4,1) both}
.clock.paid .ck-burst .p3{animation:bn-p3 1s cubic-bezier(.2,.7,.4,1) both}
.clock.paid .ck-burst .p4{animation:bn-p4 .85s cubic-bezier(.2,.7,.4,1) both}
.clock.paid .ck-burst .p5{animation:bn-p5 1s cubic-bezier(.2,.7,.4,1) both}

/* ---------- home: stats ---------- */
.stats{margin-top:64px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ink)}
.stats>div{padding:24px 24px 0;display:flex;flex-direction:column;gap:6px;border-left:1px solid var(--line);min-width:0}
.stats>div:first-child{padding-left:0;border-left:0}.stats>div:last-child{padding-right:0}
.st-num{font:700 44px/1.1 var(--font-display);letter-spacing:-.035em;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.st-num small{font-size:20px;font-weight:600}
.st-label{font-size:14.5px;color:var(--muted)}

/* ---------- home: sections, coins table, payouts ---------- */
.b-section{padding-top:104px;display:flex;flex-direction:column;gap:16px;scroll-margin-top:72px}
.b-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px 16px;flex-wrap:wrap}
.b-section h2{margin:0;font:800 32px/1.1 var(--font-display);letter-spacing:-.035em}
.b-head a{font-size:15px;color:var(--ink);text-decoration:underline;text-decoration-color:#C8C8C0;text-underline-offset:3px}
.b-empty{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:24px 0;border-top:1px solid var(--ink);color:var(--body)}
.b-empty p,.b-empty-line{margin:0;font-size:16px}
.b-empty-line{padding:18px 0;border-top:1px solid var(--ink)}
table.coins{width:100%;border-collapse:collapse;font-size:16px;font-variant-numeric:tabular-nums;table-layout:fixed}
table.coins th{padding:10px 12px;font-size:13.5px;font-weight:500;color:var(--muted);text-align:right;border-bottom:1px solid var(--ink);font-family:var(--font-body);letter-spacing:0}
table.coins th.c-coin{text-align:left;padding-left:0;width:38%}table.coins th.c-round{text-align:left;padding-left:40px;padding-right:0}
table.coins td{padding:16px 12px;border-bottom:1px solid var(--line);text-align:right;transition:background-color .12s}
table.coins td.c-coin{text-align:left;padding-left:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
table.coins td.c-coin a{text-decoration:none;color:var(--ink)}
table.coins td.c-coin b{font-weight:600}
table.coins td.c-round{text-align:left;padding:16px 0 16px 40px}
table.coins td.c-round.pos{font-weight:600}
table.coins .c-mob{display:none}
table.coins tr.row{cursor:pointer}
table.coins tr.row:hover td{background:var(--row-hover)}
table.coins tr.fresh td{animation:bn-fresh 2.4s ease-out}
.pay-row{display:grid;grid-template-columns:110px minmax(0,1fr) 200px;gap:20px;align-items:baseline;padding:18px 0;border-top:1px solid var(--line);font-size:16px}
.pay-row.first{border-top-color:var(--ink)}
.pay-row:last-child{border-bottom:1px solid var(--line)}
.pay-row>b{font-weight:700;font-variant-numeric:tabular-nums}
.pay-row>span b{font-weight:600}
.pay-row>a{text-align:right;color:var(--ink);text-decoration:underline;text-decoration-color:#C8C8C0;text-underline-offset:3px}

/* ---------- loader (the owner's rebound-loader.html, ≈3.8 s): the mark draws itself, the head pops with
   confetti, the word hops in, everything launches up. boot.js fades it out and scales the stage to fit. ---------- */
.loader{position:fixed;inset:0;z-index:2147483646;overflow:hidden;background:#F7F7F4;color:#0D1310;cursor:pointer}
.loader.out{animation:bn-fade .4s ease-in forwards;pointer-events:none}
.rbl-stage{position:absolute;left:50%;top:50%;width:520px;height:500px;margin:-250px 0 0 -260px;transform-origin:50% 50%;font-family:var(--font-display),'Schibsted Grotesk',system-ui,sans-serif}
@keyframes rbl-swoosh{0%{stroke-dashoffset:1;animation-timing-function:cubic-bezier(.35,0,.75,.85)}48%{stroke-dashoffset:.3;animation-timing-function:linear}58%{stroke-dashoffset:.2;animation-timing-function:cubic-bezier(.35,.4,.9,.45)}100%{stroke-dashoffset:0}}
@keyframes rbl-headpop{0%{transform:scale(0)}50%{transform:scale(1.32)}74%{transform:scale(.9)}90%{transform:scale(1.04)}100%{transform:scale(1)}}
@keyframes rbl-speed{0%{opacity:0;transform:translateY(-40px)}30%{opacity:.35}100%{opacity:0;transform:translateY(170px)}}
@keyframes rbl-seam{to{opacity:1}}
@keyframes rbl-kick{0%{transform:none}28%{transform:translateY(-26px) scale(.95,1.07)}58%{transform:translateY(5px) scale(1.05,.95)}80%{transform:translateY(-3px) scale(.99,1.01)}100%{transform:none}}
@keyframes rbl-hopin{0%{transform:translateY(90px) scale(1,.4);opacity:0}38%{transform:translateY(-30px) scale(.9,1.14);opacity:1}62%{transform:translateY(0) scale(1.14,.84)}80%{transform:translateY(-7px) scale(.98,1.03)}100%{transform:translateY(0) scale(1)}}
@keyframes rbl-launch{0%{transform:translateY(0) scale(1)}28%{transform:translateY(16px) scale(1.06,.9)}100%{transform:translateY(-820px) scale(.9,1.1)}}
@keyframes rbl-p0{0%{transform:translate(0,0) scale(0);opacity:1}25%{transform:translate(-84px,-49px) scale(1)}100%{transform:translate(-120px,-10px) scale(.5);opacity:0}}
@keyframes rbl-p1{0%{transform:translate(0,0) scale(0) rotate(0);opacity:1}25%{transform:translate(-42px,-84px) scale(1) rotate(90deg)}100%{transform:translate(-60px,-60px) scale(.5) rotate(200deg);opacity:0}}
@keyframes rbl-p2{0%{transform:translate(0,0) scale(0);opacity:1}25%{transform:translate(7px,-98px) scale(1)}100%{transform:translate(10px,-80px) scale(.5);opacity:0}}
@keyframes rbl-p3{0%{transform:translate(0,0) scale(0) rotate(0);opacity:1}25%{transform:translate(56px,-77px) scale(1) rotate(-80deg)}100%{transform:translate(80px,-50px) scale(.5) rotate(-190deg);opacity:0}}
@keyframes rbl-p4{0%{transform:translate(0,0) scale(0);opacity:1}25%{transform:translate(98px,-35px) scale(1)}100%{transform:translate(140px,10px) scale(.5);opacity:0}}
@keyframes rbl-p5{0%{transform:translate(0,0) scale(0) rotate(0);opacity:1}25%{transform:translate(84px,14px) scale(1) rotate(60deg)}100%{transform:translate(120px,80px) scale(.5) rotate(160deg);opacity:0}}
@keyframes rbl-p6{0%{transform:translate(0,0) scale(0) rotate(0);opacity:1}25%{transform:translate(-105px,0) scale(1) rotate(-70deg)}100%{transform:translate(-150px,60px) scale(.5) rotate(-180deg);opacity:0}}
@keyframes rbl-p7{0%{transform:translate(0,0) scale(0);opacity:1}25%{transform:translate(28px,-56px) scale(1)}100%{transform:translate(40px,-20px) scale(.5);opacity:0}}
@keyframes rbl-p8{0%{transform:translate(0,0) scale(0) rotate(0);opacity:1}25%{transform:translate(-14px,-63px) scale(1) rotate(45deg)}100%{transform:translate(-20px,-30px) scale(.5) rotate(135deg);opacity:0}}
.boot-quick .rbl-stage{display:none}
.boot-quick .loader.out{animation-duration:.25s}

/* ---------- private preview (password) ---------- */
#rebound-entry{background:var(--bg)!important}
#rebound-entry::before,#rebound-entry::after{display:none!important}
#rebound-entry .entry-card{background:#FFFFFF;border:1px solid var(--line);border-radius:16px;backdrop-filter:none;box-shadow:none}
#rebound-entry .entry-brand{font-weight:800;letter-spacing:-.04em}
#rebound-entry h1{font-weight:800;letter-spacing:-.04em}
#rebound-entry input{border-radius:12px;background:#FFFFFF;border:1px solid var(--line-strong);font-family:var(--font-body)}
#rebound-entry input:focus{border-color:var(--ink);box-shadow:none}
#rebound-entry button{border-radius:12px;background:var(--ink);color:var(--on-ink);font-weight:500}
#rebound-entry button:hover{transform:none;box-shadow:none;background:var(--ink-hover)}

/* ---------- older pages inside the light shell ---------- */
.page-head{margin-top:40px}.page-head h1{font-weight:800;letter-spacing:-.045em}
.card,.live-card,.chart-card{border-radius:14px;background:#FFFFFF;border:1px solid var(--line);box-shadow:none}
.tag{background:var(--mint-soft);color:var(--mint);border-color:var(--mint-line)}
.token-table th{font-family:var(--font-body);letter-spacing:0;text-transform:none;font-size:13px;color:var(--muted)}
.token-table td,.token-table th{border-color:var(--line)}
#toasts .toast{background:var(--ink);color:var(--on-ink);border-radius:12px;font-weight:500}
dialog{background:#FFFFFF;color:var(--ink);border:1px solid var(--line);border-radius:16px;box-shadow:0 30px 60px -30px rgba(13,19,16,.35)}
dialog::backdrop{background:rgba(13,19,16,.25);backdrop-filter:none;-webkit-backdrop-filter:none}
.wallet-pick{background:var(--chip);border-color:transparent;color:var(--ink)}
.live-menu a{color:var(--ink)}
.launch-how{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:16px 0 24px;border-top:1px solid var(--ink)}
.launch-how>div{display:flex;flex-direction:column;gap:6px;padding-top:16px}
.launch-how b{font-weight:600;font-size:16px}.launch-how span{font-size:14.5px;line-height:1.5;color:var(--body)}
.launch-connect{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 20px}
#launch-form input,#launch-form textarea,#launch-form select{background:#FFFFFF;border:1px solid var(--line-strong);border-radius:10px;color:var(--ink)}
#launch-form input:focus,#launch-form textarea:focus,#launch-form select:focus{outline:none;border-color:var(--ink)}

/* ---------- keyframes ---------- */
@keyframes bn-up{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes bn-shake{0%,100%{transform:none}25%{transform:translateX(-5px)}50%{transform:translateX(5px)}75%{transform:translateX(-3px)}}
@keyframes bn-spin{to{transform:rotate(360deg)}}
@keyframes ld-spin{to{transform:rotate(360deg)}}
@keyframes rb-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes rb-shake{0%,100%{transform:none}20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(3px)}}
@keyframes rb-fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes bn-pulse{0%{box-shadow:0 0 0 0 rgba(15,157,99,.45)}100%{box-shadow:0 0 0 12px rgba(15,157,99,0)}}
@keyframes bn-pulse-teal{0%{box-shadow:0 0 0 0 rgba(47,127,140,.45)}100%{box-shadow:0 0 0 12px rgba(47,127,140,0)}}
@keyframes bn-headpop{0%{transform:scale(.4)}55%{transform:scale(1.3)}78%{transform:scale(.93)}100%{transform:scale(1)}}
@keyframes bn-pill{0%{opacity:0;transform:translateX(-30%) translateY(14px) scale(.8)}60%{opacity:1;transform:translateX(-30%) translateY(-3px) scale(1.04)}100%{opacity:1;transform:translateX(-30%)}}
@keyframes bn-fresh{0%{background:#E7F3EC}100%{background:transparent}}
@keyframes bn-fade{to{opacity:0}}
@keyframes bn-p0{0%{transform:translate(0,0) scale(0);opacity:1}25%{transform:translate(-84px,-49px) scale(1)}100%{transform:translate(-120px,-10px) scale(.5);opacity:0}}
@keyframes bn-p1{0%{transform:translate(0,0) scale(0) rotate(0);opacity:1}25%{transform:translate(-42px,-70px) scale(1) rotate(90deg)}100%{transform:translate(-60px,-40px) scale(.5) rotate(200deg);opacity:0}}
@keyframes bn-p2{0%{transform:translate(0,0) scale(0);opacity:1}25%{transform:translate(7px,-78px) scale(1)}100%{transform:translate(10px,-50px) scale(.5);opacity:0}}
@keyframes bn-p3{0%{transform:translate(0,0) scale(0) rotate(0);opacity:1}25%{transform:translate(56px,-64px) scale(1) rotate(-80deg)}100%{transform:translate(80px,-30px) scale(.5) rotate(-190deg);opacity:0}}
@keyframes bn-p4{0%{transform:translate(0,0) scale(0);opacity:1}25%{transform:translate(90px,-20px) scale(1)}100%{transform:translate(126px,30px) scale(.5);opacity:0}}
@keyframes bn-p5{0%{transform:translate(0,0) scale(0) rotate(0);opacity:1}25%{transform:translate(-100px,4px) scale(1) rotate(-70deg)}100%{transform:translate(-140px,60px) scale(.5) rotate(-180deg);opacity:0}}
@keyframes bn-fall{0%{transform:translateY(-560px) scale(1);animation-timing-function:cubic-bezier(.55,0,1,.45)}30%{transform:translateY(0) scale(1.4,.6);animation-timing-function:cubic-bezier(0,.55,.45,1)}43%{transform:translateY(-130px) scale(.88,1.14);animation-timing-function:cubic-bezier(.55,0,1,.45)}55%{transform:translateY(0) scale(1.28,.72);animation-timing-function:cubic-bezier(0,.55,.45,1)}64%{transform:translateY(-52px) scale(.94,1.06);animation-timing-function:cubic-bezier(.55,0,1,.45)}73%{transform:translateY(0) scale(1.16,.84);animation-timing-function:cubic-bezier(0,.55,.45,1)}79%{transform:translateY(-16px) scale(1)}85%,99%{transform:translateY(0) scale(1);opacity:1}100%{opacity:0}}
@keyframes bn-shadow{0%{transform:scale(.2);opacity:0}30%{transform:scale(1.3);opacity:.3}43%{transform:scale(.6);opacity:.12}55%{transform:scale(1.2);opacity:.28}64%{transform:scale(.85);opacity:.18}73%,99%{transform:scale(1);opacity:.25}100%{opacity:0}}
@keyframes bn-ride{0%{offset-distance:0%;opacity:1}100%{offset-distance:100%;opacity:1}}
@keyframes bn-gone{to{transform:scale(0);opacity:0}}
@keyframes bn-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes bn-squash{0%,100%{transform:scale(1)}22%{transform:scale(1.08,.88)}48%{transform:scale(.95,1.07)}72%{transform:scale(1.02,.98)}}
@keyframes bn-hopin{0%{transform:translateY(90px) scale(1,.4);opacity:0}38%{transform:translateY(-30px) scale(.9,1.14);opacity:1}62%{transform:translateY(0) scale(1.14,.84)}80%{transform:translateY(-7px) scale(.98,1.03)}100%{transform:translateY(0) scale(1)}}
@keyframes bn-launch{0%{transform:translateY(0) scale(1)}28%{transform:translateY(16px) scale(1.06,.9)}100%{transform:translateY(-820px) scale(.9,1.1)}}
@keyframes bn-l1{0%{transform:translate(0,0) scale(0) rotate(0);opacity:1}25%{transform:translate(-42px,-84px) scale(1) rotate(90deg)}100%{transform:translate(-60px,-60px) scale(.5) rotate(200deg);opacity:0}}
@keyframes bn-l2{0%{transform:translate(0,0) scale(0);opacity:1}25%{transform:translate(7px,-98px) scale(1)}100%{transform:translate(10px,-80px) scale(.5);opacity:0}}
@keyframes bn-l3{0%{transform:translate(0,0) scale(0) rotate(0);opacity:1}25%{transform:translate(56px,-77px) scale(1) rotate(-80deg)}100%{transform:translate(80px,-50px) scale(.5) rotate(-190deg);opacity:0}}
@keyframes bn-l4{0%{transform:translate(0,0) scale(0);opacity:1}25%{transform:translate(98px,-35px) scale(1)}100%{transform:translate(140px,10px) scale(.5);opacity:0}}
@keyframes bn-l5{0%{transform:translate(0,0) scale(0) rotate(0);opacity:1}25%{transform:translate(84px,14px) scale(1) rotate(60deg)}100%{transform:translate(120px,80px) scale(.5) rotate(160deg);opacity:0}}
@keyframes bn-l6{0%{transform:translate(0,0) scale(0) rotate(0);opacity:1}25%{transform:translate(-105px,0) scale(1) rotate(-70deg)}100%{transform:translate(-150px,60px) scale(.5) rotate(-180deg);opacity:0}}
@keyframes bn-l7{0%{transform:translate(0,0) scale(0);opacity:1}25%{transform:translate(28px,-56px) scale(1)}100%{transform:translate(40px,-20px) scale(.5);opacity:0}}
@keyframes bn-l8{0%{transform:translate(0,0) scale(0) rotate(0);opacity:1}25%{transform:translate(-14px,-63px) scale(1) rotate(45deg)}100%{transform:translate(-20px,-30px) scale(.5) rotate(135deg);opacity:0}}

/* ---------- responsive ---------- */
@media (max-width:1280px){
 .topbar-inner{padding:0 40px}#main{padding:0 40px 40px}.site-footer{padding:24px 40px 40px}.site-footer:after{left:40px;right:40px}
 .b-hero{grid-template-columns:minmax(0,1fr) 460px;gap:32px}
 .b-hero h1{font-size:64px}
 .clock-wrap{width:460px;height:444px}.clock{transform:scale(.8215)}
 .st-num{font-size:36px}
}
@media (max-width:1050px){
 .topnav{display:none}.menu-button{display:inline-flex}
 .b-hero{grid-template-columns:1fr}
 .clock-wrap{justify-self:center}
 .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .stats>div:nth-child(3){padding-left:0;border-left:0}
 .stats>div:nth-child(-n+2){padding-bottom:20px;border-bottom:1px solid var(--line)}
 .launch-how{grid-template-columns:1fr}
}
@media (max-width:760px){
 .topbar-inner{height:60px;padding:0 16px;gap:10px}.topbar-brand{font-size:20px}.topbar-brand .brand-mark{width:26px;height:26px;border-radius:7px}
 .topbar .ca{display:none}
 .x-link{width:44px;height:44px;padding:0;justify-content:center}.x-link span{display:none}
 .wallet-button{height:44px;padding:0 14px;font-size:14px}
 #main{padding:0 16px 32px}
 .site-footer{margin-top:28px;padding:20px 16px 32px;flex-direction:column;font-size:13px}.site-footer:after{left:16px;right:16px}
 .b-hero{padding-top:24px;gap:12px}
 .hero-copy{gap:12px}
 .b-hero h1{font-size:44px}
 .b-hero p{font-size:16px}
 .hero-check{order:3;margin-top:28px}
 .hc-row{flex-direction:column}.hc-row .field{flex:none;width:100%}.hc-row .ink{width:100%}
 .hc-line{font-size:16px}
 .clock-wrap{width:358px;height:346px;justify-self:start}.clock{transform:scale(.639)}
 .ck-label{font-size:18px}.ck-proc{font-size:17px}.ck-start,.ck-tip{font-size:18px}.ck-snaplabel{font-size:17px}
 .ck-preview{font-size:21px;top:476px}
 .ck-pill{font-size:19px}
 .stats{margin-top:24px}
 .stats>div{padding:16px 0 16px 12px}.stats>div:nth-child(odd){padding-left:0;padding-right:12px;border-left:0}.stats>div:nth-child(even){border-left:1px solid var(--line)}
 .stats>div:nth-child(3),.stats>div:nth-child(4){padding-bottom:0}
 .st-num{font-size:28px;letter-spacing:-.03em}.st-num small{font-size:15px}.st-label{font-size:13px}
 .b-section{padding-top:40px;gap:10px}.b-section h2{font-size:26px}
 table.coins thead{display:none}
 table.coins td.c-under,table.coins td.c-paid{display:none}
 table.coins td{padding:14px 0;font-size:15.5px}
 table.coins td.c-coin{width:62%}table.coins td.c-round{padding:14px 0 14px 12px;text-align:right}
 table.coins td.c-coin span.muted:not(.c-mob){display:none}
 table.coins .c-mob{display:inline;margin-left:6px}
 table.coins tr:first-child td{border-top:1px solid var(--ink)}
 .pay-row{grid-template-columns:auto minmax(0,1fr);gap:4px 12px;font-size:15.5px;padding:14px 0}
 .pay-row>a{grid-column:2;text-align:left;font-size:14px}
}

/* ---------- reduced motion: keep every figure, drop the movement ---------- */
@media (prefers-reduced-motion:reduce){
 .home *,.loader *,.topbar *,.hc-row{animation:none!important;transition:none!important}
 .rbl-stage{display:none}
 .clock.paid .ck-pill{opacity:1;transform:translateX(-30%)}
 .clock.paid .ck-headg{opacity:1}
 .ck-proc::before{border-top-color:#CFE0E3}
}

/* ---------- launch: pair picker ---------- */
fieldset.pair{margin:8px 0 16px;padding:0;border:0;display:flex;flex-direction:column;gap:14px;min-width:0}
fieldset.pair legend{font-weight:500;font-size:14px;margin-bottom:8px;padding:0}
.pair-logo{width:28px;height:28px;border-radius:50%;flex-shrink:0;object-fit:cover;background:var(--chip)}
.pair-logo.ph{display:inline-grid;place-items:center;font-size:11px;font-weight:700;color:var(--muted)}
.pair-sol{display:flex;align-items:center;gap:12px;align-self:flex-start;height:56px;padding:0 20px 0 12px;border:1.5px solid var(--line-strong);border-radius:14px;background:#FFFFFF;color:var(--ink);font:inherit;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .12s}
.pair-sol .pair-logo{width:32px;height:32px}
.pair-sol b{font-size:17px;font-weight:700}.pair-sol span{font-size:14px;color:var(--muted)}
.pair-sol:hover,.pair-opt:hover{border-color:var(--ink)}
.pair-sol:active,.pair-opt:active{transform:scale(.98)}
.pair-sol.on,.pair-opt.on{border-color:var(--mint-light);box-shadow:0 0 0 3px #E7F3EC}
.pair-toggle{display:flex;align-items:center;gap:10px;align-self:flex-start;height:44px;padding:0 14px;border:1px solid var(--line-strong);border-radius:12px;background:#FFFFFF;color:var(--ink);font:500 14.5px var(--font-body);cursor:pointer;transition:border-color .15s,background-color .15s}
.pair-toggle:hover{border-color:var(--ink)}
.pair-toggle b{min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:var(--chip);font-size:12px;font-weight:600;display:inline-grid;place-items:center}.pair-toggle b:empty{display:none}
.pair-toggle svg{width:16px;height:16px;transition:transform .2s}.pair-toggle.open svg{transform:rotate(180deg)}
.pair-toggle.on{border-color:var(--mint-light);box-shadow:0 0 0 3px #E7F3EC}
.pair-more{display:flex;flex-direction:column;gap:12px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#FBFBF9;animation:bn-up .2s ease-out}
.pair-more[hidden]{display:none}
.pair-head{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px;color:var(--muted)}
.pair-head input{height:36px;width:220px;max-width:50%;padding:0 12px;border:1px solid var(--line-strong);border-radius:10px;background:#FFFFFF;font:inherit;font-size:14px}
.pair-group h4{margin:6px 0 8px;font-size:13px;font-weight:600;color:var(--ink);letter-spacing:0}.pair-group h4 span{color:var(--muted);font-weight:400}
.pair-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}
.pair-opt{display:grid;grid-template-columns:28px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;align-items:center;text-align:left;padding:8px 10px;border:1.5px solid var(--line);border-radius:12px;background:#FFFFFF;color:var(--ink);font:inherit;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .12s}
.pair-opt .pair-logo{grid-row:1/3}
.pair-opt b{font-size:14.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pair-opt span:not(.pair-logo){font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pair-note{margin:0;padding:12px 14px;border-radius:12px;background:#E7F3EC;color:var(--body);font-size:14px;line-height:1.5}
@media (max-width:760px){.pair-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pair-head{flex-direction:column;align-items:flex-start}.pair-head input{max-width:none;width:100%}}

/* ---------- admin: token check ---------- */
.adm-inline{display:flex;gap:8px;align-items:center}.adm-inline input{flex:1;min-width:0}
.adm-check-card{margin:4px 0 12px;padding:14px 16px;border-radius:12px;border:1px solid var(--line);background:#FFFFFF;display:flex;flex-direction:column;gap:6px;font-size:14px}
.adm-check-card.ok{border-color:var(--mint-line);background:#F3FAF6}.adm-check-card.bad{border-color:var(--amber-line);background:var(--amber-deep)}
.adm-check-card>b{font-size:15px}.adm-check-card dl{display:grid;grid-template-columns:120px minmax(0,1fr);gap:4px 12px;margin:6px 0 0}.adm-check-card dt{color:var(--muted)}.adm-check-card dd{margin:0;overflow-wrap:anywhere}
.adm-check-card ul{margin:4px 0 0;padding-left:18px;color:var(--amber)}.adm-check-card small{color:var(--muted)}
.adm-checks{margin:0 0 14px}.adm-checks summary{cursor:pointer;font-size:14px;color:var(--muted)}
.adm-check-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:13px}
.adm-check-list li{display:grid;grid-template-columns:160px minmax(0,1fr);gap:10px;padding:6px 0;border-top:1px solid var(--line)}.adm-check-list li.bad span{color:var(--amber)}.adm-check-list time{color:var(--muted)}

#main[data-pending]{visibility:hidden}
