/* Curve v71.43 "reborn" identity: true black, one neon (ultraviolet), sharp edges, no glass, more motion.
   This file is the single token + component layer; every page stylesheet reads these tokens. Spec:
   DESIGN-SYSTEM.md (v71.43). Legacy token names are kept as aliases so older page rules keep working. */
/* Reserve the viewport gutter before dialogs lock background scrolling. */
html { scrollbar-gutter: stable; }
/* Inter 4.1 (UI), Bricolage Grotesque (display) and Geist Mono (numbers) are distributed locally under the
   SIL Open Font License in /fonts/. */
@font-face {
  font-family: 'Curve Inter';
  src: url('/fonts/InterVariable.woff2?v=ab72c10f9fb48728') format('woff2');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
@font-face { font-family: 'Curve Display'; src: url('/fonts/BricolageGrotesque-Bold.woff?v=36d677069e6298b3') format('woff'); font-weight: 600 800; font-style: normal; font-display: swap; }
@font-face { font-family: 'Curve Display'; src: url('/fonts/BricolageGrotesque-Regular.woff?v=a9752dcc407c4c83') format('woff'); font-weight: 300 500; font-style: normal; font-display: swap; }
@font-face { font-family: 'Curve Mono'; src: url('/fonts/GeistMono-Regular.woff?v=95b15d54f07cffbe') format('woff'); font-weight: 300 500; font-style: normal; font-display: swap; }
@font-face { font-family: 'Curve Mono'; src: url('/fonts/GeistMono-Bold.woff?v=9f6becee6aa34d31') format('woff'); font-weight: 600 800; font-style: normal; font-display: swap; }
:root, body.relay-terminal {
  --sans: 'Curve Inter', Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
  --display: 'Curve Display', 'Bricolage Grotesque', 'Inter Display', 'Curve Inter', Inter, sans-serif;
  --mono: 'Curve Mono', 'Geist Mono', 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  /* Surfaces: black page, near-black panels, hairlines. */
  --bg: var(--tp-n000000);
  --s1: var(--tp-n0b0b0c); --s2: var(--tp-n121214); --s3: var(--tp-n18181b); --s4: var(--tp-n202024);
  --panel: var(--s1);
  --panel2: var(--s2);
  --inset: var(--tp-n000000);
  --hover: var(--s3);
  --surface-elevated: var(--s2);
  --line: var(--tp-n1f1f23);
  --line-strong: var(--tp-n2a2a30);
  --line-hi: var(--tp-n3a3a42);
  --border: var(--line);
  --line-card: var(--tp-n1f1f23); --line-card-hover: #FC6602;
  /* Text. */
  --text: var(--tp-nf4f4f5);
  --text-2: var(--tp-nc9c9cf);
  --muted: var(--tp-n9a9aa3);
  --dim: var(--tp-n5e5e67);
  /* The neon. */
  --acc: #FC6602;
  --acc-strong: #E05600;
  --acc-soft: #FF8E4A;
  --acc-ink: var(--tp-nffffff);
  --acc-glow: #FC660259;
  --acc-dim: #FC66021f;
  --accent: var(--acc);
  /* Status colours: never the accent. */
  --up: #2ee59d; --down: #ff4d6d; --warn: #ffb020; --info: #5aa9ff;
  --red: var(--down);
  /* Legacy sunrise names → the ultraviolet ramp. */
  --sunrise-cream: #FFE2CC;
  --sunrise-gold: #FF8E4A;
  --sunrise-peach: #FC6602;
  --sunrise-coral: #E05600;
  --sunrise-mauve: #C94C00;
  --sunrise-purple: #7A3300;
  --token-accent: var(--acc);
  --token-border: var(--line);
  --token-dim: var(--muted);
  --token-surface: var(--panel);
  --token-text: var(--text);
  --coin-muted: var(--muted);
  /* Layout scale: one 1360px frame, a 4px spacing scale. */
  --page-max: 1360px;
  --page-gutter: 32px;
  --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px; --space-5: 20px; --space-6: 24px; --space-7: 32px; --space-8: 40px; --space-9: 48px; --space-10: 64px;
  --section-gap: 40px; --card-pad: 20px; --card-pad-lg: 24px; --grid-gap: 16px; --label-gap: 6px;
  --radius-card: 10px; --radius-control: 6px; --radius-inset: 6px; --radius-pill: 999px; --radius-tile: 8px;
  --text-title: 40px; --text-section: 22px; --text-card: 16px; --text-body: 14.5px; --text-meta: 13px; --text-micro: 11.5px;
  --control-h: 36px; --control-h-sm: 30px; --control-h-lg: 44px; --input-h: 42px;
  /* Selection states, shadows (none on cards), glow. */
  --sel-bg: #2A1A0A; --sel-line: #FC6602; --sel-text: #FFB27A;
  --grad-sunrise: linear-gradient(120deg,#E05600,#E05600);
  --grad-accent: linear-gradient(120deg,#FC6602,#FFA366);
  --shadow-card: none;
  --shadow-card-hover: 0 0 0 1px #FC660266, 0 14px 40px -18px #FC660280;
  --shadow-elevated: 0 24px 60px -16px var(--tp-n000000), 0 0 0 1px var(--tp-n2a2a30);
  --glow-acc: 0 0 0 1px #FC660266, 0 0 28px -8px #FC660299;
  --glass-bg: var(--tp-n0b0b0c); --glass-blur: 0px;
  --header-h: 60px;
  --motion-fast: 120ms; --motion-mid: 220ms; --motion-slow: 420ms; --motion-ease: cubic-bezier(.2,.8,.2,1);
  color-scheme: dark;
}
@media (max-width: 640px) { :root, body.relay-terminal { --page-gutter: 16px; --section-gap: 28px; --card-pad: 16px; --card-pad-lg: 18px; --grid-gap: 12px; --text-title: 30px; --text-section: 20px; --header-h: 52px; } }
/* The sunrise ring angle animates through a registered custom property (cheap: one paint per frame on the
   bordered element only); browsers without @property keep a still ring. */
@property --sunrise-angle { syntax: '<angle>'; inherits: false; initial-value: 0deg; }
body.relay-terminal { background: var(--bg); color: var(--text); font-family: var(--sans); font-weight: 400; font-optical-sizing: auto; }
::selection { background: #C94C0080; color: var(--tp-nf4f4f5); }
:focus-visible { outline: 2px solid var(--sunrise-gold); outline-offset: 2px; }
body a { text-underline-offset: 3px; }
body a:is(.small-button,.primary,.brand,.sidebar-link,.explore-coin) { text-decoration: none; }
body.relay-terminal .brand { letter-spacing: -1.3px; font-weight: 720; color: var(--sunrise-cream); }
body.relay-terminal .brand-dot { color: var(--sunrise-coral); }
body.relay-terminal .brand .mark, body.relay-terminal .workspace-sidebar .mark { width: 38px; height: 38px; border-radius: 50%; background: transparent; }
body.relay-terminal .workspace-sidebar > .brand { gap: 8px; height: 60px; min-height: 60px; padding-left: 2px; margin-bottom: 24px; font-size: 36px; line-height: 1; white-space: nowrap; }
body.relay-terminal .workspace-sidebar > .brand .mark { width: 52px; height: 52px; flex: 0 0 52px; }
@media (min-width: 1580px) {
  body.relay-terminal .workspace-sidebar > .brand { font-size: 38px; }
  body.relay-terminal .workspace-sidebar > .brand .mark { width: 56px; height: 56px; flex-basis: 56px; }
}
@media (min-width: 821px) and (max-width: 1190px) {
  body.relay-terminal .workspace-sidebar > .brand { padding-left: 2px; gap: 8px; font-size: 31px; height: 54px; min-height: 54px; }
  body.relay-terminal .workspace-sidebar > .brand .mark { width: 44px; height: 44px; flex-basis: 44px; }
}
body.relay-terminal .workspace-sidebar { background: var(--tp-n0b0b0c); border-color: var(--line); }
body.relay-terminal .sidebar-label { color: var(--tp-n7a7a85); letter-spacing: 1.3px; text-transform: uppercase; }
body.relay-terminal .sidebar-utilities, body.relay-terminal .sidebar-footer { border-color: var(--line); }
body.relay-terminal .sidebar-link, body.relay-terminal .workspace-navigation > :is(button,a) { color: var(--tp-n9a9aa3); border-radius: 6px; }
body.relay-terminal .sidebar-link:hover, body.relay-terminal .workspace-navigation > :is(button,a):hover { background: var(--tp-n18181b); color: var(--text); }
body.relay-terminal .sidebar-link[aria-current], body.relay-terminal .workspace-navigation > :is(.is-active,[aria-pressed=true],[aria-selected=true]) { background: #2A1A0A; border-color: #7A3300; color: #FFB27A; }
body.relay-terminal .relay-toolkit > summary { color: var(--tp-nc9c9cf); }
body.relay-terminal .relay-toolkit[open] > summary { background: var(--tp-n121214); }
/* v71.25 design system, brand layer: one primary (sunrise), one secondary (panel + border), one ghost/text.
   Sizes come from workspace.css (overridable by page CSS); colours here win over page CSS of equal specificity. */
body.relay-terminal .small-button { background: var(--panel2); border-color: var(--line-strong); color: var(--text); border-radius: var(--radius-control); }
body.relay-terminal .small-button:hover:not(:disabled) { background: var(--tp-n18181b); border-color: var(--tp-n4a4a53); color: var(--text); }
body.relay-terminal .primary { background: var(--grad-sunrise); color: var(--tp-n121214); font-weight: 600; border: 1px solid #FF8E4A; border-radius: var(--radius-control); box-shadow: none; }
body.relay-terminal .primary:hover:not(:disabled) { background: linear-gradient(105deg,#FFE2CC,#FF8E4A 58%,#FC6602); color: var(--tp-n121214); }
body.relay-terminal .text-button { color: #FF8E4A; }
body.relay-terminal .text-button:hover:not(:disabled) { color: var(--sunrise-cream); text-decoration: underline; }
body.relay-terminal .cv-ghost:hover:not(:disabled) { background: var(--hover); color: var(--text); }
body.relay-terminal :is(.primary,.small-button,.cv-ghost):disabled { opacity: .45; transform: none; cursor: default; }
body button:disabled { box-shadow: none; }
body input, body select, body textarea, body.relay-terminal input, body.relay-terminal select, body.relay-terminal textarea { border-color: var(--line); background: var(--inset); color: var(--text); border-radius: var(--radius-control); }
body input::placeholder, body textarea::placeholder { color: var(--tp-n7a7a85); opacity: 1; }
body.relay-terminal :is(input,select,textarea):hover:not(:focus,:disabled) { border-color: var(--line-strong); }
body input:focus, body select:focus, body textarea:focus { border-color: #E05600; box-shadow: 0 0 0 3px #C94C0033; }
body label, body legend { color: var(--tp-nc9c9cf); }
body.relay-terminal .card, body.relay-terminal .launch-history, body.relay-terminal .launch-form-footer, body.relay-terminal .coin-overview, body.relay-terminal .coin-info, body.relay-terminal .token-info-card { border-color: var(--line); box-shadow: none; }
body.relay-terminal .help, body.relay-terminal .subtitle { line-height: 1.7; }
body.relay-terminal .account-overview .account-address, body.relay-terminal .account-connection-strip { background: var(--tp-n0b0b0c); border-color: var(--line); }
body.relay-terminal .connection-chains button[aria-pressed=true], body.relay-terminal .launch-segments > button[aria-pressed=true], body.relay-terminal .launch-rewards > label:has(:checked) { background: var(--tp-n1f1f23); border-color: var(--tp-n4a4a53); color: #FFB27A; }
body.relay-terminal .launch-segments { background: var(--tp-n0b0b0c); }
body.launch-page .launch-rewards > label { color: var(--muted); }
body.relay-terminal .launch-token-card { background: radial-gradient(ellipse at 0 0,color-mix(in srgb, var(--tp-n3a3a42) 27.1%, transparent),transparent 65%),var(--tp-n0b0b0c) !important; }
body.relay-terminal .launch-upload { background: var(--tp-n121214); border-color: var(--tp-n4a4a53); }
body.relay-terminal .launch-upload:hover, body.relay-terminal .launch-upload:focus-within { background: var(--tp-n18181b); border-color: #FC6602; }
body.relay-terminal .launch-upload-art { background: var(--tp-n1f1f23); }
body.relay-terminal .launch-upload-button { background: #FC6602; color: var(--tp-n121214); border-color: #FC6602; }
body.relay-terminal .launch-upload-copy { display: grid; gap: 7px; }
body.relay-terminal .launch-upload-copy strong { color: var(--text); }
body.relay-terminal .launch-preview-facts { color: var(--muted); }
body.relay-terminal .launch-progress-dot { background: var(--sunrise-peach); }
body.relay-terminal .launch-toast { background: var(--tp-n121214); border-color: var(--tp-n7a7a85); color: var(--text); }
body.relay-terminal .coin-chart, body.relay-terminal .token-chart, body.relay-terminal .coin-curve-plot { background: var(--tp-n0b0b0c); }
body.relay-terminal .coin-chart-controls button[aria-pressed=true] { background: var(--tp-n1f1f23); color: #FFB27A; }
body.relay-terminal .coin-rewards, body.relay-terminal .token-rewards-card { background: linear-gradient(140deg,color-mix(in srgb, var(--tp-n18181b) 43.9%, transparent),var(--tp-n0b0b0c) 70%); border-color: var(--tp-n2a2a30); }
body.relay-terminal .coin-rewards-metric, body.relay-terminal .coin-rewards-cell { background: var(--tp-n0b0b0c); border-color: var(--line); }
body progress { accent-color: var(--sunrise-coral); }
body progress::-webkit-progress-bar { background: var(--tp-n2a2a30); border-radius: 12px; }
body progress::-webkit-progress-value { background: linear-gradient(90deg,#7A3300,#C94C00,#FC6602); border-radius: 12px; }
body progress::-moz-progress-bar { background: linear-gradient(90deg,#7A3300,#C94C00,#FC6602); border-radius: 12px; }
body footer { border-color: var(--line); color: var(--tp-n9a9aa3); letter-spacing: .35px; }
body.relay-terminal .owner-gate { background: var(--panel); border-color: var(--line); }
body.relay-terminal .chain-switch a[aria-current=page] { background: var(--tp-n1f1f23); border-color: var(--tp-n4a4a53); color: #FFB27A; }

/* Keep action labels readable on narrow screens and avoid duplicate destinations. */
body[data-shell=true] .app-header .header-help { display: none; }
body.launch-page .launch-venue { text-transform: none; }
body.launch-page .launch-section { padding: 23px; }
body.launch-page .launch-fields { gap: 17px; }
body.launch-page .launch-form-footer { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 4px 16px; }
body.launch-page .launch-form-footer .launch-wallet-line { margin: 0; flex-wrap: wrap; }
body.launch-page .launch-form-footer .primary { margin: 0; min-width: 150px; }
body.launch-page .launch-form-footer .launch-fine { grid-column: 1/-1; margin-top: 8px; }
@media (max-width: 560px) {
  body.launch-page .launch-form-footer { grid-template-columns: 1fr; gap: 13px; }
  body.launch-page .launch-section { padding: 17px; }
  body input, body select, body textarea { scroll-margin-top: 95px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; }
  body.relay-terminal .explore-coin, body button, body a { transition: none !important; }
}

body.relay-terminal .coin-avatar, body.relay-terminal .token-avatar { background: linear-gradient(140deg,var(--tp-n3a3a42),var(--tp-n18181b)); color: #FFE2CC; }
body.relay-terminal .coin-stage, body.relay-terminal .token-status.is-live { background: var(--tp-n1f1f23); border-color: var(--tp-n4a4a53); color: #FF8E4A; }
body.relay-terminal .coin-progress-wrap progress, body.relay-terminal .explore-progress { background: var(--tp-n2a2a30); }
body.relay-terminal .coin-page .text-button { color: #FF8E4A; }

body.relay-terminal .card { background: var(--panel); border-color: var(--line); }
body.relay-terminal .small-button { text-decoration: none; }
body.relay-terminal .text-button { color: #FF8E4A; }
body.relay-terminal label { color: var(--tp-nc9c9cf); }
body.relay-terminal .launch-preview-image { background: var(--tp-n1f1f23); color: #FFB27A; }
body.relay-terminal .launch-preview-facts dt { color: var(--muted); }
body.relay-terminal .launch-preview-facts dd { color: var(--text); }
body.relay-terminal .launch-auto-fee { background: var(--tp-n121214); border-color: var(--tp-n3a3a42); }
body.relay-terminal .launch-auto-fee > span { color: var(--tp-n9a9aa3); }
body.relay-terminal .launch-auto-fee > strong { color: #FF8E4A; }
body.relay-terminal .mainnet-badge { background: var(--tp-n1f1f23); border-color: var(--tp-n4a4a53); color: #FFB27A; }
body.relay-terminal .explore-filter-row select { background: var(--inset); border-color: var(--line); }
body.relay-terminal .explore-refresh { background: var(--tp-n18181b); border-color: var(--tp-n3a3a42); color: var(--tp-ne4e4e7); }
body.relay-terminal .explore-progress-row progress { background: var(--tp-n2a2a30); }
body.relay-terminal .explore-progress-row progress::-webkit-progress-bar { background: var(--tp-n2a2a30); }
body.relay-terminal .explore-progress-row progress::-webkit-progress-value { background: linear-gradient(90deg,#7A3300,#C94C00,#FC6602); }
body.relay-terminal .explore-progress-row progress::-moz-progress-bar { background: linear-gradient(90deg,#7A3300,#C94C00,#FC6602); }
body.relay-terminal :is(.admin-overview > div,.admin-card,.admin-fee-form,.admin-user-row,.admin-session-detail,.admin-session-metrics,.admin-gate,.admin-protocol-facts > div,.admin-protocol-coin,.admin-protocol-gas,.admin-branding-target) { background: var(--panel); border-color: var(--line); }
body.relay-terminal .admin-card :is(.launch-admin-create,.launch-admin-row) { background: var(--inset); border-color: var(--line); }
body.relay-terminal .admin-session-users button { background: var(--panel2); border-color: var(--line); color: var(--text); }
body.relay-terminal .workspace-summary, body.relay-terminal .token-search > div { background: var(--panel); border-color: var(--line); }
body.relay-terminal .overview-stat { border-color: var(--line); }
body.relay-terminal .overview-network { color: #FF8E4A; }
body.relay-terminal .terminal-rail :is(.manual-card,#rh-manual-card,.execution-preset-card) { background: var(--panel); border-color: var(--line); }
body.relay-terminal .terminal-rail :is(.manual-card,#rh-manual-card) :is(input,select,.manual-wallet-menu) { background: var(--inset); border-color: var(--line); }
body.relay-terminal .execution-preset-tabs button { background: var(--panel2); border-color: var(--line); color: var(--muted); }
body.relay-terminal .execution-preset-tabs button[aria-pressed=true] { background: var(--tp-n1f1f23); border-color: var(--tp-n4a4a53); color: #FFB27A; }
body.relay-terminal .chart-empty > span { display:block; width:54px; height:54px; font-size:0; border:0; background:transparent url('/curve-icon.png?v=54') center/contain no-repeat; border-radius:50%; }
body.relay-terminal .chart-empty strong { color: var(--tp-ne4e4e7); }
body.relay-terminal .coin-rewards-secondary > div { background: var(--inset); border-color: var(--line); }
body.relay-terminal .coin-rewards-primary > div { border-color: var(--line); }
body.relay-terminal .coin-rewards-schedule:not(:empty) { background: var(--tp-n18181b); border-color: var(--tp-n3a3a42); color: var(--tp-n9a9aa3); }
body.relay-terminal :is(.coin-rewards-mode,.coin-reward-value-row > span,.coin-rewards-latest) { color: var(--tp-n9a9aa3); }
body.relay-terminal .coin-progress-wrap progress::-webkit-progress-bar { background: var(--tp-n2a2a30); }
body.relay-terminal .positive { color: #8ff0c9 !important; }

.creator-row{display:flex;align-items:center;gap:10px;padding:16px 20px;margin-bottom:16px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.creator-row>span{color:var(--muted);margin-right:auto}.creator-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover}.creator-row strong{overflow-wrap:anywhere}#profile-form{display:grid;gap:14px}#profile-form label{display:grid;gap:8px}#profile-preview{width:80px;height:80px}#profile-form input,#profile-form textarea{width:100%;box-sizing:border-box}
.creator-row a{color:var(--accent);font-weight:600;text-decoration:none}.creator-row a:hover{text-decoration:underline}.creator-profile{display:flex;gap:24px;align-items:center;margin-bottom:36px}.creator-profile>.creator-avatar{width:96px;height:96px}.creator-profile p{white-space:pre-wrap;overflow-wrap:anywhere}.creator-coins{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;margin:24px 0}.creator-coin{display:block;text-decoration:none;color:var(--text);padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.creator-coin:hover{border-color:var(--accent)}.creator-coin img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px}.creator-coin h3,.creator-coin p{overflow-wrap:anywhere}.creator-coin p{color:var(--muted)}.creator-section-title,#creator-pages{display:flex;justify-content:space-between;gap:12px;align-items:center}#creator-count{font-size:.7em;color:var(--muted)}

.creator-profile>div{min-width:0}.creator-profile h1{overflow-wrap:anywhere}.creator-profile>.creator-avatar{flex:0 0 96px}.creator-coin{min-width:0}@media(max-width:600px){.wallet-account-page main{padding:24px 16px}.creator-profile{align-items:flex-start;gap:14px}.creator-profile>.creator-avatar{width:64px;height:64px;flex-basis:64px}.creator-profile h1{font-size:26px}.creator-coins{grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr))}}

.coin-page .coin-address-row{flex-wrap:wrap;row-gap:10px}.coin-page .coin-creator-compact{display:inline-flex;align-items:center;gap:7px;padding:5px 9px;margin:0 0 0 6px;border-radius:5px;max-width:250px;min-width:0;font-size:12px}.coin-page .coin-creator-compact[hidden]{display:none}.coin-page .coin-creator-compact>span{margin:0;font-size:11px}.coin-page .coin-creator-compact .creator-avatar{width:22px;height:22px;flex-shrink:0}.coin-page .coin-creator-compact a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coin-page .coin-description-section{margin-top:18px;font-size:13px}.coin-page .coin-description-section>strong{font-size:12px;color:var(--text)}.coin-page .coin-description-section .coin-description{margin-top:6px}@media(max-width:540px){.coin-page .coin-creator-compact{margin-left:0;max-width:100%}}

/* ===== v71.25 shell: the header, page content and footer share one frame (--page-max inside a
   --page-gutter bar), so the logo, content and footer line up on every page. ===== */
body.relay-terminal[data-navigation=top] { padding:0; --sidebar:0px; min-height:100dvh; display:flex; flex-direction:column; }
body.relay-terminal[data-navigation=top] main,body.relay-terminal[data-navigation=top] #explore-main{width:100%;max-width:calc(var(--page-max) + 2*var(--page-gutter));margin:0 auto;padding:var(--space-7) var(--page-gutter) var(--space-10);min-height:calc(100dvh - 160px)}
@media(max-width:640px){body.relay-terminal[data-navigation=top] main,body.relay-terminal[data-navigation=top] #explore-main{padding:var(--space-5) var(--page-gutter) var(--space-8)}}
/* Page transitions (navigation.mjs adds the classes): the leaving page fades and lifts (160ms); the arriving
   page gets a short opacity-only fade on `main` while the motion layer's own staggered section rise plays
   inside it, so the two effects compose instead of doubling. */
body.relay-terminal[data-navigation=top] main.curve-page-leave{animation:curve-page-leave 160ms var(--motion-ease,ease) both}
body.relay-terminal[data-navigation=top] main.curve-page-enter{animation:curve-page-enter 320ms ease-out both}
@keyframes curve-page-leave{to{opacity:0;transform:translate3d(0,-8px,0)}}
@keyframes curve-page-enter{from{opacity:.2}to{opacity:1}}
/* Every page hides the skip link until it is focused (some pages do not load dashboard.css). */
body .skip-link{position:fixed;top:-80px;left:16px;z-index:1000;padding:10px 16px;border-radius:var(--radius-control);background:var(--accent);color:var(--tp-n121214);font:600 13px var(--sans);text-decoration:none}
body .skip-link:focus{top:12px}
/* Header: one 72px glass row (60px on phones), 40px controls. The glass deepens once the page scrolls
   (the motion layer toggles .motion-scrolled; without it the resting glass stays). */
body.relay-terminal[data-navigation=top] .app-header{position:sticky;top:0;z-index:60;display:block;flex-shrink:0;height:auto;min-height:0;padding:0 var(--page-gutter);border-bottom:1px solid color-mix(in srgb, var(--tp-nffffff) 4.7%, transparent);background:color-mix(in srgb, var(--tp-n000000) 85.1%, transparent);transition:background-color var(--motion-mid,260ms) ease,border-color var(--motion-mid,260ms) ease,box-shadow var(--motion-mid,260ms) ease}
body.relay-terminal[data-navigation=top] .app-header.motion-scrolled{border-bottom-color:color-mix(in srgb, var(--tp-nffffff) 7.1%, transparent);background:color-mix(in srgb, var(--tp-n0b0b0c) 90.2%, transparent);box-shadow:0 18px 40px -24px color-mix(in srgb, var(--tp-n000000) 90.2%, transparent)}
body.relay-terminal[data-navigation=top] .workspace-header-inner{position:relative;display:flex;align-items:center;gap:var(--space-3);width:100%;max-width:var(--page-max);height:var(--header-h);min-height:0;margin:0 auto;padding:0}
body.relay-terminal[data-navigation=top] .app-header .brand{display:flex;align-items:center;flex-shrink:0;gap:9px;margin:0 var(--space-3) 0 0;padding:0;font-size:28px;line-height:1;letter-spacing:-1.2px}
body.relay-terminal[data-navigation=top] .app-header .brand .mark{width:36px;height:36px;flex:0 0 36px}
body.relay-terminal[data-navigation=top] .app-header .header-search{position:relative;display:flex;align-items:center;gap:10px;flex:1 1 380px;min-width:0;max-width:540px;height:var(--control-h);min-height:0;margin:0;padding:0 8px 0 14px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--tp-n0b0b0c);cursor:text;transition:border-color var(--motion-mid,260ms) ease,background-color var(--motion-mid,260ms) ease,box-shadow var(--motion-mid,260ms) ease}
body.relay-terminal[data-navigation=top] .app-header .header-search:hover{border-color:var(--line-strong);background:var(--tp-n121214)}
body.relay-terminal[data-navigation=top] .app-header .header-search:focus-within{border-color:var(--tp-n5e5e67);box-shadow:0 0 0 3px #C94C002e}
body.relay-terminal[data-navigation=top] .app-header .header-search svg{width:17px;height:17px;flex:0 0 17px}
body.relay-terminal[data-navigation=top] .app-header .header-search input#explore-search{flex:1;width:100%;min-width:0;height:100%;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:#FFE2CC;font:14px/1.2 var(--sans);letter-spacing:0;text-transform:none;box-shadow:none}
body.relay-terminal[data-navigation=top] .app-header .header-search kbd{width:24px;height:24px;flex:0 0 24px;border-radius:4px;font-size:11.5px}
body.relay-terminal[data-navigation=top] .app-header .local{display:flex;align-items:center;gap:10px;flex-shrink:0;min-width:0;margin-left:auto;font:13px var(--sans);letter-spacing:0}
body.relay-terminal[data-navigation=top] .app-header :is(.gotchi-nav,.agents-nav,.curve-price-badge,.top-launch,.header-admin,[data-account-link],#account-button,.relay-toolkit>summary){box-sizing:border-box;height:var(--control-h);min-height:0;border-radius:var(--radius-control);font:600 13.5px/1 var(--sans);letter-spacing:0;white-space:nowrap;text-decoration:none}
body.relay-terminal[data-navigation=top] .app-header :is(.gotchi-nav,.agents-nav){display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:0 0 auto;padding:0 14px;border:1px solid var(--line-strong);background:var(--panel2);color:var(--text);box-shadow:none}
body.relay-terminal[data-navigation=top] .app-header .gotchi-nav>svg{color:#FFB27A}
body.relay-terminal[data-navigation=top] .app-header .agents-nav>svg{color:#5aa9ff}
body.relay-terminal[data-navigation=top] .app-header .gotchi-nav:hover{border-color:#FC6602;background:var(--tp-n18181b);box-shadow:none}
body.relay-terminal[data-navigation=top] .app-header .agents-nav:hover{border-color:#2f7fd6;background:var(--tp-n18181b);box-shadow:none}
body.relay-terminal[data-navigation=top] .app-header .gotchi-nav[aria-current=page]{border-color:#FC6602;background:linear-gradient(135deg,var(--tp-n1f1f23),var(--tp-n18181b))}
body.relay-terminal[data-navigation=top] .app-header .agents-nav[aria-current=page]{border-color:#2f7fd6;background:linear-gradient(135deg,#143354,var(--tp-n18181b))}
body.relay-terminal[data-navigation=top] .app-header .curve-price-badge{flex:0 0 176px;width:176px;padding:0 12px;gap:7px;border:1px solid var(--line-strong);background:var(--panel2);font-weight:500;font-size:13px}
body.relay-terminal[data-navigation=top] .app-header .top-launch{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:0 0 auto;padding:0 16px;border:1px solid #FF8E4A;background:var(--grad-sunrise);color:var(--tp-n121214)}
body.relay-terminal[data-navigation=top] .app-header .top-launch:hover{background:linear-gradient(105deg,#FFE2CC,#FF8E4A 58%,#FC6602);color:var(--tp-n121214)}
body.relay-terminal[data-navigation=top] .app-header .top-launch .tool-icon{width:17px;height:17px}
body.relay-terminal[data-navigation=top] .app-header :is(.header-admin,[data-account-link],#account-button){display:inline-flex;align-items:center;justify-content:center;gap:8px;max-width:210px;padding:0 14px;overflow:hidden}
body.relay-terminal[data-navigation=top] .app-header .header-admin .tool-icon{width:17px;height:17px}
body.relay-terminal[data-navigation=top] .app-header .header-account{gap:9px;max-width:200px;padding:0 12px 0 6px}
body.relay-terminal[data-navigation=top] .app-header .header-account[hidden]{display:none}
body[data-navigation=top] .header-account-avatar{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;overflow:hidden;border-radius:50%;background:linear-gradient(140deg,#7A3300,#C94C00);color:var(--tp-nf4f4f5);font-size:12.5px;font-weight:700}
body[data-navigation=top] .header-account-avatar>img{display:block;width:100%;height:100%;object-fit:cover}
body[data-navigation=top] .header-account-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body[data-navigation=top] .tool-icon{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
/* Optional legacy toolkit menu (host flag only) uses the shared elevated menu surface. */
body:not([data-toolkit="true"]) .relay-toolkit,.relay-toolkit[hidden] { display:none!important; }
body[data-navigation=top] .relay-toolkit { position:relative; margin:0; border:0; padding:0; background:none; flex-shrink:0; }
body.relay-terminal[data-navigation=top] .app-header .relay-toolkit>summary { display:flex; align-items:center; justify-content:center; width:var(--control-h); padding:0; list-style:none; cursor:pointer; background:var(--panel2); border:1px solid var(--line-strong); }
body[data-navigation=top] .relay-toolkit>summary::-webkit-details-marker { display:none; }
body[data-navigation=top] .relay-toolkit>summary:hover,body[data-navigation=top] .relay-toolkit[open]>summary { border-color:var(--tp-n4a4a53); background:var(--tp-n18181b); }
body[data-navigation=top] .relay-toolkit>summary>.tool-icon:first-child { display:block; width:18px; height:18px; }
body[data-navigation=top] .toolkit-panel { position:absolute; top:calc(100% + 10px); right:0; width:290px; max-width:calc(100vw - 32px); max-height:calc(100dvh - 96px); overflow-y:auto; padding:6px; border:1px solid color-mix(in srgb, var(--tp-nffffff) 8.6%, transparent); border-radius:8px; background:var(--glass-bg);   box-shadow:var(--shadow-elevated); }
body[data-navigation=top] .relay-toolkit:not([open])>.toolkit-panel { display:none; }
body.relay-terminal[data-navigation=top] .workspace-navigation { position:static; inset:auto; width:100%; display:flex; flex-direction:column; gap:2px; padding:0; margin:0; border:0; background:none; overflow:visible; }
body.relay-terminal[data-navigation=top] .workspace-navigation>:is(a,button),body.relay-terminal[data-navigation=top] .toolkit-admin { display:flex; align-items:center; justify-content:flex-start; flex-direction:row; gap:10px; width:100%; min-height:40px; padding:0 14px; border:1px solid transparent; border-radius:6px; font:500 14px var(--sans); text-align:left; text-decoration:none; color:var(--tp-nc9c9cf); background:none; }
body.relay-terminal[data-navigation=top] .workspace-navigation>:is(a,button):hover,body.relay-terminal[data-navigation=top] .toolkit-admin:hover { color:var(--text); background:var(--hover); }
body.relay-terminal[data-navigation=top] .workspace-navigation>:is(.is-active,[aria-pressed=true],[aria-selected=true]) { background:var(--sel-bg); color:var(--sel-text); border-color:var(--sel-line); }
body[data-navigation=top] .workspace-navigation>.is-active:after { display:none; }
body.relay-terminal[data-navigation=top] .workspace-navigation>[data-account-connection] { border-top:1px solid var(--line); border-radius:0 0 5px 5px; margin-top:4px; padding-top:10px; }
body[data-navigation=top] .toolkit-networks { display:grid; gap:8px; margin:6px 0 0; padding:10px 3px 3px; border-top:1px solid var(--line); }
body[data-navigation=top] .toolkit-networks>span { color:var(--muted); padding-left:8px; font-size:11px; }
body.relay-terminal[data-navigation=top] .app-header .chain-switch { display:flex; width:100%; padding:3px; gap:3px; }
body.relay-terminal[data-navigation=top] .app-header .chain-switch>a { flex:1; width:auto; min-height:34px; padding:6px; font-size:12px; }
body.relay-terminal[data-navigation=top] .app-header .toolkit-admin:not([hidden]) { display:flex!important; max-width:none; margin-top:6px; border-top:1px solid var(--line); border-radius:0 0 5px 5px; color:var(--accent); font-size:13px; }
body.relay-terminal[data-navigation=top] .app-header .header-admin:not([hidden]) { display:inline-flex!important; }
/* Tablet: icon-only mode buttons first, then a compact price badge and launch button. */
@media(max-width:1180px){
  body.relay-terminal[data-navigation=top] .app-header :is(.gotchi-nav,.agents-nav){width:var(--control-h);padding:0}
  body.relay-terminal[data-navigation=top] .app-header :is(.gotchi-nav,.agents-nav)>span{display:none}
}
@media(max-width:960px){
  body.relay-terminal[data-navigation=top] .app-header .top-launch{width:var(--control-h);padding:0}
  body.relay-terminal[data-navigation=top] .app-header :is(.top-launch,.header-admin)>span{display:none}
  body.relay-terminal[data-navigation=top] .app-header .header-admin{width:var(--control-h);padding:0}
  body.relay-terminal[data-navigation=top] .app-header .curve-price-badge{flex:0 0 auto;width:auto;padding:0 9px}
  body.relay-terminal[data-navigation=top] .app-header .curve-price-badge .curve-price-symbol{display:none}
  body.relay-terminal[data-navigation=top] .app-header .header-search{max-width:280px}
  body.relay-terminal[data-navigation=top] .app-header .header-search kbd{display:none}
}
/* Phones: one 60px row. The logo mark, then search, Gotchi, Agents, $CURVE price, Launch and
   the account; labels give way to icons and the badge yields first when space runs out. */
@media(max-width:640px){
  body.relay-terminal[data-navigation=top] .app-header{--control-h:38px}
  body.relay-terminal[data-navigation=top] .workspace-header-inner{gap:5px}
  body.relay-terminal[data-navigation=top] .app-header .brand{margin-right:auto}
  body.relay-terminal[data-navigation=top] .app-header .brand>span{display:none}
  body.relay-terminal[data-navigation=top] .app-header .brand .mark{width:30px;height:30px;flex-basis:30px}
  body.relay-terminal[data-navigation=top] .app-header .header-search{flex:0 0 var(--control-h);width:var(--control-h);max-width:none;justify-content:center;padding:0;border-color:var(--line-strong);background:var(--panel2);cursor:pointer}
  body.relay-terminal[data-navigation=top] .app-header .header-search input#explore-search{position:absolute;inset:0;z-index:1;width:100%;height:100%;opacity:0;cursor:pointer;font-size:16px}
  body.relay-terminal[data-navigation=top] .app-header .header-search svg{width:18px;height:18px;flex-basis:18px}
  body.relay-terminal[data-navigation=top] .app-header .local{gap:5px;margin-left:0}
  body.relay-terminal[data-navigation=top] .app-header .curve-price-badge{gap:5px;padding:0 7px;font-size:12px}
  body.relay-terminal[data-navigation=top] .app-header .curve-price-badge>img{width:17px;height:17px;flex-basis:17px}
  body.relay-terminal[data-navigation=top] .app-header .header-account{width:var(--control-h);max-width:none;padding:0;justify-content:center}
  body.relay-terminal[data-navigation=top] .app-header .header-account>:is(.header-account-name,.header-account-chevron){display:none}
  body.relay-terminal[data-navigation=top] .app-header :is([data-account-link],#account-button):not(.header-account){padding:0 10px;font-size:12px}
  body[data-navigation=top] .toolkit-panel { position:fixed; top:calc(var(--header-h) + 6px); right:16px; max-height:calc(100dvh - var(--header-h) - 22px); }
}
@media(max-width:480px){body.relay-terminal[data-navigation=top] .app-header .local:is(:not(:has(.header-account)),:has(.header-admin:not([hidden]))) .curve-price-badge{display:none}}
@media(max-width:374px){body.relay-terminal[data-navigation=top] .app-header .curve-price-badge{display:none}}
@media(max-width:340px){body.relay-terminal[data-navigation=top] .workspace-header-inner{gap:4px}body.relay-terminal[data-navigation=top] .app-header .local{gap:4px}body.relay-terminal[data-navigation=top] .app-header :is(.header-search,.gotchi-nav,.agents-nav,.top-launch,.header-account){width:34px;flex-basis:34px}body.relay-terminal[data-navigation=top] .app-header :is([data-account-link],#account-button):not(.header-account){padding:0 8px;font-size:11.5px}}
/* Header menus share the elevated dialog surface. */
body[data-navigation=top] .header-profile-menu>[aria-expanded=true]{border-color:var(--tp-n4a4a53);background:var(--tp-n18181b)}
/* Footer: same frame as the header and page; links stay readable and tappable. */
body.relay-terminal[data-navigation=top] footer.site-footer{position:relative;display:block;flex-shrink:0;width:100%;max-width:none;margin:auto 0 0;padding:0 var(--page-gutter);overflow:hidden;border-top:1px solid color-mix(in srgb, var(--tp-nffffff) 3.9%, transparent);background:linear-gradient(180deg,color-mix(in srgb, var(--tp-n000000) 0%, transparent),color-mix(in srgb, var(--tp-n000000) 50.2%, transparent));color:var(--muted);font:14px var(--sans);letter-spacing:0}
body.relay-terminal[data-navigation=top] footer.site-footer::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,#FF8E4A55 22%,#E0560070 50%,#7A330055 78%,transparent);background-size:200% 100%;animation:curve-footer-hairline 14s linear infinite;pointer-events:none}
@keyframes curve-footer-hairline{to{background-position:-200% 0}}
.site-footer-inner{position:relative;z-index:1;display:flex;align-items:center;gap:var(--space-7);width:100%;max-width:var(--page-max);min-height:96px;margin:0 auto;padding:var(--space-6) 0}
.site-footer-brand{color:var(--text);font-size:22px;font-weight:750;letter-spacing:-1px;text-decoration:none}
.site-footer-links{display:flex;align-items:center;flex-wrap:wrap;gap:0 var(--space-6);margin-left:auto}
.site-footer-links a{position:relative;padding:10px 0;color:var(--muted);text-decoration:none;transition:color var(--motion-mid,260ms) ease}
.site-footer-links a:hover,.site-footer-links a:focus-visible,.site-footer-links a[aria-current=page]{color:var(--accent)}
.site-footer-social{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--line);border-radius:var(--radius-control);color:var(--text);font-size:16px;font-weight:700;text-decoration:none}
.site-footer-social:hover,.site-footer-social:focus-visible{background:var(--panel2);border-color:var(--accent)}
@media(max-width:640px){.site-footer-inner{flex-wrap:wrap;gap:0 var(--space-4);min-height:0;padding:var(--space-5) 0 var(--space-6)}.site-footer-links{order:3;flex-basis:100%;justify-content:flex-start;gap:0 var(--space-5);margin:0}.site-footer-links a{padding:12px 0}.site-footer-social{margin-left:auto;width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){body.relay-terminal[data-navigation=top] footer.site-footer::before{animation:none}}

/* Account and sign-in dialogs use the shared elevated surface. */
body.relay-terminal .public-account-dialog { width:min(720px,calc(100vw - 32px)); max-height:calc(100dvh - 40px); padding:var(--card-pad-lg); overflow:auto; }
.public-account-dialog [hidden] { display:none!important; }
.public-account-dialog .card-heading { position:sticky; top:calc(-1 * var(--card-pad-lg)); padding:8px 0 12px; background:var(--tp-n121214); z-index:1; }
.public-account-dialog [data-profile] { display:grid; gap:12px; }
.public-account-dialog [data-profile]>.help { margin:0; }
.public-account-dialog [data-profile]>.primary { justify-self:start; min-height:var(--control-h); padding:7px 18px; }
.public-account-dialog .public-profile-photo { display:flex; align-items:center; gap:15px; }
.public-account-dialog .public-profile-photo>img { width:64px; height:64px; object-fit:cover; border-radius:50%; flex:0 0 64px; }
.public-account-dialog .public-profile-photo>div { flex:1; min-width:0; }
.public-account-dialog input[type=file] { width:100%; min-width:0; font-size:12px; }
.public-account-dialog .account-address,.public-account-dialog .cashback-summary { overflow-wrap:anywhere; }
.public-account-dialog [data-export-controls] { margin-top:16px; }
.public-account-dialog [data-export-result] { margin-top:12px; }
@media(max-width:640px) { body.relay-terminal .public-account-dialog { width:calc(100vw - 20px); max-height:calc(100dvh - 24px); padding:20px; } .public-account-dialog .card-heading { top:-20px; } }
/* v71.26: Edit-profile overlay and identity dialog on every page (account agent hand-off). */
/* ==========================================================================
   Edit profile overlay (.public-account-dialog) and the identity dialog (.security-auth-dialog), v2.
   Hand-off from the account agent: these rules are the unscoped twin of the block at the end of
   launched-tokens.css (which only reaches /wallet-account and /launched-tokens). Paste after the existing
   .public-account-dialog rules in curve-theme.css so the overlay looks the same on every page.
   ========================================================================== */
body.relay-terminal .public-account-dialog .card-heading{margin-bottom:var(--space-5,20px)}
body.relay-terminal .public-account-dialog .card-heading h2{font-size:24px;letter-spacing:-.02em}
body.relay-terminal .public-account-dialog [data-content]{display:grid;gap:var(--space-4,16px)}
body.relay-terminal .public-account-dialog .account-section{margin:0;padding:var(--card-pad,24px);border:1px solid var(--line-card,color-mix(in srgb, var(--tp-nf4f4f5) 10.2%, transparent));border-radius:var(--radius-card,18px);background:color-mix(in srgb, var(--tp-n0b0b0c) 70.2%, transparent)}
body.relay-terminal .public-account-dialog .account-section>h3{display:flex;align-items:center;gap:10px;margin:0 0 var(--space-3,12px);font-size:var(--text-card,17px);font-weight:600;letter-spacing:-.01em}
body.relay-terminal .public-account-dialog .account-section>h3 small{color:var(--muted);font-size:13px;font-weight:500}
body.relay-terminal .public-account-dialog .account-section .help{font-size:13px;line-height:1.5}
body.relay-terminal .public-account-dialog .account-actions{display:flex;flex-wrap:wrap;gap:10px var(--space-3,12px)}
body.relay-terminal .public-account-dialog [data-profile]{grid-template-columns:120px minmax(0,1fr);column-gap:var(--space-6,24px);row-gap:var(--space-4,16px)}
body.relay-terminal .public-account-dialog [data-profile]>*{grid-column:2}
/* The avatar (or its placeholder) sits in the left column beside every field; the picture controls take the first row. */
body.relay-terminal .public-account-dialog .public-profile-photo{display:contents}
body.relay-terminal .public-account-dialog .public-profile-photo>img,body.relay-terminal .public-account-dialog .public-profile-photo::before{grid-column:1;grid-row:1/span 5;width:120px;height:120px;margin:0;border-radius:50%;object-fit:cover;box-shadow:0 0 0 4px var(--tp-n0b0b0c),0 0 0 6px #FC660273,0 18px 40px -18px color-mix(in srgb, var(--tp-n000000) 80%, transparent)}
body.relay-terminal .public-account-dialog .public-profile-photo>img[hidden]{display:none!important}
body.relay-terminal .public-account-dialog .public-profile-photo:not(:has(>img:not([hidden])))::before{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f4d797' stroke-width='1.5' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c1.5-4 4.5-6 8-6s6.5 2 8 6'/%3E%3C/svg%3E") center/52px no-repeat,linear-gradient(140deg,var(--tp-n3a3a42),var(--tp-n18181b))}
body.relay-terminal .public-account-dialog .public-profile-photo>div{grid-column:2;min-width:0}
body.relay-terminal .public-account-dialog .public-profile-photo>div>label{display:block;margin-bottom:8px;font-size:13px;font-weight:500}
body.relay-terminal .public-account-dialog [data-profile]>#public-profile-picture-help{margin-top:-8px}
body.relay-terminal .public-account-dialog [data-profile] label{font-size:13px;font-weight:500}
body.relay-terminal .public-account-dialog [data-profile] :is(input:not([type=file]),textarea){width:100%;box-sizing:border-box;margin-top:var(--label-gap,6px)}
body.relay-terminal .public-account-dialog [data-profile] textarea{min-height:104px}
body.relay-terminal .public-account-dialog [data-profile]>.primary{min-height:var(--control-h-lg,48px);padding:0 24px;font-size:15px}
body.relay-terminal .public-account-dialog .account-section .small-button{min-height:var(--control-h,40px)}
body.relay-terminal .public-account-dialog .account-address{margin:var(--space-3,12px) 0;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-inset,12px);background:var(--inset);font:500 13px/1.5 var(--mono,ui-monospace,monospace)}
/* Security: the summary reads like a status line; the enrolment and recovery steps are inset cards. */
body.relay-terminal .public-account-dialog .account-section>[id$=security-summary]{display:flex;align-items:flex-start;gap:10px;margin:0 0 var(--space-4,16px);color:var(--tp-nc9c9cf);font-size:14px}
body.relay-terminal .public-account-dialog .account-section>[id$=security-summary]::before{content:"";flex:none;width:26px;height:26px;border-radius:5px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f4d797' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 3v6c0 4.5-3.5 8-8 9-4.5-1-8-4.5-8-9V6z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E") center/15px no-repeat,var(--panel2);box-shadow:inset 0 0 0 1px var(--line-strong,var(--tp-n3a3a42))}
body.relay-terminal .public-account-dialog :is([id$=security-enrollment],[id$=security-recovery]):not([hidden]){display:grid;gap:var(--space-3,12px);margin-top:var(--space-4,16px);padding:var(--space-4,16px);border:1px solid var(--line);border-radius:var(--radius-inset,12px);background:var(--inset)}
body.relay-terminal .public-account-dialog [id$=security-codes]{margin:0;padding:12px 14px;border:1px solid var(--line);border-radius:6px;background:var(--tp-n000000);font:14px/1.7 var(--mono,ui-monospace,monospace);white-space:pre-wrap}
body.relay-terminal .public-account-dialog [id$=security-account-note]{margin:var(--space-3,12px) 0 0}
/* Identity check: a small glass card with a calm tone. */
body.relay-terminal .security-auth-dialog form{display:grid;gap:var(--space-4,16px)}
body.relay-terminal .security-auth-dialog h2{margin:0;font-size:22px;letter-spacing:-.015em}
body.relay-terminal .security-auth-dialog .security-auth-intro{margin:-6px 0 0;color:var(--muted);font-size:14px;line-height:1.55}
body.relay-terminal .security-auth-dialog label{display:block;font-size:13px;font-weight:500}
body.relay-terminal .security-auth-dialog label>input{width:100%;box-sizing:border-box;margin-top:var(--label-gap,6px)}
body.relay-terminal .security-auth-dialog .account-actions{display:flex;gap:var(--space-3,12px);margin-top:var(--space-2,8px)}
body.relay-terminal .security-auth-dialog .account-actions>.primary{flex:1;min-height:var(--control-h-lg,48px);font-size:15px}
body.relay-terminal .security-auth-dialog .account-actions>.small-button{min-height:var(--control-h-lg,48px)}
@media(max-width:640px){
  body.relay-terminal .public-account-dialog .account-section{padding:var(--card-pad,18px)}
  body.relay-terminal .public-account-dialog [data-profile]{grid-template-columns:minmax(0,1fr)}
  body.relay-terminal .public-account-dialog [data-profile]>*{grid-column:1}
  body.relay-terminal .public-account-dialog .public-profile-photo{display:flex;align-items:center;gap:var(--space-4,16px);grid-column:1}
  body.relay-terminal .public-account-dialog .public-profile-photo>img,body.relay-terminal .public-account-dialog .public-profile-photo::before{flex:none;width:88px;height:88px;background-size:40px;box-shadow:0 0 0 3px var(--tp-n0b0b0c),0 0 0 5px #FC660273}
  body.relay-terminal .public-account-dialog .public-profile-photo>div{flex:1;min-width:0}
  body.relay-terminal .public-account-dialog [data-profile]>#public-profile-picture-help{margin-top:-4px}
  body.relay-terminal .public-account-dialog [data-profile]>.primary{width:100%}
}

/* Wallet sign-in and password sign-in are separate alternatives. */
body.relay-terminal .signin-dialog { width:min(450px,calc(100vw - 24px)); max-height:calc(100dvh - 32px); padding:var(--card-pad-lg); overflow:auto; }
.signin-dialog [hidden] { display:none!important; }
.signin-dialog .card-heading { gap:18px; }
.signin-dialog h2 { margin:0; font-size:22px; letter-spacing:-.015em; }
.signin-dialog .signin-wallet { display:flex; justify-content:center; width:100%; min-height:var(--control-h-lg); margin-top:var(--space-4); font-size:16px; }
.signin-dialog .signin-wallet-note { font-size:13px; text-align:center; line-height:1.65; }
.signin-dialog .signin-divider { display:flex; align-items:center; gap:15px; margin:var(--space-5) 0; color:var(--muted); font-size:11px; font-weight:650; letter-spacing:1px; }
.signin-dialog .signin-divider::before,.signin-dialog .signin-divider::after { content:''; flex:1; height:1px; background:var(--line); }
.signin-dialog .signin-manual-heading { margin:0 0 17px; font-size:14px; font-weight:650; }
.signin-dialog form { display:grid; gap:15px; }
.signin-dialog form label { font-size:13px; }
.signin-dialog form input { margin-top:5px; }
.signin-dialog [data-message]:empty { display:none; }
.signin-dialog form>.primary { justify-content:center; min-height:var(--control-h-lg); }
.signin-dialog [data-mode] { display:block; margin:17px auto 0; font-size:13px; }
.signin-wallets { display:grid; gap:8px; margin-top:12px; }
.signin-wallets>.small-button { min-height:var(--control-h-lg); width:100%; }
@media(max-width:500px) { body.relay-terminal .signin-dialog { padding:20px; } .signin-dialog h2 { font-size:20px; } }

.cashback-wallet-settings [hidden] { display:none!important; }
.cashback-wallet-settings form { margin-top:18px; display:grid; gap:12px; }
.cashback-wallet-settings .account-address { overflow-wrap:anywhere; }
.cashback-wallet-settings .account-actions { flex-wrap:wrap; }
.cashback-wallet-settings input { width:100%; min-width:0; }
.cashback-wallet-settings [data-cbw-message]:empty { display:none; }
.evm-wallet-settings [hidden] { display:none!important; }
.evm-wallet-settings .account-address { overflow-wrap:anywhere; }
.evm-wallet-settings .account-actions { flex-wrap:wrap; }
.evm-wallet-settings [data-evw-form] { margin-top:14px; display:grid; gap:10px; }
.evm-wallet-settings [data-evw-message]:empty, .evm-wallet-settings [data-evw-warning]:empty, .evm-wallet-settings [data-evw-selected]:empty { display:none; }



/* One quiet type scale across discovery, token pages, forms and account views. */
body.relay-terminal :is(button,input,select,textarea) { font-family: var(--sans); }
/* File inputs match the form controls instead of the browser's grey button. */
body.relay-terminal input[type=file] { min-height: var(--input-h); padding: 4px; font-size: 13px; color: var(--muted); }
body.relay-terminal input[type=file]::file-selector-button { min-height: var(--control-h-sm); margin-right: 10px; padding: 0 12px; border: 1px solid var(--line-strong); border-radius: 5px; background: var(--panel2); color: var(--text); font: 600 12px var(--sans); cursor: pointer; }
body.relay-terminal :is(button,.small-button) { font-weight: 550; }
body.relay-terminal :is(strong,b) { font-weight: 600; }
body.relay-terminal :is(h1,h2,h3) { font-family: var(--sans); font-weight: 600; }
/* v2 type scale: page title 36px/1.1 (28 on phones), section 22px, card 17px, body 15px, meta 13px. */
body.relay-terminal .heading h1, body.relay-terminal .terminal-heading h1 { font-size: var(--text-title) !important; line-height: 1.1; letter-spacing: -.02em; font-weight: 650; }
body.relay-terminal .heading .subtitle { font-size: 15px; }
body.relay-terminal :is(.explore-feature-heading h2,.coin-name,.creator-heading h1) { letter-spacing: -.025em; }
body.relay-terminal :is(.explore-feature-value,.explore-feature-stats,.explore-mini-value,.explore-coin-value,.coin-price,.coin-facts dd,.analytics-metric-value) { font-variant-numeric: tabular-nums; }
body.relay-terminal .explore-refresh-pill { font-weight: 600; }

body.launch-page .launch-layout > *, body.launch-page .launch-section { min-width: 0; }
body.launch-page .launch-form-fields { grid-template-columns: minmax(0,1fr); }
body.launch-page .launch-fields { grid-template-columns: repeat(2,minmax(0,1fr)); }
@media (max-width: 900px) {
  body.launch-page .launch-layout { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 560px) {
  body.launch-page .launch-section .launch-fee-settings { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 400px) {
  body.launch-page .launch-segments > button { gap: 5px; padding: 10px 6px; font-size: 12px; }
  body.launch-page .launch-segments .quote-logo { --quote-logo-size: 18px; }
}

/* Keep the centered page frame steady when content adds a scrollbar. */
html{scrollbar-gutter:stable}
/* ===== Discovery v72: shared chrome refinements (header actions, footer) and the public
   creator profile. Scoped to the shell/footer/creator classes; reduced motion stays static. ===== */
@keyframes curve-chrome-breathe{50%{opacity:.4;transform:scale(.75)}}
body.relay-terminal[data-shell=true] .app-header [data-account-link].small-button{transition:transform var(--motion-fast,150ms) var(--motion-ease,ease),border-color var(--motion-mid,260ms) ease,background-color var(--motion-mid,260ms) ease,box-shadow var(--motion-mid,260ms) ease}
body.relay-terminal[data-shell=true] .app-header [data-account-link].small-button:hover{border-color:var(--tp-n7a7a85);box-shadow:0 8px 22px -14px #FC6602cc}
.site-footer-brand{background:linear-gradient(100deg,var(--tp-nf4f4f5) 0%,var(--tp-nf4f4f5) 40%,#FF8E4A 55%,#FC6602 70%,#E05600 85%);background-size:250% 100%;background-position:0 0;-webkit-background-clip:text;background-clip:text;color:transparent;transition:background-position 900ms var(--motion-ease,ease)}
.site-footer-brand:hover,.site-footer-brand:focus-visible{background-position:100% 0}
.site-footer-social{transition:transform var(--motion-mid,260ms) var(--motion-spring,ease),border-color var(--motion-mid,260ms) ease,background-color var(--motion-mid,260ms) ease,box-shadow var(--motion-mid,260ms) ease}
.site-footer-social:hover,.site-footer-social:focus-visible{transform:translateY(-2px) rotate(-6deg);box-shadow:0 10px 22px -12px #FC6602cc}

/* ===== Creator profile (/user/<name>), v2: a hero banner (96px avatar, sunrise ring, big name), a stats line
   and coin cards with the home grid's anatomy (square art, 18px radius, 4/5 columns). ===== */
.creator-page .creator-profile{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;gap:var(--space-6);margin:0 0 var(--space-7);padding:var(--card-pad-lg) 32px;border:1px solid var(--line-card);border-radius:var(--radius-card);background:radial-gradient(ellipse at 100% 0,#FC66021c,transparent 52%),radial-gradient(ellipse at 0 100%,color-mix(in srgb, var(--tp-n5e5e67) 7.8%, transparent),transparent 58%),linear-gradient(115deg,var(--tp-n121214),var(--panel) 70%);box-shadow:var(--shadow-card);min-height:168px}
.creator-page .creator-profile::after{content:"";position:absolute;inset:-14% -8% auto auto;width:48%;aspect-ratio:1;z-index:-1;pointer-events:none;background:radial-gradient(circle at 50% 50%,transparent 46%,#FF8E4A26 46.2%,transparent 46.6%,transparent 56%,#FF8E4A1c 56.2%,transparent 56.6%,transparent 66%,color-mix(in srgb, var(--tp-n7a7a85) 8.6%, transparent) 66.2%,transparent 66.6%);animation:curve-chrome-drift 18s ease-in-out infinite alternate}
@keyframes curve-chrome-drift{to{transform:translate3d(-4%,5%,0) rotate(8deg)}}
.creator-page .creator-profile>div{min-width:0;flex:1}
.creator-page .creator-profile>.creator-avatar,.creator-page .creator-avatar-fallback{width:96px;height:96px;flex:0 0 96px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 3px color-mix(in srgb, var(--tp-nffffff) 6.3%, transparent),0 0 0 5px #FC660240,0 16px 36px -14px color-mix(in srgb, var(--tp-n000000) 80%, transparent)}
.creator-page .creator-avatar-fallback{display:none}
.creator-page #creator-picture[hidden]+.creator-avatar-fallback{display:grid;place-items:center;background:linear-gradient(140deg,#7A3300,#C94C00 55%,#FC6602);color:var(--tp-nf4f4f5);font-size:40px;font-weight:750;letter-spacing:-1px}
.creator-page .creator-profile .eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0;color:var(--sunrise-gold);font:600 12px/1 var(--sans);letter-spacing:.08em}
.creator-page .creator-profile .eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--sunrise-gold);box-shadow:0 0 10px #FF8E4Aaa;animation:curve-chrome-breathe 2.4s ease-in-out infinite}
.creator-page .creator-profile h1{margin:10px 0 6px;color:var(--sunrise-cream);font-size:var(--text-title);line-height:1.1;letter-spacing:-.025em;overflow-wrap:anywhere}
.creator-page #creator-bio{margin:0;max-width:760px;color:var(--tp-nc9c9cf);font-size:15px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.creator-page #creator-bio:empty{display:none}
.creator-page .creator-section-title{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}
.creator-page .creator-section-title h2{display:flex;align-items:center;gap:var(--space-3);margin:0;font-size:var(--text-section);line-height:1.25;letter-spacing:-.015em}
.creator-page #creator-count{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:26px;padding:0 10px;border:1px solid #FC660255;border-radius:999px;background:#FC66021f;color:var(--accent);font:650 13px/1 var(--sans);font-variant-numeric:tabular-nums}
.creator-page #creator-count:empty{display:none}
.creator-page .creator-section-title+.help{max-width:960px;margin:var(--space-2) 0 var(--space-5);color:var(--muted);font-size:13px;line-height:1.5}
.creator-page #creator-error:not([hidden]){margin:0 0 var(--space-5);padding:var(--space-4) var(--space-5);border:1px solid var(--tp-n3a3a42);border-radius:var(--radius-control);background:var(--tp-n121214);color:#FFB27A}
.creator-page .creator-coins{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--grid-gap);margin:0}
@media(min-width:380px){.creator-page .creator-coins{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:900px){.creator-page .creator-coins{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1200px){.creator-page .creator-coins{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:1560px){.creator-page .creator-coins{grid-template-columns:repeat(5,minmax(0,1fr))}}
.creator-page .creator-coin{position:relative;display:flex;flex-direction:column;min-width:0;padding:0;overflow:hidden;border:1px solid var(--line-card);border-radius:var(--radius-card);background:var(--panel);color:var(--text);text-decoration:none;box-shadow:var(--shadow-card);transition:transform var(--motion-mid,260ms) var(--motion-ease,ease),border-color var(--motion-mid,260ms) ease,box-shadow var(--motion-mid,260ms) ease}
.creator-page .creator-coin:hover,.creator-page .creator-coin:focus-visible{transform:translate3d(0,-4px,0);border-color:var(--line-card-hover);box-shadow:var(--shadow-card-hover)}
.creator-page .creator-coin-media{position:relative;display:block;aspect-ratio:1;overflow:hidden;background:linear-gradient(145deg,#7A330060,#C94C0045 60%,#FC660230)}
.creator-page .creator-coin-media::after{content:"";position:absolute;left:0;right:0;top:0;height:30%;background:linear-gradient(180deg,color-mix(in srgb, var(--tp-n000000) 43.9%, transparent),color-mix(in srgb, var(--tp-n000000) 0%, transparent));pointer-events:none}
.creator-page .creator-coin-media>img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;border-radius:0;object-fit:cover;transition:transform 700ms var(--motion-ease,ease)}
.creator-page .creator-coin:hover .creator-coin-media>img{transform:scale(1.06);filter:none}
.creator-page .creator-coin-fallback{position:absolute;inset:0;display:grid;place-items:center;color:#FFB27A;font-size:28px;font-weight:650;letter-spacing:-.5px}
.creator-page .creator-coin-body{display:block;padding:16px 18px 18px}
.creator-page .creator-coin h3{margin:0;overflow:hidden;font-size:17px;font-weight:650;line-height:1.3;letter-spacing:-.012em;text-overflow:ellipsis;white-space:nowrap;transition:color var(--motion-mid,260ms) ease}
.creator-page .creator-coin:hover h3{color:var(--sunrise-cream)}
.creator-page .creator-coin .creator-coin-symbol{margin:2px 0 var(--space-3);overflow:hidden;color:var(--muted);font-size:13px;text-overflow:ellipsis;white-space:nowrap}
.creator-page .creator-coin .creator-coin-stat{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);margin:6px 0 0;color:var(--muted);font-size:13px}
.creator-page .creator-coin-stat>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.creator-page .creator-coin-stat strong{flex:0 0 auto;color:var(--text);font-size:17px;font-weight:650;letter-spacing:-.01em;white-space:nowrap;font-variant-numeric:tabular-nums}
.creator-page .creator-coin-stat.is-ath strong{color:var(--sunrise-gold)}
.creator-page .creator-coin-ath{position:relative;display:block;height:6px;margin-top:var(--space-3);overflow:hidden;border-radius:4px;background:var(--tp-n2a2a30)}
.creator-page .creator-coin-ath>i{position:absolute;inset:0 auto 0 0;width:calc(var(--ath,0)*1%);overflow:hidden;border-radius:inherit;background:linear-gradient(90deg,#7A3300,#C94C00 45%,#FC6602);transform-origin:0 50%;animation:curve-chrome-fill .9s var(--motion-ease,ease) .1s both}
@keyframes curve-chrome-fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.creator-page .creator-empty{grid-column:1/-1;margin:0;padding:var(--space-8) var(--space-6);border:1px dashed var(--line-strong);border-radius:var(--radius-card);background:var(--panel);color:var(--muted);font-size:15px;text-align:center}
.creator-page #creator-pages{display:flex;align-items:center;justify-content:center;gap:var(--space-3);margin-top:var(--space-7)}
.creator-page #creator-pages:not(:has(button:not(:disabled))){display:none}
@media(max-width:640px){
  .creator-page .creator-profile{gap:var(--space-4);padding:var(--space-5);align-items:center;min-height:0}
  .creator-page .creator-profile>.creator-avatar,.creator-page .creator-avatar-fallback{width:72px;height:72px;flex-basis:72px;font-size:30px}
  .creator-page .creator-profile h1{margin:8px 0 4px}
  .creator-page #creator-bio{font-size:14px}
  .creator-page .creator-coin-body{padding:12px 14px 14px}
  .creator-page .creator-coin h3{font-size:16px}
  .creator-page .creator-coin .creator-coin-stat{flex-direction:column;align-items:flex-start;gap:1px;margin-top:8px;font-size:12.5px}
  .creator-page .creator-coin-stat strong{font-size:16px}
}
@media(prefers-reduced-motion:reduce){.creator-page .creator-profile .eyebrow::before,.creator-page .creator-profile::after,.creator-page .creator-coin-ath>i{animation:none}.creator-page .creator-coin,.creator-page .creator-coin-media>img{transition:none}.creator-page .creator-coin:hover,.creator-page .creator-coin:hover .creator-coin-media>img{transform:none}}
/* ===== 404 page (not-found.html, script-free): one roomy on-brand card with CSS-only sunrise art. ===== */
body.not-found-page .documentation-main{display:block;max-width:calc(var(--page-max) + 2*var(--page-gutter))}
body.not-found-page .not-found-card{position:relative;isolation:isolate;overflow:hidden;max-width:760px;margin:var(--space-7) auto 0;padding:56px 48px 48px;border:1px solid var(--line-card);border-radius:12px;background:radial-gradient(ellipse at 100% 0,#FC66021a,transparent 52%),radial-gradient(ellipse at 0 100%,color-mix(in srgb, var(--tp-n5e5e67) 8.6%, transparent),transparent 58%),linear-gradient(130deg,var(--tp-n121214),var(--panel) 65%);box-shadow:var(--shadow-card);text-align:center}
body.not-found-page .not-found-art{position:relative;width:168px;height:168px;margin:0 auto 28px;pointer-events:none}
body.not-found-page .not-found-orbit{position:absolute;inset:18px;border:1px dashed #FC660255;border-top-color:transparent;border-radius:50%;animation:curve-404-orbit 18s linear infinite}
body.not-found-page .not-found-orbit.is-outer{inset:0;border-color:#C94C0040;border-bottom-color:transparent;animation-duration:30s;animation-direction:reverse}
body.not-found-page .not-found-sun{position:absolute;inset:48px;border-radius:50%;background:radial-gradient(circle at 38% 32%,#FFE2CC,#FF8E4A 35%,#FC6602 60%,#E05600 100%);box-shadow:0 0 40px -4px #FC660299,0 0 90px -20px #E0560099;animation:curve-404-glow 4.2s ease-in-out infinite}
body.not-found-page .not-found-rocket{position:absolute;left:50%;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50% 50% 50% 0;background:linear-gradient(140deg,var(--tp-nf4f4f5),var(--tp-nc9c9cf));transform-origin:50% 50%;animation:curve-404-fly 18s linear infinite}
body.not-found-page .not-found-rocket::after{content:"";position:absolute;left:3px;top:3px;width:5px;height:5px;border-radius:50%;background:#7A3300}
@keyframes curve-404-orbit{to{transform:rotate(360deg)}}
@keyframes curve-404-glow{50%{transform:scale(1.06);box-shadow:0 0 56px -4px #FC6602cc,0 0 110px -20px #E05600bb}}
@keyframes curve-404-fly{from{transform:rotate(0) translateX(66px) rotate(135deg)}to{transform:rotate(360deg) translateX(66px) rotate(495deg)}}
body.not-found-page .documentation-hero{margin:0 0 var(--space-6);padding:0}
body.not-found-page .documentation-hero::after{content:none}
body.not-found-page .documentation-hero .eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 14px;color:var(--sunrise-gold);font:600 12px/1 var(--sans);letter-spacing:.1em}
body.not-found-page .documentation-hero h1{margin:0 0 14px;font-size:44px;line-height:1.05;letter-spacing:-.03em;background:linear-gradient(100deg,#FFE2CC,#FF8E4A 45%,#FC6602);-webkit-background-clip:text;background-clip:text;color:transparent}
body.not-found-page .documentation-hero>p:not(.eyebrow){max-width:560px;margin:0 auto;color:var(--tp-n9a9aa3);font-size:16px;line-height:1.6}
body.not-found-page .documentation-hero .not-found-aside{margin-top:14px;color:var(--tp-nc9c9cf);font-size:15px;font-style:italic}
body.not-found-page .documentation-end{justify-content:center;gap:var(--space-3);margin:0;padding:0;border:0}
body.not-found-page .documentation-end a{min-height:var(--control-h-lg);padding:0 22px;border-radius:var(--radius-control);font-size:15px}
@media(max-width:640px){
  body.not-found-page .not-found-card{margin-top:var(--space-4);padding:40px 22px 30px;border-radius:12px}
  body.not-found-page .not-found-art{width:136px;height:136px;margin-bottom:22px}
  body.not-found-page .not-found-orbit{inset:14px}
  body.not-found-page .not-found-sun{inset:40px}
  body.not-found-page .not-found-rocket{animation-name:curve-404-fly-sm}
  @keyframes curve-404-fly-sm{from{transform:rotate(0) translateX(54px) rotate(135deg)}to{transform:rotate(360deg) translateX(54px) rotate(495deg)}}
  body.not-found-page .documentation-hero h1{font-size:34px}
  body.not-found-page .documentation-hero>p:not(.eyebrow){font-size:15px}
  body.not-found-page .documentation-end a{flex:1 1 calc(50% - 12px);justify-content:center}
}
@media(prefers-reduced-motion:reduce){body.not-found-page :is(.not-found-orbit,.not-found-sun,.not-found-rocket){animation:none}}
/* ===== Discovery v72.1: shared chrome finishing touches. ===== */
@keyframes curve-chrome-spin{to{transform:rotate(360deg)}}
/* Header: the wallet action and the search field answer keyboard focus with the same warm ring. */
body.relay-terminal[data-shell=true] .app-header [data-account-link].small-button:focus-visible,body[data-navigation=top] .workspace-header-inner .top-launch:focus-visible{outline:2px solid var(--sunrise-gold);outline-offset:3px}
body.relay-terminal[data-shell=true] .app-header [data-account-link].small-button:hover{transform:translateY(-1px)}
body.relay-terminal[data-navigation=top] .app-header .header-account{transition:border-color var(--motion-mid,260ms) ease,background-color var(--motion-mid,260ms) ease,transform var(--motion-fast,150ms) var(--motion-ease,ease)}
body.relay-terminal[data-navigation=top] .app-header .header-account:hover{transform:translateY(-1px)}
body[data-navigation=top] .header-account-avatar{transition:transform var(--motion-slow,560ms) var(--motion-spring,ease)}
body.relay-terminal[data-navigation=top] .app-header .header-account:hover .header-account-avatar{transform:rotate(-10deg) scale(1.08)}
/* Footer: a faint sunrise sits low on the right; the current page link keeps its underline. */
.site-footer-inner{position:relative;z-index:1}
body.relay-terminal .site-footer-links a[aria-current=page]{background-size:100% 1px}
.site-footer-social{font-weight:700}
/* Creator profile: the Refresh button shows a ring while a page is loading; coin art lifts on hover. */
.creator-page #creator-refresh:disabled{display:inline-flex;align-items:center;gap:8px;opacity:.85}
.creator-page #creator-refresh:disabled::before{content:"";width:10px;height:10px;flex:0 0 10px;border-radius:50%;border:2px solid #FF8E4A33;border-top-color:#FF8E4A;animation:curve-chrome-spin .8s linear infinite}
.creator-page .creator-coin-ath>i{overflow:hidden}
.creator-page .creator-coin-ath>i::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 25%,color-mix(in srgb, var(--tp-nffffff) 50.2%, transparent) 50%,transparent 75%);transform:translateX(-120%);transition:transform 900ms var(--motion-ease,ease)}
.creator-page .creator-coin:hover .creator-coin-ath>i::after{transform:translateX(220%)}
.creator-page #creator-pages .small-button{min-height:var(--control-h);padding:0 var(--space-4);border-radius:var(--radius-control)}
@media(prefers-reduced-motion:reduce){.creator-page #creator-refresh:disabled::before{animation:none!important}.creator-page .creator-coin-ath>i::after{transition:none}body.relay-terminal[data-navigation=top] .app-header .header-account:hover,body.relay-terminal[data-shell=true] .app-header [data-account-link].small-button:hover{transform:none}}

/* ===== v71.25 shared components (DESIGN-SYSTEM.md §5–9). Add the cv-* class to an existing container. ===== */
/* Horizontal scrollers: no scrollbar, contained overscroll, and a right-edge fade on phones. */
body.relay-terminal :is(.cv-scroller,.cv-tabs,.cv-chips,.account-tabs) { display: flex; flex-wrap: nowrap; min-width: 0; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
body.relay-terminal :is(.cv-scroller,.cv-tabs,.cv-chips,.account-tabs)::-webkit-scrollbar { display: none; }
@media (max-width: 640px) {
  body.relay-terminal :is(.cv-scroller,.cv-tabs,.cv-chips) { padding-inline-end: 24px; -webkit-mask-image: linear-gradient(90deg,var(--tp-n000000) calc(100% - 28px),transparent); mask-image: linear-gradient(90deg,var(--tp-n000000) calc(100% - 28px),transparent); }
}
/* Underline tabs: 40px items; the selected item's sunrise underline grows in (cheap, no JS). Groups that run
   their own sliding indicator (explore.js) hide this underline through .has-indicator. */
body.relay-terminal .cv-tabs, body.relay-terminal .account-tabs { gap: var(--space-1); border-bottom: 1px solid var(--line); }
body.relay-terminal :is(.cv-tabs,.account-tabs) > :is(button,a) { position: relative; display: inline-flex; align-items: center; gap: 7px; flex: 0 0 auto; height: var(--control-h); min-height: 0; margin: 0; padding: 0 14px; border: 0; border-radius: 6px 6px 0 0; background: none; color: var(--muted); font: 500 15px/1 var(--sans); white-space: nowrap; text-decoration: none; cursor: pointer; box-shadow: none; transition: color var(--motion-mid,260ms) ease, background-color var(--motion-mid,260ms) ease; }
body.relay-terminal :is(.cv-tabs,.account-tabs) > :is(button,a):hover { color: var(--text); background: color-mix(in srgb, var(--tp-nffffff) 2.4%, transparent); }
body.relay-terminal :is(.cv-tabs,.account-tabs) > :is([aria-pressed=true],[aria-selected=true],[aria-current=page],.is-active) { color: var(--text); box-shadow: none; }
body.relay-terminal :is(.cv-tabs,.account-tabs) > :is([aria-pressed=true],[aria-selected=true],[aria-current=page],.is-active)::after { content: ""; position: absolute; left: 14px; right: 14px; bottom: -1px; height: 2px; border-radius: 2px; background: linear-gradient(90deg,#FF8E4A,#FC6602 50%,#E05600); transform-origin: 0 50%; animation: cv-tab-in 320ms var(--motion-ease,ease); }
body.relay-terminal :is(.cv-tabs,.account-tabs).has-indicator > :is([aria-pressed=true],[aria-selected=true],[aria-current=page],.is-active)::after { display: none; }
@keyframes cv-tab-in { from { transform: scaleX(.3); opacity: 0; } }
body.relay-terminal :is(.cv-tabs,.account-tabs) > :is(button,a):focus-visible { outline: 2px solid var(--sunrise-gold); outline-offset: -2px; }
/* Filter chips: 36px pills with a soft selected state. */
body.relay-terminal .cv-chips { align-items: center; gap: 8px; }
body.relay-terminal .cv-chips > :is(button,a) { display: inline-flex; align-items: center; justify-content: center; gap: 7px; flex: 0 0 auto; height: var(--control-h-sm); min-height: 0; margin: 0; padding: 0 14px; border: 1px solid var(--line); border-radius: var(--radius-pill); background: transparent; color: var(--tp-n9a9aa3); font: 500 14px/1 var(--sans); white-space: nowrap; text-decoration: none; cursor: pointer; box-shadow: none; transition: color var(--motion-mid,260ms) ease, background-color var(--motion-mid,260ms) ease, border-color var(--motion-mid,260ms) ease, transform var(--motion-fast,150ms) var(--motion-ease,ease); }
body.relay-terminal .cv-chips > :is(button,a):hover { background: var(--hover); border-color: var(--line-strong); color: var(--text); }
body.relay-terminal .cv-chips > :is([aria-pressed=true],[aria-selected=true],[aria-current=page],.is-active) { background: var(--sel-bg); border-color: var(--sel-line); color: var(--sel-text); box-shadow: 0 6px 18px -12px #FC660299; }
body.relay-terminal .cv-chips > :is(button,a):focus-visible { outline: 2px solid var(--sunrise-gold); outline-offset: 2px; }
/* Segmented control: 40px track, 34px items. */
body.relay-terminal .cv-segmented { display: inline-flex; align-items: center; gap: 2px; flex: 0 0 auto; padding: 3px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--inset); overflow: hidden; }
body.relay-terminal .cv-segmented > :is(button,a) { display: inline-flex; align-items: center; justify-content: center; gap: 7px; height: calc(var(--control-h) - 8px); min-height: 0; margin: 0; padding: 0 14px; border: 1px solid transparent; border-radius: 5px; background: transparent; color: var(--muted); font: 500 14px/1 var(--sans); white-space: nowrap; text-decoration: none; cursor: pointer; box-shadow: none; transition: color var(--motion-mid,260ms) ease, background-color var(--motion-mid,260ms) ease, border-color var(--motion-mid,260ms) ease; }
body.relay-terminal .cv-segmented > :is(button,a):hover { color: var(--text); }
body.relay-terminal .cv-segmented > :is([aria-pressed=true],[aria-selected=true],[aria-current=page],.is-active) { background: var(--panel2); border-color: var(--line-strong); color: var(--text); }
body.relay-terminal .cv-segmented > :is(button,a):focus-visible { outline: 2px solid var(--sunrise-gold); outline-offset: -2px; }
/* Pills and badges. */
.cv-pill { display: inline-flex; align-items: center; gap: 5px; height: 24px; padding: 0 9px; border: 1px solid var(--line); border-radius: var(--radius-pill); background: color-mix(in srgb, var(--tp-nffffff) 3.9%, transparent); color: var(--muted); font: 600 12px/1 var(--sans); white-space: nowrap; font-variant-numeric: tabular-nums; }
.cv-pill.is-accent { color: var(--accent); background: #FC66021f; border-color: #FC660255; }
.cv-pill.is-good { color: #2ee59d; background: #2ee59d1a; border-color: #2ee59d4d; }
.cv-pill.is-warn { color: #FF8E4A; background: #FF8E4A1a; border-color: #FF8E4A55; }
.cv-pill.is-bad { color: #ff4d6d; background: #ff4d6d1a; border-color: #ff4d6d55; }
/* Cards (v2): 18px radius, a 10%-cream border, a soft ambient shadow and a gentle lift on hover.
   .cv-card is the same look for elements that cannot take .card (no margin). .cv-inset for stat cells. */
.cv-card { padding: var(--card-pad); border: 1px solid var(--line-card); border-radius: var(--radius-card); background: var(--panel); box-shadow: var(--shadow-card); }
body.relay-terminal :is(.card,.cv-card) { border-color: var(--line-card); box-shadow: var(--shadow-card); transition: transform var(--motion-mid,260ms) var(--motion-ease,ease), box-shadow var(--motion-mid,260ms) ease, border-color var(--motion-mid,260ms) ease, background-color var(--motion-mid,260ms) ease; }
@media (hover: hover) { body.relay-terminal :is(.card,.cv-card):hover { transform: translateY(-2px); border-color: var(--line-card-hover); box-shadow: var(--shadow-card-hover); } }
.cv-inset { padding: 14px 16px; border: 1px solid var(--line); border-radius: var(--radius-inset); background: var(--inset); }
@media (max-width: 640px) { .cv-card { padding: var(--card-pad); } }
/* Glass: the elevated surface for menus, dialogs and floating bars. */
.cv-glass { background: var(--glass-bg);   border: 1px solid color-mix(in srgb, var(--tp-nffffff) 7.8%, transparent); box-shadow: var(--shadow-elevated); }
/* Featured / hero cards: a slow animated sunrise gradient border (transform-free, one painted ring). */
.cv-sunrise-border { position: relative; isolation: isolate; border-color: transparent !important; background-clip: padding-box; }
.cv-sunrise-border::before { content: ""; position: absolute; inset: -1px; z-index: -1; border-radius: inherit; padding: 1px; background: conic-gradient(from var(--sunrise-angle,0deg),#FF8E4A,#FC6602,#E05600,#C94C00,#7A3300,#C94C00,#E05600,#FC6602,#FF8E4A); opacity: .75; -webkit-mask: linear-gradient(var(--tp-n000000) 0 0) content-box, linear-gradient(var(--tp-n000000) 0 0); mask: linear-gradient(var(--tp-n000000) 0 0) content-box, linear-gradient(var(--tp-n000000) 0 0); -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none; animation: cv-sunrise-spin 14s linear infinite; }
@keyframes cv-sunrise-spin { to { --sunrise-angle: 360deg; } }
/* Tables. */
body.relay-terminal :is(.cv-table,.terminal-table) { width: 100%; border-collapse: collapse; font-size: 14px; font-variant-numeric: tabular-nums; }
body.relay-terminal :is(.cv-table,.terminal-table) th { padding: 10px 14px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 13px; font-weight: 500; text-align: left; white-space: nowrap; }
body.relay-terminal :is(.cv-table,.terminal-table) td { padding: 12px 14px; border-bottom: 1px solid var(--tp-n18181b); }
body.relay-terminal :is(.cv-table,.terminal-table) tbody tr:hover { background: color-mix(in srgb, var(--tp-nffffff) 2%, transparent); }
body.relay-terminal :is(.cv-table,.terminal-table) :is(td,th).num { text-align: right; }
.table-scroll { overflow-x: auto; overscroll-behavior-x: contain; }
/* One elevated glass surface for dialogs and menus. */
body dialog, body.relay-terminal .account-dialog, body.relay-terminal .launch-asset-dialog, body.relay-terminal .launch-buy-dialog, body.relay-terminal .tokens-wallet-dialog { background: var(--glass-bg);   color: var(--text); border: 1px solid color-mix(in srgb, var(--tp-nffffff) 8.6%, transparent); border-radius: 12px; box-shadow: var(--shadow-elevated); }
body dialog::backdrop, body.relay-terminal dialog::backdrop { background: color-mix(in srgb, var(--tp-n000000) 72.2%, transparent);   }
body.relay-terminal .account-dialog:not(.signin-dialog) h2 { font-size: 22px; letter-spacing: -.015em; }
.cv-menu { padding: 6px; border: 1px solid color-mix(in srgb, var(--tp-nffffff) 8.6%, transparent); border-radius: 8px; background: var(--glass-bg);   box-shadow: var(--shadow-elevated); }
.cv-menu > :is(a,button) { display: flex; align-items: center; gap: 9px; width: 100%; min-height: 40px; padding: 0 14px; border: 0; border-radius: 6px; background: none; color: var(--text); font: 500 14px var(--sans); text-align: left; text-decoration: none; cursor: pointer; }
.cv-menu > :is(a,button):hover { background: var(--hover); }
/* Loading skeletons: any .cv-skeleton block shimmers (the motion layer adds the same sheen to page skeletons). */
.cv-skeleton { position: relative; overflow: hidden; border-radius: 5px; background: var(--tp-n18181b); }
.cv-skeleton::after { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg,transparent 20%,color-mix(in srgb, var(--tp-nffffff) 5.1%, transparent) 42%,#FFE2CC14 50%,color-mix(in srgb, var(--tp-nffffff) 5.1%, transparent) 58%,transparent 80%); background-size: 220% 100%; animation: cv-shimmer 1.6s linear infinite; }
@keyframes cv-shimmer { from { background-position: 120% 0; } to { background-position: -120% 0; } }
/* Live dots: a breathing marker for "updating"/"live" labels. */
.cv-live-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 0 #FC660266; animation: cv-live 2.4s ease-in-out infinite; vertical-align: middle; }
@keyframes cv-live { 50% { opacity: .45; transform: scale(.78); box-shadow: 0 0 0 5px #FC660200; } }
@media (prefers-reduced-motion: reduce) {
  body.relay-terminal :is(.card,.cv-card):hover { transform: none; }
  .cv-sunrise-border::before, .cv-skeleton::after, .cv-live-dot { animation: none !important; }
  body.relay-terminal :is(.cv-tabs,.account-tabs) > :is([aria-pressed=true],[aria-selected=true],[aria-current=page],.is-active)::after { animation: none; }
  body.relay-terminal[data-navigation=top] main:is(.curve-page-leave,.curve-page-enter) { animation: none !important; }
}

/* ==========================================================================================================
   v71.43 REBORN LAYER. Loaded last on every page: true black, ultraviolet, sharp edges, no glass, more motion.
   Everything below restyles existing class names only; ids, data attributes and markup order are unchanged.
   ========================================================================================================== */

/* ----- 1. Base, type, selection ------------------------------------------------------------------------- */
body.relay-terminal { background: var(--bg); color: var(--text); font-family: var(--sans); font-size: var(--text-body); font-weight: 400; letter-spacing: 0; -webkit-font-smoothing: antialiased; }
body.relay-terminal::before { content: none; }
::selection { background: #FC660266; color: var(--tp-nffffff); }
:focus-visible { outline: 2px solid var(--acc); outline-offset: 2px; }
body.relay-terminal :is(h1,h2,h3) { font-family: var(--display); font-weight: 700; letter-spacing: -0.02em; color: var(--text); }
body.relay-terminal h1 { font-size: var(--text-title); line-height: 1; letter-spacing: -0.035em; }
body.relay-terminal h2 { font-size: var(--text-section); line-height: 1.1; }
body.relay-terminal h3 { font-size: var(--text-card); letter-spacing: -0.01em; }
body.relay-terminal .eyebrow, body.relay-terminal .tag, body.relay-terminal .explore-section-tag, body.relay-terminal .explore-count, body.relay-terminal .coin-stage, body.relay-terminal .mainnet-badge, body.relay-terminal kbd, body.relay-terminal .step, body.relay-terminal .admin-eyebrow { font-family: var(--mono); font-weight: 500; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
body.relay-terminal .eyebrow { color: var(--acc-soft); }
/* Numbers speak mono. */
body.relay-terminal :is(.explore-feature-value strong,.explore-feature-price,.explore-feature-stats strong,.explore-coin-value>span,.explore-coin-cap,.explore-coin-mcap,.explore-mini-value strong,.explore-leader-value,.explore-progress-row>span,.explore-coin-footer>span,.coin-price,.coin-fdv,.coin-stats strong,.coin-stat-value,.coin-market-value,.market-value,.coin-address,.coin-mint,.analytics-metric-value,.analytics-metric strong,.curve-price-value,.admin-stat strong,.admin-overview strong,.admin-metric-value,.token-card-value,.token-stat strong,.token-stat-value,.personal-earnings-value,[data-motion-number],.coin-trades-table td,.holders-table td,.live-trades-table td,.admin-table td.is-number,.coin-rewards-metric strong,.coin-rewards-cell strong,.account-address,.wallet-address,.launch-preview-facts dd,.launch-cost-line strong,.fee-total strong,.position-summary strong,.coin-trade-quote strong) { font-family: var(--mono); font-variant-numeric: tabular-nums; letter-spacing: -0.01em; }
body.relay-terminal :is(.explore-coin-symbol,.explore-mini-identity small,.explore-feature-heading small,.coin-symbol,.token-symbol,.creator-coin small) { font-family: var(--mono); letter-spacing: .02em; }
body.relay-terminal .help, body.relay-terminal .subtitle, body.relay-terminal .explore-data-note { color: var(--muted); line-height: 1.6; }
body.relay-terminal a { color: var(--acc-soft); }
body.relay-terminal hr { border-color: var(--line); }
body.relay-terminal :is(.positive,.is-positive,.coin-change.is-up) { color: var(--up) !important; }
body.relay-terminal :is(.negative,.is-negative,.coin-change.is-down) { color: var(--down) !important; }
body.relay-terminal code, body.relay-terminal pre { font-family: var(--mono); background: var(--s2); border: 1px solid var(--line); border-radius: 4px; }
body.relay-terminal code { padding: 1px 5px; font-size: .92em; }
body.relay-terminal pre { padding: 14px 16px; overflow: auto; }

/* ----- 2. Header: 60px, flat black, hairline, sharp controls -------------------------------------------- */
body.relay-terminal[data-navigation=top] .app-header { position: sticky; top: 0; z-index: 60; padding: 0 var(--page-gutter); border-bottom: 1px solid var(--line); background: color-mix(in srgb, var(--tp-n000000) 94.9%, transparent); box-shadow: none; }
body.relay-terminal[data-navigation=top] .app-header.motion-scrolled { background: color-mix(in srgb, var(--tp-n000000) 96.9%, transparent); border-bottom-color: var(--line-strong); box-shadow: none; }
body.relay-terminal[data-navigation=top] .workspace-header-inner { gap: var(--space-2); height: var(--header-h); }
body.relay-terminal[data-navigation=top] .app-header .brand { gap: 9px; margin: 0 var(--space-3) 0 0; font-family: var(--display); font-weight: 700; font-size: 25px; letter-spacing: -0.05em; color: var(--text); }
body.relay-terminal[data-navigation=top] .app-header .brand .mark { width: 30px; height: 30px; flex-basis: 30px; border-radius: 7px; }
body.relay-terminal .brand-dot, body.relay-terminal .site-footer-brand .brand-dot { color: var(--acc); }
/* Chain toggle: a compact segmented control right after the brand. */
body.relay-terminal[data-navigation=top] .app-header .site-chain-toggle { display: inline-flex; align-items: center; gap: 2px; height: 32px; padding: 2px; border: 1px solid var(--line-strong); border-radius: var(--radius-control); background: var(--s1); }
body.relay-terminal[data-navigation=top] .app-header .site-chain-toggle > button { display: inline-flex; align-items: center; gap: 6px; height: 26px; padding: 0 10px; border: 0; border-radius: 4px; background: transparent; color: var(--muted); font: 600 12.5px var(--sans); cursor: pointer; transition: background-color var(--motion-fast) ease, color var(--motion-fast) ease; }
body.relay-terminal[data-navigation=top] .app-header .site-chain-toggle > button:hover { color: var(--text); }
body.relay-terminal[data-navigation=top] .app-header .site-chain-toggle > button[aria-pressed=true] { background: var(--s4); color: var(--text); }
body.relay-terminal[data-navigation=top] .app-header .site-chain-toggle > button img { width: 15px; height: 15px; }
/* Search. */
body.relay-terminal[data-navigation=top] .app-header .header-search { flex: 1 1 320px; max-width: 420px; height: var(--control-h); border: 1px solid var(--line-strong); border-radius: var(--radius-control); background: var(--s1); color: var(--dim); }
body.relay-terminal[data-navigation=top] .app-header .header-search:hover { border-color: var(--line-hi); background: var(--s1); }
body.relay-terminal[data-navigation=top] .app-header .header-search:focus-within { border-color: var(--acc); box-shadow: var(--glow-acc); background: var(--bg); }
body.relay-terminal[data-navigation=top] .app-header .header-search svg { color: var(--muted); }
body.relay-terminal[data-navigation=top] .app-header .header-search input#explore-search { color: var(--text); font-size: 13.5px; }
body.relay-terminal[data-navigation=top] .app-header .header-search input#explore-search::placeholder { color: var(--dim); }
body.relay-terminal[data-navigation=top] .app-header .header-search kbd { width: auto; height: 20px; padding: 0 6px; border: 1px solid var(--line-strong); border-radius: 4px; background: var(--s2); color: var(--muted); font-size: 11px; line-height: 18px; }
/* The right group: Gotchi / Agents as text links, a mono price badge, the violet launch button, the account. */
body.relay-terminal[data-navigation=top] .app-header .local { gap: 6px; }
body.relay-terminal[data-navigation=top] .app-header :is(.gotchi-nav,.agents-nav,.curve-price-badge,.top-launch,.header-admin,[data-account-link],#account-button,.relay-toolkit>summary) { height: var(--control-h); border-radius: var(--radius-control); font: 600 13.5px/1 var(--sans); transition: background-color var(--motion-fast) ease, border-color var(--motion-fast) ease, color var(--motion-fast) ease, transform var(--motion-fast) ease; }
body.relay-terminal[data-navigation=top] .app-header :is(.gotchi-nav,.agents-nav) { position: relative; padding: 0 10px; border: 1px solid transparent; background: transparent; color: var(--muted); }
body.relay-terminal[data-navigation=top] .app-header :is(.gotchi-nav,.agents-nav) > svg { color: var(--muted); transition: color var(--motion-fast) ease; }
body.relay-terminal[data-navigation=top] .app-header :is(.gotchi-nav,.agents-nav):hover { background: var(--s2); border-color: transparent; color: var(--text); }
body.relay-terminal[data-navigation=top] .app-header :is(.gotchi-nav,.agents-nav):hover > svg { color: var(--acc-soft); }
body.relay-terminal[data-navigation=top] .app-header :is(.gotchi-nav,.agents-nav)[aria-current=page] { background: var(--s2); border-color: transparent; color: var(--text); }
body.relay-terminal[data-navigation=top] .app-header :is(.gotchi-nav,.agents-nav)[aria-current=page] > svg { color: var(--acc); }
body.relay-terminal[data-navigation=top] .app-header :is(.gotchi-nav,.agents-nav)[aria-current=page]::after { content: ""; position: absolute; left: 10px; right: 10px; bottom: -13px; height: 2px; border-radius: 2px; background: var(--acc); }
body.relay-terminal[data-navigation=top] .app-header .curve-price-badge { flex: 0 0 auto; width: auto; gap: 8px; padding: 0 12px 0 8px; border: 1px solid var(--line-strong); background: var(--s1); color: var(--text); font-family: var(--mono); font-weight: 500; font-size: 12.5px; letter-spacing: 0; }
body.relay-terminal[data-navigation=top] .app-header .curve-price-badge:hover { border-color: var(--line-hi); background: var(--s2); }
body.relay-terminal[data-navigation=top] .app-header .curve-price-badge > img { width: 18px; height: 18px; border-radius: 4px; }
body.relay-terminal[data-navigation=top] .app-header .curve-price-badge .curve-price-symbol { color: var(--muted); }
body.relay-terminal[data-navigation=top] .app-header .curve-price-badge .curve-price-value { color: var(--up); font-weight: 600; }
body.relay-terminal[data-navigation=top] .app-header .top-launch { padding: 0 16px 0 13px; border: 1px solid var(--acc-strong); background: var(--acc-strong); color: var(--acc-ink); box-shadow: none; }
body.relay-terminal[data-navigation=top] .app-header .top-launch:hover { background: var(--acc); border-color: var(--acc); color: var(--tp-nffffff); box-shadow: var(--glow-acc); }
body.relay-terminal[data-navigation=top] .app-header .top-launch:active { transform: scale(.98); }
body.relay-terminal[data-navigation=top] .app-header .top-launch[aria-current=page] { background: var(--s2); border-color: var(--line-strong); color: var(--text); }
body.relay-terminal[data-navigation=top] .app-header :is(.header-admin,[data-account-link],#account-button,.relay-toolkit>summary) { border: 1px solid var(--line-strong); background: var(--s1); color: var(--text); padding: 0 14px; }
body.relay-terminal[data-navigation=top] .app-header :is(.header-admin,[data-account-link],#account-button):hover { border-color: var(--line-hi); background: var(--s2); }
body[data-navigation=top] .header-account-avatar { width: 24px; height: 24px; flex-basis: 24px; border-radius: 6px; background: linear-gradient(140deg,#7A3300,#FC6602); font-size: 11px; }
body.relay-terminal[data-navigation=top] .app-header .header-account { padding: 0 10px 0 6px; }
@media (max-width: 1180px) { body.relay-terminal[data-navigation=top] .app-header :is(.gotchi-nav,.agents-nav) { width: var(--control-h); padding: 0; justify-content: center; } }
@media (max-width: 960px) {
  body.relay-terminal[data-navigation=top] .app-header .top-launch { width: var(--control-h); padding: 0; justify-content: center; }
  body.relay-terminal[data-navigation=top] .app-header .header-search { flex: 1 1 200px; max-width: 280px; }
  body.relay-terminal[data-navigation=top] .app-header .curve-price-badge { padding: 0 9px 0 7px; }
}
@media (max-width: 640px) {
  body.relay-terminal[data-navigation=top] .app-header { --control-h: 34px; }
  body.relay-terminal[data-navigation=top] .app-header .brand .mark { width: 28px; height: 28px; flex-basis: 28px; }
  body.relay-terminal[data-navigation=top] .app-header .site-chain-toggle { height: 30px; }
  body.relay-terminal[data-navigation=top] .app-header .site-chain-toggle > button { height: 24px; padding: 0 7px; }
  body.relay-terminal[data-navigation=top] .app-header .site-chain-toggle > button > span { display: none; }
  body.relay-terminal[data-navigation=top] .app-header .header-search { flex: 0 0 var(--control-h); width: var(--control-h); max-width: none; justify-content: center; padding: 0; border-color: var(--line-strong); background: var(--s1); }
  body.relay-terminal[data-navigation=top] .app-header .local { gap: 5px; }
  body.relay-terminal[data-navigation=top] .app-header :is(.gotchi-nav,.agents-nav) { width: var(--control-h); border-color: var(--line-strong); background: var(--s1); }
  body.relay-terminal[data-navigation=top] .app-header :is(.gotchi-nav,.agents-nav) > svg { color: var(--text-2); }
  body.relay-terminal[data-navigation=top] .app-header .curve-price-badge { padding: 0 7px; }
  body.relay-terminal[data-navigation=top] .app-header :is([data-account-link],#account-button):not(.header-account) { padding: 0 10px; font-size: 12.5px; }
  body.relay-terminal[data-navigation=top] .app-header .header-account { width: var(--control-h); padding: 0; justify-content: center; }
}
@media (max-width: 480px) {
  body.relay-terminal[data-navigation=top] .app-header .curve-price-badge { display: none; }
  body.relay-terminal[data-navigation=top] .app-header { --control-h: 32px; }
  body.relay-terminal[data-navigation=top] .workspace-header-inner, body.relay-terminal[data-navigation=top] .app-header .local { gap: 4px; }
  body.relay-terminal[data-navigation=top] .app-header .site-chain-toggle { height: 28px; margin-right: 2px; }
  body.relay-terminal[data-navigation=top] .app-header .site-chain-toggle > button { height: 22px; padding: 0 6px; }
}

/* ----- 3. Live tape under the header (markup from workspace-shell.js: .site-tape > .site-tape-track > a) --- */
body.relay-terminal .site-tape { position: relative; z-index: 59; height: 30px; overflow: hidden; border-bottom: 1px solid var(--line); background: var(--bg); font-family: var(--mono); font-size: 11.5px; letter-spacing: .01em; color: var(--muted); }
body.relay-terminal .site-tape[hidden] { display: none; }
body.relay-terminal .site-tape-inner { display: flex; align-items: center; height: 100%; max-width: none; margin: 0; padding: 0; }
body.relay-terminal .site-tape-label { display: inline-flex; align-items: center; gap: 7px; flex: 0 0 auto; height: 100%; padding: 0 14px 0 var(--page-gutter); border-right: 1px solid var(--line); background: var(--bg); color: var(--acc-soft); font-weight: 600; letter-spacing: .1em; z-index: 1; }
body.relay-terminal .site-tape-label i { width: 6px; height: 6px; border-radius: 50%; background: var(--up); box-shadow: 0 0 0 0 #2ee59d80; animation: cv-live-dot 1.6s ease-out infinite; }
body.relay-terminal .site-tape-viewport { flex: 1; min-width: 0; height: 100%; overflow: hidden; -webkit-mask-image: linear-gradient(90deg,transparent,var(--tp-n000000) 24px,var(--tp-n000000) calc(100% - 40px),transparent); mask-image: linear-gradient(90deg,transparent,var(--tp-n000000) 24px,var(--tp-n000000) calc(100% - 40px),transparent); }
body.relay-terminal .site-tape-track { display: flex; align-items: center; gap: 0; height: 100%; width: max-content; animation: cv-tape 70s linear infinite; will-change: transform; }
body.relay-terminal .site-tape:hover .site-tape-track, body.relay-terminal .site-tape:focus-within .site-tape-track { animation-play-state: paused; }
body.relay-terminal .site-tape-track > a { display: inline-flex; align-items: center; gap: 8px; height: 100%; padding: 0 18px; color: var(--muted); text-decoration: none; white-space: nowrap; border-right: 1px solid var(--line); transition: color var(--motion-fast) ease, background-color var(--motion-fast) ease; }
body.relay-terminal .site-tape-track > a:hover { color: var(--text); background: var(--s1); }
body.relay-terminal .site-tape-track > a > img { width: 14px; height: 14px; border-radius: 3px; object-fit: cover; background: var(--s3); }
body.relay-terminal .site-tape-track > a > b { font-weight: 500; color: var(--text); }
body.relay-terminal .site-tape-track > a > .is-up { color: var(--up); }
body.relay-terminal .site-tape-track > a > .is-down { color: var(--down); }
body.relay-terminal .site-tape-track > a > .is-new { color: var(--acc-soft); }
body.relay-terminal .site-tape-track > a > .is-pct { color: var(--text-2); }
@keyframes cv-tape { to { transform: translate3d(-50%,0,0); } }
@keyframes cv-live-dot { 0% { box-shadow: 0 0 0 0 #2ee59d80; } 100% { box-shadow: 0 0 0 7px #2ee59d00; } }
@media (prefers-reduced-motion: reduce) { body.relay-terminal .site-tape-track { animation: none; } body.relay-terminal .site-tape-label i { animation: none; } }
@media (max-width: 640px) { body.relay-terminal .site-tape { height: 28px; font-size: 11px; } body.relay-terminal .site-tape-label { padding: 0 10px 0 var(--page-gutter); } }

/* ----- 4. Buttons, inputs, forms ------------------------------------------------------------------------ */
body.relay-terminal :is(.primary,.top-launch,.launch-upload-button) { background: var(--acc-strong); color: var(--acc-ink); border: 1px solid var(--acc-strong); border-radius: var(--radius-control); font-weight: 600; letter-spacing: 0; box-shadow: none; transition: background-color var(--motion-fast) ease, border-color var(--motion-fast) ease, box-shadow var(--motion-fast) ease, transform var(--motion-fast) ease; }
body.relay-terminal :is(.primary,.launch-upload-button):hover:not(:disabled) { background: var(--acc); border-color: var(--acc); color: var(--tp-nffffff); box-shadow: var(--glow-acc); }
body.relay-terminal :is(.primary,.launch-upload-button):active:not(:disabled) { transform: scale(.985); }
body.relay-terminal .primary:focus-visible { outline-color: var(--acc-soft); }
body.relay-terminal .small-button { background: var(--s2); border: 1px solid var(--line-strong); color: var(--text); border-radius: var(--radius-control); font-weight: 600; box-shadow: none; transition: background-color var(--motion-fast) ease, border-color var(--motion-fast) ease, color var(--motion-fast) ease, transform var(--motion-fast) ease; }
body.relay-terminal .small-button:hover:not(:disabled) { background: var(--s3); border-color: var(--line-hi); color: var(--text); }
body.relay-terminal .small-button:active:not(:disabled) { transform: scale(.985); }
body.relay-terminal .text-button { color: var(--acc-soft); font-weight: 600; }
body.relay-terminal .text-button:hover:not(:disabled) { color: var(--tp-nffffff); text-decoration: underline; text-decoration-color: var(--acc); }
body.relay-terminal .stop, body.relay-terminal .danger, body.relay-terminal .small-button.is-danger { background: #2a0d14; border-color: #4a1726; color: #ff8fa3; }
body.relay-terminal :is(.primary,.small-button,.text-button,.cv-ghost):disabled { opacity: .4; }
body input, body select, body textarea, body.relay-terminal input, body.relay-terminal select, body.relay-terminal textarea { border: 1px solid var(--line-strong); background: var(--bg); color: var(--text); border-radius: var(--radius-control); font-family: var(--sans); box-shadow: none; transition: border-color var(--motion-fast) ease, box-shadow var(--motion-fast) ease, background-color var(--motion-fast) ease; }
body input::placeholder, body textarea::placeholder { color: var(--dim); }
body.relay-terminal :is(input,select,textarea):hover:not(:focus,:disabled) { border-color: var(--line-hi); }
body input:focus, body select:focus, body textarea:focus, body.relay-terminal :is(input,select,textarea):focus { border-color: var(--acc); box-shadow: var(--glow-acc); outline: none; }
body.relay-terminal :is(input,select,textarea):disabled { opacity: .5; background: var(--s1); }
body.relay-terminal input[type=number], body.relay-terminal input[inputmode=decimal], body.relay-terminal input[inputmode=numeric] { font-family: var(--mono); font-variant-numeric: tabular-nums; }
body label, body legend, body.relay-terminal label { color: var(--text-2); font-size: 12.5px; font-weight: 500; }
body.relay-terminal .check, body.relay-terminal label.check { color: var(--text-2); }
body.relay-terminal input[type=checkbox], body.relay-terminal input[type=radio] { accent-color: var(--acc); }
body.relay-terminal input[type=range] { accent-color: var(--acc); }
body.relay-terminal select { background-image: linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%); background-position: calc(100% - 16px) 50%, calc(100% - 11px) 50%; background-size: 5px 5px, 5px 5px; background-repeat: no-repeat; appearance: none; -webkit-appearance: none; padding-right: 30px; }
body progress { accent-color: var(--acc); }
body progress::-webkit-progress-bar { background: var(--s3); border-radius: 2px; }
body progress::-webkit-progress-value { background: var(--grad-accent); border-radius: 2px; }
body progress::-moz-progress-bar { background: var(--grad-accent); border-radius: 2px; }

/* ----- 5. Cards, surfaces, dialogs, tags, tabs, tables --------------------------------------------------- */
body.relay-terminal :is(.card,.cv-card,.explore-featured,.explore-contenders,.coin-overview,.coin-chart-card,.coin-trade-panel,.coin-info,.token-info-card,.token-card,.token-launch-card,.launch-section,.launch-welcome-card,.launch-history,.launch-form-footer,.launch-preview,.analytics-metric,.analytics-card,.analytics-section,.documentation-card,.documentation-section,.admin-card,.admin-overview>div,.admin-stat,.creator-row,.creator-coin,.account-overview,.cashback-summary,.owner-gate,.manual-card,.execution-preset-card,.positions-card,.activity-card,.telemetry,.coin-rewards,.token-rewards-card) { background: var(--s1); border: 1px solid var(--line); border-radius: var(--radius-card); box-shadow: none; }
body.relay-terminal :is(.card,.launch-section,.admin-card,.analytics-section,.documentation-section)::before { content: none; }
body.relay-terminal .card-heading h2 { font-size: var(--text-card); letter-spacing: -0.01em; }
body.relay-terminal .glass, body.relay-terminal .cv-glass, body.relay-terminal dialog, body.relay-terminal .public-account-dialog, body.relay-terminal .toolkit-panel, body.relay-terminal .header-profile-menu > div, body.relay-terminal [role=menu], body.relay-terminal .explore-search-dialog { background: var(--s1); border: 1px solid var(--line-strong); border-radius: 12px; box-shadow: var(--shadow-elevated); backdrop-filter: none; -webkit-backdrop-filter: none; color: var(--text); }
body.relay-terminal dialog::backdrop { background: color-mix(in srgb, var(--tp-n000000) 72.2%, transparent); backdrop-filter: none; -webkit-backdrop-filter: none; }
body.relay-terminal .public-account-dialog .card-heading { background: var(--s1); }
/* Tags, badges, chips. */
body.relay-terminal :is(.tag,.explore-section-tag,.explore-count,.coin-stage,.mainnet-badge,.token-status,.cv-pill,.cv-badge) { display: inline-flex; align-items: center; gap: 6px; height: 22px; padding: 0 8px; border: 1px solid var(--line-strong); border-radius: 4px; background: var(--s2); color: var(--muted); font-family: var(--mono); font-size: 11px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; }
body.relay-terminal .tag.accent, body.relay-terminal .coin-stage, body.relay-terminal .token-status.is-live { border-color: #FC660266; background: var(--acc-dim); color: var(--acc-soft); }
body.relay-terminal .cv-chips > button, body.relay-terminal .explore-categories > button, body.relay-terminal .explore-amm-options > button { height: 32px; padding: 0 12px; border: 1px solid var(--line-strong); border-radius: var(--radius-control); background: var(--s1); color: var(--muted); font: 500 13px var(--sans); transition: background-color var(--motion-fast) ease, border-color var(--motion-fast) ease, color var(--motion-fast) ease; }
body.relay-terminal :is(.cv-chips,.explore-categories,.explore-amm-options) > button:hover { border-color: var(--line-hi); background: var(--s2); color: var(--text); }
body.relay-terminal :is(.cv-chips,.explore-categories,.explore-amm-options) > button[aria-pressed=true] { border-color: var(--acc); background: var(--acc-dim); color: var(--acc-soft); }
/* Segmented controls: one hairline box. */
body.relay-terminal :is(.cv-segmented,.explore-chain-switch,.explore-view-switch,.explore-age-options,.launch-segments,.coin-chart-controls,.manual-side,.execution-preset-tabs) { display: inline-flex; align-items: center; gap: 2px; padding: 2px; border: 1px solid var(--line-strong); border-radius: var(--radius-control); background: var(--s1); }
body.relay-terminal :is(.cv-segmented,.explore-chain-switch,.explore-view-switch,.explore-age-options,.launch-segments,.coin-chart-controls,.manual-side,.execution-preset-tabs) > button { height: 28px; min-height: 0; padding: 0 11px; border: 0; border-radius: 4px; background: transparent; color: var(--muted); font: 600 12.5px var(--sans); box-shadow: none; transition: background-color var(--motion-fast) ease, color var(--motion-fast) ease; }
body.relay-terminal :is(.cv-segmented,.explore-chain-switch,.explore-view-switch,.explore-age-options,.launch-segments,.coin-chart-controls,.manual-side,.execution-preset-tabs) > button:hover { color: var(--text); }
body.relay-terminal :is(.cv-segmented,.explore-chain-switch,.explore-view-switch,.explore-age-options,.launch-segments,.coin-chart-controls,.manual-side,.execution-preset-tabs) > button[aria-pressed=true] { background: var(--s4); color: var(--text); }
/* Underline tabs. */
body.relay-terminal :is(.cv-tabs,.explore-stage-tabs,.coin-tabs,.token-tabs,.admin-tabs) > button { position: relative; height: 40px; padding: 0 2px; margin-right: 18px; border: 0; background: transparent; color: var(--muted); font: 600 14px var(--sans); border-radius: 0; box-shadow: none; }
body.relay-terminal :is(.cv-tabs,.explore-stage-tabs,.coin-tabs,.token-tabs,.admin-tabs) > button:hover { color: var(--text); background: transparent; }
body.relay-terminal :is(.cv-tabs,.explore-stage-tabs,.coin-tabs,.token-tabs,.admin-tabs) > button[aria-pressed=true], body.relay-terminal :is(.cv-tabs,.explore-stage-tabs,.coin-tabs,.token-tabs,.admin-tabs) > button[aria-selected=true] { color: var(--text); background: transparent; }
body.relay-terminal :is(.cv-tabs,.explore-stage-tabs,.coin-tabs,.token-tabs,.admin-tabs) > button::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; border-radius: 2px; background: var(--acc); transform: scaleX(0); transform-origin: left; transition: transform var(--motion-mid) var(--motion-ease); }
body.relay-terminal :is(.cv-tabs,.explore-stage-tabs,.coin-tabs,.token-tabs,.admin-tabs) > button:is([aria-pressed=true],[aria-selected=true])::after { transform: scaleX(1); }
/* Tables. */
body.relay-terminal table { border-collapse: collapse; }
body.relay-terminal :is(table) th { font-family: var(--mono); font-size: 11px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); border-bottom: 1px solid var(--line-strong); }
body.relay-terminal :is(table) td { border-bottom: 1px solid var(--line); }
body.relay-terminal :is(table) tbody tr:hover > td { background: var(--s1); }
/* Skeletons. */
body.relay-terminal :is(.explore-skeleton,.cv-skeleton,.explore-leader-placeholder,.explore-skeleton-line) { background: var(--s2); border-color: var(--line); }
body.relay-terminal :is(.explore-skeleton .explore-coin-image,.explore-skeleton-line) { background: linear-gradient(90deg,var(--s2) 0%,var(--s3) 50%,var(--s2) 100%); background-size: 200% 100%; animation: cv-shimmer 1.8s linear infinite; }
@keyframes cv-shimmer { to { background-position: -200% 0; } }
/* Scrollbars. */
body.relay-terminal ::-webkit-scrollbar { width: 10px; height: 10px; }
body.relay-terminal ::-webkit-scrollbar-thumb { background: var(--s4); border: 3px solid var(--bg); border-radius: 8px; }
body.relay-terminal ::-webkit-scrollbar-thumb:hover { background: var(--line-hi); }
body.relay-terminal ::-webkit-scrollbar-track { background: var(--bg); }

/* ----- 6. Footer ---------------------------------------------------------------------------------------- */
body.relay-terminal[data-navigation=top] footer.site-footer { border-top: 1px solid var(--line); background: var(--bg); color: var(--muted); font: 13px var(--sans); }
body.relay-terminal[data-navigation=top] footer.site-footer::before { content: none; }
.site-footer-inner { min-height: 80px; padding: var(--space-5) 0; }
.site-footer-brand { font-family: var(--display); font-weight: 700; font-size: 22px; letter-spacing: -0.05em; color: var(--text); background: none; -webkit-background-clip: initial; background-clip: initial; -webkit-text-fill-color: currentColor; }
.site-footer-links a { font-family: var(--mono); font-size: 12px; letter-spacing: .04em; color: var(--muted); }
.site-footer-links a:hover, .site-footer-links a:focus-visible, .site-footer-links a[aria-current=page] { color: var(--acc-soft); }
.site-footer-social { width: 36px; height: 36px; border: 1px solid var(--line-strong); border-radius: var(--radius-control); font-family: var(--display); }
.site-footer-social:hover, .site-footer-social:focus-visible { background: var(--s2); border-color: var(--acc); color: var(--acc-soft); }

/* ----- 7. Headings and links (scoped) ------------------------------------------------------------------- */
body.relay-terminal :is(h1,.explore-intro h1,.agents-intro h1,.analytics-hero h1,.documentation-hero h1,.gotchi-intro h1,.gotchi-hero-copy h1,.launch-heading h1,.tokens-intro h1,.account-intro h1,.coin-headline strong,.explore-feature-value strong,.analytics-policy strong,.analytics-coverage-number) { background: none; -webkit-background-clip: initial; background-clip: initial; -webkit-text-fill-color: currentColor; color: var(--text); }
body.relay-terminal h1 > :is(span,em,b,strong) { color: var(--acc-soft); font-style: normal; }
body.relay-terminal :is(p,li,td,dd,.help,.subtitle,.documentation-section,.explore-data-note) > a:not([class]), body.relay-terminal :is(p,li,td,dd,.help) > a.text-button { color: var(--acc-soft); text-decoration: underline; text-decoration-color: #FC660266; text-underline-offset: 3px; }
body.relay-terminal :is(p,li,td,dd,.help) > a:not([class]):hover { color: var(--tp-nffffff); text-decoration-color: var(--acc); }
body.relay-terminal .explore-intro h1, body.relay-terminal .agents-intro h1, body.relay-terminal .analytics-hero h1, body.relay-terminal .documentation-hero h1, body.relay-terminal .gotchi-intro h1, body.relay-terminal .launch-heading h1 { font-family: var(--display); font-weight: 700; letter-spacing: -0.035em; line-height: 1; }

/* ----- 8. Explore (home) -------------------------------------------------------------------------------- */
body.relay-terminal.explore-page .explore-intro { margin-bottom: var(--space-5); }
body.relay-terminal.explore-page .explore-featured { border: 1px solid var(--line); background: var(--s1); border-radius: var(--radius-card); box-shadow: none; }
body.relay-terminal.explore-page .explore-featured::before, body.relay-terminal.explore-page .explore-featured::after, body.relay-terminal .cv-sunrise-border::before, body.relay-terminal .cv-sunrise-border::after { content: none !important; animation: none !important; }
body.relay-terminal.explore-page .explore-featured:hover { border-color: var(--line-hi); }
body.relay-terminal.explore-page .explore-featured > .eyebrow { color: var(--acc-soft); }
body.relay-terminal.explore-page .explore-feature-value strong { font-family: var(--mono); font-weight: 700; color: var(--text); }
body.relay-terminal.explore-page .explore-feature-value small { color: var(--muted); font-family: var(--sans); letter-spacing: 0; text-transform: none; }
body.relay-terminal.explore-page .explore-feature-stats > div { background: var(--bg); border: 1px solid var(--line); border-radius: var(--radius-tile); }
body.relay-terminal.explore-page .explore-feature-stats strong { color: var(--text); }
body.relay-terminal.explore-page .explore-contenders { background: var(--s1); border: 1px solid var(--line); border-radius: var(--radius-card); box-shadow: none; }
body.relay-terminal.explore-page .explore-contenders .explore-dashboard-heading h2 { font-size: 18px; }
body.relay-terminal.explore-page .explore-rank { font-family: var(--mono); font-weight: 600; background: var(--s2); border: 1px solid var(--line-strong); color: var(--muted); box-shadow: none; }
body.relay-terminal.explore-page .explore-mini-coin:nth-child(1) .explore-rank { color: var(--acc-soft); border-color: #FC660266; background: var(--acc-dim); }
body.relay-terminal.explore-page .explore-mini-coin { border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; }
body.relay-terminal.explore-page .explore-mini-coin:hover { background: var(--s2); }
body.relay-terminal.explore-page .explore-mini-value strong { color: var(--text); }
body.relay-terminal.explore-page .explore-leaders h2 { font-size: 18px; }
body.relay-terminal.explore-page .explore-leaders h2::after { background: var(--line) !important; }
body.relay-terminal.explore-page .explore-leaders-list > * { background: var(--s1); border: 1px solid var(--line); border-radius: var(--radius-card); box-shadow: none; transition: border-color var(--motion-fast) ease, transform var(--motion-fast) ease, box-shadow var(--motion-fast) ease; }
body.relay-terminal.explore-page .explore-leaders-list > *:hover { border-color: var(--acc); box-shadow: var(--shadow-card-hover); transform: translateY(-2px); }
body.relay-terminal.explore-page .explore-leaders-list > * strong, body.relay-terminal.explore-page .explore-leader-value { font-family: var(--mono); color: var(--text); }
body.relay-terminal.explore-page #explore-leaders-list .explore-mini-coin::after { content: none; }
body.relay-terminal.explore-page .explore-mini-value > span, body.relay-terminal.explore-page .explore-mini-value small { font-family: var(--sans); }
body.relay-terminal.explore-page .explore-browse-bar { border-bottom: 1px solid var(--line); }
body.relay-terminal.explore-page .explore-status-row { color: var(--muted); font-size: 13px; }
body.relay-terminal.explore-page .explore-amm-label { font-family: var(--mono); font-size: 11px; letter-spacing: .08em; color: var(--dim); }
body.relay-terminal.explore-page .explore-auto { font-family: var(--mono); font-size: 11.5px; color: var(--muted); }
body.relay-terminal.explore-page .explore-auto i { background: var(--up); box-shadow: 0 0 0 0 #2ee59d80; animation: cv-live-dot 1.6s ease-out infinite; }
body.relay-terminal.explore-page .explore-section-heading h2 { font-size: 20px; }
body.relay-terminal.explore-page .explore-section-heading p { color: var(--muted); }
body.relay-terminal.explore-page .explore-section-icon { color: var(--acc); }
/* Coin cards: flat, hairline, violet on hover. */
body.relay-terminal.explore-page .explore-coin { background: var(--s1); border: 1px solid var(--line); border-radius: var(--radius-card); box-shadow: none; transition: border-color var(--motion-fast) ease, transform var(--motion-mid) var(--motion-ease), box-shadow var(--motion-mid) ease; }
body.relay-terminal.explore-page .explore-coin::before, body.relay-terminal.explore-page .explore-coin::after { content: none !important; }
body.relay-terminal.explore-page .explore-coin:hover, body.relay-terminal.explore-page .explore-coin:focus-visible { border-color: var(--acc); box-shadow: var(--shadow-card-hover); transform: translateY(-2px); }
body.relay-terminal.explore-page .explore-coin.is-fresh { border-color: #FC660266; }
body.relay-terminal.explore-page .explore-coin-image { background: var(--s2); }
body.relay-terminal.explore-page .explore-coin-image > span { font-family: var(--display); font-weight: 700; color: var(--dim); }
body.relay-terminal.explore-page .explore-coin-badge { font-family: var(--mono); font-size: 10.5px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; border: 1px solid var(--line-strong); border-radius: 4px; background: color-mix(in srgb, var(--tp-n000000) 85.1%, transparent); color: var(--text-2); box-shadow: none; }
body.relay-terminal.explore-page .explore-coin-badge::before { box-shadow: none; }
body.relay-terminal.explore-page .explore-coin-badge.is-graduated { --badge: var(--up); color: var(--up); border-color: #2ee59d55; background: color-mix(in srgb, var(--tp-n000000) 85.1%, transparent); }
body.relay-terminal.explore-page .explore-coin-badge.is-holders { --badge: var(--up); }
body.relay-terminal.explore-page .explore-coin-badge.is-paycheck { --badge: var(--warn, #ffb020); }
body.relay-terminal.explore-page .explore-coin-badge.is-creator { --badge: var(--acc); }
body.relay-terminal.explore-page .explore-coin-badge.is-buyback { --badge: #ffb020; }
body.relay-terminal.explore-page .explore-coin-badge.is-gotchi { --badge: #ff7ad9; }
body.relay-terminal.explore-page .explore-coin-badge:is(.is-agent,.is-strategy) { --badge: var(--info); }
body.relay-terminal.explore-page .explore-coin-badge:is(.is-moving,.is-graduating) { color: var(--acc-soft); border-color: #FC660266; }
body.relay-terminal.explore-page .explore-coin-name { font-family: var(--sans); font-weight: 600; font-size: 15px; letter-spacing: -0.01em; color: var(--text); }
body.relay-terminal.explore-page .explore-coin-symbol { color: var(--muted); font-size: 12px; }
body.relay-terminal.explore-page .explore-coin-value > span { font-family: var(--mono); font-weight: 700; font-size: 20px; letter-spacing: -0.02em; color: var(--text); }
body.relay-terminal.explore-page .explore-coin-value small { font-family: var(--mono); font-size: 10.5px; letter-spacing: .06em; color: var(--dim); }
body.relay-terminal.explore-page .explore-coin-age { font-family: var(--mono); font-size: 11px; border: 1px solid var(--line-strong); border-radius: 4px; background: var(--s2); color: var(--muted); }
body.relay-terminal.explore-page .explore-coin-age.is-recent { color: var(--up); border-color: #2ee59d44; }
body.relay-terminal.explore-page .explore-coin-age::before { background: currentColor; }
body.relay-terminal.explore-page .explore-coin-secondary { color: var(--muted); font-size: 12.5px; }
body.relay-terminal.explore-page .explore-coin-footer { font-family: var(--mono); font-size: 11px; color: var(--dim); border-top: 1px solid var(--line); }
body.relay-terminal.explore-page .explore-progress-row > span { font-family: var(--mono); font-size: 11.5px; color: var(--muted); }
body.relay-terminal.explore-page .explore-progress-row.is-hot > span { color: var(--acc-soft); }
body.relay-terminal.explore-page .explore-progress-track { height: 4px; border-radius: 2px; background: var(--s3); }
body.relay-terminal.explore-page .explore-progress-fill { background: var(--grad-accent); border-radius: 2px; box-shadow: none; }
body.relay-terminal.explore-page .explore-progress-row progress { border-radius: 2px; }
body.relay-terminal.explore-page .explore-pagination button { border: 1px solid var(--line-strong); background: var(--s1); color: var(--muted); border-radius: var(--radius-control); font-family: var(--mono); }
body.relay-terminal.explore-page .explore-pagination button[aria-current=page] { border-color: var(--acc); color: var(--acc-soft); background: var(--acc-dim); }
body.relay-terminal.explore-page .explore-chart-note, body.relay-terminal.explore-page .explore-chart-extreme, body.relay-terminal.explore-page .explore-chart-latest { font-family: var(--mono); font-size: 11px; }
/* List view rows. */
body.relay-terminal.explore-page.explore-list-view .explore-coin { border-radius: var(--radius-control); }
body.relay-terminal.explore-page.explore-list-view .explore-coin:hover { transform: none; }

/* ----- 9. Coin page ------------------------------------------------------------------------------------- */
body.relay-terminal.coin-page .coin-headline strong, body.relay-terminal.coin-page .coin-title, body.relay-terminal.coin-page h1 { color: var(--text); font-family: var(--display); font-weight: 700; letter-spacing: -0.03em; }
body.relay-terminal.coin-page .coin-symbol { font-family: var(--mono); color: var(--muted); letter-spacing: .04em; }
body.relay-terminal.coin-page .coin-avatar { border-radius: var(--radius-tile); background: var(--s2); box-shadow: none; border: 1px solid var(--line); }
body.relay-terminal.coin-page :is(.coin-pair-pill,.coin-creator-compact,.coin-address-row > button,.coin-address-row > span:not(.coin-stage)) { border-radius: var(--radius-control); background: var(--s1); border: 1px solid var(--line-strong); color: var(--text-2); font-family: var(--sans); font-size: 12.5px; letter-spacing: 0; text-transform: none; }
body.relay-terminal.coin-page .coin-address { font-family: var(--mono); color: var(--muted); }
body.relay-terminal.coin-page :is(.coin-fdv-card,.coin-hero-value,.coin-overview-value) { background: var(--s1); border: 1px solid var(--line); border-radius: var(--radius-card); }
body.relay-terminal.coin-page :is(.coin-chart-card,.coin-market-card,.coin-info,.coin-trade-panel,.coin-rewards,.coin-creator-earnings,.coin-about) { background: var(--s1); border: 1px solid var(--line); border-radius: var(--radius-card); box-shadow: none; }
body.relay-terminal.coin-page .coin-trade-panel { border-color: var(--line-strong); }
body.relay-terminal.coin-page .coin-trade-panel::before, body.relay-terminal.coin-page .coin-trade-panel::after { content: none !important; }
body.relay-terminal.coin-page .coin-chart, body.relay-terminal.coin-page .token-chart, body.relay-terminal.coin-page .coin-curve-plot { background: var(--bg); border-radius: var(--radius-inset); }
body.relay-terminal.coin-page .coin-chart-controls button[aria-pressed=true] { background: var(--s4); color: var(--text); }
body.relay-terminal.coin-page .coin-stat, body.relay-terminal.coin-page .coin-stats > div, body.relay-terminal.coin-page .coin-market-grid > div { background: var(--bg); border: 1px solid var(--line); border-radius: var(--radius-tile); }
body.relay-terminal.coin-page .coin-stats strong, body.relay-terminal.coin-page .coin-stat-value, body.relay-terminal.coin-page .coin-price, body.relay-terminal.coin-page .coin-fdv, body.relay-terminal.coin-page .coin-market-value { color: var(--text); font-family: var(--mono); }
body.relay-terminal.coin-page .coin-progress-wrap progress { height: 6px; background: var(--s3); }
body.relay-terminal.coin-page table td { font-family: var(--mono); font-size: 13px; font-variant-numeric: tabular-nums; }
body.relay-terminal.coin-page table td:first-child { font-family: var(--sans); }
body.relay-terminal.coin-page .coin-trade-row.is-buy td:first-child, body.relay-terminal.coin-page tr[data-side=buy] td:first-child { box-shadow: inset 2px 0 0 var(--up); }
body.relay-terminal.coin-page .coin-trade-row.is-sell td:first-child, body.relay-terminal.coin-page tr[data-side=sell] td:first-child { box-shadow: inset 2px 0 0 var(--down); }
/* The trade panel: buy is green, sell is red, the amount field is mono. */
body.relay-terminal .ct-side { background: var(--s1); border-color: var(--line-strong); border-radius: var(--radius-control); padding: 3px; gap: 3px; }
body.relay-terminal .ct-side button { min-height: 38px; border-radius: 4px; font-family: var(--sans); font-weight: 650; font-size: 14px; color: var(--muted); }
body.relay-terminal .ct-side > button:first-child[aria-pressed=true] { background: var(--up); color: #06110c; }
body.relay-terminal .ct-side > button:last-child[aria-pressed=true] { background: var(--down); color: var(--tp-nffffff); }
body.relay-terminal .ct-amount { background: var(--bg); border: 1px solid var(--line-strong); border-radius: var(--radius-control); }
body.relay-terminal .ct-amount:focus-within { border-color: var(--acc); box-shadow: var(--glow-acc); }
body.relay-terminal .ct-amount input { font-family: var(--mono); font-size: 20px; font-weight: 600; }
body.relay-terminal .ct-presets button { border-radius: var(--radius-control); border-color: var(--line-strong); font-family: var(--mono); font-size: 12px; }
body.relay-terminal .ct-presets button[aria-pressed=true] { border-color: var(--acc); color: var(--acc-soft); background: var(--acc-dim); }
body.relay-terminal .ct-review { background: var(--bg); border: 1px solid var(--line); border-radius: var(--radius-control); font-family: var(--mono); font-size: 12.5px; }
body.relay-terminal .ct-action.primary { min-height: 44px; font-size: 15px; }
body.relay-terminal .coin-trade-panel[data-side=sell] .ct-action.primary { background: var(--down); border-color: var(--down); color: var(--tp-nffffff); }
body.relay-terminal .coin-trade-panel[data-side=buy] .ct-action.primary { background: var(--up); border-color: var(--up); color: #06110c; }
body.relay-terminal .ct-status { font-family: var(--mono); font-size: 12px; }
body.relay-terminal .ct-wallet-options button, body.relay-terminal .launch-wallet-option { border: 1px solid var(--line-strong); background: var(--s2); border-radius: var(--radius-control); color: var(--text); }
body.relay-terminal .ct-wallet-options button:hover, body.relay-terminal .launch-wallet-option:hover { border-color: var(--acc); background: var(--s3); }

/* ----- 10. Launch page ---------------------------------------------------------------------------------- */
body.launch-page.relay-terminal { --lp-gold: #FF8E4A; --lp-peach: #FC6602; --lp-coral: #E05600; --lp-radius: var(--radius-card); --lp-control: var(--radius-control); --lp-line: var(--line); --lp-line-hover: var(--acc); --lp-shadow: none; --lp-done: var(--acc-strong); --lp-glow: var(--glow-acc); --lp-pad: 22px; }
body.launch-page.relay-terminal .launch-heading h1 { color: var(--text); }
body.launch-page.relay-terminal .launch-heading p, body.launch-page.relay-terminal .launch-heading .subtitle { color: var(--muted); }
body.launch-page.relay-terminal .launch-section { background: var(--s1); border: 1px solid var(--line); border-radius: var(--radius-card); box-shadow: none; }
body.launch-page.relay-terminal .launch-section:focus-within { border-color: var(--line-hi); }
body.launch-page.relay-terminal .launch-section-heading h2 { font-size: 17px; }
body.launch-page.relay-terminal .launch-step-mark { width: 26px; height: 26px; border-radius: 6px; border: 1px solid var(--line-strong); background: var(--s2); color: var(--muted); font-family: var(--mono); font-size: 12px; font-weight: 600; box-shadow: none; }
body.launch-page.relay-terminal .launch-section.is-done .launch-step-mark, body.launch-page.relay-terminal .launch-step-mark.is-done { background: var(--acc-strong); border-color: var(--acc-strong); color: var(--tp-nffffff); }
body.launch-page.relay-terminal .launch-section-heading > span:last-child, body.launch-page.relay-terminal .launch-section-heading small { font-family: var(--mono); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--dim); }
body.launch-page.relay-terminal :is(.launch-chains > label,.launch-venue > label,.launch-rewards > label,.launch-asset-option,.launch-pump-option,.launch-agent-choice > label,.launch-gotchi-option,.launch-mode-select > label,.launch-welcome-venues > *) { background: var(--bg); border: 1px solid var(--line-strong); border-radius: var(--radius-control); box-shadow: none; transition: border-color var(--motion-fast) ease, background-color var(--motion-fast) ease; }
body.launch-page.relay-terminal :is(.launch-chains > label,.launch-venue > label,.launch-rewards > label,.launch-asset-option,.launch-pump-option,.launch-agent-choice > label,.launch-gotchi-option,.launch-mode-select > label):hover { border-color: var(--line-hi); background: var(--s2); }
body.launch-page.relay-terminal :is(.launch-chains > label,.launch-venue > label,.launch-rewards > label,.launch-asset-option,.launch-pump-option,.launch-agent-choice > label,.launch-gotchi-option,.launch-mode-select > label):is(:has(:checked),[aria-pressed=true],.is-selected) { border-color: var(--acc); background: var(--sel-bg); box-shadow: none; }
body.launch-page.relay-terminal .launch-upload { background: var(--bg); border: 1px dashed var(--line-hi); border-radius: var(--radius-card); }
body.launch-page.relay-terminal .launch-upload:hover, body.launch-page.relay-terminal .launch-upload:focus-within { border-color: var(--acc); background: var(--s1); }
body.launch-page.relay-terminal .launch-upload-art { background: var(--s2); border: 1px solid var(--line-strong); border-radius: var(--radius-tile); color: var(--muted); }
body.launch-page.relay-terminal .launch-side > * , body.launch-page.relay-terminal .launch-preview, body.launch-page.relay-terminal .launch-progress, body.launch-page.relay-terminal .launch-token-card { background: var(--s1) !important; border: 1px solid var(--line); border-radius: var(--radius-card); box-shadow: none; }
body.launch-page.relay-terminal .launch-preview-image { background: var(--s2); border-radius: var(--radius-tile); color: var(--acc-soft); font-family: var(--display); }
body.launch-page.relay-terminal .launch-preview-facts dd { font-family: var(--mono); color: var(--text); }
body.launch-page.relay-terminal .launch-ticker-letters { font-family: var(--mono); background: var(--s2); border: 1px solid var(--line-strong); border-radius: 4px; color: var(--acc-soft); }
body.launch-page.relay-terminal .launch-progress-dot { background: var(--s3); border: 1px solid var(--line-strong); color: var(--muted); font-family: var(--mono); box-shadow: none; }
body.launch-page.relay-terminal .launch-progress-dot.is-done, body.launch-page.relay-terminal .launch-progress-dot[data-state=done] { background: var(--acc-strong); border-color: var(--acc-strong); color: var(--tp-nffffff); }
body.launch-page.relay-terminal .launch-progress-dot.is-current, body.launch-page.relay-terminal .launch-progress-dot[data-state=current] { border-color: var(--acc); color: var(--acc-soft); }
body.launch-page.relay-terminal .launch-flow-track, body.launch-page.relay-terminal .launch-raydium-track { background: var(--s3); }
body.launch-page.relay-terminal .launch-flow-dot { background: var(--acc); box-shadow: 0 0 0 3px var(--acc-dim); }
body.launch-page.relay-terminal .launch-sol-input { font-family: var(--mono); }
body.launch-page.relay-terminal .launch-auto-fee { background: var(--bg); border-color: var(--line-strong); }
body.launch-page.relay-terminal .launch-form-footer { background: var(--s1); border: 1px solid var(--line); }
body.launch-page.relay-terminal .launch-toast { background: var(--s2); border: 1px solid var(--line-hi); box-shadow: var(--shadow-elevated); }
body.launch-page.relay-terminal .launch-history-row { border-color: var(--line); background: var(--bg); }
body.launch-page.relay-terminal .launch-highlight { color: var(--acc-soft); }

/* ----- 11. Profile, creator, your coins ------------------------------------------------------------------ */
body.relay-terminal :is(.wallet-account-page,.tokens-page,.creator-page) :is(.card,.account-overview,.token-card,.token-launch-card,.creator-coin,.creator-hero,.token-rewards-card,.personal-earnings) { background: var(--s1); border: 1px solid var(--line); border-radius: var(--radius-card); box-shadow: none; }
body.relay-terminal :is(.token-card,.token-launch-card,.creator-coin):hover { border-color: var(--acc); box-shadow: var(--shadow-card-hover); }
body.relay-terminal .creator-hero, body.relay-terminal .creator-profile { background: var(--s1); border: 1px solid var(--line); border-radius: var(--radius-card); }
body.relay-terminal .creator-hero::before, body.relay-terminal .creator-hero::after { content: none !important; }
body.relay-terminal :is(.creator-avatar,.token-avatar,.header-account-avatar img,.public-profile-photo img) { border-radius: var(--radius-tile); }
body.relay-terminal .creator-profile h1, body.relay-terminal .creator-hero h1 { font-family: var(--display); font-weight: 700; letter-spacing: -0.03em; color: var(--text); }
body.relay-terminal :is(.token-card-value,.token-stat strong,.token-stat-value,.personal-earnings-value,.account-stat strong) { font-family: var(--mono); color: var(--text); }
body.relay-terminal :is(.token-status,.token-chip) { font-family: var(--mono); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; border-radius: 4px; }
body.relay-terminal .account-address { font-family: var(--mono); background: var(--bg); border: 1px solid var(--line-strong); border-radius: var(--radius-control); }
body.relay-terminal :is(.tokens-page,.wallet-account-page) .eyebrow { color: var(--acc-soft); }

/* ----- 12. Analytics, agents, gotchi, docs --------------------------------------------------------------- */
body.analytics-page.relay-terminal { --an-gold: #FF8E4A; --an-peach: #FC6602; --an-edge: var(--line); --an-grid: var(--tp-n141416); --an-axis: var(--tp-n1f1f23); --an-ink: var(--tp-ne4e4e7); --an-ink-2: var(--tp-nc9c9cf); --an-ink-3: var(--tp-n7a7a85); --an-s1: #FC6602; --an-s2: #2ee59d; --an-s3: #5aa9ff; --an-s4: #ffb020; --an-s5: var(--tp-n4a4a53); --an-single: #FC6602; --an-latest: #FFB27A; }
body.analytics-page.relay-terminal :is(.analytics-metric,.analytics-card,.analytics-section,.analytics-policy,.analytics-coverage) { background: var(--s1); border: 1px solid var(--line); border-radius: var(--radius-card); box-shadow: none; }
body.analytics-page.relay-terminal :is(.analytics-metric,.analytics-card,.analytics-section)::before, body.analytics-page.relay-terminal :is(.analytics-metric,.analytics-card,.analytics-section)::after { content: none !important; }
body.analytics-page.relay-terminal .analytics-metric-value { font-family: var(--mono); color: var(--text); }
body.analytics-page.relay-terminal .analytics-hero h1 { color: var(--text); }
body.analytics-page.relay-terminal .analytics-chart text { font-family: var(--mono); }
body.agents-page.relay-terminal :is(.agent-card,.agents-fact,.agents-intro-facts > div,.agent-stat,.agent-detail,.agent-section) { background: var(--s1); border: 1px solid var(--line); border-radius: var(--radius-card); box-shadow: none; }
body.agents-page.relay-terminal .agent-card:hover { border-color: var(--acc); box-shadow: var(--shadow-card-hover); }
body.agents-page.relay-terminal .agent-card::before, body.agents-page.relay-terminal .agent-card::after { content: none !important; animation: none !important; }
body.agents-page.relay-terminal :is(.agent-pill,.agent-tag) { font-family: var(--mono); font-size: 10.5px; letter-spacing: .06em; text-transform: uppercase; border-radius: 4px; }
body.agents-page.relay-terminal .agent-stat strong, body.agents-page.relay-terminal .agent-card dd { font-family: var(--mono); color: var(--text); }
body.gotchi-page.relay-terminal :is(.gotchi-card,.gotchi-fact,.gotchi-facts > div,.gotchi-stat,.gotchi-stats > div) { background: var(--s1); border: 1px solid var(--line); border-radius: var(--radius-card); box-shadow: none; }
body.gotchi-page.relay-terminal .gotchi-card:hover { border-color: var(--acc); box-shadow: var(--shadow-card-hover); }
body.gotchi-page.relay-terminal :is(.gotchi-stat strong,.gotchi-pot,.gotchi-facts strong) { font-family: var(--mono); color: var(--text); }
body.gotchi-page.relay-terminal .gotchi-intro h1, body.gotchi-page.relay-terminal .gotchi-hero-copy h1 { color: var(--text); }
body.relay-terminal :is(.documentation-card,.documentation-section,.documentation-aside,.documentation-toc) { background: var(--s1); border: 1px solid var(--line); border-radius: var(--radius-card); box-shadow: none; }
body.relay-terminal .documentation-hero h1 { color: var(--text); }
body.relay-terminal .documentation-nav a, body.relay-terminal .documentation-tabs a { border-radius: var(--radius-control); }
body.relay-terminal .documentation-nav a[aria-current=page], body.relay-terminal .documentation-tabs a[aria-current=page] { background: var(--sel-bg); border-color: var(--acc); color: var(--acc-soft); }
body.relay-terminal .documentation-toc a[aria-current=true], body.relay-terminal .documentation-toc a.is-active { color: var(--acc-soft); border-color: var(--acc); }
body.relay-terminal .documentation-section ol > li::marker, body.relay-terminal .documentation-steps > li::before { color: var(--acc-soft); font-family: var(--mono); }
body.not-found-page .documentation-hero h1 { background: none; -webkit-text-fill-color: currentColor; color: var(--text); }

/* ----- 13. Admin ---------------------------------------------------------------------------------------- */
body.admin-page.relay-terminal :is(.admin-sidebar,.admin-nav,.admin-card,.admin-overview > div,.admin-stat,.admin-fee-form,.admin-user-row,.admin-session-detail,.admin-session-metrics,.admin-gate,.admin-protocol-facts > div,.admin-protocol-coin,.admin-protocol-gas,.admin-branding-target,.admin-section-header,.admin-heading) { background: var(--s1); border: 1px solid var(--line); border-radius: var(--radius-card); box-shadow: none; }
body.admin-page.relay-terminal .admin-sidebar h1, body.admin-page.relay-terminal .admin-sidebar h2 { font-family: var(--display); font-size: 20px; letter-spacing: -0.03em; }
body.admin-page.relay-terminal .admin-nav a, body.admin-page.relay-terminal .admin-nav button, body.admin-page.relay-terminal .admin-nav summary { border-radius: var(--radius-control); color: var(--muted); font-weight: 500; }
body.admin-page.relay-terminal .admin-nav :is(a,button,summary):hover { background: var(--s2); color: var(--text); }
body.admin-page.relay-terminal .admin-nav :is(a,button,summary):is([aria-current=page],[aria-current=true],.is-active,[aria-pressed=true]) { background: var(--sel-bg); color: var(--acc-soft); border-color: #FC660266; box-shadow: inset 2px 0 0 var(--acc); }
body.admin-page.relay-terminal .admin-nav .admin-count, body.admin-page.relay-terminal .admin-nav small { font-family: var(--mono); background: var(--s3); border-radius: 4px; color: var(--muted); }
body.admin-page.relay-terminal .admin-eyebrow { color: var(--acc-soft); }
body.admin-page.relay-terminal .admin-section-header h1, body.admin-page.relay-terminal .admin-heading h1, body.admin-page.relay-terminal .admin-app h1 { font-family: var(--display); font-size: 30px; letter-spacing: -0.03em; color: var(--text); }
body.admin-page.relay-terminal :is(.admin-stat strong,.admin-overview strong,.admin-metric-value,.admin-table td.is-number,.admin-card dd) { font-family: var(--mono); color: var(--text); }
body.admin-page.relay-terminal .admin-table th { font-family: var(--mono); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
body.admin-page.relay-terminal .admin-table td { border-color: var(--line); }
body.admin-page.relay-terminal :is(.admin-message,.admin-note,.admin-banner) { background: var(--s2); border: 1px solid var(--line-strong); border-radius: var(--radius-control); }
body.admin-page.relay-terminal .admin-message.negative { border-color: #4a1726; background: #2a0d14; color: #ff8fa3; }
body.admin-page.relay-terminal .admin-message.positive { border-color: #154733; background: #0d2a1f; color: #8ff0c9; }
body.admin-page.relay-terminal .admin-badge, body.admin-page.relay-terminal .admin-pill { font-family: var(--mono); font-size: 10.5px; letter-spacing: .06em; text-transform: uppercase; border-radius: 4px; }
body.admin-page.relay-terminal .admin-jump, body.admin-page.relay-terminal .admin-search { background: var(--bg); border: 1px solid var(--line-strong); border-radius: var(--radius-control); }
body.admin-page.relay-terminal .admin-jump kbd { font-family: var(--mono); background: var(--s2); border: 1px solid var(--line-strong); border-radius: 4px; }
body.admin-page.relay-terminal .admin-card :is(.launch-admin-create,.launch-admin-row) { background: var(--bg); border: 1px solid var(--line); border-radius: var(--radius-control); }
body.admin-page.relay-terminal .launch-admin-row:hover { border-color: var(--line-hi); }
body.admin-page.relay-terminal .launch-admin-row[open] { border-color: var(--line-hi); background: var(--s1); }

/* ----- 14. Misc shared widgets --------------------------------------------------------------------------- */
body.relay-terminal .curve-price-badge .curve-price-value.is-up { color: var(--up); }
body.relay-terminal .curve-price-badge .curve-price-value.is-down { color: var(--down); }
body.relay-terminal .navigation-progress { background: var(--acc); box-shadow: 0 0 12px var(--acc); height: 2px; }
body.relay-terminal .navigation-notice { background: var(--s2); border: 1px solid var(--line-hi); border-radius: var(--radius-control); box-shadow: var(--shadow-elevated); color: var(--text); font-size: 13px; }
body.relay-terminal .explore-search-dialog input { font-size: 16px; }
body.relay-terminal .explore-search-chip { font-family: var(--mono); font-size: 11.5px; border-radius: 4px; }
body.relay-terminal :is(.quote-label,.explore-coin-pair,.coin-pair-pill) img { border-radius: 50%; }
body.relay-terminal .signin-overlay, body.relay-terminal .account-overlay { background: var(--s1); border: 1px solid var(--line-strong); box-shadow: var(--shadow-elevated); }
body.relay-terminal .skip-link { background: var(--acc-strong); color: var(--tp-nffffff); }
body.relay-terminal [data-motion-spotlight]::after, body.relay-terminal .motion-spotlight::after { background: radial-gradient(240px circle at var(--mx,50%) var(--my,50%),#FC660214,transparent 60%) !important; }

/* ----- 15. Late polish ---------------------------------------------------------------------------------- */
/* Admin sessions carry two extra header actions: below 1360px they become icon buttons so the search keeps room. */
@media (max-width: 1360px) {
  body.relay-terminal[data-navigation=top] .app-header :is(.header-admin,#admin-security-open) { width: var(--control-h); padding: 0; justify-content: center; }
  body.relay-terminal[data-navigation=top] .app-header :is(.header-admin,#admin-security-open) > span { display: none; }
}
/* List view: badges stay on one line inside the narrow art column. */
body.relay-terminal.explore-page.explore-list-view .explore-coin-badge { font-size: 9.5px; letter-spacing: .03em; padding: 3px 6px; }
body.relay-terminal.explore-page.explore-list-view .explore-coin-badges { min-height: 0; }
/* Every table cell with a number reads mono; the first column stays text. */
body.relay-terminal :is(.cv-table,.admin-table,.holders-table,.live-trades-table) td { font-family: var(--mono); font-size: 13px; font-variant-numeric: tabular-nums; }
body.relay-terminal :is(.cv-table,.admin-table,.holders-table,.live-trades-table) td:first-child { font-family: var(--sans); }
/* Buy / sell pills inside tables. */
body.relay-terminal :is(.coin-trade-side,.trade-side,.cv-side) { font-family: var(--mono); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; border-radius: 4px; }
/* Status dots breathe. */
body.relay-terminal :is(.cv-live,.explore-auto,.coin-live,.status-light) > i, body.relay-terminal .cv-live-dot { animation: cv-live-dot 1.6s ease-out infinite; }
/* The browse bar (stage tabs, chain, category, view) sticks under the header while the grid scrolls. */
body.relay-terminal.explore-page .explore-browse-bar { position: sticky; top: var(--header-h); z-index: 30; padding-top: 6px; background: color-mix(in srgb, var(--tp-n000000) 94.9%, transparent); border-bottom: 1px solid var(--line); }
@media (max-width: 640px) { body.relay-terminal.explore-page .explore-browse-bar { position: static; } }
body.relay-terminal.coin-page .coin-address-row > a#coin-address, body.relay-terminal .coin-mint-address, body.relay-terminal .token-mint { font-family: var(--mono); font-size: 12.5px; color: var(--muted); letter-spacing: 0; }

/* ----- 16. Robinhood Chain off (v71.43): the server writes <body data-robinhood="off"> on a host without
   CURVE_ROBINHOOD_ENABLED=1; every Robinhood control disappears and the pages behave Solana-only. ---------- */
body[data-robinhood=off] :is(.site-chain-toggle,.explore-chain-switch,[data-launch-section=chain],.wallet-evm-card,[data-robinhood-only],.chain-switch,[data-explore-chain]) { display: none !important; }
body[data-robinhood=off] .explore-browse-bar { grid-template-columns: minmax(0,1fr) auto; }
