/* ==========================================================================
   PAYDAY design system
   Tokens → base → layout → components → pages → operator console.
   Documented in docs/DESIGN_SYSTEM.md. One dominant accent per section.
   ========================================================================== */

@font-face{font-family:"Space Grotesk";src:url("/fonts/space-grotesk-latin-wght.woff2") format("woff2");font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("/fonts/inter-latin-wght.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}

/* ---------- 1. Tokens ---------- */
:root{
  /* colour: monochrome ink + ivory; colour is reserved for meaning */
  --bg:#0A0A0A;          /* Ink */
  --bg-2:#111111;        /* Ink raised */
  --surface:#191919;     /* Card */
  --surface-2:#232323;
  --text:#FAFAFA;        /* White */
  --muted:#A1A1A1;       /* 7.9:1 on --bg */
  --faint:#7A7A7A;       /* 4.8:1 on --bg: labels, captions */
  --paper:#F3F1EC;       /* Ivory: light chapters, product cards, receipts */
  --paper-2:#E8E5DE;
  --ink:#0A0A0A;
  --ink-muted:#5C5953;   /* 6.4:1 on --paper */
  --money:#3DDC84;       /* the only brand colour: verified money, live */
  --info:#8AB4FF;        /* statement-verified, chain/technical */
  --danger:#F87171;      /* failed, returned */
  --amber:#F5B544;       /* fictional / sandbox only */
  /* legacy names kept so every component resolves to the new palette */
  --lime:var(--money);--mint:var(--money);--cyan:var(--info);--coral:var(--danger);--violet:#C9C9C9;
  --on-accent:#0A0A0A;
  --line:rgba(255,255,255,.08);
  --line-2:rgba(255,255,255,.12);
  --line-3:rgba(255,255,255,.22);
  --money-soft:rgba(61,220,132,.10);
  --lime-soft:var(--money-soft);--mint-soft:var(--money-soft);
  --violet-soft:rgba(255,255,255,.06);
  --cyan-soft:rgba(138,180,255,.10);
  --coral-soft:rgba(248,113,113,.10);

  /* type */
  --font-display:"Space Grotesk",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-ui:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-mono:ui-monospace,"SF Mono",SFMono-Regular,"JetBrains Mono",Menlo,Consolas,monospace;
  --fs-mega:clamp(3.2rem,8.2vw,8.25rem);
  --fs-h1:clamp(2.75rem,6.2vw,5.75rem);
  --fs-h2:clamp(2rem,4.2vw,3.75rem);
  --fs-h3:clamp(1.25rem,1.7vw,1.5rem);
  --fs-lead:clamp(1.05rem,1.3vw,1.2rem);
  --fs-body:1rem;
  --fs-sm:.875rem;
  --fs-xs:.75rem;
  --fs-label:.6875rem;
  --track-display:-.05em;
  --track-label:.14em;

  /* space (8pt rhythm) */
  --s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;--s-10:128px;
  --section:clamp(80px,11vw,152px);
  --gutter:clamp(16px,3.2vw,40px);
  --maxw:1360px;

  /* shape */
  --r-0:0;--r-1:8px;--r-2:12px;--r-3:20px;--r-4:28px;--r-pill:999px;

  /* motion */
  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --t-1:.14s;--t-2:.26s;--t-3:.5s;

  color-scheme:dark;
}

/* ---------- 2. Base ---------- */
@view-transition{navigation:auto}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:88px}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:var(--fs-body);line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
body.menu-open{overflow:hidden}
main{display:block;animation:page-in var(--t-3) var(--ease-out) both}
@keyframes page-in{from{opacity:0;transform:translateY(8px)}}
a{color:inherit;text-decoration:none}
img,svg{max-width:100%;display:block}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
h1,h2,h3,h4{margin:0;font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;line-height:1.05}
p{margin:0}
code,kbd,pre{font-family:var(--font-mono)}
::selection{background:var(--text);color:var(--bg)}
:focus-visible{outline:2px solid var(--text);outline-offset:3px;border-radius:4px}
[tabindex="-1"]:focus{outline:none}
[hidden]{display:none!important}
.num,.tabular{font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"lnum" 1}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:12px;left:12px;z-index:1000;background:var(--text);color:var(--on-accent);padding:12px 16px;border-radius:var(--r-1);font-weight:700;transform:translateY(-200%)}
.skip-link:focus{transform:none}

/* ---------- 3. Layout ---------- */
.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s-5)}
.section{padding-block:var(--section);position:relative}
.section--tight{padding-block:clamp(48px,6vw,80px)}
/* The section right after the hero continues it rather than starting a new chapter block */
.hero2+.section{padding-top:clamp(32px,4vw,56px)}
.section--graphite{background:var(--bg-2)}
.section--paper{background:var(--paper);color:var(--ink)}
.section--lime{background:var(--paper);color:var(--ink)}
.section--line{border-top:1px solid var(--line)}
.accent-cyan{--sh-accent:var(--cyan)}.accent-violet{--sh-accent:var(--violet)}.accent-coral{--sh-accent:var(--coral)}
.stack>*+*{margin-top:var(--s-4)}
.grain{position:relative;isolation:isolate}
.grain::after{content:none}

/* ---------- 4. Typography ---------- */
.label{display:inline-flex;align-items:center;gap:10px;font:500 var(--fs-label)/1.2 var(--font-mono);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--faint)}
.label--lime,.label--cyan,.label--violet{color:var(--muted)}.label--ink{color:var(--ink-muted)}
.label__rule{width:20px;height:1px;background:currentColor}
.display{font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:var(--track-display);line-height:.86}
.display--mega{font-size:var(--fs-mega)}
.display--h1{font-size:var(--fs-h1)}
.display--h2{font-size:var(--fs-h2);line-height:.9}
.display .hl{color:var(--muted)}
.section--paper .display .hl,.section--lime .display .hl{color:var(--ink-muted)}
.display .out{color:transparent;-webkit-text-stroke:1.5px currentColor}
.display .out-lime{color:transparent;-webkit-text-stroke:1.5px var(--muted)}
.h3{font-size:var(--fs-h3);letter-spacing:-.02em}
.lead{font-size:var(--fs-lead);line-height:1.6;color:var(--muted);max-width:60ch}
.body{color:var(--muted);line-height:1.65}
.small{font-size:var(--fs-sm);color:var(--muted);line-height:1.6}
.fine{font-size:var(--fs-xs);color:var(--faint);line-height:1.6}
.mono{font-family:var(--font-mono);font-size:.8125rem}
.link{display:inline-flex;align-items:center;gap:8px;font-weight:600;border-bottom:1px solid var(--line-3);padding-bottom:3px;transition:border-color var(--t-2),color var(--t-2)}
.link:hover{border-color:var(--text)}
.link span[aria-hidden]{transition:transform var(--t-2) var(--ease)}
.link:hover span[aria-hidden]{transform:translate(2px,-2px)}

/* ---------- 5. Wordmark ---------- */
.wordmark{display:inline-flex;align-items:center}
.wordmark__mark{width:32px;height:32px;flex:none}
.wordmark__mark img{display:block;width:100%;height:100%}
.wordmark--lg .wordmark__mark{width:44px;height:44px}

/* ---------- 6. Navigation ---------- */
#site-header{position:sticky;top:0;z-index:50}
.nav{position:relative;border-bottom:1px solid transparent;transition:border-color var(--t-2)}
/* Blur lives on a pseudo-element: backdrop-filter on .nav itself would become the containing block for the fixed drawer. */
.nav::before{content:"";position:absolute;inset:0;background:rgba(7,7,10,.94);backdrop-filter:saturate(140%) blur(14px);-webkit-backdrop-filter:saturate(140%) blur(14px);z-index:-1}
.nav.is-scrolled{border-bottom-color:var(--line)}
.nav__bar{height:72px;display:flex;align-items:center;gap:var(--s-6)}
.nav__links{display:flex;align-items:center;gap:2px;margin-left:auto}
.nav__links a{position:relative;padding:10px 12px;font-size:.875rem;font-weight:500;color:var(--muted);border-radius:var(--r-1);transition:color var(--t-2)}
.nav__links a::after{content:"";position:absolute;left:12px;right:12px;bottom:4px;height:1px;background:var(--text);transform:scaleX(0);transform-origin:left;transition:transform var(--t-2) var(--ease)}
.nav__links a:hover{color:var(--text)}
.nav__links a:hover::after,.nav__links a[aria-current="page"]::after{transform:scaleX(1)}
.nav__links a[aria-current="page"]{color:var(--text)}
.nav__actions{display:flex;align-items:center;gap:var(--s-2)}
.nav__toggle{display:none;width:44px;height:44px;border:1px solid var(--line-2);border-radius:var(--r-2);background:transparent;place-items:center;padding:0}
.nav__toggle i{display:block;width:18px;height:2px;background:var(--text);transition:transform var(--t-2) var(--ease),opacity var(--t-2)}
.nav__toggle i+i{margin-top:5px}
.nav__toggle[aria-expanded="true"] i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav__toggle[aria-expanded="true"] i:nth-child(2){opacity:0}
.nav__toggle[aria-expanded="true"] i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav__drawer{position:fixed;inset:72px 0 0;background:var(--bg);z-index:49;overflow-y:auto;border-top:1px solid var(--line);animation:drawer-in var(--t-2) var(--ease-out)}
@keyframes drawer-in{from{opacity:0;transform:translateY(-8px)}}
.nav__drawer nav{display:flex;flex-direction:column;padding-block:var(--s-5) var(--s-8)}
.nav__drawer a{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--line);font:600 1.75rem/1.1 var(--font-display);letter-spacing:-.03em;text-transform:uppercase}
.nav__drawer a[aria-current="page"]{color:var(--muted)}
.nav__drawer .nav__drawer-actions{display:grid;gap:var(--s-3);margin-top:var(--s-6);border:0}
.nav__drawer .nav__drawer-actions a{border:1px solid var(--btn-bd);font:600 1rem var(--font-ui);text-transform:none;letter-spacing:0;justify-content:center;padding:0 22px}
@media (max-width:1180px){.nav__toggle{display:grid}}
@media (max-width:760px){.nav__links{display:none}.nav__actions{margin-left:auto}}
.nav__wallet{min-width:0;font-variant-numeric:tabular-nums}
.nav__wallet.is-connected{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.02em}
.nav__wallet.is-connected::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--money);margin-right:2px}
@media (max-width:640px){.nav__actions .nav__launch{display:none}.nav__actions .btn{min-height:38px;padding:0 14px}.nav__bar{gap:12px}}

/* ---------- 7. Buttons ---------- */
.btn{--btn-bg:transparent;--btn-fg:var(--text);--btn-bd:var(--line-3);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:0 22px;border:1px solid var(--btn-bd);border-radius:var(--r-pill);background:var(--btn-bg);color:var(--btn-fg);font:500 .9375rem/1 var(--font-ui);letter-spacing:-.005em;white-space:nowrap;transition:transform var(--t-1) var(--ease),background-color var(--t-2),border-color var(--t-2),color var(--t-2),box-shadow var(--t-2);-webkit-tap-highlight-color:transparent}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(1px) scale(.985);transition-duration:.06s}
.btn__icon{display:inline-block;transition:transform var(--t-2) var(--ease)}
.btn:hover .btn__icon{transform:translateX(3px)}
.btn--primary{--btn-bg:var(--text);--btn-fg:var(--bg);--btn-bd:var(--text)}
.btn--primary:hover{--btn-bg:#E4E4E4;--btn-bd:#E4E4E4}
.btn--secondary{--btn-bd:var(--line-2);--btn-bg:rgba(255,255,255,.02)}
.btn--secondary:hover{--btn-bd:var(--line-3);--btn-bg:rgba(255,255,255,.06)}
.btn--ghost{--btn-bd:transparent}
.btn--ghost:hover{--btn-bg:rgba(245,247,251,.06)}
.btn--violet{--btn-bg:#9146FF;--btn-fg:#fff;--btn-bd:#9146FF} /* Twitch sign-in only */
.btn--ink{--btn-bg:var(--ink);--btn-fg:var(--paper);--btn-bd:var(--ink)}
.btn--ink:hover{--btn-bg:#262626;--btn-bd:#262626}
.btn--danger{--btn-bd:rgba(255,93,115,.5);--btn-fg:var(--coral)}
.btn--danger:hover{--btn-bg:var(--coral-soft)}
.btn--sm{min-height:36px;padding:0 16px;font-size:.8125rem}
.btn--lg{min-height:52px;padding:0 28px;font-size:.9375rem}
.btn--block{width:100%}
.btn:disabled,.btn[aria-disabled="true"]{opacity:.38;cursor:not-allowed;transform:none;box-shadow:none}
.btn.is-loading{color:transparent!important;pointer-events:none}
.btn.is-loading::after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;border:2px solid var(--btn-fg);border-right-color:transparent;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.btn-row{display:flex;flex-wrap:wrap;gap:var(--s-3);align-items:center}

/* ---------- 8. Badges & indicators ---------- */
.badge{--b:var(--muted);--b-bg:rgba(255,255,255,.04);display:inline-flex;align-items:center;gap:7px;height:24px;padding:0 9px;border-radius:var(--r-pill);background:var(--b-bg);color:var(--b);border:1px solid color-mix(in srgb,var(--b) 26%,transparent);font:500 .625rem/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.badge--plain::before{display:none}
.badge--live{--b:var(--money);--b-bg:var(--money-soft)}
.badge--live::before{animation:live-pulse 1.6s var(--ease) infinite}
@keyframes live-pulse{0%{box-shadow:0 0 0 0 rgba(61,220,132,.55)}70%{box-shadow:0 0 0 6px rgba(61,220,132,0)}100%{box-shadow:0 0 0 0 rgba(61,220,132,0)}}
.badge--confirmed{--b:var(--mint);--b-bg:var(--mint-soft)}
.badge--reconciled{--b:var(--money);--b-bg:transparent}
.badge--reported{--b:var(--muted);--b-bg:transparent;border-style:dashed}
.badge--reviewed{--b:var(--cyan);--b-bg:var(--cyan-soft)}
.badge--scheduled{--b:var(--text);--b-bg:rgba(255,255,255,.06)}
.badge--awaiting{--b:var(--cyan);--b-bg:transparent;border-style:dashed}
.badge--awaiting::before{background:transparent;border:1.5px solid currentColor}
.badge--failed{--b:var(--coral);--b-bg:var(--coral-soft)}
.badge--returned{--b:var(--coral);--b-bg:transparent}
.badge--returned::before{background:transparent;border:1.5px solid currentColor}
.badge--fictional{--b:var(--amber);--b-bg:rgba(245,181,68,.10)}
.badge--neutral{--b:var(--muted)}
.badge--ink{--b:var(--ink);--b-bg:rgba(10,10,10,.06)}
.verify{display:inline-flex;align-items:center;gap:8px;font-size:.8125rem;color:var(--muted)}
.verify__icon{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;border:1.5px dashed var(--line-3);flex:none}
.verify.is-ok{color:var(--text)}
.verify.is-ok .verify__icon{border:0;background:var(--mint);color:var(--on-accent)}
.verify.is-ok .verify__icon::before{content:"";width:8px;height:4px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-1px) rotate(-45deg)}
.chip{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;border-radius:var(--r-pill);border:1px solid var(--line-2);font:500 .625rem/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text)}
.chip::before{content:"";width:6px;height:6px;border-radius:2px;background:currentColor;opacity:.9}
/* platform identity lives in a small square, the chip itself stays neutral */
.chip--twitch::before{background:#9146FF}.chip--youtube::before{background:#FF3B3B}.chip--kick::before{background:#53FC18}.chip--tiktok::before{background:#25F4EE}

/* ---------- 9. Surfaces & cards ---------- */
.card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-3);padding:var(--s-5);min-width:0}
.card--raised{background:var(--surface)}
.card--flat{background:transparent}
.panel{border-top:1px solid var(--line-2);padding-top:var(--s-5)}
.divider{height:1px;background:var(--line);border:0;margin:var(--s-6) 0}

/* Stat */
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-3);overflow:hidden}
.stat{background:var(--bg);padding:var(--s-5) var(--s-5) 22px;min-width:0;display:flex;flex-direction:column;gap:10px;min-height:168px}
.stat__label{font:500 var(--fs-label)/1.3 var(--font-mono);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--faint);display:flex;align-items:center;justify-content:space-between;gap:8px}
.stat__value{font:500 clamp(1.9rem,3.2vw,2.75rem)/1 var(--font-display);letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin-top:auto;overflow-wrap:anywhere}
.stat__note{font-size:.8125rem;color:var(--muted);line-height:1.45}
.stat--verified .stat__value{color:var(--money)}
.stats--3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:960px){.stats,.stats--3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:420px){.stats,.stats--3{grid-template-columns:1fr}.stat{min-height:0}}

/* Section heading (vertical accent bar) */
.sh{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s-5);margin-bottom:var(--s-6);flex-wrap:wrap}
.sh__title{display:flex;gap:18px;align-items:stretch}
.sh__title::before{display:none}
.sh__title>div{display:grid;gap:10px}
.sh h2{font:600 clamp(1.7rem,3.2vw,2.6rem)/.95 var(--font-display);letter-spacing:-.045em;text-transform:uppercase}
.sh__nav{display:flex;gap:8px;align-items:center}
.icon-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--line-2);background:transparent;display:grid;place-items:center;color:var(--text);transition:background var(--t-2),border-color var(--t-2),transform var(--t-1)}
.icon-btn:hover{border-color:var(--text);background:rgba(245,247,251,.06)}
.icon-btn:active{transform:scale(.94)}
.icon-btn:disabled{opacity:.3;cursor:not-allowed}

/* ---------- 10. Creator poster art (generated, no third-party images) ---------- */
.art{position:relative;overflow:hidden;background:#151515;container-type:inline-size}
.art--photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.art--mono{display:grid;place-items:center;background:radial-gradient(120% 90% at 50% 20%,#1D1D1D,#131313)}
.art__mono{font:600 42cqw/1 var(--font-display);letter-spacing:-.06em;color:#2E2E2E;user-select:none}
.art__no{position:absolute;right:8%;top:7%;font:500 clamp(9px,4cqw,12px)/1 var(--font-mono);color:var(--faint);opacity:.7}

/* ---------- 11. Creator poster card ---------- */
.poster{position:relative;min-width:0;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-3);padding:8px;transition:border-color var(--t-2),background var(--t-2)}
.poster:hover{border-color:var(--line-2);background:#141414}
.poster__link{display:block;border-radius:14px;outline-offset:4px}
.poster__frame{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:1/1;transform:translateZ(0)}
.poster__frame .art{position:absolute;inset:0;transition:transform .8s var(--ease-out)}
.poster__frame::after{content:"";position:absolute;inset:0;z-index:5;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.35) 0%,transparent 26%,transparent 62%,rgba(0,0,0,.55) 100%)}
.poster__top{position:absolute;z-index:6;left:10px;right:10px;top:10px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;align-items:flex-start}
.poster__top .chip,.poster__top .badge{background:rgba(10,10,10,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-color:rgba(255,255,255,.14)}
.poster__handle-chip{position:absolute;z-index:6;left:10px;bottom:10px;max-width:calc(100% - 20px);display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px 0 4px;border-radius:var(--r-pill);background:rgba(10,10,10,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.14);font-size:.75rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}
.poster__handle-chip i{width:20px;height:20px;border-radius:50%;background:var(--paper);color:var(--ink);display:grid;place-items:center;font:600 .625rem/1 var(--font-display);font-style:normal;flex:none}
.poster__handle-chip .tick{width:12px;height:12px;border-radius:50%;background:var(--info);flex:none;position:relative}
.poster__handle-chip .tick::after{content:"";position:absolute;left:3.5px;top:2.5px;width:3px;height:5px;border:solid #0A0A0A;border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}
.poster__body{padding:12px 6px 4px;display:grid;gap:6px}
.poster__name{font:500 1rem/1.25 var(--font-ui);letter-spacing:-.01em;overflow-wrap:anywhere;display:flex;gap:8px;align-items:baseline}
.poster__name small{font:500 .6875rem var(--font-mono);color:var(--faint);letter-spacing:.04em}
.poster__paid{font:600 1.15rem/1 var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.02em;display:flex;align-items:baseline;gap:8px}
.poster__paid small{font:500 .6875rem/1.3 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}
.poster__note{padding:4px 6px 2px;font-size:.6875rem;color:var(--faint)}
.poster:hover .poster__frame .art{transform:scale(1.04)}
.poster__link:focus-visible .poster__frame{outline:2px solid var(--text);outline-offset:3px}

.rail{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 3*var(--s-5))/4);gap:var(--s-5);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px;overscroll-behavior-x:contain}
.rail::-webkit-scrollbar{display:none}
.rail>*{scroll-snap-align:start}
@media (max-width:1024px){.rail{grid-auto-columns:calc((100% - 2*var(--s-5))/3)}}
@media (max-width:720px){.rail{grid-auto-columns:72%;gap:var(--s-4)}}
.poster-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-6) var(--s-5)}
@media (max-width:1100px){.poster-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.poster-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-5) var(--s-3)}}
@media (max-width:360px){.poster-grid{grid-template-columns:1fr}}

/* ---------- 12. Token card ---------- */
.token{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:var(--r-3);background:var(--bg-2);min-width:0}
.token__coin{width:56px;height:56px;border-radius:50%;overflow:hidden;background:var(--surface);display:grid;place-items:center;font:700 1rem var(--font-display);border:1px solid var(--line-2)}
.token__coin img{width:100%;height:100%;object-fit:cover}
.token__name{font:700 1.1rem/1.1 var(--font-display);letter-spacing:-.02em;overflow-wrap:anywhere}
.token__ticker{font:500 .8125rem var(--font-mono);color:var(--cyan)}
.token__rows{grid-column:1/-1;display:grid;gap:8px;border-top:1px solid var(--line);padding-top:14px}

/* ---------- 13. Financial rows, feed, tables ---------- */
.feed{display:grid;border-top:1px solid var(--line)}
.row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:18px;align-items:center;padding:18px 4px;border-bottom:1px solid var(--line);transition:background var(--t-2)}
.row:hover{background:rgba(245,247,251,.02)}
.row--button{width:100%;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--line);color:inherit;font:inherit}
.row__icon{width:44px;height:44px;border-radius:var(--r-2);display:grid;place-items:center;font:600 .75rem/1 var(--font-mono);background:var(--surface);color:var(--muted);border:1px solid var(--line)}
.row__icon.t-confirmed{background:var(--mint-soft);color:var(--mint);border-color:transparent}
.row__icon.t-reviewed{background:var(--cyan-soft);color:var(--cyan);border-color:transparent}
.row__icon.t-scheduled{background:var(--violet-soft);color:#A98BFF;border-color:transparent}
.row__icon.t-problem{background:var(--coral-soft);color:var(--coral);border-color:transparent}
.row__icon.t-lime{background:rgba(255,255,255,.06);color:var(--text);border-color:transparent}
.row__main{min-width:0;display:grid;gap:6px}
.row__top{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.row__title{font:600 1rem/1.3 var(--font-ui);overflow-wrap:anywhere}
.row__title a:hover{color:var(--text)}
.row__sub{font-size:.8125rem;color:var(--muted);line-height:1.5;overflow-wrap:anywhere}
.row__sub code{font-size:.75rem;color:var(--cyan)}
.row__value{text-align:right;display:grid;gap:6px;justify-items:end}
.row__amount{font:600 1.15rem/1 var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap}
.row__time{font-size:.75rem;color:var(--faint);white-space:nowrap}
@media (max-width:560px){.row{grid-template-columns:36px minmax(0,1fr);gap:12px}.row__icon{width:36px;height:36px}.row__value{grid-column:2;justify-items:start;text-align:left;grid-auto-flow:column;justify-content:start;gap:12px;align-items:baseline}}

.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-3)}
.table{width:100%;border-collapse:collapse;font-size:.875rem}
.table th{font:600 var(--fs-label)/1.2 var(--font-ui);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--faint);text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);background:var(--bg-2);white-space:nowrap}
.table td{padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top}
.table tr:last-child td{border-bottom:0}
.table .r{text-align:right;font-variant-numeric:tabular-nums}
@media (max-width:640px){.table--stack thead{display:none}.table--stack tr{display:grid;padding:12px 0;border-bottom:1px solid var(--line)}.table--stack td{border:0;padding:6px 16px;display:flex;justify-content:space-between;gap:16px}.table--stack td::before{content:attr(data-label);font:600 var(--fs-label) var(--font-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}}

/* Definition list */
.dl{display:grid;gap:0;margin:0}
.dl>div{display:flex;justify-content:space-between;gap:var(--s-4);padding:12px 0;border-bottom:1px solid var(--line);font-size:.875rem}
.dl dt{color:var(--faint)}
.dl dd{margin:0;text-align:right;overflow-wrap:anywhere;min-width:0}
.dl code{font-size:.75rem;color:var(--cyan)}

/* ---------- 14. Receipt ---------- */
.receipt{--notch:10px;position:relative;background:var(--paper);color:var(--ink);border-radius:var(--r-2);padding:26px 24px 22px;max-width:420px;width:100%;font-size:.875rem;filter:drop-shadow(0 30px 60px rgba(0,0,0,.45))}
.receipt__head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.receipt__head .wordmark{font-size:1.05rem}
.receipt__head .wordmark__mark{width:26px;height:26px;background:#0A0A0A;border-radius:6px;padding:3px}
.receipt__head .wordmark{color:var(--ink)}
.receipt__kind{font:600 var(--fs-label)/1 var(--font-ui);letter-spacing:var(--track-label);text-transform:uppercase;color:rgba(7,7,10,.55)}
.receipt__amount{font:700 3rem/1 var(--font-display);letter-spacing:-.05em;font-variant-numeric:tabular-nums;margin:26px 0 6px}
.receipt__to{font-weight:600}
.receipt__cut{position:relative;height:1px;margin:22px calc(-1*24px);border-top:2px dashed rgba(7,7,10,.2)}
.receipt__cut::before,.receipt__cut::after{content:"";position:absolute;top:calc(-1*var(--notch) - 1px);width:calc(2*var(--notch));height:calc(2*var(--notch));border-radius:50%;background:var(--receipt-hole,var(--bg))}
.receipt__cut::before{left:calc(-1*var(--notch))}
.receipt__cut::after{right:calc(-1*var(--notch))}
.receipt .dl>div{border-color:rgba(7,7,10,.1)}
.receipt .dl dt{color:rgba(7,7,10,.55)}
.receipt .dl code{color:var(--ink)}
.receipt__stamp{display:inline-flex;align-items:center;gap:8px;margin-top:18px;padding:8px 12px;border:2px solid currentColor;border-radius:var(--r-1);font:700 .75rem/1 var(--font-display);letter-spacing:.14em;text-transform:uppercase;transform:rotate(-3deg)}
.receipt__stamp.s-confirmed{color:#16804A}
.receipt__stamp.s-reviewed{color:#0A6E89}
.receipt__stamp.s-reported{color:#5B6275;border-style:dashed}
.receipt__stamp.s-problem{color:#C2263F}
.receipt__stamp.s-scheduled{color:#3F3D39}
.receipt__fine{margin-top:16px;font-size:.6875rem;line-height:1.55;color:rgba(7,7,10,.6)}

/* ---------- 15. Timeline & steps ---------- */
.timeline{list-style:none;margin:0;padding:0;display:grid}
.timeline__item{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr);gap:16px;padding-bottom:26px}
.timeline__item::before{content:"";position:absolute;left:13px;top:26px;bottom:0;width:2px;background:var(--line-2)}
.timeline__item:last-child::before{display:none}
.timeline__dot{width:28px;height:28px;border-radius:50%;border:2px solid var(--line-3);background:var(--bg);display:grid;place-items:center}
.timeline__dot::after{content:"";width:8px;height:8px;border-radius:50%;background:transparent}
.timeline__item.is-done .timeline__dot{border-color:var(--mint)}
.timeline__item.is-done .timeline__dot::after{background:var(--mint)}
.timeline__item.is-done::before{background:var(--mint)}
.timeline__item.is-current .timeline__dot{border-color:var(--cyan)}
.timeline__item.is-current .timeline__dot::after{background:var(--cyan);animation:live-pulse 1.6s infinite}
.timeline__item.is-failed .timeline__dot{border-color:var(--coral)}
.timeline__item.is-failed .timeline__dot::after{background:var(--coral)}
.timeline__title{font-weight:600;display:flex;gap:10px;flex-wrap:wrap;align-items:center;min-height:28px}
.timeline__body{font-size:.8125rem;color:var(--muted);margin-top:4px;line-height:1.55}

.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--n,6),minmax(0,1fr));gap:6px;counter-reset:step}
.step{counter-increment:step;min-width:0}
.step button,.step>span{display:grid;gap:8px;width:100%;padding:0 0 4px;background:none;border:0;text-align:left;color:var(--faint);font:600 .75rem/1.25 var(--font-ui);letter-spacing:.02em}
.step button:disabled{cursor:not-allowed;opacity:1}
.step__bar{height:3px;border-radius:2px;background:var(--line-2);overflow:hidden;position:relative}
.step__bar::after{content:"";position:absolute;inset:0;background:var(--text);transform:scaleX(0);transform-origin:left;transition:transform var(--t-3) var(--ease-out)}
.step__name::before{content:counter(step,decimal-leading-zero) " ";color:var(--faint);font-family:var(--font-mono);font-weight:500}
.step.is-done .step__bar::after,.step.is-current .step__bar::after{transform:scaleX(1)}
.step.is-current .step__bar::after{background:var(--text)}
.step.is-done button,.step.is-current button{color:var(--text)}
.step.is-done button:hover .step__name{color:var(--text)}
@media (max-width:720px){.steps{display:flex}.step{flex:1 1 0}.step.is-current{flex:2.6 1 0}.step__name{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.step.is-current .step__name{position:static;width:auto;height:auto;clip:auto;white-space:nowrap}}

/* ---------- 16. Forms ---------- */
.field{display:grid;gap:8px;min-width:0;align-content:start}
.field+.field,.field+.field-row,.field-row+.field,.field-row+.field-row{margin-top:var(--s-5)}
.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-4)}
.field-row>.field,.field-row>.callout{margin-top:0!important}
@media (max-width:560px){.field-row{grid-template-columns:1fr}}
.field__label{display:flex;justify-content:space-between;gap:12px;font:600 .8125rem/1.3 var(--font-ui);color:var(--text)}
.field__label span{font-weight:500;color:var(--faint)}
.input,.select,.textarea{width:100%;min-height:48px;padding:12px 16px;border-radius:var(--r-2);border:1px solid var(--line-2);background:var(--bg-2);color:var(--text);font-size:.9375rem;letter-spacing:-.005em;transition:border-color var(--t-2),box-shadow var(--t-2),background var(--t-2);-webkit-appearance:none;appearance:none}
.input,.select{height:48px;line-height:1.25}
.textarea{min-height:120px;resize:vertical;line-height:1.5}
.select{background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 22px) 50%,calc(100% - 16px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:44px}
.input::placeholder,.textarea::placeholder{color:#5E5E5E;font-size:.875rem;letter-spacing:0}
/* Phones: 16px text stops iOS zooming into a focused field */
@media (max-width:760px){.input,.select,.textarea{font-size:1rem}}
.input:hover,.select:hover,.textarea:hover{border-color:var(--line-3)}
.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--text);box-shadow:0 0 0 4px rgba(255,255,255,.06);background:var(--surface)}
.input:user-invalid,.textarea:user-invalid,.select:user-invalid,.is-invalid{border-color:var(--coral)!important;box-shadow:0 0 0 4px var(--coral-soft)!important}
.input.is-valid{border-color:rgba(54,240,160,.55)}
.field__hint{font-size:.8125rem;color:var(--faint);line-height:1.5}
.field__error{font-size:.8125rem;color:var(--coral);min-height:0}
.input--mono{font-family:var(--font-mono);font-size:.9rem}
.counter{font:500 .75rem var(--font-mono);color:var(--faint)}
.search{position:relative;display:flex;align-items:center;min-width:0}
.search .input{padding-left:46px;padding-right:62px;border-radius:var(--r-pill)}
.search kbd{position:absolute;right:14px;font-size:.6875rem;padding:4px 7px;border:1px solid var(--line-2);border-radius:var(--r-1);color:var(--faint)}
.segmented{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--bg-2)}
.segmented button{min-height:36px;padding:0 16px;border:0;border-radius:var(--r-pill);background:transparent;color:var(--muted);font-size:.8125rem;font-weight:600;transition:background var(--t-2),color var(--t-2)}
.segmented button:hover{color:var(--text)}
.segmented button.active,.segmented button[aria-pressed="true"]{background:var(--text);color:var(--bg)}
.message{font-size:.875rem;line-height:1.5;min-height:1.5em}
.message.success{color:var(--mint)}
.message.error{color:var(--coral)}
.checkbox{display:flex;gap:12px;align-items:flex-start;font-size:.875rem;color:var(--muted);line-height:1.5;cursor:pointer}
.checkbox input{width:20px;height:20px;accent-color:var(--text);flex:none;margin-top:1px}

/* Upload */
.upload{position:relative;display:grid;grid-template-columns:72px 1fr;gap:16px;align-items:center;padding:14px;border:1px dashed var(--line-3);border-radius:var(--r-2);background:var(--bg-2);cursor:pointer;transition:border-color var(--t-2),background var(--t-2)}
.upload:hover,.upload.is-drag{border-color:var(--text);background:var(--surface)}
.upload input{position:absolute;inset:0;opacity:0;cursor:pointer}
.upload__thumb{width:72px;height:72px;border-radius:50%;background:var(--surface);display:grid;place-items:center;overflow:hidden;color:var(--faint);font-size:1.4rem}
.upload__thumb img{width:100%;height:100%;object-fit:cover}

/* ---------- 17. Wallet ---------- */
.wallet{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px solid var(--line-2);border-radius:var(--r-2);background:var(--bg-2);flex-wrap:wrap}
.wallet__id{display:flex;align-items:center;gap:12px;min-width:0}
.wallet__glyph{width:40px;height:40px;border-radius:var(--r-2);background:var(--surface);display:grid;place-items:center;flex:none;color:var(--cyan)}
.wallet__addr{font:500 .875rem var(--font-mono);overflow-wrap:anywhere}
.wallet.is-connected{border-color:rgba(34,211,255,.45)}
.wallet.is-connected .wallet__glyph{background:var(--cyan-soft)}

/* ---------- 18. Empty, error, skeleton ---------- */
.empty{display:grid;justify-items:start;gap:12px;padding:clamp(28px,4vw,44px);border:1px solid var(--line);border-radius:var(--r-3);background:var(--bg-2)}
.empty__glyph{width:44px;height:44px;border-radius:var(--r-2);border:1px solid var(--line-2);display:grid;place-items:center;font:600 .75rem var(--font-mono);color:var(--faint)}
.empty__title{font:700 1.35rem/1.1 var(--font-display);letter-spacing:-.03em}
.empty p{color:var(--muted);font-size:.9375rem;max-width:56ch;line-height:1.6}
.empty--error{border-color:rgba(255,93,115,.4);border-style:solid;background:var(--coral-soft)}
.empty--error .empty__glyph{color:var(--coral);border-color:rgba(255,93,115,.4)}
.empty--span{grid-column:1/-1}
.skel{position:relative;overflow:hidden;background:var(--bg-2);border-radius:var(--r-2)}
.skel::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(245,247,251,.06),transparent);transform:translateX(-100%);animation:shimmer 1.4s infinite}
@keyframes shimmer{to{transform:translateX(100%)}}
.skel--poster{aspect-ratio:4/5;border-radius:var(--r-3)}
.skel--row{height:81px;border-radius:0;border-bottom:1px solid var(--line);background:transparent}
.skel--row::before{content:"";position:absolute;left:4px;top:18px;width:44px;height:44px;border-radius:var(--r-2);background:var(--bg-2)}
.skel--stat{min-height:168px;border-radius:0}
.skel--line{height:14px;margin-block:8px}

/* ---------- 19. Pagination ---------- */
.pager{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:var(--s-7);flex-wrap:wrap}
.pager button{min-width:44px;height:44px;padding:0 12px;border-radius:var(--r-2);border:1px solid var(--line);background:transparent;color:var(--muted);font-weight:600;font-variant-numeric:tabular-nums}
.pager button:hover:not(:disabled){border-color:var(--line-3);color:var(--text)}
.pager button[aria-current="page"]{background:var(--text);color:var(--bg);border-color:var(--text)}
.pager button:disabled{opacity:.3;cursor:not-allowed}

/* ---------- 20. Modal & toast ---------- */
.modal{width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 48px);padding:0;border:1px solid var(--line-2);border-radius:var(--r-3);background:var(--bg-2);color:var(--text);box-shadow:0 40px 120px rgba(0,0,0,.6)}
.modal[open]{animation:modal-in var(--t-3) var(--ease-out)}
.modal::backdrop{background:rgba(7,7,10,.72);backdrop-filter:blur(4px)}
@keyframes modal-in{from{opacity:0;transform:translateY(16px) scale(.98)}}
.modal__body{padding:28px}
.modal__head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}
.modal__head h2{font:700 1.6rem/1 var(--font-display);letter-spacing:-.035em}
.modal__foot{display:flex;justify-content:flex-end;gap:10px;padding:18px 28px;border-top:1px solid var(--line);flex-wrap:wrap}
.modal--receipt{background:transparent;border:0;box-shadow:none;width:min(440px,calc(100% - 32px));overflow:visible}
.modal--receipt .receipt{--receipt-hole:rgba(7,7,10,.9);max-width:none}
.modal__close{width:36px;height:36px;border-radius:50%;border:1px solid var(--line-2);background:transparent;color:inherit;display:grid;place-items:center;flex:none}
.modal--receipt .modal__close{position:absolute;top:-48px;right:0;border-color:var(--line-3);color:var(--text)}

.toasts{position:fixed;z-index:200;right:16px;bottom:16px;display:grid;gap:10px;width:min(380px,calc(100% - 32px));pointer-events:none}
.toast{pointer-events:auto;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start;padding:14px 16px;border-radius:var(--r-2);background:var(--surface);border:1px solid var(--line-2);box-shadow:0 18px 50px rgba(0,0,0,.45);font-size:.875rem;line-height:1.45;animation:toast-in var(--t-3) var(--ease-out)}
.toast.is-leaving{animation:toast-out var(--t-2) var(--ease) forwards}
.toast::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--muted);margin-top:6px}
.toast--success::before{background:var(--mint)}.toast--error::before{background:var(--coral)}.toast--info::before{background:var(--cyan)}
.toast button{border:0;background:none;color:var(--faint);padding:0 2px;font-size:1.1rem;line-height:1}
@keyframes toast-in{from{opacity:0;transform:translateY(12px)}}
@keyframes toast-out{to{opacity:0;transform:translateX(24px)}}

/* PAYDAY alert: the payment-confirmation moment. Fires only for records already
   provider-confirmed in the API response. */
.pd-alert{position:fixed;z-index:210;left:50%;top:92px;width:min(520px,calc(100% - 32px));transform:translateX(-50%);border-radius:var(--r-3);overflow:hidden;background:#121212;border:1px solid var(--line-2);box-shadow:0 30px 90px rgba(0,0,0,.6);animation:alert-in .7s var(--ease-out) both}
.pd-alert.is-leaving{animation:alert-out .45s var(--ease) forwards}
.pd-alert__sweep{height:2px;background:var(--lime);transform-origin:left;animation:sweep 5.5s linear forwards}
.pd-alert__body{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;padding:18px 20px}
.pd-alert__mark{width:52px;height:52px;border-radius:var(--r-2);background:var(--bg);display:grid;place-items:center;animation:stamp .6s .25s var(--ease-out) both}
.pd-alert__mark img{width:34px;height:34px}
.pd-alert__kicker{font:600 var(--fs-label) var(--font-ui);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--lime)}
.pd-alert__title{font:700 1.2rem/1.15 var(--font-display);letter-spacing:-.025em;margin-top:4px;overflow-wrap:anywhere}
.pd-alert__amount{font:700 1.8rem/1 var(--font-display);letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--lime)}
@keyframes alert-in{0%{opacity:0;transform:translate(-50%,-24px) scale(.96)}100%{opacity:1;transform:translate(-50%,0)}}
@keyframes alert-out{to{opacity:0;transform:translate(-50%,-16px)}}
@keyframes sweep{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@keyframes stamp{0%{transform:scale(1.6) rotate(-12deg);opacity:0}100%{transform:none;opacity:1}}

/* ---------- 21. Ticker ---------- */
.ticker{overflow:hidden;border-block:1px solid var(--line);background:var(--bg);white-space:nowrap}
.ticker--lime{background:var(--bg);color:var(--faint)}
.ticker__track{display:inline-flex;gap:0;animation:ticker 48s linear infinite;will-change:transform}
.ticker__track span{display:inline-flex;align-items:center;gap:28px;padding:18px 14px;font:500 .75rem/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase}
.ticker__track i{width:4px;height:4px;border-radius:50%;background:currentColor;display:inline-block}
.ticker:hover .ticker__track{animation-play-state:paused}
@keyframes ticker{to{transform:translateX(-50%)}}

/* ---------- 22. Reveal ---------- */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}
.reveal.is-in{opacity:1;transform:none}
.no-js .reveal{opacity:1;transform:none}
.count{display:inline-block}
.bump{animation:bump .5s var(--ease-out)}
@keyframes bump{0%{transform:translateY(6px);opacity:.4}}

/* ==========================================================================
   PAGES
   ========================================================================== */

/* How it works (paper section, editorial) */
.how{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:2px solid var(--bg)}
.how__step{padding:28px 24px 8px 0;display:grid;gap:14px;align-content:start;position:relative}
.how__step+.how__step{padding-left:24px;border-left:1px solid rgba(7,7,10,.14)}
.how__no{font:700 clamp(3.5rem,6vw,5.6rem)/.8 var(--font-display);letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1.5px var(--bg)}
.how__step:first-child .how__no{color:var(--bg);-webkit-text-stroke:0}
.how__step h3{font:700 1.35rem/1.05 var(--font-display);letter-spacing:-.03em;text-transform:uppercase}
.how__step p{font-size:.9375rem;line-height:1.6;color:rgba(7,7,10,.72)}
.how__proof{font:600 var(--fs-label) var(--font-ui);letter-spacing:.12em;text-transform:uppercase;display:inline-flex;gap:8px;align-items:center;padding:8px 10px;background:var(--bg);color:var(--text);border-radius:var(--r-1);justify-self:start}
@media (max-width:960px){.how{grid-template-columns:repeat(2,minmax(0,1fr))}.how__step:nth-child(3){padding-left:0;border-left:0}.how__step:nth-child(n+3){border-top:1px solid rgba(7,7,10,.14)}}
@media (max-width:560px){.how{grid-template-columns:1fr}.how__step,.how__step+.how__step{padding-left:0;border-left:0;border-top:1px solid rgba(7,7,10,.14)}.how__step:first-child{border-top:0}}
.paper-head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s-5);align-items:end;margin-bottom:var(--s-7)}
.paper-head>div:first-child{grid-column:span 8}
.paper-head>div:last-child{grid-column:span 4}
.paper-head p{color:rgba(7,7,10,.72);line-height:1.65}
@media (max-width:860px){.paper-head>div:first-child,.paper-head>div:last-child{grid-column:1/-1}}

/* Live activity split */
.split{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s-5)}
.split__aside{grid-column:span 4}
.split__main{grid-column:span 8;min-width:0}
.split__aside--sticky{position:sticky;top:96px;align-self:start}
@media (max-width:960px){.split__aside,.split__main{grid-column:1/-1}.split__aside--sticky{position:static}}

/* Legend */
.legend{display:grid;gap:10px;margin-top:var(--s-5)}
.legend>div{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;font-size:.8125rem;color:var(--muted);line-height:1.45}
.legend .badge{justify-self:start}

/* Launch CTA slab */
.cta-slab{position:relative;overflow:hidden}
.cta-slab__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s-5);align-items:end}
.cta-slab__title{grid-column:span 9}
.cta-slab__side{grid-column:span 3;display:grid;gap:18px}
.cta-slab__side p{color:rgba(7,7,10,.74);line-height:1.6}
@media (max-width:960px){.cta-slab__title,.cta-slab__side{grid-column:1/-1}}

/* FAQ */
.faq{border-top:1px solid var(--line-2)}
.faq details{border-bottom:1px solid var(--line-2)}
.faq summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:56px minmax(0,1fr) 32px;gap:12px;align-items:center;padding:24px 0;font:600 clamp(1.05rem,1.6vw,1.3rem)/1.3 var(--font-display);letter-spacing:-.02em}
.faq summary::-webkit-details-marker{display:none}
.faq summary .faq__no{font:500 .8125rem var(--font-mono);color:var(--faint)}
.faq summary::after{content:"+";width:32px;height:32px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;font:400 1.2rem/1 var(--font-ui);transition:transform var(--t-2) var(--ease),background var(--t-2)}
.faq details[open] summary::after{transform:rotate(45deg);background:var(--text);color:var(--on-accent);border-color:var(--text)}
.faq details p{padding:0 44px 26px 68px;color:var(--muted);line-height:1.7;max-width:80ch}
.faq summary:hover{color:var(--text)}
@media (max-width:560px){.faq summary{grid-template-columns:36px minmax(0,1fr) 32px}.faq details p{padding:0 0 22px 48px}}

/* Footer */
.footer{background:var(--bg);border-top:1px solid var(--line);padding:var(--s-9) 0 var(--s-5);overflow:hidden}
.footer__big{font:700 clamp(4.4rem,23vw,21rem)/.8 var(--font-display);letter-spacing:-.07em;text-transform:uppercase;color:transparent;-webkit-text-stroke:1px var(--line-3);margin:var(--s-8) 0 var(--s-5);white-space:nowrap;user-select:none}
.footer__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s-5)}
.footer__brand{grid-column:span 4;display:grid;gap:16px;align-content:start}
.footer__brand p{color:var(--muted);font-size:.875rem;line-height:1.6;max-width:34ch}
/* Official contract address pill (footer). */
.ca{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ca-pill{display:inline-flex;align-items:center;gap:10px;height:40px;padding:0 6px 0 6px;border:1px solid var(--line-2);border-radius:999px;background:var(--surface);color:var(--text);font:inherit;cursor:pointer;transition:border-color .2s,background .2s}
.ca-pill__label{display:inline-grid;place-items:center;height:28px;padding:0 10px;border-radius:999px;background:var(--money);color:#0A0A0A;font:600 .6875rem/1 var(--font-mono);letter-spacing:.12em}
.ca-pill__value{font:500 .8125rem/1 var(--font-mono);letter-spacing:.02em;color:var(--text)}
.ca-pill__icon{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:999px;color:var(--muted);transition:color .2s}
button.ca-pill:hover{border-color:var(--line-3);background:var(--surface-2)}
button.ca-pill:hover .ca-pill__icon,button.ca-pill.is-copied .ca-pill__icon{color:var(--money)}
button.ca-pill:focus-visible,.ca-link:focus-visible{outline:2px solid var(--money);outline-offset:2px}
.ca-pill--pending{cursor:default;padding-right:16px}
.ca-pill--pending .ca-pill__label{background:var(--surface-2);color:var(--muted)}
.ca-pill--pending .ca-pill__value{font-family:var(--font-ui);color:var(--muted)}
.ca-link{display:inline-grid;place-items:center;width:40px;height:40px;border:1px solid var(--line-2);border-radius:999px;color:var(--muted);transition:color .2s,border-color .2s}
.ca-link:hover{color:var(--text);border-color:var(--line-3)}
.ca-net{font:500 .6875rem/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--amber)}
.footer__cols{grid-column:6/span 7;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-5)}
.footer__cols div{display:grid;gap:12px;align-content:start}
.footer__cols h4{font:600 var(--fs-label) var(--font-ui);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--faint);margin-bottom:4px}
.footer__cols a{font-size:.9375rem;color:var(--muted);transition:color var(--t-2)}
.footer__cols a:hover{color:var(--text)}
.footer__legal{display:flex;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;padding-top:var(--s-5);border-top:1px solid var(--line);font-size:.75rem;color:var(--faint)}
@media (max-width:860px){.footer__brand,.footer__cols{grid-column:1/-1}}
@media (max-width:480px){.footer__cols{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- Page hero (inner pages) ---------- */
.phero{padding:clamp(48px,7vw,104px) 0 clamp(40px,5vw,72px);position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.phero__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s-5);align-items:end}
.phero__title{grid-column:span 8}
.phero__title h1{margin-top:18px}
.phero__aside{grid-column:span 4;display:grid;gap:18px}
.phero__shape{position:absolute;right:calc(-1*var(--gutter));top:0;width:min(28vw,360px);height:100%;pointer-events:none;opacity:.9}
.phero__shape i{position:absolute;display:block}
.phero--accent .phero__shape i:nth-child(1){right:0;top:0;width:60%;height:62%;background:var(--sh-accent,var(--text))}
.phero--accent .phero__shape i:nth-child(2){right:48%;top:44%;width:34%;aspect-ratio:1;border-radius:50%;border:10px solid var(--text)}
.phero--accent .phero__title{position:relative;z-index:1}
@media (max-width:960px){.phero__title,.phero__aside{grid-column:1/-1}.phero__shape{opacity:.35;width:22vw}}
@media (max-width:720px){.phero__shape{display:none}}

/* ---------- Creators directory ---------- */
.feature{position:relative;border-radius:var(--r-3);overflow:hidden;border:1px solid var(--line);min-height:clamp(380px,44vw,520px);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));margin-bottom:var(--s-8)}
.feature__art{grid-column:6/-1;position:relative}
.feature__art .art{position:absolute;inset:0}
.feature__art::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--bg-2) 0%,transparent 45%);z-index:5}
.feature__copy{grid-column:1/span 6;position:relative;z-index:6;padding:clamp(24px,4vw,56px);display:flex;flex-direction:column;justify-content:flex-end;gap:18px;background:var(--bg-2)}
.feature__name{font:700 clamp(2.6rem,6vw,5.4rem)/.86 var(--font-display);letter-spacing:-.055em;text-transform:uppercase;overflow-wrap:anywhere}
@media (max-width:860px){.feature{grid-template-columns:1fr}.feature__art{grid-column:1;min-height:260px;order:-1}.feature__art::before{background:linear-gradient(0deg,var(--bg-2) 0%,transparent 55%)}.feature__copy{grid-column:1}}
.toolbar{position:sticky;top:72px;z-index:20;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s-4);align-items:center;padding:14px 0;background:rgba(7,7,10,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);margin-bottom:var(--s-6)}
.toolbar .search{max-width:520px}
.results{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:var(--s-5);font-size:.875rem;color:var(--muted);flex-wrap:wrap}
.toolbar>*{min-width:0}
.toolbar .btn-row{flex-wrap:nowrap;min-width:0}
.toolbar .segmented{min-width:0;flex:0 1 auto}
@media (max-width:760px){.toolbar{grid-template-columns:minmax(0,1fr);top:72px}.toolbar .btn-row{flex-wrap:wrap}.toolbar .segmented{overflow-x:auto;flex-wrap:nowrap;max-width:100%;scrollbar-width:none}.toolbar .segmented::-webkit-scrollbar{display:none}.toolbar .segmented button{flex:none}}

/* ---------- Creator profile ---------- */
.crumbs{display:flex;gap:10px;align-items:center;font-size:.8125rem;color:var(--faint);padding:24px 0}
.crumbs a:hover{color:var(--text)}
.profile{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s-5);align-items:end;padding-bottom:var(--s-7);border-bottom:1px solid var(--line)}
.profile__art{grid-column:span 4;border-radius:var(--r-3);overflow:hidden;border:1px solid var(--line);aspect-ratio:4/5;position:relative}
.profile__art .art{position:absolute;inset:0}
.profile__id{grid-column:span 8;display:grid;gap:18px;align-content:end}
.profile__name{font:700 clamp(3rem,8.4vw,7.6rem)/.84 var(--font-display);letter-spacing:-.06em;text-transform:uppercase;overflow-wrap:anywhere}
.profile__meta{display:flex;gap:10px;flex-wrap:wrap;align-items:center;color:var(--muted)}
.profile__links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.plink{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--line-2);border-radius:var(--r-2);font-size:.875rem;min-width:0;transition:border-color var(--t-2),background var(--t-2)}
a.plink:hover{border-color:var(--text);background:rgba(255,255,255,.06)}
.plink.is-muted{color:var(--faint);border-style:dashed}
.profile__note{padding:16px 18px;border-left:3px solid var(--violet);background:var(--violet-soft);border-radius:0 var(--r-2) var(--r-2) 0;font-size:.875rem;line-height:1.6;color:var(--muted)}
.profile__note b{color:var(--text)}
@media (max-width:860px){.profile__art{grid-column:1/-1;max-width:340px;aspect-ratio:1}.profile__id{grid-column:1/-1}}
@media (max-width:480px){.profile__links{grid-template-columns:1fr}}

/* ---------- Launch studio ---------- */
.studio{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s-6);align-items:start;padding-bottom:var(--section)}
.studio__main{grid-column:span 7;min-width:0}
.studio__side{grid-column:span 5;position:sticky;top:96px;display:grid;gap:var(--s-4)}
.studio__steps{margin:var(--s-6) 0 var(--s-6)}
.studio__panel{border:1px solid var(--line);border-radius:var(--r-3);background:var(--bg-2);padding:clamp(20px,3vw,32px)}
.studio__panel h2{font:700 clamp(1.6rem,2.6vw,2.2rem)/1 var(--font-display);letter-spacing:-.04em;text-transform:uppercase;margin:10px 0 10px}
.studio__nav{display:flex;justify-content:space-between;gap:12px;margin-top:var(--s-6);padding-top:var(--s-5);border-top:1px solid var(--line);flex-wrap:wrap}
@media (max-width:960px){.studio__main,.studio__side{grid-column:1/-1}.studio__side{position:static}}
@media (max-width:560px){.studio__nav .btn{flex:1}}
.pick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:420px;overflow:auto;padding:2px}
.pick__item{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;align-items:center;padding:10px;border:1px solid var(--line-2);border-radius:var(--r-2);background:var(--bg);text-align:left;color:inherit;transition:border-color var(--t-2),background var(--t-2)}
.pick__item:hover{border-color:var(--line-3)}
.pick__item[aria-pressed="true"]{border-color:var(--text);background:rgba(255,255,255,.06)}
.pick__item .art{width:52px;height:52px;border-radius:var(--r-1)}
.pick__name{font-weight:600;overflow-wrap:anywhere}
.pick__sub{font-size:.75rem;color:var(--faint)}
@media (max-width:560px){.pick{grid-template-columns:1fr}}
/* Live token preview */
.preview{border-radius:var(--r-3);overflow:hidden;border:1px solid var(--line-2);background:var(--bg-2)}
.preview__banner{position:relative;height:150px}
.preview__banner .art{position:absolute;inset:0}
.preview__coin{position:absolute;left:20px;bottom:-36px;width:84px;height:84px;border-radius:50%;border:4px solid var(--bg-2);background:var(--surface);overflow:hidden;display:grid;place-items:center;z-index:6;font:700 1.6rem var(--font-display)}
.preview__coin img{width:100%;height:100%;object-fit:cover}
.preview__body{padding:48px 20px 20px;display:grid;gap:10px}
.preview__name{font:700 1.7rem/1 var(--font-display);letter-spacing:-.04em;overflow-wrap:anywhere}
.preview__ticker{font:500 .9375rem var(--font-mono);color:var(--cyan)}
.preview__desc{font-size:.875rem;color:var(--muted);line-height:1.55;overflow-wrap:anywhere}
.preview__for{display:flex;gap:10px;align-items:center;padding-top:14px;border-top:1px solid var(--line);font-size:.8125rem;color:var(--muted)}
.preview__for .art{width:32px;height:32px;border-radius:50%}
.preview__status{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 20px;border-top:1px solid var(--line);background:var(--bg);font-size:.75rem;color:var(--faint);flex-wrap:wrap}
/* Fee split */
.split-bar{display:flex;height:48px;border-radius:var(--r-2);overflow:hidden;border:1px solid var(--line-2)}
.split-bar__seg{display:flex;align-items:center;padding:0 14px;font:600 .8125rem var(--font-ui);white-space:nowrap;overflow:hidden;min-width:0}
.split-bar__seg--lime{background:var(--text);color:var(--on-accent);flex:1 1 100%}
.split-bar__seg--ghost{background:var(--surface);color:var(--muted)}
.route{list-style:none;padding:0;margin:var(--s-5) 0 0;display:grid;gap:0}
.route li{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:14px;align-items:start;padding:14px 0;border-top:1px solid var(--line)}
.route__n{width:32px;height:32px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;font:500 .75rem var(--font-mono);color:var(--faint)}
.route__t{font-weight:600}
.route__d{font-size:.8125rem;color:var(--muted);line-height:1.5;margin-top:3px}
.callout{display:grid;gap:8px;padding:16px 18px;border-radius:var(--r-2);border:1px solid var(--line-2);background:var(--bg);font-size:.875rem;line-height:1.55;color:var(--muted)}
.callout b{color:var(--text)}
.callout--warn{border-color:rgba(255,93,115,.4);background:var(--coral-soft)}
.callout--warn b{color:var(--coral)}
.callout--info{border-color:rgba(34,211,255,.35);background:var(--cyan-soft)}
.callout--lime{border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.06)}
details.disclose{border:1px solid var(--line);border-radius:var(--r-2);background:var(--bg)}
details.disclose summary{cursor:pointer;padding:14px 16px;font-size:.875rem;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:12px}
details.disclose summary::-webkit-details-marker{display:none}
details.disclose summary::after{content:"Show";font-weight:500;color:var(--cyan);font-size:.8125rem}
details.disclose[open] summary::after{content:"Hide"}
details.disclose>div{padding:0 16px 14px}
.check-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.check-list li{display:grid;grid-template-columns:22px 1fr;gap:10px;font-size:.875rem;line-height:1.5;color:var(--muted)}
.check-list li::before{content:"";width:18px;height:18px;margin-top:2px;border-radius:50%;border:1.5px solid var(--line-3)}
.check-list li.ok::before{background:var(--mint);border-color:var(--mint)}
.check-list li.bad::before{background:var(--coral);border-color:var(--coral)}
.check-list li.wait::before{border-style:dashed;border-color:var(--cyan)}
.check-list b{color:var(--text);font-weight:600}

/* ---------- Proof trace ---------- */
.trace{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border:1px solid var(--line);border-radius:var(--r-3);overflow:hidden;counter-reset:trace}
.trace__node{position:relative;padding:22px 20px 20px;display:grid;gap:10px;align-content:start;background:var(--bg);min-width:0;counter-increment:trace}
.trace__node+.trace__node{border-left:1px solid var(--line)}
.trace__node::after{content:"";position:absolute;right:-7px;top:30px;width:12px;height:12px;background:var(--bg);border-top:1px solid var(--line-3);border-right:1px solid var(--line-3);transform:rotate(45deg);z-index:2}
.trace__node:last-child::after{display:none}
.trace__k{font:600 var(--fs-label) var(--font-ui);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--faint)}
.trace__k::before{content:counter(trace,decimal-leading-zero) " / ";font-family:var(--font-mono);letter-spacing:0}
.trace__v{font:600 1.35rem/1.1 var(--font-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.trace__d{font-size:.75rem;color:var(--muted);line-height:1.5}
.trace__node.is-live{background:linear-gradient(180deg,var(--lime-soft),transparent)}
.trace__node.is-live .trace__v{color:var(--lime)}
@media (max-width:960px){.trace{grid-template-columns:1fr}.trace__node+.trace__node{border-left:0;border-top:1px solid var(--line)}.trace__node::after{right:auto;left:30px;top:auto;bottom:-7px;transform:rotate(135deg)}}
.banner{display:flex;gap:12px;align-items:center;padding:14px 18px;border-radius:var(--r-2);font-size:.875rem;line-height:1.5;border:1px solid var(--line-2);background:var(--bg-2)}
.banner--live{border-color:rgba(61,220,132,.3);background:var(--lime-soft)}
.banner--sandbox{border:2px dashed var(--amber);background:rgba(255,181,71,.1);color:#FFE0AA}
.banner--error{border-color:rgba(255,93,115,.5);background:var(--coral-soft)}
body.sandbox-mode .phero{background:rgba(245,181,68,.05)}

/* ---------- Nominate / opt-out ---------- */
.form-shell{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s-6);padding-block:var(--s-8) var(--section)}
.form-shell__intro{grid-column:span 5;display:grid;gap:var(--s-5);align-content:start}
.form-shell__form{grid-column:7/span 6}
@media (max-width:960px){.form-shell__intro,.form-shell__form{grid-column:1/-1}}
.principles{list-style:none;margin:0;padding:0;display:grid;border-top:1px solid var(--line)}
.principles li{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:16px 0;border-bottom:1px solid var(--line);font-size:.9375rem;color:var(--muted)}
.principles b{font:500 .8125rem var(--font-mono);color:var(--text)}
.form-card{border:1px solid var(--line);border-radius:var(--r-3);background:var(--bg-2);padding:clamp(20px,3vw,32px)}
.form-card__head{display:flex;justify-content:space-between;gap:12px;padding-bottom:18px;margin-bottom:24px;border-bottom:1px solid var(--line)}
.form-card .btn[type=submit]{margin-top:var(--s-6)}
.form-card .fine{margin-top:var(--s-4)}

/* ---------- Status key grid ---------- */
.key{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-3);overflow:hidden}
.key>div{background:var(--bg);padding:20px;display:grid;gap:12px;align-content:start}
.key h3{font:600 1rem/1.2 var(--font-ui);letter-spacing:0}
.key p{font-size:.8125rem;color:var(--muted);line-height:1.5}

/* Process list (how it works page) */
.process{list-style:none;margin:0;padding:0;display:grid}
.process li{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s-5);padding:var(--s-7) 0;border-top:1px solid var(--line);align-items:start}
.process__no{grid-column:span 2;font:700 clamp(3rem,6vw,5.5rem)/.8 var(--font-display);letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1.5px var(--line-3)}
.process li:hover .process__no{-webkit-text-stroke-color:var(--text)}
.process__body{grid-column:span 7;display:grid;gap:12px}
.process__body h2{font:700 clamp(1.6rem,2.6vw,2.3rem)/1 var(--font-display);letter-spacing:-.04em;text-transform:uppercase}
.process__proof{grid-column:span 3;justify-self:end}
@media (max-width:860px){.process__no,.process__body,.process__proof{grid-column:1/-1}.process__proof{justify-self:start}}

/* Source/address lists */
.addr{display:grid;gap:6px;padding:14px 0;border-bottom:1px solid var(--line);min-width:0}
.addr span{font:600 var(--fs-label) var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
.addr code{font-size:.75rem;color:var(--cyan);overflow-wrap:anywhere}

/* Utilities */
.mt-1{margin-top:var(--s-2)}.mt-2{margin-top:var(--s-4)}.mt-3{margin-top:var(--s-5)}.mt-4{margin-top:var(--s-6)}.mt-5{margin-top:var(--s-7)}.mt-6{margin-top:var(--s-8)}
.gap-list{display:grid;gap:var(--s-4)}
.center{text-align:center}
.nowrap{white-space:nowrap}
.lime{color:var(--text)}.mint{color:var(--mint)}.coral{color:var(--coral)}.cyan{color:var(--cyan)}.muted{color:var(--muted)}

/* ==========================================================================
   OPERATOR CONSOLE (admin.html / finance.html). Class names are the
   contract used by admin.js, finance.js, creators-admin.js, payments-admin.js,
   support-admin.js, income.js and launch-studio.js. Restyle only.
   ========================================================================== */
.admin{background:var(--bg);color:var(--text);min-height:100vh;font-size:.875rem}
.admin main.wrap{padding-top:40px;padding-bottom:96px}
.admin .admin-top{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:16px;height:64px;background:rgba(7,7,10,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);max-width:none;padding-inline:max(var(--gutter),calc((100% - var(--maxw))/2 + var(--gutter)))}
.admin .admin-top>a:last-child{font-size:.8125rem;font-weight:600;color:var(--muted);padding:8px 12px;border:1px solid var(--line-2);border-radius:var(--r-1)}
.admin .admin-top>a:last-child:hover{color:var(--text);border-color:var(--line-3)}
.logo{display:inline-flex;align-items:center}
.logo-mark{display:block;width:34px;height:34px}
.eyebrow{display:flex;align-items:center;gap:10px;font:500 var(--fs-label)/1.3 var(--font-mono);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--text)}
.admin h1{font:700 clamp(2rem,4vw,3.2rem)/.95 var(--font-display);letter-spacing:-.045em;text-transform:uppercase;margin:14px 0 10px}
.admin h2{font:600 1.15rem/1.2 var(--font-display);letter-spacing:-.02em}
.admin h3{font:600 .9375rem/1.3 var(--font-ui);letter-spacing:0}
.admin h4{font:600 var(--fs-label) var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin:18px 0 8px}
.admin-sub{color:var(--muted);font-size:.9375rem;line-height:1.6;margin-bottom:28px;max-width:72ch}
.admin label{display:block;font:600 var(--fs-label)/1.2 var(--font-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin:14px 0 7px}
.admin input,.admin select,.admin textarea{width:100%;min-height:42px;padding:10px 12px;border-radius:var(--r-1);border:1px solid var(--line-2);background:var(--bg);color:var(--text);font-size:.875rem;transition:border-color var(--t-2),box-shadow var(--t-2)}
.admin input[type=checkbox],.admin input[type=radio]{width:auto;min-height:0;accent-color:var(--text)}
.admin textarea{min-height:84px;resize:vertical}
.admin input:focus,.admin select:focus,.admin textarea:focus{outline:none;border-color:var(--text);box-shadow:0 0 0 3px rgba(255,255,255,.06)}
.admin select{-webkit-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:34px}
.admin-login{max-width:440px;margin:56px auto;padding:32px;border:1px solid var(--line-2);border-radius:var(--r-3);background:var(--bg-2);position:relative;overflow:hidden}
.admin-login::before{content:"";position:absolute;left:0;top:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--line-3),transparent)}
.admin-login h2{font:700 1.5rem/1 var(--font-display);letter-spacing:-.03em;text-transform:uppercase;margin-bottom:8px}
.admin .admin-login .btn{width:100%;margin-top:22px}
.admin-dashboard{display:none}
.admin-dashboard.show{display:block;animation:page-in var(--t-3) var(--ease-out)}
.admin .button-row{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.admin-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-3);overflow:hidden;margin:20px 0 22px}
.admin-kpi{background:var(--bg-2);padding:20px;min-height:112px;display:flex;flex-direction:column;gap:12px}
.admin-kpi span{font:600 var(--fs-label) var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
.admin-kpi b{font:600 1.75rem/1 var(--font-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin-top:auto}
.admin-kpi:first-child b{color:var(--text)}
.admin-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
.admin-card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-3);padding:22px;margin-bottom:16px;min-width:0}
.admin-card>h2:first-child,.admin-card>.button-row:first-child{margin-bottom:6px}
.admin-card>p{font-size:.8125rem;color:var(--muted);line-height:1.55;margin-top:6px}
.admin-card details{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}
.admin-card summary{cursor:pointer;font-weight:600;color:var(--text);font-size:.8125rem}
.admin-card summary:hover{color:var(--text)}
.admin-form{margin-top:10px}
.admin-form input,.admin-form select{margin:0 0 4px}
.admin-form button{margin-top:14px}
.admin small{color:var(--faint);font-size:.75rem}
.admin-list{margin-top:14px}
.admin-item{border-top:1px solid var(--line);padding:14px 0;overflow-wrap:anywhere}
.admin-item:first-child{border-top:1px solid var(--line-2)}
.admin-item-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;font-size:.875rem;margin-bottom:6px}
.admin-item h3{font-size:.9375rem;margin:0}
.admin-item p{font-size:.8125rem;color:var(--muted);line-height:1.55;margin:6px 0}
.admin-item a{font-size:.8125rem;color:var(--cyan);text-decoration:underline;text-underline-offset:3px;word-break:break-word}
.admin-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.admin-actions button,.small-btn{min-height:34px;padding:0 12px;border-radius:var(--r-1);border:1px solid var(--line-2);background:var(--surface);color:var(--text);font:600 .75rem/1 var(--font-ui);transition:border-color var(--t-2),background var(--t-2),transform var(--t-1)}
.admin-actions button:hover,.small-btn:hover{border-color:var(--line-3);background:var(--surface-2)}
.admin-actions button:active,.small-btn:active{transform:scale(.97)}
.admin-actions button:disabled,.small-btn:disabled{opacity:.4;cursor:not-allowed}
.admin-actions .good,.small-btn.good{background:var(--text);border-color:var(--text);color:var(--on-accent)}
.admin-actions .good:hover,.small-btn.good:hover{background:#D8FF6B;border-color:#D8FF6B}
.admin-actions .bad,.small-btn.bad{background:var(--coral-soft);border-color:rgba(255,93,115,.45);color:var(--coral)}
.admin .btn{min-height:46px;border-radius:var(--r-2);padding:0 20px;border:1px solid var(--line-3);background:transparent;color:var(--text);display:inline-flex;align-items:center;justify-content:center;gap:8px;font:600 .875rem/1 var(--font-ui);transition:transform var(--t-1),box-shadow var(--t-2)}
.admin .btn.primary{background:var(--text);border-color:var(--text);color:var(--on-accent)}
.admin .btn.primary:hover{box-shadow:0 0 0 4px rgba(255,255,255,.06)}
.admin .btn:active{transform:translateY(1px)}
.admin .btn:disabled{opacity:.4;cursor:not-allowed}
.admin-message{font-size:.8125rem;font-weight:600;min-height:22px;margin-top:12px;color:var(--mint)}
.admin-message.error,.admin-message:where([data-tone="error"]){color:var(--coral)}
.admin-flag{display:inline-flex;align-items:center;gap:6px;font:600 .6875rem/1 var(--font-ui);letter-spacing:.06em;text-transform:uppercase;background:rgba(255,181,71,.12);color:var(--amber);border:1px solid rgba(255,181,71,.35);border-radius:var(--r-1);padding:6px 8px;margin-top:6px}
.notice{padding:14px 16px;background:rgba(255,181,71,.08);font-size:.8125rem;line-height:1.6;border:1px solid rgba(255,181,71,.3);border-left:3px solid var(--amber);border-radius:var(--r-1);margin-bottom:22px;color:#FFE0AA}
.admin .mono,.admin pre{font-family:var(--font-mono);font-size:.75rem}
.admin pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-1);padding:12px;margin:12px 0 0;max-height:360px;overflow:auto;color:var(--muted)}
.admin pre:empty{display:none}
.admin code{font-family:var(--font-mono);font-size:.75rem;color:var(--cyan)}
.admin hr{border:0;border-top:1px solid var(--line);margin:18px 0}
.admin table{width:100%;border-collapse:collapse;font-size:.8125rem}
.admin th{text-align:left;font:600 var(--fs-label) var(--font-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);padding:10px 8px;border-bottom:1px solid var(--line-2)}
.admin td{padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.cv-creator>summary{cursor:pointer;list-style:none}
.cv-creator h4{margin:18px 0 6px;font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase}
.cv-state{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border-radius:var(--r-1);border:1px solid currentColor;font:600 .625rem/1 var(--font-ui);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;color:var(--muted)}
.cv-state::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}
.cv-eligible,.cv-verified,.cv-accepted,.cv-confirmed,.cv-active,.cv-succeeded{color:var(--mint)}
.cv-suspended,.cv-rejected,.cv-removed,.cv-opted_out,.cv-failed,.cv-returned,.cv-reversed,.cv-disputed,.cv-dead,.cv-cancelled{color:var(--coral)}
.cv-pending,.cv-pending_verification,.cv-submitted,.cv-queued,.cv-awaiting_approval,.cv-proposed{color:var(--amber)}
.cv-planned,.cv-approved,.cv-scheduled{color:#A98BFF}
#cv-search,#cv-filter{max-width:100%}
.pay-steps{margin:10px 0 12px 18px;font-size:.8125rem;line-height:1.55;color:var(--muted)}
.pay-steps li{margin:4px 0}
.pay-steps li::marker{color:var(--text);font-family:var(--font-mono)}
.pay-receipt,.pay-form,.sup-form,.cv-form{margin-top:10px}
.launch-studio .button-row{margin-bottom:8px}
@media (max-width:1024px){.admin-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:860px){.admin-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){.admin-card{padding:16px}.admin-kpi b{font-size:1.4rem}.admin-card select{max-width:100%}.admin-login{padding:22px;margin:32px auto}}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .ticker__track{animation:none;transform:none}
  .reveal{opacity:1;transform:none}
  @view-transition{navigation:none}
}

/* Link-based segmented control (proof live/sandbox) */
.segmented .seg-link{display:inline-flex;align-items:center;min-height:36px;padding:0 16px;border-radius:var(--r-pill);font-size:.8125rem;font-weight:600;color:var(--muted);transition:background var(--t-2),color var(--t-2)}
.segmented .seg-link:hover{color:var(--text)}
.segmented .seg-link[aria-current="page"]{background:var(--text);color:var(--bg)}


/* ==========================================================================
   CHAPTER COMPONENTS (home): Prism-style chapters, UsePaid-style bento
   ========================================================================== */

/* Hero, v2: two-tone headline + ivory product card */
.hero2{position:relative;padding:clamp(56px,9vw,128px) 0 clamp(40px,5vw,72px);overflow:hidden;background:radial-gradient(120% 70% at 80% 0%,#161616 0%,var(--bg) 60%)}
.hero2__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s-5);align-items:center}
.hero2__copy{grid-column:1/-1}
/* Full-width headline: sized so the longest line spans the content width */
.hero2__title{margin:22px 0 30px;font-size:clamp(2.6rem,calc((min(100vw,var(--maxw)) - 2 * var(--gutter)) / 8.85),10rem);line-height:.84}
.hero2__title>span{display:block;white-space:nowrap}
.hero2__title .dim{color:var(--muted)}
.hero2__lead{max-width:44rem;font-size:clamp(1.05rem,1.5vw,1.35rem)}
.hero2 .btn-row{margin-top:34px}
@media (max-width:560px){.hero2__title>span{white-space:normal}}

/* Ivory product card (Prism) */
.pcard{background:var(--paper);color:var(--ink);border-radius:var(--r-4);padding:22px;box-shadow:0 40px 100px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.06);position:relative}
.pcard__head{display:flex;justify-content:space-between;align-items:center;font:500 .6875rem var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted)}
.pcard__who{display:flex;gap:14px;align-items:center;margin:22px 0 18px}
.pcard__avatar{width:52px;height:52px;border-radius:50%;border:1.5px solid var(--ink);display:grid;place-items:center;font:600 1rem var(--font-display);position:relative;flex:none}
.pcard__avatar::after{content:"";position:absolute;right:-3px;bottom:-3px;width:18px;height:18px;border-radius:50%;background:var(--ink);border:2px solid var(--paper)}
.pcard__name{font:500 1.05rem/1.2 var(--font-ui)}
.pcard__meta{font:500 .6875rem/1.4 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);margin-top:3px}
.pcard__k{font:500 .6875rem var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted)}
.pcard__big{font:600 clamp(1.9rem,3vw,2.5rem)/1.05 var(--font-display);letter-spacing:-.045em;margin:8px 0 6px;min-height:2.1em}
.pcard__desc{font-size:.875rem;line-height:1.55;color:var(--ink-muted);min-height:4.6em}
.pcard__status{display:flex;align-items:center;gap:10px;margin-top:16px;padding:12px 14px;border:1px solid rgba(10,10,10,.12);border-radius:var(--r-pill);font-size:.875rem;font-weight:500}
.pcard__status i{width:8px;height:8px;border-radius:50%;background:var(--ink)}
.pcard__status.is-money i{background:#16A34A}
.pcard__tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin-top:18px;padding:4px;border-radius:var(--r-pill);background:var(--paper-2)}
.pcard__tabs button{min-height:34px;border:0;border-radius:var(--r-pill);background:transparent;font:500 .625rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);transition:background var(--t-2),color var(--t-2)}
.pcard__tabs button[aria-selected="true"]{background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.08)}
.pcard__swap{transition:opacity .3s var(--ease),transform .3s var(--ease)}
.pcard__swap.is-out{opacity:0;transform:translateY(4px)}

/* Chapter heading: 01 / NAME */
.chapter{display:grid;gap:18px;margin-bottom:clamp(32px,4vw,56px);max-width:62rem}
.chapter__no{font:500 .6875rem var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
.section--paper .chapter__no{color:var(--ink-muted)}
.chapter h2{font:600 clamp(2rem,4.6vw,4rem)/.92 var(--font-display);letter-spacing:-.05em;text-transform:uppercase}
.chapter p{max-width:40rem;color:var(--muted);line-height:1.65}
.section--paper .chapter p{color:var(--ink-muted)}
.chapter--row{max-width:none;grid-template-columns:minmax(0,1fr) auto;align-items:end}
@media (max-width:760px){.chapter--row{grid-template-columns:1fr}}

/* Odometer: each digit rolls to its value (tabular) */
.odo{display:inline-flex;font-variant-numeric:tabular-nums;line-height:1}
.odo__d{display:inline-block;height:1em;overflow:hidden;position:relative}
.odo__col{display:flex;flex-direction:column;transition:transform 1.1s var(--ease-out)}
.odo__col span{height:1em;line-height:1;display:block}
.odo__s{display:inline-block}

/* Closing chant (Prism "Find them. Pay them. Done.") */
.chant{font:600 clamp(3rem,9vw,8.5rem)/.86 var(--font-display);letter-spacing:-.06em;text-transform:uppercase}
.chant span{display:block}
.chant .dim{color:var(--ink-muted)}
.chapter--row>.chapter{margin-bottom:0}
/* Inner-page heroes: typographic only (no decorative slab) */
.phero__shape{display:none}
.phero{background:radial-gradient(90% 120% at 100% 0%,#151515 0%,var(--bg) 55%)}

/* ==========================================================================
   LAUNCH / REGISTER (UsePaid-style launch surface)
   ========================================================================== */
.lp{padding-block:clamp(32px,5vw,64px) var(--section)}
.lp__intro{border:1px solid var(--line);border-radius:var(--r-3);background:var(--bg-2);padding:clamp(22px,3vw,34px);margin-bottom:16px}
.lp__title{font:500 clamp(1.6rem,3vw,2.2rem)/1.1 var(--font-display);letter-spacing:-.035em;text-transform:none}
.lp__lead{margin-top:10px;color:var(--muted);max-width:62ch;line-height:1.6}
.lp__lead b{color:var(--text);font-weight:600}
.lp__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:16px;align-items:start}
@media (max-width:960px){.lp__grid{grid-template-columns:minmax(0,1fr)}}
.lp-card{border:1px solid var(--line);border-radius:var(--r-4);background:var(--bg-2);padding:clamp(20px,3vw,32px)}
.lp-card__head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.lp-card__head h2{font:500 1.6rem/1.1 var(--font-display);letter-spacing:-.03em;text-transform:none}
.segmented [role="tab"][aria-selected="true"]{background:var(--text);color:var(--bg)}
.lp-form{display:grid;gap:0}
.lp-form>.field+.field,.lp-form>.field-row+.field{margin-top:var(--s-5)}
.lp-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:var(--s-5)}
.lp-chip{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 14px;border-radius:var(--r-pill);border:1px solid var(--line-2);font-size:.8125rem;color:var(--muted)}
.lp-chip.is-on{color:var(--text);border-color:var(--line-3);background:rgba(255,255,255,.04)}
.lp-dot{width:8px;height:8px;border-radius:50%;background:var(--money)}
.lp-feeline{display:block;margin-top:8px;padding:10px 12px;border-radius:var(--r-2);background:var(--bg);border:1px solid var(--line);font-size:.75rem;line-height:1.5;color:var(--muted);white-space:normal}
.lp-actions{display:grid;gap:10px;margin-top:var(--s-5)}
.lp-inline{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.lp-gate{margin-bottom:var(--s-5);padding:14px 16px;border-radius:var(--r-2);border:1px solid rgba(245,181,68,.35);background:rgba(245,181,68,.07);font-size:.875rem;color:#F4DDB0}
.lp-gate b{color:var(--text)}
.lp-gate ul{margin:8px 0 0;padding-left:18px;color:var(--muted)}
/* Creator picker */
.picker{position:relative}
.picker__selected{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line-3);border-radius:var(--r-2);background:var(--bg)}
.picker__who{display:flex;align-items:center;gap:10px;min-width:0}
.picker__who .art{width:36px;height:36px;border-radius:50%;flex:none}
.picker__who b{font-weight:500}
.picker__who span{font-size:.75rem;color:var(--faint)}
.picker__list{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 6px);max-height:280px;overflow:auto;border:1px solid var(--line-2);border-radius:var(--r-2);background:#161616;box-shadow:0 20px 50px rgba(0,0,0,.5);padding:6px}
.picker__opt{display:flex;align-items:center;gap:10px;width:100%;padding:8px;border:0;border-radius:var(--r-1);background:transparent;color:inherit;text-align:left}
.picker__opt:hover,.picker__opt[aria-selected="true"]{background:rgba(255,255,255,.06)}
.picker__opt .art{width:32px;height:32px;border-radius:50%;flex:none}
.picker__opt span{font-size:.75rem;color:var(--faint)}
.picker__empty{padding:12px;font-size:.8125rem;color:var(--faint)}
/* Preview column */
.lp__side{display:grid;gap:12px;position:sticky;top:88px}
@media (max-width:960px){.lp__side{position:static}}
.lp-notify{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-items:start;padding:14px;border:1px solid var(--line);border-radius:var(--r-3);background:#131313}
.lp-notify__mark{width:40px;height:40px;border-radius:10px;background:#0A0A0A url("/brand/payday-mark.svg") center/70% no-repeat;border:1px solid var(--line-2)}
.lp-notify__top{display:flex;justify-content:space-between;gap:8px;font-size:.8125rem}
.lp-notify__top span{font:500 .625rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
.lp-notify p{font-size:.8125rem;color:var(--muted);line-height:1.5;margin-top:4px}
.lp-token{border:1px solid var(--line);border-radius:var(--r-3);background:var(--bg-2);padding:8px}
.lp-token__img{position:relative;aspect-ratio:1;border-radius:14px;overflow:hidden;background:var(--surface);display:grid;place-items:center}
.lp-token__img img{width:100%;height:100%;object-fit:cover}
.lp-token__img .art{position:absolute;inset:0}
.lp-token__img .poster__handle-chip{z-index:6}
.lp-token__body{padding:12px 6px 6px;display:grid;gap:10px}
.lp-token__name{display:flex;align-items:baseline;gap:8px;font:500 1.05rem/1.2 var(--font-ui);overflow-wrap:anywhere}
.lp-token__name small{font:500 .6875rem var(--font-mono);color:var(--faint)}
.lp-token__stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.lp-token__stats div{padding:10px 12px;border-radius:var(--r-2);background:#171717;border:1px solid var(--line)}
.lp-token__stats b{display:block;font:500 1rem var(--font-display);letter-spacing:-.02em}
.lp-token__stats span{font:500 .625rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
/* Progress */
.lp-progress{display:grid;gap:16px}
.lp-steps{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.lp-step{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:var(--r-2);background:var(--bg)}
.lp-step__n{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line-2);font:500 .8125rem var(--font-mono);color:var(--faint)}
.lp-step b{display:block;font-weight:500}
.lp-step p{font-size:.8125rem;color:var(--muted);margin-top:2px;line-height:1.45}
.lp-step code{font-size:.6875rem;color:var(--info);overflow-wrap:anywhere}
.lp-step.is-done .lp-step__n{background:var(--money);border-color:var(--money);color:var(--bg)}
.lp-step.is-current{border-color:var(--line-3)}
.lp-step.is-current .lp-step__n{border-color:var(--text);color:var(--text)}
.lp-done{padding:18px;border-radius:var(--r-2);border:1px solid rgba(61,220,132,.35);background:var(--money-soft)}
.lp-done b{color:var(--money)}
.lp-kv{display:grid;gap:0;margin-top:8px}
.lp-kv>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:.8125rem}
.lp-kv dt{color:var(--faint)}
.lp-kv dd{margin:0;text-align:right;overflow-wrap:anywhere;min-width:0}
.lp-kv code{font-size:.6875rem;color:var(--info)}

/* Launch preview token card (large image, stats, routing rows) */
.lp-token{padding:16px;border-radius:var(--r-4);background:#1C1C1C;border:1px solid var(--line-2);box-shadow:0 24px 60px rgba(0,0,0,.35)}
.lp-token__img{aspect-ratio:1;border-radius:18px;background:#262626;border:1px solid var(--line-2);display:grid;place-items:center;overflow:hidden}
.lp-token__img img{width:100%;height:100%;object-fit:cover}
.lp-token__img .lp-token__dash{width:20px;height:3px;border-radius:2px;background:#5A5A5A}
.lp-token__body{padding:16px 6px 2px;display:grid;gap:0}
.lp-token__name{display:flex;align-items:baseline;gap:10px;font:500 1.15rem/1.2 var(--font-ui);overflow-wrap:anywhere}
.lp-token__name small{font:500 .8125rem var(--font-mono);color:var(--faint);letter-spacing:.02em}
.lp-token__figs{display:flex;gap:22px;align-items:baseline;margin:10px 0 14px}
.lp-token__figs b{font:600 1.35rem/1 var(--font-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.lp-token__figs span{font-size:.875rem;color:var(--faint);margin-left:6px}
.lp-token__rows{display:grid;border-top:1px solid var(--line)}
.lp-token__row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);font-size:.9375rem;color:var(--muted)}
.lp-token__row:last-child{border-bottom:0}
.lp-token__row b{color:var(--text);font-weight:600;font-variant-numeric:tabular-nums;text-align:right;overflow-wrap:anywhere}
.lp-token__row .dim{color:var(--faint);font-weight:400}
.lp-token__note{font-size:.75rem;line-height:1.5;color:var(--faint);padding:4px 6px 2px}

/* ==========================================================================
   MONEY PATH DECK (home 000): one stage per slide, user-driven
   ========================================================================== */
.deck__nav{display:flex;align-items:center;gap:10px}
.deck__count{font:500 .8125rem var(--font-mono);letter-spacing:.12em;color:var(--faint);margin-right:6px;font-variant-numeric:tabular-nums}
.deck{position:relative;border:1px solid var(--line);border-radius:var(--r-4);background:var(--bg-2);overflow:hidden;outline-offset:4px}
.deck__track{position:relative;min-height:clamp(380px,40vw,480px)}
.slide{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);min-height:inherit}
.slide.is-in-right{animation:slide-in-right .55s var(--ease-out)}
.slide.is-in-left{animation:slide-in-left .55s var(--ease-out)}
@keyframes slide-in-right{from{opacity:0;transform:translateX(28px)}}
@keyframes slide-in-left{from{opacity:0;transform:translateX(-28px)}}
.slide__main{position:relative;padding:clamp(24px,4vw,56px);display:flex;flex-direction:column;justify-content:flex-end;gap:14px;border-right:1px solid var(--line);overflow:hidden}
.slide__no{position:absolute;top:clamp(16px,2.4vw,32px);right:clamp(18px,3vw,40px);font:600 clamp(5rem,12vw,11rem)/.8 var(--font-display);letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1px var(--line-3);user-select:none}
.slide__value{font:500 clamp(2.8rem,7vw,6.4rem)/.9 var(--font-display);letter-spacing:-.055em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;position:relative}
.slide__value.is-money{color:var(--money)}
.slide__words{font-style:italic;color:var(--muted);font-size:1rem}
.slide__side{padding:clamp(24px,4vw,48px);display:flex;flex-direction:column;gap:16px;justify-content:center}
.slide__title{font:600 clamp(1.4rem,2.2vw,1.9rem)/1.05 var(--font-display);letter-spacing:-.035em;text-transform:none}
.slide__body{color:var(--muted);line-height:1.65}
.slide__ev{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.slide__ev li{height:28px;display:inline-flex;align-items:center;padding:0 11px;border-radius:var(--r-pill);border:1px solid var(--line-2);font:500 .6875rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.slide__people{display:flex}
.slide__people a{width:40px;height:40px;border-radius:50%;overflow:hidden;border:2px solid var(--bg-2);margin-left:-8px;position:relative}
.slide__people a:first-child{margin-left:0}
.slide__people .art{position:absolute;inset:0}
.slide__cta{align-self:flex-start;margin-top:4px}
.deck__progress{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line)}
.deck__progress button{display:grid;gap:10px;padding:14px 14px 16px;background:none;border:0;border-left:1px solid var(--line);text-align:left;color:var(--faint);font:500 .6875rem/1.3 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;transition:color var(--t-2),background var(--t-2)}
.deck__progress button:first-child{border-left:0}
.deck__progress button:hover{color:var(--text);background:rgba(255,255,255,.02)}
.deck__progress i{height:2px;border-radius:1px;background:var(--line-2);position:relative;overflow:hidden}
.deck__progress i::after{content:"";position:absolute;inset:0;background:var(--text);transform:scaleX(0);transform-origin:left;transition:transform var(--t-3) var(--ease-out)}
.deck__progress [aria-selected="true"]{color:var(--text)}
.deck__progress [aria-selected="true"] i::after,.deck__progress .is-done i::after{transform:scaleX(1)}
.deck__progress .is-done i::after{background:var(--faint)}
@media (max-width:860px){
  .slide{grid-template-columns:minmax(0,1fr)}
  .slide__main{border-right:0;border-bottom:1px solid var(--line);min-height:240px}
  .deck__progress{grid-template-columns:repeat(7,minmax(0,1fr))}
  .deck__progress span{display:none}
  .deck__progress button{padding:14px 6px}
}
@media (max-width:560px){.deck__count{display:none}}

/* Hero "funds" glitch (hover / tap / idle). Money green on landing. */
.glitch{position:relative;display:inline-block;white-space:nowrap;cursor:default;transition:color .18s var(--ease)}
.glitch.is-money{color:var(--money)}
.glitch::before,.glitch::after{content:attr(data-text);position:absolute;inset:0;opacity:0;pointer-events:none}
.glitch.is-glitching::before{opacity:.9;color:var(--money);animation:glitch-a .22s steps(2,end) infinite}
.glitch.is-glitching::after{opacity:.75;color:var(--text);animation:glitch-b .26s steps(2,end) infinite}
.glitch.is-glitching{animation:glitch-shake .18s steps(2,end) infinite}
@keyframes glitch-a{0%{clip-path:inset(8% 0 62% 0);transform:translate(-4px,-1px)}50%{clip-path:inset(58% 0 12% 0);transform:translate(4px,1px)}100%{clip-path:inset(30% 0 44% 0);transform:translate(-2px,0)}}
@keyframes glitch-b{0%{clip-path:inset(66% 0 6% 0);transform:translate(3px,1px)}50%{clip-path:inset(12% 0 70% 0);transform:translate(-3px,-1px)}100%{clip-path:inset(40% 0 38% 0);transform:translate(2px,0)}}
@keyframes glitch-shake{0%{transform:translate(0)}50%{transform:translate(1px,-1px)}100%{transform:translate(-1px,1px)}}
@media (prefers-reduced-motion:reduce){.glitch.is-glitching,.glitch.is-glitching::before,.glitch.is-glitching::after{animation:none;opacity:0}}

/* Phosphor icons */
.ph{width:1em;height:1em;flex:none;display:inline-block;vertical-align:-.125em}
[data-icon]{display:inline-flex;align-items:center;justify-content:center;line-height:0}
.btn .ph,.btn__icon .ph{width:1.05em;height:1.05em}
.link .i .ph{width:1em;height:1em}
.icon-btn .ph{width:18px;height:18px}
.nav__drawer a .ph{width:22px;height:22px;color:var(--faint)}
.nav__wallet .ph{width:16px;height:16px}
.nav__wallet.is-connected .ph{color:var(--money)}
.nav__wallet.is-connected::before{display:none}
.modal__close .ph,.toast button .ph{width:16px;height:16px}
.search__icon{position:absolute;left:16px;color:var(--faint);pointer-events:none}
.search__icon .ph{width:18px;height:18px}
.empty__glyph .ph{width:20px;height:20px}
.row__icon .ph{width:20px;height:20px}
.pager button .ph{width:16px;height:16px}
.lp-step__n .ph{width:16px;height:16px}
.upload__thumb .ph{width:26px;height:26px}
/* Platform chips: brand logo in brand colour, neutral label */
.chip::before{display:none}
.chip .ph{width:13px;height:13px}
.chip--twitch .ph{color:#A970FF}.chip--youtube .ph{color:#FF3B3B}.chip--kick .ph{color:#53FC18}.chip--tiktok .ph{color:#25F4EE}
/* Verified tick in handle chips */
.poster__handle-chip .tick{width:auto;height:auto;background:none;display:inline-flex;color:var(--info)}
.poster__handle-chip .tick::after{display:none}
.poster__handle-chip .tick .ph{width:14px;height:14px}
/* Pump logomark in the launch pill */
.lp-chip__logo{width:18px;height:18px;display:block}
.lp-chip [data-icon] .ph{width:15px;height:15px;color:var(--muted)}
.poster__handle-chip i{overflow:hidden}
.poster__handle-chip i img{width:100%;height:100%;object-fit:cover;display:block}
