:root{color-scheme:dark;font-family:ui-rounded,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f7f4ff;background:#07060b}*{box-sizing:border-box}body{margin:0}a{color:#bcaaff;text-underline-offset:4px}header,main,footer{max-width:850px;margin:auto;padding:28px}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #302a3d}header a{text-decoration:none}nav{display:flex;gap:20px}.brand{font-size:25px;font-weight:850;color:#fff}main{padding-top:56px;padding-bottom:64px}h1{font-size:clamp(38px,8vw,68px);line-height:1.05;letter-spacing:-.04em;margin:18px 0 28px}h2{font-size:23px;margin-top:38px}p,li{font-size:17px;line-height:1.7;color:#ccc6da}.eyebrow{color:#ff7195;font-size:13px;letter-spacing:.14em;font-weight:700;text-transform:uppercase}.lead{font-size:23px;max-width:660px}.notice{border:1px solid #655526;background:#241e10;padding:16px 20px;border-radius:12px;color:#f5dc99}.button{display:inline-block;background:#ff3b6b;color:white;padding:14px 22px;border-radius:30px;text-decoration:none;font-weight:750;margin-top:20px}footer{border-top:1px solid #302a3d;color:#938b9f;font-size:14px}code{overflow-wrap:anywhere}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:12px;border-bottom:1px solid #302a3d;line-height:1.5}th{color:#bcaaff}@media(max-width:520px){header,main,footer{padding:16px}nav{gap:12px;font-size:14px}main{padding-top:38px}}

/* ---------- Invite, trip, leaderboard and creator pages ---------- */
[hidden]{display:none!important}
body.app-page{background:radial-gradient(110% 55% at 50% -12%,rgba(180,140,255,.17),rgba(255,59,107,.05) 45%,transparent 70%) no-repeat,#07060b}
body.app-page main{padding-top:24px}
nav a[aria-current=page]{color:#fff}
:where(button,a,input):focus-visible{outline:2px solid #b48cff;outline-offset:2px}
.copy-buffer{position:fixed;top:0;left:0;width:1px;height:1px;padding:0;border:0;opacity:0;font-size:16px;pointer-events:none}
.muted{color:#8f879c}
.small{font-size:13.5px}
.block{display:block;margin-top:14px}

/* Ghost */
.ghost{overflow:visible;display:block}
.ghost.glow{filter:drop-shadow(0 4px 20px var(--glow));filter:drop-shadow(0 4px 22px color-mix(in srgb,var(--glow) 55%,transparent))}
.ghost .gh-body,.ghost .gh-shadow{transform-box:fill-box;transform-origin:center}
.ghost.float .gh-body{animation:gh-float 3.8s ease-in-out infinite}
.ghost.float .gh-shadow{animation:gh-shadow 3.8s ease-in-out infinite}
@keyframes gh-float{0%,100%{transform:translateY(0) rotate(-1.5deg)}50%{transform:translateY(-8px) rotate(1.5deg)}}
@keyframes gh-shadow{0%,100%{transform:scaleX(1);opacity:1}50%{transform:scaleX(.78);opacity:.55}}
@media (prefers-reduced-motion:reduce){.ghost.float .gh-body,.ghost.float .gh-shadow{animation:none}}
.ghost-stage{position:relative;display:grid;place-items:center;width:184px;height:184px;margin:0 auto}
.ghost-stage::before{content:"";position:absolute;inset:10px;border-radius:50%;background:radial-gradient(circle,rgba(255,59,107,.16),rgba(180,140,255,.09) 45%,transparent 70%)}
.ghost-stage>svg{position:relative}
.ghost-stage.small{width:132px;height:132px}
@media(max-height:760px){.hero .ghost-stage{width:160px;height:160px}.hero .ghost-stage>svg{width:120px;height:auto}}

/* Hero */
.invite{max-width:560px;text-align:center}
.hero{display:flex;flex-direction:column;align-items:center}
.hero .eyebrow{margin:4px 0 0}
.hero-title{font-size:clamp(34px,9.4vw,54px);line-height:1.04;letter-spacing:-.035em;margin:8px 0 12px;overflow-wrap:anywhere}
.hero-sub{font-size:16.5px;line-height:1.5;color:#b9b1c8;max-width:440px;margin:0 auto 20px}

/* Cards */
.card{background:#13111b;border:1px solid #2a2436;border-radius:22px;padding:16px 18px;text-align:left}
.card-h{font-size:12.5px;letter-spacing:.13em;text-transform:uppercase;color:#938b9f;font-weight:750;margin:0 0 6px}
.gift-list{list-style:none;margin:0;padding:0}
.gift-list li{display:flex;align-items:center;gap:14px;padding:9px 0;line-height:1.3;border-top:1px solid #221d2c}
.gift-list li:first-child{border-top:0}
.gift-list li[hidden]{display:none}
.gift-list b{display:block;font-size:17px;color:#fff}
.gift-list span{display:block;font-size:14.5px;color:#a59db3;margin-top:2px}
.gi{flex:none;width:42px;height:42px;padding:8px;border-radius:13px}
.gi-mint{color:#3df5a7;background:rgba(61,245,167,.12)}
.gi-violet{color:#b48cff;background:rgba(180,140,255,.14)}
.gi-pink{color:#ff3b6b;background:rgba(255,59,107,.13)}
.gi-gold{color:#ffc94d;background:rgba(255,201,77,.13)}

/* Code */
.code-box{margin:18px 0 0;padding:14px 16px;border:1.5px dashed #3d3352;border-radius:20px}
.code-box p{margin:0}
.code-label{font-size:12.5px;letter-spacing:.13em;text-transform:uppercase;color:#938b9f;font-weight:750}
p.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(32px,10vw,44px);font-weight:800;letter-spacing:.12em;color:#fff;line-height:1.25;margin:4px 0 2px;-webkit-user-select:all;user-select:all;overflow-wrap:anywhere}
p.code-hint{font-size:14px;line-height:1.45;color:#a59db3}

/* Buttons */
.cta{margin-top:16px}
.cta[hidden]{display:none}
.button.big{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:60px;margin:0;padding:16px 22px;border-radius:999px;font-size:19px;font-weight:800;background:linear-gradient(135deg,#ff3b6b,#ff5c8d);box-shadow:0 12px 32px rgba(255,59,107,.32);-webkit-tap-highlight-color:transparent;transition:transform .12s ease}
.button.big:active{transform:scale(.98)}
.button.big svg{width:22px;height:22px;flex:none}
.button.big[hidden]{display:none}
.button.ghost-btn{background:#2a2140;border:0;font:inherit;font-weight:750;color:#fff;cursor:pointer}
p.status{margin:12px 0 0;font-size:15px;line-height:1.45;font-weight:650;color:#3df5a7}
p.status.bad{color:#ffc94d}
p.status:empty{display:none}
p.soon{display:inline-flex;align-items:center;gap:7px;margin:14px 0 0;padding:6px 13px;border:1px solid #3a3150;border-radius:999px;font-size:13.5px;line-height:1.3;font-weight:700;color:#cbb9ff}
p.soon[hidden]{display:none}
p.soon svg{width:15px;height:15px}
.secondary{display:block;width:max-content;max-width:100%;margin:14px auto 0;padding:8px 6px;font-size:15.5px;font-weight:650}
p.fine{font-size:13px;line-height:1.5;color:#7d758a;margin:22px 0 0}

/* Leaderboard */
.board{max-width:640px}
.page-title{font-size:clamp(34px,9.4vw,54px);line-height:1.04;letter-spacing:-.035em;margin:6px 0 8px;overflow-wrap:anywhere}
.board .hero-sub{margin:0 0 18px}
.tabs{display:flex;gap:4px;padding:4px;margin:0 0 14px;background:#13111b;border:1px solid #2a2436;border-radius:999px}
.tab{flex:1;appearance:none;border:0;background:transparent;color:#a59db3;font:inherit;font-size:15px;font-weight:750;padding:10px 12px;border-radius:999px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.tab[aria-selected=true]{background:#2a2140;color:#fff}
.rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;transition:opacity .2s}
.rows.loading{opacity:.45}
.row{display:flex;align-items:center;gap:12px;padding:9px 14px 9px 10px;line-height:1.3;background:#13111b;border:1px solid #221d2c;border-radius:18px}
.rank{flex:none;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;font-weight:850;font-size:16px;color:#938b9f;font-variant-numeric:tabular-nums}
.row-ghost{flex:none;width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:radial-gradient(circle at 50% 45%,#2c2440,#1b1724 72%)}
.row-ghost svg{width:34px;height:auto}
.row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.row-top{display:flex;align-items:center;gap:8px;min-width:0}
.row-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16.5px;font-weight:750;color:#fff;text-decoration:none}
a.row-name:hover span{text-decoration:underline}
.row-meta{font-size:14px;color:#a59db3}
.row-handle{font-size:12.5px;color:#bcaaff}
.badge{flex:none;display:inline-flex;align-items:center;gap:4px;padding:3px 8px 3px 5px;border-radius:999px;font-size:10.5px;font-weight:850;letter-spacing:.07em;text-transform:uppercase;color:#b48cff;background:rgba(180,140,255,.15)}
.badge svg{width:13px;height:13px}
.row.gold{border-color:rgba(255,201,77,.5);background:linear-gradient(100deg,rgba(255,201,77,.17),#13111b 62%)}
.row.gold .rank{background:linear-gradient(135deg,#ffe28a,#ffc94d 55%,#d99a1e);color:#2a1a00}
.row.silver{border-color:rgba(205,214,232,.42);background:linear-gradient(100deg,rgba(205,214,232,.13),#13111b 62%)}
.row.silver .rank{background:linear-gradient(135deg,#ffffff,#cfd6e6 55%,#8f98ad);color:#151925}
.row.rose{border-color:rgba(255,113,149,.48);background:linear-gradient(100deg,rgba(255,59,107,.16),#13111b 62%)}
.row.rose .rank{background:linear-gradient(135deg,#ffc2d1,#ff7195 55%,#e0345f);color:#2b0610}
.empty{text-align:center;padding:22px 8px 8px}
.empty[hidden]{display:none}
p.empty-title{font-size:21px;line-height:1.3;font-weight:800;color:#fff;margin:6px 0 4px}
p.empty-sub{font-size:15.5px;line-height:1.5;color:#a59db3;max-width:380px;margin:0 auto}
.empty .button{margin-top:16px}
.how{display:flex;gap:14px;align-items:flex-start;margin-top:26px}
.how .card-h{margin-top:2px}
.how p{font-size:15.5px;line-height:1.5;margin:0 0 8px}
.how p.muted{font-size:13.5px;margin:0}

/* Creator dashboard */
.dash{max-width:850px}
.dash-head{display:flex;align-items:center;gap:14px}
.dash-head .eyebrow{margin:0}
.dash-head .page-title{font-size:clamp(28px,8vw,44px);margin:2px 0 2px}
.dash-ghost{flex:none;width:72px;height:72px;display:grid;place-items:center;background:#13111b;border:1px solid #2a2436;border-radius:22px}
.dash-ghost svg{width:50px;height:auto}
p.ranks{margin:0;font-size:14.5px;line-height:1.4;color:#a59db3}
.section-h{font-size:12.5px;letter-spacing:.13em;text-transform:uppercase;color:#938b9f;font-weight:750;margin:28px 0 10px}
.funnel{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.step{display:grid;grid-template-columns:auto 1fr;align-items:center;align-content:start;column-gap:7px;padding:13px 14px;line-height:1.3;background:#13111b;border:1px solid #2a2436;border-radius:18px}
.step-dot{width:8px;height:8px;border-radius:50%}
.step-dot[data-m=opens]{background:#b48cff}.step-dot[data-m=claims]{background:#ff3b6b}.step-dot[data-m=counted]{background:#3df5a7}.step-dot[data-m=paid]{background:#ffc94d}
.step-label{font-size:13.5px;font-weight:700;color:#ccc6da}
.step-value{grid-column:1/-1;font-size:28px;font-weight:850;letter-spacing:-.02em;color:#fff;font-variant-numeric:tabular-nums;margin-top:2px}
.step-rate{grid-column:1/-1;font-size:12.5px;color:#a59db3}
.chart-card{margin-top:12px}
.chart-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.chart-top .card-h{margin:0}
.seg{display:flex;gap:2px;padding:3px;background:#0d0b13;border:1px solid #2a2436;border-radius:999px}
.seg-btn{border:0;background:transparent;color:#a59db3;font:inherit;font-size:13px;font-weight:750;padding:6px 10px;border-radius:999px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.seg-btn[aria-selected=true]{background:#2a2140;color:#fff}
p.readout{font-size:14px;line-height:1.4;color:#ccc6da;margin:12px 0 6px;min-height:1.4em}
.chart svg{display:block;max-width:100%;height:auto}
.chart .grid{stroke:#2a2436;stroke-width:1;stroke-dasharray:2 4}
.chart .base{stroke:#3a3150;stroke-width:1}
.chart .axis{fill:#8f879c;font-size:11px;font-family:ui-rounded,-apple-system,BlinkMacSystemFont,sans-serif}
.chart .bar{transition:opacity .15s}
.chart .bar.off{opacity:.3}
.chart .hit{fill:transparent;cursor:pointer}
.table-wrap{overflow-x:auto;background:#13111b;border:1px solid #2a2436;border-radius:16px}
table.stats{font-size:14px}
table.stats th,table.stats td{padding:10px 9px;line-height:1.35;border-bottom:1px solid #221d2c}
table.stats tr:last-child>*{border-bottom:0}
table.stats thead th{font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:#938b9f;font-weight:750}
table.stats tbody th{min-width:7.2em;color:#fff;font-weight:650;overflow-wrap:break-word}
table.stats .num{padding-left:6px;padding-right:6px}
table.stats th:first-child,table.stats td:first-child{padding-left:14px}
table.stats th:last-child,table.stats td:last-child{padding-right:14px}
table.stats .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.links{margin-top:28px}
.link-row{display:flex;align-items:center;gap:8px;margin:8px 0 14px}
.link-row code{flex:1;min-width:0;padding:11px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.4;color:#fff;background:#0d0b13;border:1px solid #2a2436;border-radius:12px}
.link-row code.dim{color:#6f6880}
.copy-btn{flex:none;border:0;background:#ff3b6b;color:#fff;font:inherit;font-size:14.5px;font-weight:750;padding:11px 16px;border-radius:999px;cursor:pointer}
.copy-btn:disabled{background:#2a2436;color:#6f6880;cursor:default}
.field-label{display:block;margin-top:4px;font-size:15px;font-weight:750;color:#fff}
.links p.small{margin:2px 0 0;line-height:1.45}
.field{display:block;width:100%;margin-top:8px;padding:12px;font:inherit;font-size:16px;color:#fff;background:#0d0b13;border:1px solid #3a3150;border-radius:12px}
.links p.status{margin:0}
@media(min-width:700px){.funnel{grid-template-columns:repeat(4,minmax(0,1fr))}}
.cta .soon+.button.big{margin-top:16px}
