/* Hallmark · shape: Workbench · genre: modern-minimal · theme: Console (deal 1/3, seed crypto-services-portal-aml-003e·760b1645·2026-11-07·r0), brand face Adekvat in place of Host Grotesk · redesign: full
 * hero: Stage, the AML report panel on columns 7 to 12 · nav: bordered bar, wordmark, three links, language · footer: mast, wordmark over link columns · imagery: the product built (AML report, live market), no photographs · signature: the AML report of one Tron address, its sources as plus and minus rows · console: hairline panels, Atkinson Mono for every figure
 * axes: dark/grotesk-sans/chromatic-amber · posture: restrained · contrast: pass · fold: pass · v2.0.0 */
/* Hallmark · pre-emit critique: P4 H4 E4 S4 R4 V4 · weakest: S, the roadmap section could belong to any product; kept it to three short panels with real statuses and no claims */
/* Hallmark · dropped #market, #roadmap, #services · nav and footer now link /#services and /#market so they work from blog pages; the roadmap link gave its place to the blog */
/* Hallmark · dropped /energy/, /energy/#how · the energy page moved to /energy/ru/ and /energy/en/, links now point there */
/* Hallmark · dropped /#market from nav and footer · the market link now opens /coins/, the top-100 prices page; the homepage section stays and links there */
/* Hallmark · /coins/: 67 reads Latin letters only, so Russian sentences that carry tickers (BTC, AML, FDV) and the official all-caps name TRON read as capitals; they are data in sentence case, kept */
/* Hallmark · dropped mktTime2 · merged into #mktTime, one timestamp under the table */
/* Hallmark · reworded hero, section heads and leads · 54 and 19 named the eyebrows and dashes; every fact, price and link kept */

@font-face{font-family:"Adekvat";font-weight:400;font-style:normal;font-display:swap;src:url("/fonts/Adekvat-Regular.woff2") format("woff2")}
@font-face{font-family:"Adekvat";font-weight:500;font-style:normal;font-display:swap;src:url("/fonts/Adekvat-Medium.woff2") format("woff2")}
/* Atkinson Hyperlegible Mono (OFL, Braille Institute), variable 400-500, latin: figures, addresses, prices */
@font-face{font-family:"Atkinson Hyperlegible Mono";font-weight:400 500;font-style:normal;font-display:swap;src:url("/fonts/AtkinsonHyperlegibleMono.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root {
  color-scheme: dark;
  --space-3xs: 2px; --space-2xs: 4px; --space-xs: 8px; --space-sm: 12px; --space-md: 16px; --space-lg: 24px; --space-xl: 40px; --space-2xl: 64px; --space-3xl: 96px; --space-4xl: 144px;
  --text-xs: 0.8125rem; --text-sm: 0.875rem; --text-md: 1rem; --text-lg: 1.25rem; --text-xl: 1.5625rem; --text-2xl: 1.953rem; --text-3xl: 2.441rem;
  --text-display: clamp(2.5rem, 4.2vw + 1rem, 4.5rem);
  --text-section: clamp(2rem, 2.5vw + 1rem, 3.25rem); --text-title: clamp(1.25rem, 0.75vw + 0.875rem, 1.625rem); --text-lead: clamp(1.125rem, 0.35vw + 1rem, 1.375rem);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --dur-micro: 120ms; --dur-short: 220ms;
  --container: 1280px; --gutter: 64px; --gap-columns: 32px; --section-gap: 128px;
  --color-paper: oklch(17% 0.008 250); --color-paper-2: oklch(21% 0.009 250); --color-paper-3: oklch(13.5% 0.007 250);
  --color-ink: oklch(95% 0.005 250); --color-ink-2: oklch(83% 0.008 250); --color-muted: oklch(71% 0.01 250);
  --color-rule: oklch(31% 0.01 250); --color-rule-2: oklch(42% 0.012 250); --ctl: oklch(55% 0.012 250);
  --color-accent: oklch(82% 0.15 80); --color-accent-ink: oklch(18% 0.04 75); --color-accent-hover: oklch(87% 0.13 80); --color-accent-soft: oklch(29% 0.05 80); --color-focus: oklch(82% 0.15 80);
  --color-cool: oklch(77% 0.12 245);
  --color-ok: oklch(76% 0.15 150); --color-bad: oklch(70% 0.17 25); --color-bad-soft: oklch(24.5% 0.035 25);
  --font-display: "Adekvat", ui-sans-serif, system-ui, sans-serif; --font-body: var(--font-display);
  --font-outlier: "Atkinson Hyperlegible Mono", ui-monospace, monospace;
  --radius-card: 10px; --radius-pill: 6px; --rule-hair: 1px;
  --tracking-display: -0.03em; --display-weight: 500;
}
@media (max-width: 60rem) { :root { --gutter: 24px; --section-gap: 96px; } }
@media (max-width: 40rem) { :root { --gutter: 16px; --section-gap: 72px; --gap-columns: 16px; } }

*, *::before, *::after { box-sizing: border-box; }
html, body { overflow-x: clip; }
html { scrollbar-color: var(--color-muted) var(--color-paper); scroll-padding-top: var(--space-3xl); scroll-behavior: smooth; }
body { margin: 0; background: var(--color-paper); color: var(--color-ink); font-family: var(--font-body); font-size: var(--text-md); line-height: 1.55; -webkit-font-smoothing: antialiased; }
::selection { background: color-mix(in oklab, var(--color-accent) 25%, transparent); }
:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 2px; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 0.18em; }
h1, h2, h3 { margin: 0; font-family: var(--font-display); font-weight: var(--display-weight); font-synthesis: none; letter-spacing: var(--tracking-display); line-height: 1.05; overflow-wrap: break-word; min-width: 0; text-wrap: balance; }
h1 { max-width: 17ch; font-size: var(--text-display); line-height: 1.02; }
h2 { max-width: 22ch; font-size: var(--text-section); }
h3 { font-size: var(--text-title); line-height: 1.2; letter-spacing: -0.02em; }
p { margin: 0; text-wrap: pretty; }
ul, ol { margin: 0; padding: 0; list-style: none; }
figure { margin: 0; }
svg { display: block; }
[hidden] { display: none !important; }
.container { width: 100%; max-width: var(--container); margin-inline: auto; padding-inline: var(--gutter); }
.m { font-family: var(--font-outlier); font-variant-numeric: tabular-nums slashed-zero; }
.up { color: var(--color-ok); } .dn { color: var(--color-bad); }

/* controls */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-xs); min-height: 48px; padding: var(--space-sm) var(--space-lg); border: var(--rule-hair) solid var(--color-rule-2); border-radius: var(--radius-pill); background: var(--color-paper-2); color: var(--color-ink); font: 500 var(--text-md)/1 var(--font-body); text-decoration: none; cursor: pointer; transition: background-color var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out); }
.btn:hover { border-color: var(--color-muted); background: var(--color-paper-3); }
.btn:active { background: var(--color-paper); }
.btn--primary { background: var(--color-accent); border-color: var(--color-accent); color: var(--color-accent-ink); }
.btn--primary:hover { background: var(--color-accent-hover); border-color: var(--color-accent-hover); }
.btn--primary:active { background: var(--color-accent); }
.link { color: var(--color-ink); font-weight: 500; text-decoration: underline; text-decoration-color: var(--color-rule-2); transition: text-decoration-color var(--dur-short) var(--ease-out); }
.link:hover { text-decoration-color: var(--color-ink); }
.link:active { color: var(--color-ink-2); }
.chip { display: inline-block; padding: var(--space-3xs) var(--space-xs); border: var(--rule-hair) solid var(--color-rule-2); border-radius: var(--radius-pill); font-size: var(--text-xs); font-weight: 500; color: var(--color-ink-2); white-space: nowrap; }
.chip--live { border-color: var(--color-ok); color: var(--color-ok); }

/* nav */
.nav { padding-top: var(--space-md); }
.nav-bar { display: flex; align-items: center; gap: var(--space-lg); padding: var(--space-xs) var(--space-xs) var(--space-xs) var(--space-md); border: var(--rule-hair) solid var(--color-rule); border-radius: var(--radius-card); }
.wordmark { display: block; color: var(--color-ink); text-decoration: none; padding-block: var(--space-xs); }
.wordmark svg { height: 22px; width: auto; }
.nav-links { display: flex; gap: var(--space-lg); margin-right: auto; padding-left: var(--space-lg); border-left: var(--rule-hair) solid var(--color-rule); font-size: var(--text-sm); color: var(--color-ink-2); }
.nav-links a { text-decoration: none; }
.nav-links a:hover { color: var(--color-ink); text-decoration: underline; }
.nav-bar .btn { min-height: 40px; padding: var(--space-xs) var(--space-md); font-size: var(--text-sm); }
@media (max-width: 52rem) { .nav-links { display: none; } .nav-bar { justify-content: space-between; } }

/* hero */
.hero { padding-block: var(--space-3xl) 0; }
.hero-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: var(--space-2xl); align-items: center; }
.hero .lead { margin-top: var(--space-lg); font-size: var(--text-lead); line-height: 1.45; color: var(--color-ink-2); max-width: 34ch; }
.acts { display: flex; flex-wrap: wrap; gap: var(--space-sm); }
.hero .acts { margin-top: var(--space-xl); }
.hero-note { margin-top: var(--space-md); font-size: var(--text-sm); color: var(--color-muted); }
@media (max-width: 64rem) { .hero-grid { grid-template-columns: minmax(0, 1fr); } .hero { padding-top: var(--space-2xl); } }
@media (max-width: 40rem) { .acts .btn { flex: 1 1 100%; } }

/* panels */
.panel { color: var(--color-ink); border: var(--rule-hair) solid var(--color-rule); border-radius: var(--radius-card); background: var(--color-paper-2); overflow: hidden; min-width: 0; }
.panel-head { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-md); padding: var(--space-md) var(--space-lg); border-bottom: var(--rule-hair) solid var(--color-rule); }
.panel-head b { font-weight: 500; font-size: var(--text-lg); }
.panel-head span { font-size: var(--text-sm); color: var(--color-muted); }
.addr { padding: var(--space-sm) var(--space-lg); border-bottom: var(--rule-hair) solid var(--color-rule); font-size: var(--text-sm); color: var(--color-cool); overflow-wrap: anywhere; }
.src { display: grid; grid-template-columns: var(--space-lg) minmax(0, 1fr) auto; gap: var(--space-xs); padding: var(--space-sm) var(--space-lg); border-bottom: var(--rule-hair) solid var(--color-rule); font-size: var(--text-sm); }
.src .g { font-family: var(--font-outlier); }
.src--ok .g { color: var(--color-ok); }
.src--mid { background: var(--color-accent-soft); } .src--mid .g { color: var(--color-accent); }
.src--bad { background: var(--color-bad-soft); } .src--bad .g { color: var(--color-bad); }
.reads { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.reads > div { padding: var(--space-md) var(--space-lg); border-right: var(--rule-hair) solid var(--color-rule); min-width: 0; }
.reads > div:last-child { border-right: 0; }
.reads small { display: block; font-size: var(--text-xs); color: var(--color-muted); margin-bottom: var(--space-2xs); }
.reading { font-family: var(--font-outlier); font-size: var(--text-2xl); letter-spacing: -0.04em; line-height: 1; font-variant-numeric: tabular-nums slashed-zero; }
@media (max-width: 30rem) { .addr { font-size: var(--text-xs); padding-inline: var(--space-md); } .reads { grid-template-columns: minmax(0, 1fr); } .reads > div { border-right: 0; border-bottom: var(--rule-hair) solid var(--color-rule); } .reads > div:last-child { border-bottom: 0; } }

/* sections */
.section { padding-top: var(--section-gap); }
.sec-head { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--gap-columns); align-items: end; margin-bottom: var(--space-xl); }
.sec-head p { color: var(--color-muted); font-size: var(--text-lead); line-height: 1.45; max-width: 46ch; }
@media (max-width: 52rem) { .sec-head { grid-template-columns: minmax(0, 1fr); gap: var(--space-md); } }

/* services: one surface, seams of 1px */
.seams { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--rule-hair); background: var(--color-rule); border: var(--rule-hair) solid var(--color-rule); border-radius: var(--radius-card); overflow: hidden; }
.seams > * { background: var(--color-paper-2); padding: var(--space-xl); min-width: 0; display: flex; flex-direction: column; gap: var(--space-md); }
.seams .wide { grid-column: 1 / -1; flex-direction: row; align-items: center; justify-content: space-between; flex-wrap: wrap; background: var(--color-paper-3); padding-block: var(--space-lg); }
.svc-top { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-md); }
.svc-top h3 { font-size: var(--text-2xl); }
.svc p { color: var(--color-ink-2); max-width: 48ch; }
.facts { display: grid; gap: var(--space-xs); color: var(--color-ink-2); font-size: var(--text-sm); }
.facts li { padding-left: var(--space-md); position: relative; }
.facts li::before { content: ""; position: absolute; left: 0; top: 0.75em; width: var(--space-xs); height: var(--rule-hair); background: var(--color-rule-2); }
.kv { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-md); margin-top: auto; padding-top: var(--space-md); border-top: var(--rule-hair) solid var(--color-rule); font-size: var(--text-sm); color: var(--color-muted); }
.kv-v { color: var(--color-ink-2); text-align: right; }
.kv-v .m { color: var(--color-ink); font-size: var(--text-lg); }
.svc-acts { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-lg); }
.wide h3 { font-size: var(--text-title); }
.wide p { color: var(--color-muted); max-width: 60ch; margin-top: var(--space-2xs); }
@media (max-width: 52rem) { .seams { grid-template-columns: minmax(0, 1fr); } .seams > * { padding: var(--space-lg); } }

/* trail */
.trail { border-left: var(--rule-hair) solid var(--color-rule-2); margin-left: var(--space-xs); }
.trail li { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 4fr) minmax(0, 6fr); gap: var(--gap-columns); padding: var(--space-lg) 0 var(--space-lg) var(--space-xl); border-bottom: var(--rule-hair) solid var(--color-rule); position: relative; align-items: baseline; }
.trail li::before { content: ""; position: absolute; left: calc(-1 * var(--space-2xs) - 1px); top: calc(var(--space-lg) + var(--space-xs)); width: var(--space-xs); height: var(--space-xs); background: var(--color-paper); border: var(--rule-hair) solid var(--color-rule-2); border-radius: 50%; }
.trail li:last-child { border-bottom: 0; }
.trail .when { font-size: var(--text-sm); color: var(--color-muted); }
.trail h3 { font-size: var(--text-xl); }
.trail p { color: var(--color-ink-2); }
@media (max-width: 52rem) { .trail li { grid-template-columns: minmax(0, 1fr); gap: var(--space-xs); padding-left: var(--space-lg); } }

/* market */
.tape { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--rule-hair); background: var(--color-rule); border: var(--rule-hair) solid var(--color-rule); border-radius: var(--radius-card); overflow: hidden; margin-bottom: var(--space-lg); }
.tape > div { background: var(--color-paper-2); padding: var(--space-md) var(--space-lg); min-width: 0; min-height: 104px; }
.tape small { display: block; font-size: var(--text-sm); color: var(--color-muted); }
.tape .m { display: block; font-size: var(--text-xl); margin-block: var(--space-2xs); color: var(--color-ink); }
.tape .ch { font-family: var(--font-outlier); font-size: var(--text-sm); }
@media (max-width: 64rem) { .tape { grid-template-columns: repeat(3, minmax(0, 1fr)); } .tape > div:nth-child(n+4) { display: none; } }
@media (max-width: 30rem) { .tape { grid-template-columns: repeat(2, minmax(0, 1fr)); } .tape > div:nth-child(3) { display: none; } }
.tbl { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; font-size: var(--text-sm); }
th { font-weight: 500; color: var(--color-muted); text-align: right; padding: var(--space-sm) var(--space-lg); border-bottom: var(--rule-hair) solid var(--color-rule); white-space: nowrap; }
td { padding: var(--space-sm) var(--space-lg); border-bottom: var(--rule-hair) solid var(--color-rule); text-align: right; white-space: nowrap; font-family: var(--font-outlier); font-variant-numeric: tabular-nums slashed-zero; }
th:first-child, td:first-child { text-align: left; }
tbody tr:last-child td { border-bottom: 0; }
.coin { display: flex; align-items: center; gap: var(--space-sm); font-family: var(--font-body); }
.coin img { width: 24px; height: 24px; border-radius: 50%; flex: none; filter: grayscale(1); }
.coin b { font-weight: 500; color: var(--color-ink); }
.coin small { color: var(--color-muted); font-size: var(--text-xs); }
.spark { width: 120px; height: 32px; margin-left: auto; }
.spark path { fill: none; stroke-width: 1.5; vector-effect: non-scaling-stroke; }
.spark .s-up { stroke: var(--color-ok); } .spark .s-dn { stroke: var(--color-bad); }
.tbl-note { display: flex; justify-content: space-between; flex-wrap: wrap; gap: var(--space-xs); padding: var(--space-sm) var(--space-lg); border-top: var(--rule-hair) solid var(--color-rule); font-size: var(--text-xs); color: var(--color-muted); }
.empty { text-align: center; color: var(--color-muted); font-family: var(--font-body); padding: var(--space-xl); white-space: normal; }
@media (max-width: 52rem) { .c-cap, .c-vol { display: none; } }
@media (max-width: 36rem) { .c-7d { display: none; } th, td { padding-inline: var(--space-sm); } .coin small { display: none; } }

/* roadmap */
.road { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--rule-hair); background: var(--color-rule); border: var(--rule-hair) solid var(--color-rule); border-radius: var(--radius-card); overflow: hidden; }
.road > div { background: var(--color-paper); padding: var(--space-lg); display: flex; flex-direction: column; gap: var(--space-sm); min-width: 0; }
.road-top { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-md); }
.road p { color: var(--color-muted); font-size: var(--text-sm); }
@media (max-width: 52rem) { .road { grid-template-columns: minmax(0, 1fr); } }

/* close */
.close { margin-top: var(--section-gap); background: var(--color-paper-3); border-block: var(--rule-hair) solid var(--color-rule); padding-block: var(--space-3xl); }
.close-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--gap-columns); align-items: end; }
.close p { color: var(--color-ink-2); font-size: var(--text-lead); max-width: 46ch; margin-top: var(--space-md); }
.close .acts { justify-content: flex-end; }
@media (max-width: 52rem) { .close-grid { grid-template-columns: minmax(0, 1fr); } .close .acts { justify-content: flex-start; } }

/* footer */
.foot { padding-block: var(--space-2xl) var(--space-xl); font-size: var(--text-sm); color: var(--color-muted); }
.foot-grid { display: grid; grid-template-columns: minmax(0, 4fr) repeat(3, minmax(0, 2fr)); gap: var(--gap-columns); }
.foot .wordmark { padding: 0 0 var(--space-sm); }
.foot h3 { font-family: var(--font-body); font-size: var(--text-sm); letter-spacing: 0; color: var(--color-ink); margin-bottom: var(--space-sm); }
.foot li + li { margin-top: var(--space-xs); }
.foot a { text-decoration: none; }
.foot a:hover { color: var(--color-ink); text-decoration: underline; }
.foot-about { max-width: 32ch; }
.foot-base { margin-top: var(--space-xl); padding-top: var(--space-md); border-top: var(--rule-hair) solid var(--color-rule); }
@media (max-width: 52rem) { .foot-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .foot-grid > :first-child { grid-column: 1 / -1; } }

/* blog */
.crumbs { display: flex; flex-wrap: wrap; gap: var(--space-xs); padding-top: var(--space-2xl); font-size: var(--text-sm); color: var(--color-muted); }
.crumbs a { text-decoration: none; }
.crumbs a:hover { color: var(--color-ink); text-decoration: underline; }
.crumbs li + li::before { content: "/"; margin-right: var(--space-xs); color: var(--color-rule-2); }
.crumbs { list-style: none; margin: 0; padding-left: 0; }
.crumbs li { display: inline; }
.post-head { padding-top: var(--space-lg); max-width: 52rem; }
.post-head h1 { max-width: 22ch; font-size: var(--text-section); }
.post-head .lead { margin-top: var(--space-lg); font-size: var(--text-lead); line-height: 1.45; color: var(--color-ink-2); max-width: 48ch; }
.post-meta { display: flex; flex-wrap: wrap; gap: var(--space-lg); margin-top: var(--space-lg); padding-top: var(--space-md); border-top: var(--rule-hair) solid var(--color-rule); font-size: var(--text-sm); color: var(--color-muted); }
.post-grid { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: var(--space-2xl); padding-top: var(--space-2xl); align-items: start; }
.post-aside { position: sticky; top: var(--space-lg); }
@media (max-width: 64rem) { .post-grid { grid-template-columns: minmax(0, 1fr); } .post-aside { position: static; } }
.prose { max-width: 42rem; color: var(--color-ink-2); font-size: 1.0625rem; line-height: 1.7; }
.prose > * + * { margin-top: var(--space-md); }
.prose h2 { font-size: var(--text-2xl); color: var(--color-ink); margin-top: var(--space-2xl); max-width: none; }
.prose h3 { font-size: var(--text-lg); color: var(--color-ink); margin-top: var(--space-xl); }
.prose h2 + *, .prose h3 + * { margin-top: var(--space-sm); }
.prose p { max-width: none; }
.prose strong { color: var(--color-ink); font-weight: 500; }
.prose a { color: var(--color-ink); text-decoration-color: var(--color-accent); text-decoration-thickness: 1px; }
.prose a:hover { text-decoration-thickness: 2px; }
.prose ul, .prose ol { display: grid; gap: var(--space-xs); padding-left: var(--space-lg); }
.prose ul { list-style: disc; } .prose ol { list-style: decimal; }
.prose li::marker { color: var(--color-muted); }
.prose code { font-family: var(--font-outlier); font-size: 0.875em; color: var(--color-cool); overflow-wrap: anywhere; }
.prose table { margin-top: var(--space-lg); border: var(--rule-hair) solid var(--color-rule); border-radius: var(--radius-card); border-collapse: separate; border-spacing: 0; overflow: hidden; display: block; overflow-x: auto; }
.prose th, .prose td { text-align: left; white-space: normal; font-family: var(--font-body); padding: var(--space-sm) var(--space-md); vertical-align: top; min-width: 9rem; }
.prose thead th { background: var(--color-paper-2); color: var(--color-ink); }
.prose tbody tr:last-child td { border-bottom: 0; }
.cta-panel { padding: var(--space-lg); display: flex; flex-direction: column; gap: var(--space-md); }
.cta-panel h2 { font-size: var(--text-xl); max-width: none; }
.cta-panel p { color: var(--color-ink-2); font-size: var(--text-sm); }
.cta-panel .btn { width: 100%; }
.faq { margin-top: var(--section-gap); max-width: 52rem; }
.faq h2 { margin-bottom: var(--space-lg); }
.faq details { border-top: var(--rule-hair) solid var(--color-rule); }
.faq details:last-child { border-bottom: var(--rule-hair) solid var(--color-rule); }
.faq summary { cursor: pointer; padding: var(--space-md) 0; font-weight: 500; font-size: var(--text-lg); list-style: none; display: flex; justify-content: space-between; gap: var(--space-md); }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; font-family: var(--font-outlier); color: var(--color-muted); }
.faq details[open] summary::after { content: "−"; }
.faq summary:hover { color: var(--color-ink-2); }
.faq details p { padding-bottom: var(--space-md); color: var(--color-ink-2); max-width: 60ch; }
.posts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--rule-hair); background: var(--color-rule); border: var(--rule-hair) solid var(--color-rule); border-radius: var(--radius-card); overflow: hidden; }
.posts > a { background: var(--color-paper-2); padding: var(--space-lg); display: flex; flex-direction: column; gap: var(--space-sm); text-decoration: none; min-width: 0; transition: background-color var(--dur-short) var(--ease-out); }
.posts > a:hover { background: var(--color-paper-3); }
.posts > a:hover h2, .posts > a:hover h3 { text-decoration: underline; text-decoration-color: var(--color-accent); }
.posts h2, .posts h3 { font-size: var(--text-title); max-width: none; }
.posts p { color: var(--color-ink-2); font-size: var(--text-sm); }
.posts .post-meta { margin-top: auto; border-top: 0; padding-top: var(--space-xs); gap: var(--space-md); font-size: var(--text-xs); }
@media (max-width: 52rem) { .posts { grid-template-columns: minmax(0, 1fr); } }
.blog-head { padding-top: var(--space-2xl); margin-bottom: var(--space-xl); }
.blog-head p { margin-top: var(--space-md); color: var(--color-ink-2); font-size: var(--text-lead); max-width: 48ch; }
.related { margin-top: var(--section-gap); }
.related h2 { margin-bottom: var(--space-lg); font-size: var(--text-2xl); }

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition-duration: 0.01ms !important; } html { scroll-behavior: auto; } }

.vh { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
/* coins: /coins/ (top 100) and /coins/<id>/ (one coin). Tokens only, from site.css. */
.cx-head { padding-top: var(--space-lg); display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--gap-columns); align-items: end; }
.cx-head h1 { font-size: var(--text-section); max-width: 22ch; }
.cx-head .lead { margin-top: var(--space-md); color: var(--color-ink-2); font-size: var(--text-lead); line-height: 1.45; max-width: 52ch; }
.cx-head .note { color: var(--color-muted); font-size: var(--text-sm); }
@media (max-width: 52rem) { .cx-head { grid-template-columns: minmax(0, 1fr); align-items: start; } }

/* market overview: one seamed strip */
.ov { margin-top: var(--space-xl); display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--rule-hair); background: var(--color-rule); border: var(--rule-hair) solid var(--color-rule); border-radius: var(--radius-card); overflow: hidden; }
.ov > div { background: var(--color-paper-2); padding: var(--space-md) var(--space-lg); min-width: 0; }
.ov small { display: block; font-size: var(--text-xs); color: var(--color-muted); }
.ov .m { display: block; font-size: var(--text-xl); color: var(--color-ink); margin-top: var(--space-2xs); letter-spacing: -0.03em; }
.ov .sub { display: block; font-size: var(--text-xs); color: var(--color-muted); margin-top: var(--space-3xs); }
@media (max-width: 64rem) { .ov { grid-template-columns: repeat(3, minmax(0, 1fr)); } .ov > div:first-child { grid-column: span 2; } }
@media (max-width: 40rem) { .ov { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ov .m { font-size: var(--text-lg); } }

/* movers: three short lists side by side */
.movers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--rule-hair); background: var(--color-rule); border: var(--rule-hair) solid var(--color-rule); border-radius: var(--radius-card); overflow: hidden; }
.movers > div { background: var(--color-paper-2); padding: var(--space-md) var(--space-lg) var(--space-sm); min-width: 0; }
.movers h3 { font-size: var(--text-md); font-family: var(--font-body); letter-spacing: 0; color: var(--color-ink); }
.movers p { font-size: var(--text-xs); color: var(--color-muted); margin-top: var(--space-3xs); }
.movers ol { margin-top: var(--space-sm); }
.movers li { display: flex; justify-content: space-between; gap: var(--space-sm); padding: var(--space-xs) 0; border-top: var(--rule-hair) solid var(--color-rule); font-size: var(--text-sm); }
.movers li a { text-decoration: none; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.movers li a:hover { text-decoration: underline; }
.movers li small { color: var(--color-muted); }
@media (max-width: 52rem) { .movers { grid-template-columns: minmax(0, 1fr); } }

/* table tools: filters, search */
.tools { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--space-sm); padding: var(--space-sm) var(--space-lg); border-bottom: var(--rule-hair) solid var(--color-rule); }
.filters { display: flex; flex-wrap: wrap; gap: var(--space-2xs); }
.filters button { font: inherit; font-size: var(--text-sm); color: var(--color-ink-2); background: transparent; border: var(--rule-hair) solid var(--ctl); border-radius: var(--radius-pill); padding: var(--space-2xs) var(--space-sm); min-height: 36px; cursor: pointer; transition: background-color var(--dur-micro) var(--ease-out); }
.filters button:hover { background: var(--color-paper-3); color: var(--color-ink); }
.filters button[aria-pressed="true"] { background: var(--color-paper-3); border-color: var(--color-ink-2); color: var(--color-ink); }
.search { font: inherit; font-size: var(--text-sm); color: var(--color-ink); background: var(--color-paper); border: var(--rule-hair) solid var(--ctl); border-radius: var(--radius-pill); padding: var(--space-xs) var(--space-sm); min-height: 40px; width: min(100%, 260px); }
.search::placeholder { color: var(--color-muted); }
.search, .cv input { caret-color: var(--color-accent); }
:is(.filters button, .rng button, .copy, .sort):disabled { opacity: 0.5; cursor: not-allowed; }
:is(.filters button, .search, .sort, .rng button, .cv input, .copy):focus-visible { outline: 2px solid var(--color-focus); outline-offset: 2px; }

/* the top-100 table */
.ctab td, .ctab th { padding-inline: var(--space-md); }
.ctab th:first-child, .ctab td:first-child { width: 3.5rem; color: var(--color-muted); font-family: var(--font-outlier); }
.ctab td:nth-child(2), .ctab th:nth-child(2) { text-align: left; }
.ctab td { font-family: var(--font-outlier); font-variant-numeric: tabular-nums; }
.ctab tbody tr { transition: background-color var(--dur-micro) var(--ease-out); }
.ctab tbody tr:hover { background: var(--color-paper-3); }
.ctab .coin a { color: var(--color-ink); text-decoration: none; display: flex; align-items: center; gap: var(--space-sm); }
.ctab .coin a:hover b { text-decoration: underline; text-decoration-color: var(--color-accent); }
.sort { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; text-align: inherit; }
.sort:hover { color: var(--color-ink); }
th[aria-sort="ascending"] .sort::after { content: " \2191"; } th[aria-sort="descending"] .sort::after { content: " \2193"; }
.ctab tr[hidden] { display: none; }
@media (max-width: 64rem) { .ctab .c-1h, .ctab .c-sup { display: none; } }
@media (max-width: 52rem) { .ctab .c-vol, .ctab .c-30 { display: none; } }
@media (max-width: 40rem) { .ctab .c-cap, .ctab .c-7d, .ctab .c-chart { display: none; } .ctab td, .ctab th { padding-inline: var(--space-xs); font-size: var(--text-xs); } .ctab .coin small { display: none; } .ctab td:nth-child(2) { white-space: normal; } .ctab th:first-child, .ctab td:first-child { display: none; } .ctab .coin img { width: 20px; height: 20px; } }

/* one coin: price head */
.ph { padding-top: var(--space-lg); display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--gap-columns); align-items: start; }
.ph-name { display: flex; align-items: center; gap: var(--space-sm); flex-wrap: wrap; }
.ph-name img { width: 40px; height: 40px; border-radius: 50%; filter: grayscale(1); }
.ph h1 { font-size: var(--text-section); max-width: none; }
.ph-chips { display: flex; flex-wrap: wrap; gap: var(--space-2xs); margin-top: var(--space-sm); }
.ph-price { margin-top: var(--space-lg); display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-xs) var(--space-md); }
.ph-price .big { font-family: var(--font-outlier); font-size: var(--text-3xl); letter-spacing: -0.04em; color: var(--color-ink); line-height: 1; font-variant-numeric: tabular-nums; }
.ph-price .ch { font-family: var(--font-outlier); font-size: var(--text-lg); }
.ph-price .rub { font-family: var(--font-outlier); color: var(--color-muted); }
.ph-upd { margin-top: var(--space-xs); font-size: var(--text-xs); color: var(--color-muted); }
.ph .lead { margin-top: var(--space-md); color: var(--color-ink-2); max-width: 52ch; }
@media (max-width: 52rem) { .ph { grid-template-columns: minmax(0, 1fr); align-items: start; } }

/* key stats: label left, figure right, hairline rows */
.stats { padding: var(--space-2xs) var(--space-lg); }
.stats div { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-md); padding: var(--space-sm) 0; border-bottom: var(--rule-hair) solid var(--color-rule); }
.stats div:last-child { border-bottom: 0; }
.stats dt { color: var(--color-muted); font-size: var(--text-sm); }
.stats dd { margin: 0; font-family: var(--font-outlier); text-align: right; color: var(--color-ink); font-variant-numeric: tabular-nums; }
.stats--text dd { font-family: var(--font-body); color: var(--color-ink-2); max-width: 60%; }
.stats dd small { display: block; color: var(--color-muted); font-size: var(--text-xs); }

/* chart */
.chart-panel { margin-top: var(--space-xl); }
.rng { display: flex; gap: var(--space-2xs); flex-wrap: wrap; }
.rng button { font: inherit; font-family: var(--font-outlier); font-size: var(--text-xs); color: var(--color-ink-2); background: transparent; border: var(--rule-hair) solid var(--ctl); border-radius: var(--radius-pill); padding: var(--space-2xs) var(--space-sm); min-height: 32px; cursor: pointer; }
.rng button[aria-pressed="true"] { background: var(--color-paper-3); color: var(--color-ink); border-color: var(--color-muted); }
.chart { position: relative; padding: var(--space-md) var(--space-lg) var(--space-sm); }
.chart svg { width: 100%; height: auto; overflow: visible; }
.chart .ln { fill: none; stroke-width: 1.75; vector-effect: non-scaling-stroke; }
.chart .ln.up { stroke: var(--color-ok); } .chart .ln.dn { stroke: var(--color-bad); }
.chart .ar.up { fill: var(--color-ok); opacity: 0.08; } .chart .ar.dn { fill: var(--color-bad); opacity: 0.08; }
.chart .gr { stroke: var(--color-rule); stroke-width: 1; vector-effect: non-scaling-stroke; }
.chart .lb { fill: var(--color-muted); font-family: var(--font-outlier); font-size: 12px; }
.chart .cur { stroke: var(--color-muted); stroke-width: 1; vector-effect: non-scaling-stroke; }
.chart .dot { fill: var(--color-ink); }
.tip { position: absolute; top: var(--space-sm); pointer-events: none; background: var(--color-paper-3); border: var(--rule-hair) solid var(--color-rule-2); border-radius: var(--radius-pill); padding: var(--space-2xs) var(--space-xs); font-family: var(--font-outlier); font-size: var(--text-xs); color: var(--color-ink); white-space: nowrap; }
.tip small { color: var(--color-muted); display: block; }
.chart-foot { display: flex; justify-content: space-between; flex-wrap: wrap; gap: var(--space-xs); padding: var(--space-sm) var(--space-lg); border-top: var(--rule-hair) solid var(--color-rule); font-size: var(--text-xs); color: var(--color-muted); }

/* changes row */
.chg { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-top: var(--rule-hair) solid var(--color-rule); }
.chg > div { padding: var(--space-sm) var(--space-lg); border-right: var(--rule-hair) solid var(--color-rule); min-width: 0; }
.chg > div:last-child { border-right: 0; }
.chg small { display: block; font-size: var(--text-xs); color: var(--color-muted); }
.chg span { font-family: var(--font-outlier); }
@media (max-width: 40rem) { .chg { grid-template-columns: repeat(3, minmax(0, 1fr)); } .chg > div:nth-child(3) { border-right: 0; } .chg > div:nth-child(n+4) { border-top: var(--rule-hair) solid var(--color-rule); } }

/* analytics: each metric is a figure plus one sentence */
.an { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--rule-hair); background: var(--color-rule); border: var(--rule-hair) solid var(--color-rule); border-radius: var(--radius-card); overflow: hidden; }
.an > div { background: var(--color-paper-2); padding: var(--space-lg); display: flex; flex-direction: column; gap: var(--space-xs); min-width: 0; }
.an h3 { font-family: var(--font-body); font-size: var(--text-sm); letter-spacing: 0; color: var(--color-muted); font-weight: 400; }
.an .reading { font-size: var(--text-2xl); color: var(--color-ink); }
.an .lvl { font-size: var(--text-sm); color: var(--color-ink); font-weight: 500; }
.an p { color: var(--color-ink-2); font-size: var(--text-sm); }
.an .meter { height: 4px; background: var(--color-rule); border-radius: 2px; overflow: hidden; margin-top: var(--space-2xs); }
.an .meter i { display: block; height: 100%; background: var(--color-accent); }
@media (max-width: 64rem) { .an { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 40rem) { .an { grid-template-columns: minmax(0, 1fr); } }

/* about + aside */
.ab { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-2xl); align-items: start; }
.ab .prose h3 { margin-top: var(--space-lg); }
.ab aside { display: grid; gap: var(--space-lg); }
@media (max-width: 52rem) { .ab { grid-template-columns: minmax(0, 1fr); gap: var(--space-xl); } }
.links { display: flex; flex-wrap: wrap; gap: var(--space-xs); padding: var(--space-md) var(--space-lg); }
.links a { font-size: var(--text-sm); }

/* contracts */
.ct td { white-space: normal; text-align: left; vertical-align: top; font-family: var(--font-body); }
@media (max-width: 40rem) { .ct thead { display: none; } .ct tr { display: grid; gap: var(--space-2xs); padding: var(--space-sm) var(--space-md); border-bottom: var(--rule-hair) solid var(--color-rule); } .ct td { display: block; padding: 0; border: 0; } .ct td:last-child { text-align: left; } .ct td:last-child .copy { margin-left: var(--space-sm); } }
.ct td:last-child { text-align: right; white-space: nowrap; }
.ct code { font-family: var(--font-outlier); font-size: var(--text-xs); color: var(--color-cool); overflow-wrap: anywhere; word-break: break-all; }
.copy { font: inherit; font-size: var(--text-xs); color: var(--color-ink-2); background: transparent; border: var(--rule-hair) solid var(--ctl); border-radius: var(--radius-pill); padding: var(--space-3xs) var(--space-xs); cursor: pointer; margin-left: var(--space-xs); }
.copy:hover { color: var(--color-ink); }
.warn { padding: var(--space-md) var(--space-lg); border-top: var(--rule-hair) solid var(--color-rule); font-size: var(--text-sm); color: var(--color-ink-2); }
.more-nets summary { cursor: pointer; padding: var(--space-sm) var(--space-lg); font-size: var(--text-sm); color: var(--color-ink-2); border-top: var(--rule-hair) solid var(--color-rule); }

/* converter */
.cv { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-sm); padding: var(--space-md) var(--space-lg) var(--space-lg); }
.cv label { display: grid; gap: var(--space-2xs); font-size: var(--text-xs); color: var(--color-muted); }
.cv input { font-family: var(--font-outlier); font-size: var(--text-lg); color: var(--color-ink); background: var(--color-paper); border: var(--rule-hair) solid var(--ctl); border-radius: var(--radius-pill); padding: var(--space-xs) var(--space-sm); min-height: 48px; width: 100%; }
.cv .rub-out { grid-column: 1 / -1; font-size: var(--text-sm); color: var(--color-muted); }
.cv .rub-out .m { color: var(--color-ink); }

/* neighbours */
.nb { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--rule-hair); background: var(--color-rule); border: var(--rule-hair) solid var(--color-rule); border-radius: var(--radius-card); overflow: hidden; }
.nb > a { background: var(--color-paper-2); padding: var(--space-md) var(--space-lg); text-decoration: none; display: grid; gap: var(--space-3xs); min-width: 0; transition: background-color var(--dur-short) var(--ease-out); }
.nb > a:hover { background: var(--color-paper-3); }
.nb > a:hover b { text-decoration: underline; text-decoration-color: var(--color-accent); }
.nb small { color: var(--color-muted); font-size: var(--text-xs); }
.nb .m { font-size: var(--text-sm); }
@media (max-width: 52rem) { .nb { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.disc { margin-top: var(--space-xl); font-size: var(--text-xs); color: var(--color-muted); max-width: 80ch; }
.sec-tight { padding-top: var(--space-2xl); }

.lists { display: flex; flex-wrap: wrap; gap: var(--space-xs); }
a.chip { text-decoration: none; transition: border-color var(--dur-micro) var(--ease-out), background-color var(--dur-micro) var(--ease-out); }
a.chip:hover { border-color: var(--color-muted); background: var(--color-paper-3); }
.safe { list-style: none; margin: 0; padding: var(--space-xs) var(--space-lg); }
.safe li { padding: var(--space-sm) 0; border-bottom: var(--rule-hair) solid var(--color-rule); color: var(--color-ink-2); line-height: 1.5; }
.safe li:last-child { border-bottom: 0; }
.cmp-pick { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-md); margin-top: var(--space-lg); }
.cmp-pick label { display: grid; gap: var(--space-2xs); font-size: var(--text-xs); color: var(--color-muted); }
.cmp-pick select { font: inherit; font-size: var(--text-md); color: var(--color-ink); background: var(--color-paper); border: var(--rule-hair) solid var(--ctl); border-radius: var(--radius-pill); padding: var(--space-xs) var(--space-sm); min-height: 44px; width: 100%; }
.cmp-legend { display: flex; flex-wrap: wrap; gap: var(--space-md); padding: var(--space-sm) var(--space-lg) var(--space-md); font-size: var(--text-sm); }
.cmp-legend span { display: inline-flex; align-items: center; gap: var(--space-xs); }
.cmp-legend i { width: 14px; height: 3px; display: inline-block; background: var(--color-ink); }
.cmp-legend .c0 i { background: var(--color-accent); } .cmp-legend .c1 i { background: var(--color-cool); } .cmp-legend .c2 i { background: var(--color-ok); }
.chart .ln.c0 { stroke: var(--color-accent); } .chart .ln.c1 { stroke: var(--color-cool); } .chart .ln.c2 { stroke: var(--color-ok); }
.cmp-tbl th, .cmp-tbl td { text-align: right; } .cmp-tbl th:first-child, .cmp-tbl td:first-child { text-align: left; color: var(--color-ink-2); }
.cmp-tbl thead th { vertical-align: bottom; }
.cmp-tbl .coin { justify-content: flex-end; }
.gl { display: grid; gap: var(--space-xs); margin: 0; }
.gl dt { color: var(--color-ink); font-weight: 500; margin-top: var(--space-sm); }
.gl dd { margin: 0; color: var(--color-ink-2); max-width: 70ch; line-height: 1.5; }
@media (max-width: 40rem) { .cmp-pick { grid-template-columns: 1fr; } .ct td[data-label]::before { content: attr(data-label); display: block; font-size: var(--text-xs); color: var(--color-muted); } .cmp-tbl th, .cmp-tbl td { padding-inline: var(--space-xs); } }

@media (max-width: 40rem) { .ctab.cmp-tbl th:first-child, .ctab.cmp-tbl td:first-child { display: table-cell; } }
.ctab.cmp-tbl th:first-child, .ctab.cmp-tbl td:first-child { width: auto; font-family: var(--font-body); }
