/* RealMeme — product UI. One neutral ground, one accent (brand green) used for actions and the token logos. */
@font-face{font-family:Inter;src:url('/assets/fonts/inter-latin.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:'Instrument Serif';src:url('/assets/fonts/instrument-serif-italic.woff2') format('woff2');font-style:italic;font-weight:400;font-display:swap}

:root{
  --bg:#f6f7f5;--ray-bg:#f0f1ee;--surface:#ffffff;--surface-2:#f0f2ee;--surface-3:#e9ece6;
  --line:#e4e7e1;--line-strong:#d4d8d0;
  --ink:#121412;--text:#2b2f2a;--muted:#686e66;--faint:#959b93;
  --accent:#5fff42;--accent-hover:#4cf02f;--accent-deep:#34dc1f;--accent-ink:#0f7a25;--accent-soft:#e7fbe2;
  --amber:#b7791f;--amber-soft:#fbf3e3;--blue:#2f6fdf;
  --radius:16px;--radius-sm:10px;--radius-xs:7px;
  --shadow-sm:0 1px 2px rgba(18,20,18,.05);
  --shadow:0 1px 2px rgba(18,20,18,.05),0 10px 30px -18px rgba(18,20,18,.22);
  --sans:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  --serif:'Instrument Serif',Georgia,'Times New Roman',serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
/* The logo's sunburst, very faint, fixed behind the whole page: 24 rays from just above the top centre. */
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(ellipse 70% 60% at 50% 0,rgba(255,255,255,.55) 0,rgba(255,255,255,0) 70%),repeating-conic-gradient(from -3.75deg at 50% -8%,var(--bg) 0deg 7.5deg,var(--ray-bg) 7.5deg 15deg)}
h1,h2,h3,p,figure,blockquote,dl,dd,ol,ul{margin:0}
ol,ul{padding:0;list-style:none}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,textarea{font:inherit;color:inherit}
button{border:0;background:none;padding:0;cursor:pointer}
button:disabled{cursor:not-allowed}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:6px}
::selection{background:var(--accent);color:var(--ink)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.wrap{width:100%;max-width:1200px;margin-inline:auto;padding-inline:24px}
main{outline:none}

/* Buttons, pills, links */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:999px;font-size:14px;font-weight:600;letter-spacing:-.01em;line-height:1.2;transition:background .15s,border-color .15s,color .15s,transform .15s;white-space:nowrap;border:1px solid transparent}
.btn-sm{min-height:36px;padding:0 14px;font-size:13px}
.btn-primary{background:var(--accent);color:var(--ink);border-color:#3fd423}
.btn-primary:hover{background:var(--accent-hover)}
.btn-secondary{background:var(--surface);color:var(--ink);border-color:var(--line-strong)}
.btn-secondary:hover{border-color:var(--ink)}
.btn:active{transform:translateY(1px)}
.btn:disabled{background:var(--surface-2);color:var(--muted);border-color:var(--line)}
.btn-jup{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn-jup:hover{background:#000}
.btn-jup img{width:18px;height:18px;flex:none}
.btn-jup:disabled{background:var(--ink);color:#fff;border-color:var(--ink);opacity:.88}
.btn-block{display:flex;flex-direction:column;width:100%;min-height:52px;gap:2px;border-radius:12px}
.btn-block small{font-size:11px;font-weight:500;color:inherit;opacity:.7}
.pill{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;border-radius:999px;font-size:10.5px;font-weight:600;letter-spacing:.04em;background:var(--surface-2);color:var(--muted);white-space:nowrap}
.pill i{width:6px;height:6px;border-radius:50%;background:var(--faint)}
.pill.soon{background:var(--amber-soft);color:var(--amber)}.pill.soon i{background:var(--amber)}
.pill.live{background:var(--accent-soft);color:var(--accent-ink)}.pill.live i{background:var(--accent-ink);animation:pulse 1.6s infinite}
.pill.done{background:#e8effd;color:var(--blue)}.pill.done i{background:var(--blue)}
@keyframes pulse{50%{opacity:.35}}
.link{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:600;color:var(--ink)}
.link svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.link:hover{color:var(--accent-ink)}
.kicker{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--accent-ink);background:var(--accent-soft);padding:5px 12px;border-radius:999px}
.fine{font-size:12px;line-height:1.65;color:var(--faint);margin-top:16px}
.dim{color:var(--faint)}

/* Header */
.site-header{position:sticky;top:0;z-index:30;background:rgba(246,247,245,.86);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line)}
.header-inner{height:64px;display:flex;align-items:center;gap:28px}
.brand{display:inline-flex;align-items:center;gap:12px;font-weight:680;font-size:19px;letter-spacing:-.02em;color:var(--ink)}
.brand em{font-style:normal;color:var(--accent-deep)}
.brand-mark{width:46px;height:46px;border-radius:50%}
.main-nav{display:flex;gap:4px}
.main-nav a{padding:7px 12px;border-radius:999px;font-size:14px;font-weight:500;color:var(--muted)}
.main-nav a:hover{color:var(--ink)}
.main-nav a.active{color:var(--ink);background:var(--surface-3)}
.header-actions{margin-left:auto;display:flex;align-items:center;gap:12px}
.x-link{display:grid;place-items:center;width:36px;height:36px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);transition:background .15s}
.x-link:hover{background:var(--surface-2)}
.x-link svg{width:16px;height:16px;fill:currentColor}
.footer-x{display:inline-flex;align-items:center;gap:6px}
.footer-x svg{width:12px;height:12px;fill:currentColor}
.network{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:500;color:var(--muted)}
.network img{width:15px;height:auto;display:block}

/* Sections */
.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:16px}
.section-head h2{font-size:20px;font-weight:650;letter-spacing:-.02em;color:var(--ink)}
.section-head span{font-size:13px;color:var(--muted)}

/* Hero */
.hero{padding-top:28px;padding-bottom:28px;display:grid;grid-template-columns:minmax(0,1fr) clamp(320px,36vw,440px);gap:40px;align-items:stretch}
.hero{position:relative;isolation:isolate}
.hero::before{content:'';position:absolute;z-index:-1;inset:-40px -120px -40px 45%;background:radial-gradient(55% 60% at 62% 42%,rgba(95,255,66,.24),rgba(95,255,66,0) 72%);pointer-events:none}
.hero::after{content:'';position:absolute;z-index:-2;inset:-56px -240px -20px -240px;background-image:radial-gradient(rgba(18,20,18,.09) 1px,transparent 1.3px);background-size:22px 22px;-webkit-mask-image:radial-gradient(60% 75% at 55% 35%,#000 20%,transparent 72%);mask-image:radial-gradient(60% 75% at 55% 35%,#000 20%,transparent 72%);pointer-events:none}
main{overflow-x:clip}
.powered{padding-top:14px;border-top:1px solid var(--line)}
.hero-facts{margin-bottom:28px}
.powered-label{display:block;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
.powered-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}
.powered-item{display:flex;align-items:center;gap:10px;padding:8px 12px;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-sm);transition:border-color .2s,transform .2s}
.powered-item:hover{border-color:var(--line-strong);transform:translateY(-1px)}
.powered-item img{width:24px;height:24px;flex:none}
.powered-item b{display:block;font-size:14px;font-weight:650;color:var(--ink);line-height:1.2}
.powered-item small{display:block;font-size:11px;color:var(--muted);line-height:1.3}
.hero-heading{--hero-title-size:clamp(36px,5vw,56px);display:grid;grid-template-columns:auto 1fr;column-gap:22px;align-items:center}
.hero-heading h1{display:contents}
.hero-heading .h1-top{grid-column:1 / -1}
.hero-heading .h1-green{grid-column:1}
.hero-heading .hero-lineup{grid-column:2;justify-self:start;align-self:center}
.lc-stack{display:flex;padding-left:12px}
.lc-stack a{display:block;margin-left:-12px;border-radius:50%;transition:transform .2s ease}
.lc-stack a:hover,.lc-stack a:focus-visible{transform:translateY(-3px)}
.lc-stack .emblem.s-s{--size:46px;box-shadow:0 0 0 3px var(--bg)}
.hero-visual{display:flex;flex-direction:column;justify-content:space-between;gap:18px;min-width:0}
/* The left column sets the hero height; the card fills it and the meme grid shrinks to fit (no blank space either side). */
.hero-visual{contain:size}
.hero-visual .launch-card{flex:1;min-height:0}
.hero-mix{flex:none}
.mix-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.mix-tile{position:relative;display:block;min-width:0;aspect-ratio:1;border-radius:18px;overflow:hidden;border:1px solid var(--line);background-color:var(--bg);background-image:radial-gradient(circle at 50% 50%,rgba(255,255,255,.6) 0,rgba(255,255,255,0) 70%),repeating-conic-gradient(from 6deg at 50% 58%,var(--bg) 0deg 12deg,var(--ray) 12deg 24deg);box-shadow:0 1px 2px rgba(18,20,18,.05),0 12px 24px -18px rgba(18,20,18,.45);transition:transform .2s ease,box-shadow .2s ease}
.mix-tile:hover,.mix-tile:focus-visible{transform:translateY(-3px);box-shadow:0 1px 2px rgba(18,20,18,.05),0 18px 28px -18px rgba(18,20,18,.5)}
.mix-tile img{position:absolute;inset:9%;width:82%;height:82%;object-fit:contain}
.launch-card{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:12px;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 1px 2px rgba(18,20,18,.05),0 18px 40px -28px rgba(15,122,37,.3)}
.lc-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.launch-card h2{font-size:17px;line-height:1.3;font-weight:650;letter-spacing:-.02em;color:var(--ink);text-wrap:balance}
.lc-top .pill{flex:none}
.launch-card h2+p{font-size:14px;color:var(--muted);margin-top:4px}
.lc-chain{flex:1 0 auto;display:flex;flex-direction:column;justify-content:center;background:var(--accent-soft);border-radius:12px;padding:12px 14px}
.lc-chain ol{margin:0;padding:0;list-style:none;display:grid;gap:7px}
.lc-chain li{display:flex;align-items:center;gap:9px;font-size:13px;line-height:1.35;color:var(--text)}
.lc-chain li img{width:20px;height:20px;flex:none;border-radius:50%}
.lc-chain b{font-weight:650;color:var(--ink)}
.lc-note{font-size:11.5px;line-height:1.4;color:var(--faint);text-align:center}
.hero-copy{min-width:0;display:flex;flex-direction:column}
.hero h1{font-size:var(--hero-title-size);line-height:1.04;font-weight:680;letter-spacing:-.035em;color:var(--ink);text-wrap:balance}
.hero h1 .h1-top{display:block;text-wrap:balance;margin-bottom:.16em}
.hero h1 .h1-green{display:block;color:var(--accent-deep)}
.interlude{padding-top:20px;text-align:center}
.interlude+.featured{padding-top:18px}
.interlude p{font-family:var(--serif);font-style:italic;font-size:clamp(30px,4.2vw,48px);line-height:1.12;letter-spacing:-.01em;color:var(--ink);text-wrap:balance}
.interlude em{color:var(--accent-deep)}
.hero-copy>p+p{margin-top:6px}
.hero-copy>p.hero-rule{color:var(--ink);font-weight:600}
.hero-copy>p{font-size:17px;line-height:1.6;color:var(--muted);margin-top:16px;max-width:640px}
.hero-facts{display:flex;flex-wrap:wrap;gap:6px;margin-top:22px}
.hero-facts li{font-size:12.5px;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:6px 11px}
.hero-facts b{color:var(--ink);font-weight:650}

/* Featured row */
.lc-film{margin:0;flex:none;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:var(--surface-2)}
.film-video{display:block;width:100%;height:auto;aspect-ratio:16 / 9}
.lc-film{position:relative}
.film-video{cursor:pointer}
.film-toggle{position:absolute;left:10px;bottom:16px;width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:50%;background:rgba(18,20,18,.72);color:#fff;cursor:pointer;opacity:.85;transition:opacity .2s,transform .2s}
.film-toggle:hover,.film-toggle:focus-visible{opacity:1;transform:scale(1.06)}
.film-toggle svg{width:16px;height:16px;fill:currentColor}
.film-toggle .ic-play{display:none}
.film-toggle[data-state="paused"] .ic-play{display:block}
.film-toggle[data-state="paused"] .ic-pause{display:none}
.film-bar{position:absolute;left:0;right:0;bottom:0;height:14px;display:flex;align-items:flex-end;cursor:pointer;touch-action:none}
.film-bar::before{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:rgba(18,20,18,.12)}
.film-bar i{position:relative;display:block;height:5px;width:0;background:var(--accent);border-radius:0 3px 3px 0}
.film-bar:hover::before,.film-bar:hover i{height:7px}
.film-bar:focus-visible{outline:2px solid var(--accent-ink);outline-offset:-2px}
.feature-row{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 56px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 56px),transparent);display:grid;grid-auto-flow:column;grid-auto-columns:184px;gap:14px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:10px;margin:0 -4px 22px;padding-inline:4px;scrollbar-width:thin}
.feature-tile{scroll-snap-align:start;display:flex;flex-direction:column;gap:3px}
.feature-art{display:grid;place-items:center;aspect-ratio:1;border-radius:var(--radius);background:radial-gradient(120% 90% at 50% 20%,#ffffff 0,var(--surface-2) 70%);border:1px solid var(--line);margin-bottom:10px;transition:transform .2s,box-shadow .2s}
.feature-tile:hover .feature-art{transform:translateY(-2px);box-shadow:var(--shadow)}
.feature-art .emblem.s-l{--size:128px}
.feature-name{font-size:15px;font-weight:600;color:var(--ink);letter-spacing:-.01em;text-align:center}
.feature-meta{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:12.5px;color:var(--muted)}
.feature-meta .pill{height:20px;font-size:9.5px;padding:0 7px}

/* Board table */
.board{padding-top:44px}
.board-table{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}
.board-row{display:grid;grid-template-columns:minmax(0,1fr) 150px 190px 120px 128px;align-items:center;gap:16px;padding:14px 20px;border-top:1px solid var(--line);transition:background .15s}
.board-row:first-child{border-top:0}
.board-row:not(.board-head):hover{background:#fafbf9}
.board-head{padding-block:11px;background:var(--surface);font-size:12px;font-weight:500;color:var(--faint)}
.cell-classic{display:flex;align-items:center;gap:14px;min-width:0}
.cell-classic>div{min-width:0}
.board-row .emblem.s-m{--size:46px}
.row-name{display:block;font-size:15px;font-weight:600;color:var(--ink);letter-spacing:-.01em}
.row-name span{font-weight:500;color:var(--faint);margin-left:4px;font-size:13px}
.row-name:hover{color:var(--accent-ink)}
.row-line{font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
.row-line span{color:var(--faint)}
.curve{display:flex;align-items:center;gap:10px}
.curve-bar{flex:1;height:6px;border-radius:999px;background:var(--surface-3);overflow:hidden}
.curve-bar i{display:block;height:100%;background:var(--accent);border-radius:inherit}
.curve span{font-size:12.5px;font-variant-numeric:tabular-nums;color:var(--muted);min-width:38px;text-align:right}
.cell-raised{font-size:14px;font-variant-numeric:tabular-nums;color:var(--ink)}
.cell-action{text-align:right}
.cell-action .btn{min-width:96px}

/* How it works / principles / CTA */
.how{padding-top:64px}
.how-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.how-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.how-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--accent-soft);color:var(--accent-ink);margin-bottom:16px}
.how-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.how-card h3{font-size:16px;font-weight:650;color:var(--ink);letter-spacing:-.01em}
.how-card p{font-size:14px;color:var(--muted);margin-top:6px}
.how-foot{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:16px;font-size:13px;color:var(--muted)}
.how-foot li::before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--accent-ink);margin-right:8px;vertical-align:middle}
.principles{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;padding-top:72px}
.principles h2{font-size:clamp(26px,3.2vw,36px);line-height:1.12;font-weight:680;letter-spacing:-.03em;color:var(--ink);text-wrap:balance}
.principles h2 span{display:block;color:var(--faint);text-wrap:balance}
.principles>div>p{font-size:15px;color:var(--muted);margin-top:14px;max-width:420px}
.principle-list article{padding:18px 0;border-top:1px solid var(--line)}
.principle-list article:first-child{border-top:0;padding-top:4px}
.principle-list h3{font-size:16px;font-weight:650;color:var(--ink)}
.principle-list p{font-size:14px;color:var(--muted);margin-top:4px}
.cta{padding-top:72px;padding-bottom:16px}
.cta-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center;background:var(--ink);color:#e9ece6;border-radius:22px;padding:36px 40px;overflow:hidden}
.cta-card h2{font-size:26px;font-weight:650;letter-spacing:-.025em;color:#fff}
.cta-card p{color:#aab0a7;margin-top:8px;max-width:440px;font-size:15px}
.cta-card .btn{margin-top:20px}
.cta-lineup{display:grid;grid-template-columns:repeat(4,clamp(52px,5.6vw,70px));gap:12px}
.cta-lineup .mix-tile{aspect-ratio:1;border-color:#ffffff26;border-radius:50%}
.cta-lineup .mix-tile img{inset:15%;width:70%;height:70%}
.cta-lineup a{transition:transform .2s}.cta-lineup a:hover{transform:translateY(-2px)}

/* Footer */
.site-footer{margin-top:72px;border-top:1px solid var(--line);background:var(--surface)}
.footer-inner{display:flex;align-items:center;gap:20px;padding-block:24px}
.footer-inner .brand{font-size:17px}
.footer-inner .brand-mark{width:38px;height:38px}
.footer-tag{font-size:13px;color:var(--muted)}
.footer-inner nav{margin-left:auto;display:flex;gap:18px;font-size:13px;color:var(--muted)}
.footer-inner nav a:hover{color:var(--ink)}
.disclosure{font-size:11.5px;line-height:1.7;color:var(--faint);padding-bottom:28px}

/* Profile pages */
.detail{padding-top:22px}
.crumbs{display:flex;gap:8px;font-size:13px;color:var(--faint)}
.crumbs a{color:var(--muted)}.crumbs a:hover{color:var(--ink)}
.crumbs span:last-child{color:var(--text)}
.detail-head{display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px;margin-top:20px}
.detail-head .detail-id{flex:0 1 auto}
.head-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto}
/* facts strip under the title, full width: facts on the left, the wallet note on the right */
.head-strip{flex-basis:100%;display:flex;flex-wrap:wrap;align-items:center;gap:10px 24px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.head-facts{display:flex;flex-wrap:wrap;align-items:stretch;row-gap:10px;margin:0}
.head-facts div{padding:0 20px;border-left:1px solid var(--line);min-width:0}
.head-facts div:first-child{padding-left:0;border-left:0}
.head-facts dt{font-size:11.5px;color:var(--faint);white-space:nowrap}
.head-facts dd{margin:3px 0 0;font-size:14.5px;font-weight:650;color:var(--ink);white-space:nowrap}
.head-facts dd a{color:var(--accent-ink)}
.head-facts dd a:hover{text-decoration:underline}
.buy-hint{margin:0 0 0 auto;font-size:12.5px;color:var(--muted)}
.detail-id{display:flex;align-items:center;gap:18px;min-width:0}
.detail-id .emblem.s-m{--size:72px}
.detail-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}
.ticker{font-size:13px;font-weight:600;color:var(--muted)}
.detail-head h1{font-size:clamp(26px,4vw,42px);font-weight:680;letter-spacing:-.03em;line-height:1.08;color:var(--ink);margin-top:4px;overflow-wrap:anywhere}
.detail-summary{font-size:17px;line-height:1.65;color:var(--text)}
.meta-line{font-size:13px;line-height:1.55;color:var(--faint);margin:8px 0 22px}
.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start;margin-top:22px}
.detail-grid:not(:has(> aside)){grid-template-columns:minmax(0,1fr)}
.detail-left{min-width:0}
.media-panel{background:radial-gradient(90% 120% at 50% 0%,#ffffff 0,var(--surface-2) 75%);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.mosaic{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));aspect-ratio:5 / 2;gap:8px;padding:8px}
.mosaic-tile{position:relative;display:block;min-width:0;min-height:0;overflow:hidden;border-radius:12px;background:var(--surface);border:1px solid var(--line)}
.mosaic-tile:first-child{grid-column:span 2;grid-row:span 2}
.mosaic-tile img{width:100%;height:100%;object-fit:contain;padding:10%;transition:transform .35s ease}
.mosaic-tile.photo img{object-fit:cover;padding:0}
.mosaic-tile.fit img{padding:4%}
.mosaic-tile:hover img{transform:scale(1.04)}
.mosaic-cap{position:absolute;left:8px;bottom:8px;max-width:calc(100% - 16px);padding:3px 8px;border-radius:999px;background:rgba(18,20,18,.72);color:#fff;font-size:10.5px;font-weight:600;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mosaic-tile:first-child .mosaic-cap{font-size:12px;left:12px;bottom:12px}
.media-more{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--accent-ink);white-space:nowrap}
.media-more svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2}
.media-foot{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 20px;border-top:1px solid var(--line);background:rgba(255,255,255,.6)}
.media-line{font-family:var(--serif);font-style:italic;font-size:20px;color:var(--ink);letter-spacing:-.01em}
.watch-strip{margin-top:28px}
.watch-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.block{margin-top:36px}
.block-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}
.block-head h2{font-size:18px;font-weight:650;letter-spacing:-.02em;color:var(--ink)}
.block-head span{font-size:13px;color:var(--faint)}
.detail-tabs{display:flex;gap:4px;margin-top:36px;border-bottom:1px solid var(--line);scroll-margin-top:84px}
.detail-tabs a{padding:12px 14px;font-size:14px;font-weight:550;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}
.detail-tabs a:hover{color:var(--ink)}
.detail-tabs a.active{color:var(--ink);border-color:var(--ink)}
.detail-tabs a span{font-size:11px;color:var(--faint);margin-left:4px}
.detail-content{padding-top:24px}

/* Videos */
.video-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.video-poster{position:relative;display:block;width:100%;aspect-ratio:16/9;background:#1a1d1a;overflow:hidden;cursor:pointer}
.video-poster img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.video-poster:hover img{transform:scale(1.03)}
.play-badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.94);color:var(--ink);font-size:14px;padding-left:2px;box-shadow:0 6px 18px rgba(0,0,0,.25);transition:transform .2s}
.video-poster:hover .play-badge{transform:translate(-50%,-50%) scale(1.06)}
.video-card iframe{display:block;width:100%;aspect-ratio:16/9;border:0;background:#000}
.video-meta{padding:12px 14px 14px}
.video-meta h3{font-size:13.5px;font-weight:600;line-height:1.35;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.video-meta p{font-size:12.5px;line-height:1.5;color:var(--muted);margin-top:5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.video-meta small{display:block;font-size:11.5px;color:var(--faint);margin-top:8px}
.video-meta small a{color:var(--text);font-weight:550}
.video-poster.offsite{background:linear-gradient(140deg,#1b1f1b,#2a312a)}
.video-title-card{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;padding:14px 64px 14px 16px;color:#fff;font-size:15px;font-weight:600;line-height:1.25;text-align:left}
.video-title-card small{font-size:10.5px;color:#a8b0a6;font-weight:500}
.video-poster.offsite .play-badge{left:auto;top:14px;right:14px;transform:none}

/* Story */
.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.stat{background:var(--surface);padding:16px 18px}
.stat strong{display:block;font-size:22px;font-weight:650;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1.15}
.stat span{display:block;font-size:12.5px;color:var(--muted);margin-top:4px;line-height:1.45}
.story-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}
.story-section{padding:18px 0;border-top:1px solid var(--line);min-width:0}
.story-grid .story-section:nth-child(-n+2){border-top:0;padding-top:0}
.story-section h3{font-size:16px;font-weight:650;color:var(--ink);letter-spacing:-.01em}
.story-section p{font-size:15px;line-height:1.75;color:var(--text);margin-top:6px}
.timeline-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}
.timeline-row{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;padding:12px 0;border-top:1px solid var(--line)}
.timeline-when{font-size:12.5px;font-weight:600;color:var(--accent-ink);font-variant-numeric:tabular-nums;padding-top:1px}
.timeline-row b{display:block;font-size:14px;font-weight:600;color:var(--ink)}
.timeline-row p{font-size:13.5px;line-height:1.6;color:var(--muted);margin-top:2px}
.field-guide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.field-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.field-card b{display:block;font-size:14px;font-weight:600;color:var(--ink)}
.field-card p{font-size:13.5px;line-height:1.6;color:var(--muted);margin-top:4px}
.quote-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.quote{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px 20px}
.quote p{font-family:var(--serif);font-style:italic;font-size:21px;line-height:1.3;color:var(--ink)}
.quote cite{display:block;font-style:normal;font-size:12.5px;color:var(--muted);margin-top:10px;line-height:1.5}
.facts-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}
.facts-list li{position:relative;font-size:14px;line-height:1.65;color:var(--text);padding:12px 0 12px 18px;border-top:1px solid var(--line)}
.facts-list li::before{content:'';position:absolute;left:0;top:21px;width:6px;height:6px;border-radius:50%;background:var(--accent-ink)}
.related-strip{display:flex;flex-wrap:wrap;gap:8px}
.related-strip a{display:inline-flex;align-items:center;gap:8px;padding:5px 14px 5px 5px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:13.5px;font-weight:550;color:var(--ink)}
.related-strip a:hover{border-color:var(--ink)}
.sources{margin-top:32px;border-top:1px solid var(--line);padding-top:14px}
.sources summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--muted)}
.sources ol{list-style:decimal;padding-left:20px;margin-top:10px;columns:2;column-gap:28px}
.sources li{font-size:12.5px;line-height:1.7;color:var(--faint);break-inside:avoid}
.sources a{color:var(--text)}.sources a:hover{color:var(--accent-ink)}

/* Meme wall */
.meme-wall{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:190px;gap:12px;grid-auto-flow:dense}
.meme-wall.compact{grid-auto-rows:150px}
.meme-tile{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden;transition:box-shadow .2s,transform .2s}
.meme-tile:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.meme-tile.wide{grid-column:span 2}.meme-tile.tall{grid-row:span 2}.meme-tile.big{grid-column:span 2;grid-row:span 2}
.tile-media{flex:1;min-height:0;display:grid;place-items:center;background:var(--surface-2);padding:12px;position:relative}
.tile-media img{width:100%;height:100%;object-fit:contain}
.meme-tile.photo .tile-media{padding:0}
.meme-tile.photo .tile-media img{object-fit:cover}
.meme-tile.flip img{transform:scaleX(-1)}
.meme-tile figcaption{font-size:12px;font-weight:550;color:var(--text);padding:8px 12px;border-top:1px solid var(--line);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:lowercase}
.meme-tile figcaption::first-letter{text-transform:uppercase}

/* Rules */
.token-split{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.token-split>div{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px}
.token-split strong{display:block;font-size:28px;font-weight:650;letter-spacing:-.03em;color:var(--ink)}
.token-split span{font-size:13px;color:var(--muted)}
.rules-table{margin-top:18px;background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.rules-table>div{display:grid;grid-template-columns:180px minmax(0,1fr);gap:16px;padding:13px 18px;border-top:1px solid var(--line)}
.rules-table>div:first-child{border-top:0}
.rules-table dt{font-size:13px;color:var(--muted)}
.rules-table dd{font-size:14px;color:var(--ink);line-height:1.55}

/* Side panel */
.side-panel{position:sticky;top:84px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow-sm)}
.side-panel h2{font-size:20px;font-weight:650;letter-spacing:-.02em;color:var(--ink);margin-top:14px}
.side-lede{font-size:14px;color:var(--muted);margin-top:6px}
.facts-dl{margin:16px 0 18px}
.facts-dl>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid var(--line);font-size:13.5px}
.facts-dl dt{color:var(--muted)}
.facts-dl dd{color:var(--ink);font-weight:550;text-align:right}
.curve-live{margin-top:14px;padding:12px 14px;border-radius:12px;background:var(--accent-soft)}
.curve-live strong{display:block;font-size:20px;color:var(--ink)}
.curve-live span,.curve-live small{display:block;font-size:12px;color:var(--accent-ink)}
.side-panel .btn-block+.btn-block{margin-top:8px}

/* Vote */
.vote{padding-top:44px}
.page-head{max-width:680px}
.page-head h1{font-size:clamp(32px,4.4vw,46px);font-weight:680;letter-spacing:-.03em;line-height:1.06;color:var(--ink);margin-top:16px}
.page-head p{font-size:16px;color:var(--muted);margin-top:12px}
.steps{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.steps li{font-size:13px;color:var(--muted);display:flex;align-items:center;gap:8px}
.steps li:not(:last-child)::after{content:'→';color:var(--faint)}
.vote-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;margin-top:32px;align-items:start}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow-sm)}
.candidate-list{border-top:1px solid var(--line)}
.candidate{display:flex;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.candidate-image .emblem.s-m{--size:64px}
.candidate-info{flex:1;min-width:0}
.candidate-info h3{font-size:15px;font-weight:600;color:var(--ink)}
.candidate-info p{font-size:13.5px;color:var(--muted);margin-top:2px}
.candidate-info small{font-size:12px;color:var(--faint)}
.vote-button{display:flex;flex-direction:column;align-items:center;min-width:72px;padding:7px 10px;border-radius:12px;border:1px solid var(--line-strong);background:var(--surface);transition:border-color .15s,background .15s}
.vote-button span{font-size:14px;font-weight:650;color:var(--ink);font-variant-numeric:tabular-nums}
.vote-button small{font-size:11px;color:var(--muted)}
.vote-button:hover{border-color:var(--ink)}
.vote-button.voted{background:var(--accent-soft);border-color:#9be38c}
.vote-button.voted small{color:var(--accent-ink)}
.nomination-panel h2{font-size:18px;font-weight:650;color:var(--ink)}
.nomination-panel form{display:flex;flex-direction:column;gap:6px;margin-top:16px}
.nomination-panel label{font-size:13px;font-weight:550;color:var(--text);margin-top:8px}
.nomination-panel input,.nomination-panel textarea{width:100%;border:1px solid var(--line-strong);border-radius:10px;padding:11px 12px;background:var(--surface);font-size:14px;transition:border-color .15s,box-shadow .15s}
.nomination-panel textarea{min-height:110px;resize:vertical}
.nomination-panel input:focus,.nomination-panel textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px #12141214}
.nomination-panel .btn{margin-top:12px}
.form-error{font-size:12px;color:#b4381e;min-height:16px;margin-top:6px}

/* Emblem: the token logo. Meme on the green sunburst inside a dark rim; the check sits outside, top-right. */
.emblem{--size:76px;position:relative;display:inline-block;flex:none;vertical-align:middle;width:var(--size);height:var(--size);border-radius:50%;background:var(--ink);box-shadow:0 12px 24px -14px rgba(0,0,0,.55)}
.emblem.s-s{--size:30px;box-shadow:none}.emblem.s-m{--size:78px}.emblem.s-l{--size:156px}.emblem.s-xl{--size:min(260px,64vw);box-shadow:0 26px 44px -22px rgba(0,0,0,.6)}
.emblem::before{content:'';position:absolute;inset:3.4%;border-radius:50%;border:1px solid #5fff4266;pointer-events:none}
.emblem.s-s::before{display:none}
.emblem-disc{position:absolute;inset:9.5%;border-radius:50%;overflow:hidden;box-shadow:0 0 0 2px #f5f4ec;background-color:#5fff42;background-image:radial-gradient(circle at 50% 46%,#a8ff96 0,#a8ff9600 58%),repeating-conic-gradient(from -3.75deg at 50% 46%,#5fff42 0deg 7.5deg,#49ec2e 7.5deg 15deg)}
.emblem.s-s .emblem-disc{inset:9%;box-shadow:0 0 0 1px #f5f4ec}
.emblem-disc>img{position:relative;z-index:0;width:100%;height:100%;display:block;object-fit:cover;object-position:var(--pos);transform:translate(var(--dx,0%),var(--dy,0%)) scale(var(--zoom));transform-origin:var(--pos);filter:drop-shadow(0 calc(var(--size) * .018) calc(var(--size) * .03) #17191640)}
.emblem.contain .emblem-disc>img{object-fit:contain}
.emblem.pixel .emblem-disc>img{image-rendering:pixelated}
.emblem.contain .emblem-disc>img,.emblem.pixel .emblem-disc>img{filter:none}
.emblem.token{background:none}.emblem.token::before{display:none}
.emblem-token{position:absolute;inset:0;width:100%;height:100%;display:block;border-radius:50%}
.emblem-check{position:absolute;left:83%;top:-3%;width:20%;height:20%;filter:drop-shadow(0 2px 4px #0005)}
.emblem.s-m .emblem-check{left:82%;top:-6%;width:24%;height:24%}
.emblem-check svg{display:block;width:100%;height:100%}
.ck-bg{fill:var(--accent);stroke:#fff;stroke-width:2}
.ck-path{fill:none;stroke:var(--ink);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.emblem.pending .emblem-disc{display:grid;place-items:center;background-image:none;background-color:#f5f4ec}
.emblem.pending .emblem-disc b{font-size:calc(var(--size) * .3);font-weight:750;letter-spacing:-.02em;color:var(--ink)}
.emblem.pending.has-img .emblem-disc{background:var(--surface-2)}
.emblem.pending.has-img .emblem-disc>img{width:100%;height:100%;object-fit:cover;object-position:center;transform:none;filter:none}

/* Utilities from the app shell */
.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,12px);padding:12px 18px;background:var(--ink);color:#fff;font-size:13px;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.25);z-index:100;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:min(520px,90vw);width:max-content;text-align:center}
.toast.visible{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.skip-link{position:fixed;z-index:200;top:-60px;left:16px;padding:10px 14px;background:var(--ink);color:#fff;font-size:13px;border-radius:10px}
.skip-link:focus{top:12px}
@media (prefers-reduced-motion:no-preference){.reveal{opacity:0;transform:translateY(10px);transition:opacity .5s ease,transform .5s ease}.reveal.in{opacity:1;transform:none}}

/* Responsive */
@media (max-width:1160px){
  /* Stacked hero: the card sits under the text, full width, video and square tiles side by side. */
  .hero{display:flex;flex-direction:column;gap:0}
  .hero-copy{display:contents}
  .hero-visual{order:1;margin-bottom:28px;contain:none}
  .powered{order:2;margin-top:0}
  .hero::before{display:none}
  .launch-card{flex-direction:row;align-items:center;gap:14px}
  .lc-film{flex:0 0 47%}
  .hero-mix{flex:1 1 0;min-width:0}
}
@media (min-width:601px) and (max-width:1100px){
}
@media (max-width:1100px){
  .board-row{grid-template-columns:minmax(0,1fr) 130px 150px 100px 120px;gap:12px;padding-inline:16px}
  .detail-grid{grid-template-columns:minmax(0,1fr) 300px}
  .meme-wall{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:900px){
  .mosaic{grid-template-columns:repeat(4,minmax(0,1fr));aspect-ratio:2 / 1}
  .mosaic-tile:nth-child(n+6){display:none}
  .detail-grid,.vote-layout{grid-template-columns:1fr}
  .side-panel{position:static}
  .principles{grid-template-columns:1fr;gap:20px}
  .cta-card{grid-template-columns:1fr}
  .watch-row{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:8px}
  .watch-row .video-card{flex:0 0 72%;scroll-snap-align:start}
}
@media (max-width:800px){
  .story-grid{grid-template-columns:1fr}
  .story-grid .story-section:nth-child(2){border-top:1px solid var(--line);padding-top:18px}
  .board-head{display:none}
  .board-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'classic action' 'status curve';row-gap:10px;padding:14px 16px}
  .cell-classic{grid-area:classic}.cell-status{grid-area:status}.cell-curve{grid-area:curve}.cell-action{grid-area:action}
  .cell-raised{display:none}
  .cell-action .btn{min-width:0}
  .how-grid,.timeline-list,.facts-list,.field-guide,.quote-grid{grid-template-columns:1fr}
  .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sources ol{columns:1}
  .meme-wall{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:160px}
  .network{display:none}
  .main-nav a{padding:6px 10px;font-size:13.5px}
}
@media (max-width:600px){
  /* "Launch real memes only." is ~11.4 em wide: size it to the phone so it stays on one line */
  .hero-heading{--hero-title-size:min(36px,calc((100vw - 32px) / 11.8))}
  .hero h1 .h1-top{white-space:nowrap}
  .launch-card{flex-direction:column;align-items:stretch}
  .lc-film{flex:none}
  .feature-row{grid-auto-columns:150px}
  .feature-art .emblem.s-l{--size:104px}
  .mix-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
  .powered-item{flex-direction:column;align-items:flex-start;gap:6px;padding:9px 10px}
  .powered-item img{width:24px;height:24px}
  .wrap{padding-inline:16px}
  .header-inner{gap:12px}
  .brand span{font-size:17px}
  .brand-mark{width:40px;height:40px}
  .hero{padding-top:22px}
  /* keep the small logos beside the green lines, scaled to the phone */
  .hero-heading{column-gap:10px}
  .hero-lineup{padding-left:calc(var(--lu) * .4)}
  .hero-lineup .emblem.s-s{--size:var(--lu);box-shadow:0 0 0 2px var(--bg)}
  .hero-lineup a{margin-left:calc(var(--lu) * -.4)}
  .hero-heading{--lu:clamp(22px,8.6vw,42px)}
  .hero-copy>p{font-size:15.5px}
  .detail-head{align-items:flex-start;gap:14px}
  .head-actions{margin-left:0}
  .head-facts{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:12px 22px;width:100%}
  .head-facts div{padding:0;border-left:0}
  .buy-hint{margin-left:0}
  .detail-id{gap:14px}
  .detail-id .emblem.s-m{--size:58px}
  .mosaic{grid-template-columns:repeat(3,minmax(0,1fr));aspect-ratio:3 / 2;gap:6px;padding:6px}
  .mosaic-tile:nth-child(n+4){display:none}
  .mosaic-tile:not(:first-child) .mosaic-cap{display:none}
  .media-foot{flex-direction:column;gap:4px}
  .rules-table>div{grid-template-columns:1fr;gap:2px}
  .token-split{grid-template-columns:1fr}
  .cta-card{padding:28px 22px}
  .cta-lineup{grid-template-columns:repeat(4,56px);gap:10px}
  .footer-inner{flex-wrap:wrap}
  .footer-inner nav{margin-left:0;width:100%}
  .header-actions .btn{display:none}
}
@media (max-width:380px){
  .launch-card .btn-block{flex-direction:column;justify-content:center;gap:2px;padding-block:7px}
}

/* The $10M bar section */
.bar10{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px;align-items:center;padding-top:12px}
.bar10 h2{font-size:clamp(28px,3.4vw,40px);line-height:1.08;font-weight:680;letter-spacing:-.03em;color:var(--ink);text-wrap:balance}
.bar10-copy>p.bar10-line{font-size:clamp(18px,1.8vw,22px);font-weight:650;color:var(--accent-deep);margin-top:10px}
.bc-cap{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:6px 14px;font-size:15px;font-weight:650;color:var(--ink);padding:2px 8px 6px}
.bc-cap-jup{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--muted)}
.bc-cap-jup img{width:18px;height:18px}
.bar10-copy>p{font-size:15.5px;line-height:1.6;color:var(--muted);margin-top:14px}
.bar10-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:20px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.bar10-stats div{background:var(--surface);padding:12px 14px;min-width:0;display:flex;flex-direction:column;justify-content:space-between}
.bar10-stats dd{margin-top:8px}
.bar10-stats dt{font-size:11.5px;color:var(--faint)}
.bar10-stats dd{margin:4px 0 0;font-size:22px;font-weight:700;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}
.bar10-copy .fine{margin-top:12px}
.bar-chart{position:relative;margin:0;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px 12px 8px;box-shadow:var(--shadow-sm)}
.bar-chart svg{display:block;width:100%;height:auto;overflow:visible}
.bc-grid{stroke:var(--line);stroke-width:1}
.bc-tick{font-size:12px;fill:var(--faint);font-variant-numeric:tabular-nums}
.bc-axis{font-size:12px;fill:var(--muted);font-weight:550}
.bc-area{fill:var(--accent);opacity:.18}
.bc-line{fill:none;stroke:var(--accent-ink);stroke-width:2.5;stroke-linejoin:round}
.bc-guide{stroke:var(--accent-ink);stroke-width:1;stroke-dasharray:3 4;opacity:.5}
.bc-dot{fill:var(--surface);stroke:var(--accent-ink);stroke-width:2.5}
.bc-dot.end{fill:var(--accent);stroke:var(--ink)}
.bc-label{font-size:13px;font-weight:650;fill:var(--ink)}
.bc-hover{stroke:var(--muted);stroke-width:1}
.bc-hover-dot{fill:var(--accent);stroke:var(--ink);stroke-width:2}
.bc-hit{fill:transparent;cursor:crosshair}
.bc-tip{position:absolute;pointer-events:none;background:var(--ink);color:#fff;font-size:12.5px;line-height:1.4;padding:7px 10px;border-radius:9px;white-space:nowrap;transform:translate(-50%,-115%);font-variant-numeric:tabular-nums}
.bc-tip b{color:var(--accent)}
@media (max-width:900px){.bar10{grid-template-columns:1fr;gap:24px}}
@media (max-width:600px){.bar10-stats dd{font-size:18px}.bar-chart{padding:12px 4px 4px}.bc-label{font-size:22px}.bc-tick{font-size:19px}.bc-tick.xmid,.bc-axis{display:none}}

/* CA chip: "CA" + address in a copyable box */
.ca-chip{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 4px 0 0;border:1px solid var(--line);border-radius:7px;background:var(--surface);font:inherit;font-size:11.5px;color:var(--muted);cursor:pointer;vertical-align:middle;overflow:hidden;transition:border-color .15s}
.ca-chip b{display:grid;place-items:center;align-self:stretch;padding:0 7px;background:var(--ink);color:#fff;font-size:10.5px;font-weight:700;letter-spacing:.04em}
.ca-chip code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;color:var(--ink)}
.ca-chip svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2}
button.ca-chip:hover{border-color:var(--accent-ink)}
.ca-chip.tba{cursor:default}.ca-chip.tba code{color:var(--faint)}.ca-chip.tba svg{opacity:.4}
.row-buy{display:flex;align-items:center;gap:8px;margin-top:6px;flex-wrap:wrap}

/* Voting is greyed out until it has a real backend */
.vote-button.soon{cursor:default;opacity:.55;pointer-events:none}
.nomination-panel .is-soon fieldset{border:0;margin:0;padding:0;min-width:0;opacity:.5;display:grid;gap:inherit}
.nomination-panel .is-soon input,.nomination-panel .is-soon textarea{cursor:not-allowed}

/* Buy link: the Jupiter icon beside the CA */
.buy-icons{display:inline-flex;gap:4px}
.buy-icon{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;border:1px solid var(--line);background:var(--surface);transition:transform .15s,border-color .15s}
.buy-icon img{width:16px;height:16px;border-radius:4px;display:block}
a.buy-icon:hover{transform:translateY(-1px);border-color:var(--accent-ink)}
.buy-icon.off{opacity:.45;filter:grayscale(1)}
.btn-ico img{width:18px;height:18px;border-radius:5px;flex:none}
.btn-ico:disabled img{filter:grayscale(1);opacity:.6}
