@font-face{font-family:"Geist";font-style:normal;font-weight:400;font-display:swap;src:url(/font-geist-400.woff2) format("woff2")}
@font-face{font-family:"Geist";font-style:normal;font-weight:500 600;font-display:swap;src:url(/font-geist-500.woff2) format("woff2")}
@font-face{font-family:"Geist Mono";font-style:normal;font-weight:400;font-display:swap;src:url(/font-geist-mono-400.woff2) format("woff2")}
@font-face{font-family:"Geist Mono";font-style:normal;font-weight:500;font-display:swap;src:url(/font-geist-mono-500.woff2) format("woff2")}
:root{
  --bg:#FFFFFF; --ink:#000000; --muted:#6B6B6B; --faint:#A3A3A3;
  --line:rgba(0,0,0,.11); --soft:#F5F5F5; --focus:#000000; --ok:#0A7A3E; --bad:#B42318;
  --kitten:#141414; --kitten-eye:#FFFFFF; --mint:#8FCB9C; --mint-ink:#3F8A55;
  --sans:"Geist","Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;
  --mono:"Geist Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#000000; --ink:#FFFFFF; --muted:#8F8F8F; --faint:#555555;
    --line:rgba(255,255,255,.13); --soft:#0E0E0E; --focus:#FFFFFF; --ok:#4ADE80; --bad:#FF8A80; color-scheme:dark;
    --kitten:#EDEDED; --kitten-eye:#141414; --mint-ink:#7BD394;
  }
}
:root[data-theme="dark"]{
  --bg:#000000; --ink:#FFFFFF; --muted:#8F8F8F; --faint:#555555;
  --line:rgba(255,255,255,.13); --soft:#0E0E0E; --focus:#FFFFFF; --ok:#4ADE80; --bad:#FF8A80; color-scheme:dark;
    --kitten:#EDEDED; --kitten-eye:#141414; --mint-ink:#7BD394;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-padding-top:84px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1rem/1.6 var(--sans);-webkit-font-smoothing:antialiased;font-feature-settings:"tnum" 1;padding-bottom:env(safe-area-inset-bottom,0px)}
a{color:inherit}
:focus-visible{outline:1.5px solid var(--focus);outline-offset:3px}
.wrap{max-width:1080px;margin:0 auto;padding:0 clamp(16px,4vw,40px)}
.wrap.narrow{max-width:720px}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.noscript{margin:0;padding:12px 16px;text-align:center;font-size:.9rem;border-bottom:1px solid var(--line)}

/* header */
.topbar{position:sticky;top:0;z-index:15;background:var(--bg);padding-top:env(safe-area-inset-top,0px);transition:box-shadow .2s}
@supports (backdrop-filter:blur(1px)){.topbar{background:color-mix(in srgb,var(--bg) 84%,transparent);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px)}}
.topbar.scrolled{box-shadow:0 1px 0 var(--line)}
header.site{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:1.08rem}
.brand svg{width:22px;height:22px}
.wm{font-weight:600;letter-spacing:-.035em}
.wm span{color:var(--muted);font-weight:500}
nav.links{display:flex;gap:28px;font-size:.9rem}
nav.links a{text-decoration:none;color:var(--muted);transition:color .15s}
nav.links a:hover{color:var(--ink)}
@media (max-width:720px){nav.links{display:none}}
.actions{display:flex;align-items:center;gap:8px}
.icon-btn{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);cursor:pointer;transition:border-color .15s;text-decoration:none}
.icon-btn:hover{border-color:var(--ink)}
.icon-btn svg{width:15px;height:15px}
.icon-btn .sun{display:none}
:root[data-theme="dark"] .icon-btn .sun{display:block}
:root[data-theme="dark"] .icon-btn .moon{display:none}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .icon-btn .sun{display:block}:root:not([data-theme="light"]) .icon-btn .moon{display:none}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:500 .98rem var(--sans);letter-spacing:-.01em;color:var(--bg);background:var(--ink);border:1px solid var(--ink);border-radius:999px;padding:13px 24px;cursor:pointer;text-decoration:none;transition:opacity .15s}
.btn:hover{opacity:.86}
.btn[disabled]{opacity:.45;cursor:progress}
.btn-line{display:inline-flex;align-items:center;justify-content:center;font:500 .98rem var(--sans);color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:999px;padding:13px 22px;cursor:pointer;text-decoration:none;transition:border-color .15s}
.btn-line:hover{border-color:var(--ink)}

/* hero */
.hero{text-align:center;padding-top:clamp(40px,7vw,88px);padding-bottom:clamp(56px,8vw,100px)}
.kicker{display:inline-block;font:400 .78rem var(--mono);color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:5px 12px;margin:0 0 26px}
.hero h1{font-weight:500;font-size:clamp(2.5rem,7vw,5.2rem);line-height:.98;letter-spacing:-.055em;margin:0 auto 20px;max-width:12ch}
.lede{font-size:clamp(1rem,1.5vw,1.1rem);color:var(--muted);max-width:48ch;margin:0 auto}
.well-frame{width:100%;max-width:640px;margin:clamp(24px,4vw,44px) auto 0}
#well{display:block;width:100%;aspect-ratio:100/64;cursor:pointer}
.wish{max-width:560px;margin:clamp(20px,3vw,32px) auto 0;text-align:left}
.wish-row{position:relative}
.wish-input{width:100%;font:400 1.15rem var(--sans);letter-spacing:-.01em;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--line);padding:14px 60px 14px 0;border-radius:0}
.wish-input::placeholder{color:var(--faint)}
.wish-input:focus{outline:none;border-bottom-color:var(--ink)}
.count{position:absolute;right:0;top:50%;transform:translateY(-50%);font:400 .75rem var(--mono);color:var(--faint)}
.presets{display:flex;gap:6px;margin:14px 0 22px;flex-wrap:wrap}
@media (max-width:640px){.presets{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-right:calc(-1 * clamp(16px,4vw,40px))}.presets::-webkit-scrollbar{display:none}}
.chip{flex:none;font:400 .84rem var(--sans);color:var(--muted);background:transparent;border:1px solid var(--line);border-radius:999px;padding:6px 12px;cursor:pointer;transition:color .15s,border-color .15s}
.chip:hover{color:var(--ink);border-color:var(--ink)}
.chip[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.wish .btn{width:100%;padding:15px 24px}

/* sections */
section.block{padding:clamp(60px,9vw,112px) 0;border-top:1px solid var(--line)}
.head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:end;margin-bottom:36px}
.head.single{grid-template-columns:1fr}
@media (max-width:720px){.head{grid-template-columns:1fr}}
section.block h2{font-weight:500;font-size:clamp(1.9rem,4vw,2.8rem);line-height:1;letter-spacing:-.045em;margin:0}
.sub{color:var(--muted);max-width:52ch;margin:0}

/* send + note card */
.well-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);border:1px solid var(--line);border-radius:24px;padding:clamp(20px,3.5vw,40px);background:var(--bg)}
@media (max-width:860px){.well-card{grid-template-columns:1fr}}
.step-col{min-width:0}
.step-col + .step-col{border-left:1px solid var(--line);padding-left:clamp(24px,4vw,56px)}
@media (max-width:860px){.step-col + .step-col{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:28px}}
.step-label{display:flex;align-items:center;gap:10px;font-weight:500;font-size:1.1rem;letter-spacing:-.02em;margin:0 0 16px}
.step-label > span:first-child{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--ink);color:var(--bg);font:500 .8rem var(--mono)}
.sub.small{font-size:.88rem;margin:-6px 0 18px}
.coins{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}
@media (max-width:520px){.coins{display:grid;grid-template-columns:repeat(3,1fr)}.coin-tab{justify-content:center}}
.coin-tab{display:inline-flex;align-items:center;gap:8px;font:500 .85rem var(--mono);color:var(--muted);background:transparent;border:1px solid var(--line);border-radius:999px;padding:8px 14px;cursor:pointer;transition:color .15s,border-color .15s}
.coin-tab:hover{color:var(--ink);border-color:var(--ink)}
.coin-tab[aria-selected="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.pay-coin{margin:0 0 10px;font-weight:500;font-size:1.05rem;letter-spacing:-.02em}
.net{font:400 .75rem var(--mono);color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:3px 9px;margin-left:6px;vertical-align:2px;white-space:nowrap}
.addr{display:block;font:500 clamp(.9rem,1.5vw,1rem)/1.55 var(--mono);word-break:break-all;background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin:0 0 14px;user-select:all}
.pay-actions{display:flex;gap:8px;flex-wrap:wrap}
.warn{font-size:.85rem;color:var(--muted);margin:14px 0 0}
.peek{position:absolute;width:118px;height:92px;right:44px;top:-81px;pointer-events:none;z-index:2}
#send .head{margin-bottom:84px}
@media (max-width:860px){.peek{right:28px}#send .head{margin-bottom:84px}}
@media (max-width:520px){.peek{width:92px;height:72px;top:-63px;right:20px}#send .head{margin-bottom:68px}}

/* note form */
.note{display:grid;gap:18px}
.field{display:grid;gap:6px}
.field label{font-weight:500;font-size:.92rem}
.opt{font:400 .74rem var(--mono);color:var(--faint);margin-left:4px}
.field input,.field select,.field textarea{width:100%;font:400 1rem var(--sans);color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.field textarea{resize:vertical;min-height:84px}
.field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px;background-repeat:no-repeat}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--ink)}
.field input[aria-invalid="true"]{border-color:var(--bad)}
.hint{font-size:.8rem;color:var(--muted);margin:0}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:520px){.grid2{grid-template-columns:1fr}}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.check{display:flex;gap:12px;align-items:flex-start;font-size:.9rem;color:var(--muted);cursor:pointer}
.check input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--ink);flex:none}
.note .btn{justify-self:start}
@media (max-width:520px){.note .btn{justify-self:stretch}}
.form-msg{margin:0;min-height:1.4em;font-size:.92rem}
.form-msg.ok{color:var(--ok)}
.form-msg.bad{color:var(--bad)}

/* steps */
.steps{list-style:none;counter-reset:s;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line)}
@media (max-width:720px){.steps{grid-template-columns:1fr}}
.steps li{counter-increment:s;padding:22px 24px 6px 0}
.steps li::before{content:counter(s,decimal-leading-zero);display:block;font:400 .8rem var(--mono);color:var(--faint);margin-bottom:22px}
.steps h3{font-weight:500;font-size:1.05rem;letter-spacing:-.02em;margin:0 0 6px}
.steps p{margin:0;color:var(--muted);font-size:.93rem}

/* faq */
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-child{border-top:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;font-weight:500;font-size:1.04rem;letter-spacing:-.015em;padding:19px 36px 19px 0;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:6px;top:50%;width:11px;height:11px;margin-top:-5px;background:linear-gradient(var(--ink),var(--ink)) center/100% 1px no-repeat,linear-gradient(var(--ink),var(--ink)) center/1px 100% no-repeat;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq p{margin:0 0 20px;color:var(--muted);max-width:62ch}

/* footer */
footer{border-top:1px solid var(--line);padding:36px 0 40px;color:var(--muted);font-size:.85rem}
.foot{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.foot .brand{color:var(--ink)}
.x-link{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font:500 .9rem var(--mono);color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:8px 14px}
.x-link:hover{border-color:var(--ink)}
.x-link svg{width:13px;height:13px}
.legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:28px;padding-top:18px;border-top:1px solid var(--line);font-size:.78rem;color:var(--faint)}

/* toast */
.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translate(-50%,16px);opacity:0;background:var(--ink);color:var(--bg);padding:11px 18px;border-radius:999px;font-size:.88rem;max-width:min(92vw,480px);transition:.3s ease;pointer-events:none;z-index:20;text-align:center;border-radius:14px}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* vault */
.vault{padding:clamp(32px,6vw,64px) 0 80px}
.vault h1{font-weight:500;font-size:clamp(2rem,5vw,3rem);letter-spacing:-.045em;line-height:1;margin:0 0 12px}
.vault .card{border:1px solid var(--line);border-radius:18px;padding:clamp(18px,3vw,28px);margin-top:20px}
.vault .card h2{font-weight:500;font-size:1.2rem;letter-spacing:-.02em;margin:0 0 6px}
.vault .row{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;align-items:center}
.vault textarea{width:100%;font:400 .78rem var(--mono);color:var(--ink);background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:12px;min-height:110px;margin-top:12px}
.vault .file{font:400 .9rem var(--sans)}
.vault-notes{display:grid;gap:12px;margin-top:20px}
.vnote{border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.vnote dl{display:grid;grid-template-columns:130px minmax(0,1fr);gap:6px 14px;margin:0;font-size:.92rem}
.vnote dt{color:var(--muted)}
.vnote dd{margin:0;overflow-wrap:anywhere}
.vnote .meta{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;font:400 .78rem var(--mono);color:var(--muted)}
.vnote .del{font:500 .8rem var(--sans);color:var(--bad);background:none;border:1px solid var(--line);border-radius:999px;padding:5px 12px;cursor:pointer}
@media (max-width:520px){.vnote dl{grid-template-columns:1fr}.vnote dt{margin-top:6px}}

/* doodles */
.sprite{position:absolute;width:0;height:0;overflow:hidden}
html,body{overflow-x:clip}
.hero{position:relative}
.deco{position:absolute;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);pointer-events:none;z-index:0}
.hero > *:not(.deco){position:relative;z-index:1}
.d{position:absolute;overflow:visible}
.d-bill1{width:132px;height:76px;left:3.5%;top:18%;transform:rotate(-14deg)}
.d-coin1{width:46px;height:46px;left:10%;top:44%}
.d-spark1{width:30px;height:30px;left:7%;top:8%}
.d-bill2{width:112px;height:64px;right:4%;top:30%;transform:rotate(12deg)}
.d-heart1{width:34px;height:31px;right:10%;top:12%;transform:rotate(10deg)}
.d-coin2{width:38px;height:38px;right:7%;top:58%}
.d-spark2{width:24px;height:24px;right:16%;top:50%}
@media (max-width:860px){
  .d-bill1{width:62px;height:36px;left:14px;top:41%}
  .d-bill2{width:58px;height:34px;right:14px;top:43.5%}
  .d-coin1{width:28px;height:28px;left:16px;top:47%}
  .d-coin2{width:26px;height:26px;right:18px;top:63%}
  .d-spark1{left:20px}
  .d-spark2{right:22%}
  .d-heart1{width:24px;height:22px;right:6%;top:4%}
  .d-spark1,.d-spark2{width:20px;height:20px}
}
@media (prefers-reduced-motion: no-preference){
  .d{animation:bob 6s ease-in-out infinite}
  .d-coin1,.d-heart1{animation-duration:7.5s;animation-delay:-2s}
  .d-bill2,.d-spark2{animation-duration:8s;animation-delay:-4s}
  .d-spark1,.d-spark2{animation-name:twinkle}
}
@keyframes bob{0%,100%{translate:0 0}50%{translate:0 -8px}}
@keyframes twinkle{0%,100%{scale:1;opacity:1}50%{scale:.7;opacity:.6}}
footer{position:relative}
.foot{position:relative}
.foot-kitten{position:absolute;width:86px;height:67px;left:clamp(16px,4vw,40px);top:-66px;pointer-events:none}

/* money shower */
.fx{position:fixed;inset:0;pointer-events:none;z-index:30;overflow:hidden}
.fx svg{position:absolute;left:0;top:0;overflow:visible;will-change:transform,opacity}

/* centred layout */
.head,.head.single{grid-template-columns:1fr;justify-items:center;text-align:center;gap:14px}
.head .sub{margin:0 auto}
.wish{text-align:center}
.wish-input{text-align:center;padding-left:60px}
.presets{justify-content:center}
@media (max-width:640px){.presets{flex-wrap:wrap;overflow:visible;margin-right:0}}
.steps li{text-align:center;padding:22px 16px 6px}
.peek{left:calc(50% - 59px);right:auto}
@media (max-width:860px){.peek{left:calc(50% - 59px);right:auto}}
@media (max-width:520px){.peek{left:calc(50% - 46px);right:auto}}
.foot{flex-direction:column;justify-content:center;text-align:center}
.foot-kitten{left:calc(50% - 43px)}
.legal{flex-direction:column;align-items:center;justify-content:center;text-align:center}

/* send-first layout */
.hero{padding-top:clamp(28px,5vw,56px);padding-bottom:clamp(56px,8vw,96px)}
.hero .kicker{margin-bottom:18px}
.hero h1{font-size:clamp(2.1rem,5vw,3.6rem);max-width:none;margin:0 auto 12px}
.hero .well-card{margin-top:96px;text-align:left}
@media (max-width:520px){.hero .well-card{margin-top:78px}}
.well-sec{position:relative;text-align:center}
.well-sec > .wrap{position:relative;z-index:1}
.well-sec .sub{margin:12px auto 0}
.well-sec .well-frame{max-width:560px}
.more{margin:2px 0 16px}
.more summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:8px;font-size:.88rem;color:var(--muted);padding:4px 0}
.more summary::-webkit-details-marker{display:none}
.more summary::before{content:"+";font:400 1rem var(--mono);line-height:1;color:var(--faint);transition:transform .2s}
.more[open] summary::before{transform:rotate(45deg)}
.more summary:hover{color:var(--ink)}
.more[open] summary{margin-bottom:12px}
@media (max-width:860px){
  .well-sec .d-bill1{left:10px;top:5%}
  .well-sec .d-bill2{right:10px;top:9%}
  .well-sec .d-heart1{right:22%;top:3%}
  .well-sec .d-spark1{left:26%;top:4%}
  .well-sec .d-coin1{left:16px;top:53%}
  .well-sec .d-coin2{right:18px;top:51%}
}
.facts{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;margin:18px auto 0;padding:0;font:400 .8rem var(--mono);color:var(--muted)}
.facts li{display:inline-flex;align-items:center;gap:7px}
.facts li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--mint)}
.facts a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}

/* professional eyebrow + footer cat */
.eyebrow{font:500 .74rem var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 16px}
.foot-kitten{position:static;display:block;margin:-103px auto 18px;left:auto;top:auto}

/* live board */
.live{text-align:center}
.live-tag{display:inline-flex;align-items:center;gap:8px;font:500 .74rem var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--mint-ink);margin:0 0 14px}
.pulse{position:relative;width:8px;height:8px;border-radius:50%;background:var(--mint-ink)}
@media (prefers-reduced-motion:no-preference){.pulse::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--mint-ink);animation:ping 1.8s ease-out infinite}}
@keyframes ping{from{transform:scale(1);opacity:.6}to{transform:scale(3);opacity:0}}
.live .sub{margin:12px auto 0}
.live-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:20px;margin:40px auto 0;max-width:880px}
.stat{padding:22px 12px;display:flex;flex-direction:column;gap:6px;align-items:center}
.stat + .stat{border-left:1px solid var(--line)}
.stat .num{font-weight:500;font-size:clamp(1.6rem,3.4vw,2.3rem);letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.stat .lbl{font:400 .74rem var(--mono);color:var(--muted)}
@media (max-width:640px){.live-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat:nth-child(3){border-left:0}.stat:nth-child(n+3){border-top:1px solid var(--line)}}
.num.bump{animation:bump .6s ease-out}
@keyframes bump{0%{color:var(--mint-ink);transform:translateY(-3px)}100%{transform:none}}
.live-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:880px;margin:16px auto 0;text-align:left}
@media (max-width:720px){.live-grid{grid-template-columns:1fr}}
.live-card{border:1px solid var(--line);border-radius:20px;padding:22px 22px 14px}
.live-card h3{font:500 .74rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.feed,.tops{list-style:none;margin:0;padding:0}
.feed li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line);font-size:.95rem}
.feed li:first-child{border-top:0}
.feed time{font:400 .76rem var(--mono);color:var(--faint);white-space:nowrap}
.cc{display:inline-grid;place-items:center;min-width:30px;height:22px;padding:0 6px;border:1px solid var(--line);border-radius:6px;font:500 .7rem var(--mono);color:var(--muted)}
.cn{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.feed li.empty,.tops li.empty{display:block;color:var(--faint);font-size:.9rem;padding:10px 0;border:0}
@media (prefers-reduced-motion:no-preference){.feed li.new{animation:arrive .7s ease-out}}
@keyframes arrive{from{opacity:0;transform:translateY(-6px);background:color-mix(in srgb,var(--mint) 25%,transparent)}to{opacity:1;transform:none;background:transparent}}
.tops li{padding:9px 0}
.tops .row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;font-size:.95rem}
.tops .n{font:500 .8rem var(--mono);color:var(--muted)}
.tops .bar{height:4px;border-radius:4px;background:var(--line);margin-top:8px;overflow:hidden}
.tops .bar span{display:block;height:100%;border-radius:4px;background:var(--mint-ink);transition:width .6s ease}

/* centred peeking cat */
.peek{left:50%;right:auto;transform:translateX(-50%)}
@media (max-width:860px){.peek{left:50%;right:auto}}
@media (max-width:520px){.peek{left:50%;right:auto}}
.feed li{grid-template-columns:auto 1fr}

/* kitty moods */
.kitty{pointer-events:auto;cursor:default;overflow:visible}
.kitty .eye,.kitty .ear{transform-box:fill-box}
.kitty .eye{transform-origin:50% 55%;transition:opacity .12s}
.kitty .ear-l{transform-origin:100% 100%;transition:transform .35s cubic-bezier(.3,1.6,.5,1)}
.kitty .ear-r{transform-origin:0 100%;transition:transform .35s cubic-bezier(.3,1.6,.5,1)}
.kitty .wink,.kitty .grin{opacity:0;transition:opacity .12s}
.kitty .mouth{transition:opacity .12s}
.kitty .cheek{opacity:.8;transition:opacity .2s}
.kitty.happy .eye-l,.kitty:hover .eye-l{opacity:0}
.kitty.happy .wink,.kitty:hover .wink,.kitty.happy .grin,.kitty:hover .grin{opacity:1}
.kitty.happy .mouth,.kitty:hover .mouth{opacity:0}
.kitty.happy .cheek,.kitty:hover .cheek{opacity:1}
.kitty.happy .ear-l,.kitty:hover .ear-l{transform:rotate(-9deg)}
.kitty.happy .ear-r,.kitty:hover .ear-r{transform:rotate(9deg)}
@media (prefers-reduced-motion:no-preference){
  .kitty .eye{animation:blink 6s infinite}
  .kitty .eye-r{animation-delay:.05s}
  .foot-kitten .eye{animation-delay:2.3s}
  .foot-kitten .eye-r{animation-delay:2.35s}
  /* a little welcome dance: sway, bounce and shimmy, ears wiggling along */
  .kitty{transform-origin:50% 100%;animation:dance 3.2s ease-in-out infinite}
  .foot-kitten{animation-delay:-1.6s}
  .kitty .ear-l{animation:wiggle-l 1.6s ease-in-out infinite}
  .kitty .ear-r{animation:wiggle-r 1.6s ease-in-out infinite .8s}
  .peek.happy{animation:dance 3.2s ease-in-out infinite,hop-c .55s ease}
  .foot-kitten.happy{animation:dance 3.2s ease-in-out infinite -1.6s,hop .55s ease}
}
@keyframes dance{
  0%,100%{rotate:0deg;translate:0 0;scale:1 1}
  12%{rotate:-7deg;translate:-2px -5px}
  24%{rotate:0deg;translate:0 0;scale:1.04 .95}
  36%{rotate:7deg;translate:2px -5px;scale:1 1}
  48%{rotate:0deg;translate:0 0;scale:1.04 .95}
  58%{scale:.97 1.05;translate:0 -7px}
  66%{rotate:-3deg;scale:1 1;translate:0 0}
  74%{rotate:3deg}
  82%{rotate:-3deg}
  90%{rotate:0deg}
}
@keyframes wiggle-l{0%,70%,100%{rotate:0deg}80%{rotate:-12deg}90%{rotate:4deg}}
@keyframes wiggle-r{0%,70%,100%{rotate:0deg}80%{rotate:12deg}90%{rotate:-4deg}}
@keyframes blink{0%,93%,100%{transform:scaleY(1)}95.5%{transform:scaleY(.1)}}
@keyframes hop{0%,100%{transform:translateY(0)}40%{transform:translateY(-7px)}}
@keyframes hop-c{0%,100%{transform:translate(-50%,0)}40%{transform:translate(-50%,-7px)}}
@media (min-width:861px){
  .well-card{column-gap:0}
  .well-card .step-col:first-of-type{padding-right:clamp(24px,4vw,56px)}
  .well-card .step-col + .step-col{padding-left:clamp(24px,4vw,56px)}
}

/* wish board */
.wishboard{margin:56px auto 0;max-width:880px;text-align:center}
.wb-title{font-weight:500;font-size:clamp(1.3rem,2.6vw,1.6rem);letter-spacing:-.03em;margin:0}
.wb-sub{color:var(--muted);font-size:.95rem;line-height:1.5;max-width:520px;margin:10px auto 0}
.wb-stats{display:grid;grid-template-columns:1fr 1fr 2fr;border:1px solid var(--line);border-radius:20px;margin:28px auto 0}
.wb-stats .stat + .stat{border-left:1px solid var(--line)}
.stat .num.small{font-size:clamp(1rem,2vw,1.25rem);letter-spacing:-.02em;line-height:1.25;text-align:center}
@media (max-width:640px){.wb-stats{grid-template-columns:1fr 1fr}.wb-stats .stat-wide{grid-column:1 / -1;border-left:0;border-top:1px solid var(--line)}}
.wishboard .live-grid{margin-top:16px}
.ranks{list-style:none;margin:0;padding:0}
.ranks li{padding:9px 0}
.ranks li.empty{color:var(--faint);font-size:.9rem;padding:10px 0}
.ranks .row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;font-size:.95rem}
.ranks .rk{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font:500 .74rem var(--mono);color:var(--muted);border:1px solid var(--line)}
.ranks li:nth-child(1) .rk{background:#F4CB5B;border-color:#C9952A;color:#5a3d00}
.ranks li:nth-child(2) .rk{background:color-mix(in srgb,var(--mint) 55%,transparent);border-color:var(--mint-ink);color:var(--ink)}
.ranks li:nth-child(3) .rk{border-color:var(--ink);color:var(--ink)}
.ranks .n{font:500 .8rem var(--mono);color:var(--muted)}
.ranks .bar{height:4px;border-radius:4px;background:var(--line);margin-top:8px;overflow:hidden}
.ranks .bar span{display:block;height:100%;border-radius:4px;background:#F4CB5B;transition:width .6s ease}
.ranks li.mine .cn::after{content:"your wish";margin-left:8px;font:500 .66rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mint-ink);vertical-align:2px}
.ranks li.mine .bar span{background:var(--mint-ink)}
#wbFeed li .cn{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* centring pass */
.step-label{justify-content:center}
#note > .sub.small{text-align:center;max-width:380px;margin-left:auto;margin-right:auto}
.coins{justify-content:center}
.pay{text-align:center}
.pay-coin{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}
.addr{text-align:center}
.pay-actions{justify-content:center}
@media (max-width:520px){.pay-actions{display:grid;grid-template-columns:1fr}.pay-actions > *{width:100%;justify-content:center;text-align:center}}
.wb-stats .stat-wide{text-align:center}
@media (max-width:640px){.wb-stats .stat + .stat.stat-wide{border-left:0}}
.note .btn{justify-self:stretch}
