/* app.css */
/* Shared colours intentionally stay light to match the selected blue-white design. */
:root {
  --ink: #080f27;
  --muted: #5d6d89;
  --line: #e4ebf4;
  --ground: #ffffff;
  --raised: #f5f8fc;
  --accent: #005bd8;
  --pos: #9a3412;
  --neg: #00815c;
  --warn: #8a5a00;
  --shadow: 0 1px 2px rgba(16, 24, 40, .04);
  color-scheme: light;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--ground);
  color: var(--ink);
  font: 16px/1.6 system-ui, -apple-system, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  -webkit-text-size-adjust: 100%;
}
.wrap { max-width: 62rem; margin: 0 auto; padding: 0 1.25rem; }
.skip { position: absolute; left: -9999px; }
.skip:focus { left: 1rem; top: .5rem; background: var(--ground); padding: .5rem 1rem; z-index: 10; }

header.site { border-bottom: 1px solid var(--line); background: var(--raised); }
header.site nav { display: flex; align-items: center; gap: 1.25rem; padding-top: .85rem; padding-bottom: .85rem; flex-wrap: wrap; }
.brand { font-weight: 700; letter-spacing: .08em; text-decoration: none; color: var(--ink); }
header.site ul { display: flex; gap: 1rem; list-style: none; margin: 0; padding: 0; flex: 1; flex-wrap: wrap; }
header.site a { color: var(--muted); text-decoration: none; }
header.site a:hover, header.site a:focus { color: var(--accent); text-decoration: none; }
.lang { font-size: .875rem; border: 1px solid var(--line); border-radius: 999px; padding: .15rem .7rem; }

main { padding: 2rem 1.25rem 3rem; }
h1 { font-size: 1.75rem; line-height: 1.25; margin: .5rem 0 1rem; }
h2 { font-size: 1.2rem; margin: 2.25rem 0 .75rem; }
p { margin: 0 0 1rem; }
a { color: var(--accent); }
.lede { font-size: 1.05rem; color: var(--muted); max-width: 46rem; }
.stat { color: var(--muted); font-size: .9rem; }
.more { font-weight: 600; text-decoration: none; }
.more:hover { text-decoration: none; }

.crumbs { font-size: .85rem; color: var(--muted); margin-bottom: 1rem; display: flex; gap: .4rem; flex-wrap: wrap; }
.crumbs a { color: var(--muted); }

.verdict {
  border-left: 3px solid var(--accent);
  background: var(--raised);
  padding: .9rem 1.1rem;
  border-radius: 0 6px 6px 0;
}
.error { color: var(--pos); border-left: 3px solid var(--pos); background: var(--raised); padding: .75rem 1rem; }

/* Wide tables scroll inside their own container; the page body never does. */
.scroll { overflow-x: auto; margin: 0 0 1.25rem; border: 1px solid var(--line); border-radius: 8px; box-shadow: var(--shadow); }
table { border-collapse: collapse; width: 100%; font-size: .9rem; }
thead th { text-align: left; background: var(--raised); font-weight: 600; color: var(--muted); white-space: nowrap; }
th, td { padding: .6rem .75rem; border-bottom: 1px solid var(--line); }
tbody tr:last-child th, tbody tr:last-child td { border-bottom: 0; }
tbody th { font-weight: 600; white-space: nowrap; }
.num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .8rem; word-break: break-all; }
.pos { color: var(--pos); }
.neg { color: var(--neg); }
.spread { font-weight: 600; }
.total { font-weight: 700; }
.unknown { color: var(--muted); font-style: italic; }
time { color: var(--muted); font-size: .85em; white-space: nowrap; }

.go {
  font-size: .75rem; font-weight: 600; text-decoration: none;
  border: 1px solid var(--accent); color: var(--accent);
  border-radius: 999px; padding: .05rem .55rem; margin-left: .4rem;
}
.go:hover { background: var(--accent); color: var(--ground); }

.inputs { display: flex; flex-wrap: wrap; gap: 1rem; align-items: end; background: var(--raised); border: 1px solid var(--line); border-radius: 8px; padding: 1.1rem; margin-bottom: 1.5rem; }
.inputs label { display: flex; flex-direction: column; gap: .3rem; font-size: .8rem; color: var(--muted); font-weight: 600; }
.inputs input, .inputs select {
  font: inherit; font-size: .95rem; color: var(--ink); background: var(--ground);
  border: 1px solid var(--line); border-radius: 6px; padding: .45rem .6rem; min-width: 9rem;
}
.inputs button {
  font: inherit; font-weight: 600; cursor: pointer; color: var(--ground); background: var(--accent);
  border: 1px solid var(--accent); border-radius: 6px; padding: .5rem 1.4rem;
}
.missing { color: var(--muted); font-size: .9rem; }

footer.site { border-top: 1px solid var(--line); background: var(--raised); padding: 1.5rem 0; margin-top: 3rem; font-size: .82rem; color: var(--muted); }
footer.site p { margin: 0 0 .6rem; max-width: 48rem; }
footer.site a { color: var(--muted); }
footer.site .meta { display: flex; gap: .4rem; flex-wrap: wrap; }

.native { font-size: .78rem; font-weight: 400; color: var(--muted); margin-left: .5rem; }
.coins { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; padding: 0; }
.coins li a {
  display: inline-block; border: 1px solid var(--line); border-radius: 6px;
  padding: .25rem .7rem; text-decoration: none; font-size: .9rem; background: var(--raised);
}
.coins li a:hover { border-color: var(--accent); }
.more-rows { margin: 0 0 1.5rem; }
.more-rows summary { cursor: pointer; color: var(--muted); font-size: .9rem; padding: .4rem 0; }
.note { color: var(--muted); font-size: .9rem; }

.note.warn { border-left: 3px solid var(--warn); background: var(--raised); padding: .75rem 1rem; border-radius: 0 6px 6px 0; }

/* The answer block: what the page exists to say, before any table. */
.answer {
  border: 1px solid var(--line); border-left: 4px solid var(--accent);
  border-radius: 0 8px 8px 0; background: var(--raised);
  padding: 1.1rem 1.3rem; margin: 0 0 1.5rem;
}
.answer-label { font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); margin: 0 0 .4rem; }
.answer-route { font-size: 1.35rem; margin: 0 0 .2rem; }
.answer-route .via { font-size: .95rem; color: var(--muted); font-weight: 400; }
.answer-fee { font-size: 1.9rem; font-weight: 700; font-variant-numeric: tabular-nums; margin: 0 0 .8rem; }
.answer-fee .pct { font-size: 1rem; font-weight: 400; color: var(--muted); }
.answer-act { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; margin: 0; }
.go.primary {
  font-size: .9rem; padding: .35rem 1.1rem; background: var(--accent);
  color: var(--ground); border-color: var(--accent);
}
.go.primary:hover { opacity: .9; }

.amount {
  display: flex; align-items: center; gap: .6rem; flex-wrap: wrap;
  background: var(--raised); border: 1px solid var(--line); border-radius: 8px;
  padding: .8rem 1rem; margin: 0 0 1.5rem; font-size: .9rem;
}
.amount label { color: var(--muted); font-weight: 600; }
.amount input {
  font: inherit; font-size: 1rem; color: var(--ink); background: var(--ground);
  border: 1px solid var(--line); border-radius: 6px; padding: .35rem .6rem; width: 9rem;
}
.amount .unit { color: var(--muted); font-weight: 600; }
.amount button {
  font: inherit; font-weight: 600; cursor: pointer; color: var(--ground);
  background: var(--accent); border: 1px solid var(--accent);
  border-radius: 6px; padding: .38rem 1rem;
}
.amount .clear { color: var(--muted); font-size: .85rem; }

/* Coin search. 815 coins is not a list anyone scrolls, so the page starts with
   a question instead. */
.finder { margin: 0 0 1.5rem; width: 100%; max-width: 34rem; position: relative; }
.finder label { display: block; font-weight: 600; margin-bottom: .5rem; }
.finder-row { display: flex; gap: .5rem; width: 100%; }
.finder input {
  flex: 1 1 auto; min-width: 0; font: inherit; font-size: 1.05rem; color: var(--ink); background: var(--ground);
  border: 1px solid var(--line); border-radius: 8px; padding: .6rem .8rem;
}
.finder input:focus { outline: 2px solid var(--accent); outline-offset: -1px; border-color: transparent; }
.finder button {
  flex: 0 0 auto; white-space: nowrap; font: inherit; font-weight: 600; cursor: pointer; color: var(--ground);
  background: var(--accent); border: 1px solid var(--accent);
  border-radius: 8px; padding: .6rem 1.4rem;
}
.finder .results {
  position: absolute; z-index: 5; left: 0; right: 0; top: 100%; margin-top: .3rem;
  background: var(--ground); border: 1px solid var(--line); border-radius: 8px;
  box-shadow: 0 6px 24px rgba(16, 24, 40, .12); max-height: 20rem; overflow-y: auto;
}
.finder .results a {
  display: block; padding: .5rem .8rem; text-decoration: none; color: var(--ink);
  border-bottom: 1px solid var(--line); font-weight: 600;
}
.finder .results a:last-child { border-bottom: 0; }
.finder .results a:hover, .finder .results a:focus { background: var(--raised); color: var(--accent); }
.finder .no-match { padding: .6rem .8rem; margin: 0; color: var(--muted); font-size: .9rem; }

.best { color: var(--neg); font-weight: 600; font-size: .9em; }
.via { color: var(--muted); font-size: .9em; font-weight: 400; }

/* Fee bars. Drawn as SVG rather than styled boxes because the policy this site
   sends blocks inline styles, and because an SVG scales on a narrow screen
   without a media query. Colours come from the same tokens as the rest of the
   page, so the chart follows the light and dark palettes. */
.chart { margin: 0 0 1.5rem; }
.chart .bars { width: 100%; height: auto; overflow: visible; }
.chart .bar-name { font-size: 13px; font-weight: 600; fill: var(--ink); }
.chart .bar-value { font-size: 13px; font-weight: 700; fill: var(--ink); font-variant-numeric: tabular-nums; }
.chart .bar-note { font-weight: 600; fill: var(--muted); }
.chart .bar-track { fill: var(--line); }
.chart .bar { fill: var(--accent); }
.chart .bar-low { fill: var(--neg); }
.chart .bar-high { fill: var(--pos); }
.chart figcaption { font-size: .82rem; color: var(--muted); margin-top: .4rem; }

/* Language menu. A two-way toggle was fine for two; six needs a list. */
.langs { position: relative; font-size: .875rem; }
.langs summary {
  cursor: pointer; list-style: none; border: 1px solid var(--line);
  border-radius: 999px; padding: .15rem .7rem; color: var(--muted);
}
.langs summary::-webkit-details-marker { display: none; }
.langs summary:hover { color: var(--accent); border-color: var(--accent); }
.lang-menu {
  position: absolute; right: 0; top: 100%; margin-top: .3rem; z-index: 6;
  background: var(--ground); border: 1px solid var(--line); border-radius: 8px;
  box-shadow: 0 6px 24px rgba(16, 24, 40, .12); min-width: 9rem; overflow: hidden;
}
.lang-menu a { display: block; padding: .45rem .8rem; text-decoration: none; color: var(--ink); }
.lang-menu a:hover { background: var(--raised); color: var(--accent); }
.lang-menu a[aria-current] { font-weight: 700; color: var(--accent); }

/* Design 1: a quiet blue masthead, centered search, and a compact fee comparison. */
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
header.site { background: #f8fbff; border-bottom-color: #e7eff9; }
header.site nav { max-width: 1266px; min-height: 62px; padding: 0 20px; gap: 0; flex-wrap: nowrap; position: relative; }
header.site .brand { display: inline-flex; align-items: center; flex-shrink: 0; gap: 14px; letter-spacing: 0; white-space: nowrap; }
header.site .brand-name { color: var(--accent); font-size: 28px; font-weight: 750; line-height: 1; letter-spacing: .3px; }
header.site .brand-description { border-left: 1px solid #c6d3e5; padding-left: 14px; color: #425371; font-size: 16px; font-weight: 500; line-height: 18px; }
header.site ul { justify-content: center; gap: 44px; padding: 0 28px 0 0; position: absolute; left: 50%; transform: translateX(-50%); }
header.site ul a { color: #344664; font-size: 16px; font-weight: 500; white-space: nowrap; }
header.site .langs { margin-left: auto; flex-shrink: 0; }
header.site .langs summary { display: flex; align-items: center; gap: 10px; padding: 7px 10px; border: 0; color: #344664; font-size: 16px; }
.langs summary img { width: 20px; height: 20px; }
.langs summary img:last-child { width: 14px; height: 14px; }
.page-home { background: #fff; position: relative; isolation: isolate; }
.page-home::before { content: ""; position: absolute; z-index: -1; inset: 62px 0 auto; height: 650px; background: url('/static/brand/home-waves.png') center top / 100% auto no-repeat; opacity: .58; pointer-events: none; }
.page-home main.wrap { max-width: 1266px; padding: 0 20px; }
.home-hero { text-align: center; padding-top: 27px; }
.hero-eyebrow { margin: 0 0 8px; color: #0054cb; font-size: 17px; font-weight: 650; letter-spacing: .5px; line-height: 26px; }
.home-hero .hero-title { margin: 0; font-size: 60px; font-weight: 850; line-height: 1.16; letter-spacing: -.8px; }
.hero-title-line, .hero-title-accent { display: block; }
.hero-title-accent { color: #005bd8; }
.hero-description { color: #52627e; font-size: 20px; line-height: 30px; margin: 13px 0 14px; font-weight: 500; }
.home-finder { width: 892px; max-width: 100%; margin: 0 auto; text-align: left; }
.home-finder .finder-row { gap: 0; min-height: 70px; border: 1px solid #8dbbff; border-radius: 10px; background: rgba(255,255,255,.92); align-items: center; }
.home-finder .search-icon { width: 26px; height: 26px; margin: 0 26px 0 23px; flex-shrink: 0; }
.home-finder input { background: transparent; font-size: 20px; padding: 20px 12px 20px 0; height: 68px; border: 0; border-radius: 0; }
.home-finder input::placeholder { color: #8293af; opacity: 1; }
.home-finder input:focus { outline: none; }
.home-finder .finder-row:focus-within { outline: 2px solid #005bd8; outline-offset: 3px; }
.home-finder button { align-self: stretch; display: inline-flex; align-items: center; justify-content: center; gap: 17px; width: 196px; margin: -1px; border-radius: 9px; font-size: 20px; font-weight: 600; padding: 15px 22px; }
.home-finder button:hover { background: #004fbd; }
.home-finder .button-arrow { width: 24px; height: 24px; filter: brightness(0) invert(1); }
.home-popular { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 25px; margin: 18px 0 10px; color: #5d6d89; font-size: 16px; line-height: 26px; }
.home-popular a { text-underline-offset: 2px; }
.home-popular > span { margin-right: -7px; }
.home-coverage { color: #60708c; font-size: 16px; line-height: 25px; margin: 0; letter-spacing: .2px; }
.home-comparison { margin-top: 28px; }
.home-comparison .section-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 10px; }
.home-comparison h2 { font-size: 30px; line-height: 41px; font-weight: 750; margin: 0; letter-spacing: -.3px; }
.home-comparison .more { display: inline-flex; align-items: center; gap: 9px; font-size: 16px; font-weight: 550; white-space: nowrap; }
.home-comparison .more img { width: 20px; height: 20px; }
.home-table-wrap { width: 100%; overflow-x: auto; }
.home-table { table-layout: fixed; color: #344766; font-size: 17px; }
.home-table th, .home-table td { padding: 9px 28px; text-align: left; vertical-align: middle; }
.home-table thead th { height: 44px; padding-top: 8px; padding-bottom: 8px; background: #f5f8fc; font-size: 16px; font-weight: 550; color: #435574; }
.home-table th:nth-child(1) { width: 20.5%; }
.home-table th:nth-child(2) { width: 23.2%; }
.home-table th:nth-child(3) { width: 22.7%; }
.home-table th:nth-child(4) { width: 22.7%; }
.home-table th:nth-child(5) { width: 10.9%; }
.home-table tbody tr { height: 65px; }
.home-table tbody tr:last-child { height: 72px; }
.home-table tbody tr:last-child th, .home-table tbody tr:last-child td { border-bottom: 1px solid var(--line); }
.home-table .coin-link { display: flex; align-items: center; gap: 18px; color: var(--ink); font-size: 18px; font-weight: 650; text-decoration: none; white-space: nowrap; }
.home-table .coin-icon { width: 40px; height: 40px; object-fit: contain; flex-shrink: 0; }
.home-table .network-link { color: #344766; text-decoration: none; }
.home-table .coin-link:hover, .home-table .network-link:hover { color: var(--accent); text-decoration: none; }
.home-table .fee-value { display: block; font-weight: 500; line-height: 24px; white-space: nowrap; font-variant-numeric: tabular-nums; }
.home-table .fee-venue { display: block; color: #7383a0; font-size: 14px; line-height: 20px; font-weight: 400; }
.home-table td:nth-child(3) .fee-value { color: #00815c; }
.home-table .spread { font-size: 19px; color: #005bd8; font-weight: 650; white-space: nowrap; }
.page-home footer.home-footer { max-width: 1226px; margin: 35px auto 0; padding: 19px 0 15px; border-top: 1px solid #dbe5f3; background: transparent; color: #7b8aa4; font-size: 13px; }
.home-footer > .wrap { max-width: none; padding: 0; display: flex; align-items: center; flex-wrap: wrap; gap: 12px 20px; }
.home-footer .footer-summary { flex: 1; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.home-footer .footer-principle { margin: 0; max-width: none; }
.home-footer .footer-summary > div { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; }
.home-footer .footer-summary > div a { color: var(--accent); text-decoration: none; display: inline-flex; align-items: center; gap: 8px; }
.home-footer .footer-summary > div img { width: 16px; height: 16px; }
.home-footer .footer-disclosure { margin-top: 0; }
.home-footer .footer-disclosure summary { cursor: pointer; font-size: 12px; color: #7b8aa4; }
.home-footer .footer-disclosure[open] { flex-basis: 100%; padding-bottom: 8px; }
.home-footer .footer-disclosure[open] summary { margin-bottom: 12px; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
@media (max-width: 1000px) {
  header.site .brand-description { display: none; }
  header.site ul { gap: 25px; padding: 0 20px; position: static; transform: none; }
  .page-home footer.home-footer { margin-left: 20px; margin-right: 20px; }
  .home-table th, .home-table td { padding-left: 17px; padding-right: 17px; }
  .home-table { min-width: 820px; }
  .home-footer .footer-summary { align-items: flex-start; flex-direction: column; gap: 8px; }
  .home-footer > .wrap { align-items: flex-start; }
}
@media (max-width: 600px) {
  header.site nav { min-height: 94px; padding: 13px 20px 10px; flex-wrap: wrap; justify-content: space-between; row-gap: 15px; }
  header.site .brand-name { font-size: 25px; }
  header.site .langs { order: 1; }
  header.site .langs summary { font-size: 14px; padding: 0; }
  header.site ul { order: 2; flex-basis: 100%; padding: 0; justify-content: space-between; gap: 12px; }
  header.site ul a { font-size: 14px; }
  .page-home::before { top: 94px; height: 360px; background-size: auto 360px; }
  .home-hero { padding-top: 30px; }
  .hero-eyebrow { font-size: 14px; margin-bottom: 11px; }
  .home-hero .hero-title { font-size: clamp(31px, 8.6vw, 48px); line-height: 1.2; letter-spacing: -.9px; }
  .hero-description { font-size: 14px; line-height: 24px; margin: 16px auto 22px; max-width: 320px; }
  .home-finder .finder-row { min-height: 56px; }
  .home-finder .search-icon { width: 20px; height: 20px; margin: 0 10px 0 13px; }
  .home-finder input { height: 54px; font-size: 14px; padding: 12px 8px 12px 0; }
  .home-finder button { font-size: 14px; width: 101px; gap: 5px; padding: 10px 8px; }
  .home-finder .button-arrow { width: 17px; height: 17px; }
  .home-popular { gap: 16px; font-size: 13px; margin-top: 16px; }
  .home-coverage { font-size: 13px; }
  .home-comparison { margin-top: 29px; }
  .home-comparison h2 { font-size: 22px; line-height: 30px; }
  .home-comparison .section-heading { align-items: center; gap: 8px; margin-bottom: 14px; }
  .home-comparison .more { font-size: 12px; gap: 3px; }
  .home-comparison .more img { width: 16px; height: 16px; }
  .home-table { min-width: 700px; font-size: 15px; }
  .home-table th, .home-table td { padding-left: 14px; padding-right: 14px; }
  .home-table .coin-link { font-size: 16px; gap: 10px; }
  .home-table .coin-icon { width: 32px; height: 32px; }
  .home-table .spread { font-size: 17px; }
  .page-home footer.home-footer { margin-top: 27px; font-size: 12px; }
  .home-footer .footer-summary > div { gap: 8px; }
}
/* Translations expand differently; keep the Chinese reference layout intact. */
html:not([lang="zh-Hans"]) header.site .brand-description { display: none; }
html:not([lang="zh-Hans"]) .home-hero .hero-title {
  font-size: clamp(34px, 4.15vw, 60px);
  overflow-wrap: anywhere;
}
html:not([lang="zh-Hans"]) .home-finder button {
  width: auto;
  min-width: 196px;
  max-width: 45%;
  white-space: normal;
  line-height: 1.25;
}
html:not([lang="zh-Hans"]) .home-finder .button-arrow { flex-shrink: 0; }
@media (max-width: 1100px) {
  html:not([lang="zh-Hans"]) header.site nav {
    padding-top: 13px;
    padding-bottom: 12px;
    flex-wrap: wrap;
    justify-content: space-between;
    row-gap: 15px;
  }
  html:not([lang="zh-Hans"]) header.site .langs { order: 1; }
  html:not([lang="zh-Hans"]) header.site ul {
    position: static;
    transform: none;
    order: 2;
    flex-basis: 100%;
    padding: 0;
    justify-content: center;
    gap: 10px 26px;
  }
}
@media (max-width: 600px) {
  html:not([lang="zh-Hans"]) .home-hero .hero-title { font-size: 34px; line-height: 1.16; letter-spacing: -.6px; }
  html:not([lang="zh-Hans"]) .home-finder .finder-row { flex-wrap: wrap; }
  html:not([lang="zh-Hans"]) .home-finder input { flex-basis: calc(100% - 47px); width: 0; }
  html:not([lang="zh-Hans"]) .home-finder button {
    width: calc(100% + 2px);
    min-width: 0;
    max-width: none;
    flex-basis: calc(100% + 2px);
    min-height: 49px;
    padding: 12px 16px;
    margin-top: 0;
    border-radius: 0 0 9px 9px;
    font-size: 15px;
  }
  html:not([lang="zh-Hans"]) .home-comparison .section-heading { align-items: flex-start; flex-direction: column; }
  html:not([lang="zh-Hans"]) .home-comparison h2 { font-size: 23px; }
  html:not([lang="zh-Hans"]) .home-comparison .more { align-self: flex-end; }
  html:not([lang="zh-Hans"]) .home-popular { gap: 8px 14px; }
}
@font-face {
  font-family: 'EXCXF Heading';
  src: url('/static/fonts/noto-sans-sc-heading.ttf') format('truetype');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
html[lang="zh-Hans"] .home-hero .hero-title {
  font-family: 'EXCXF Heading', system-ui, -apple-system, 'PingFang SC', sans-serif;
  font-weight: 900;
}
.home-table .coin-icon { border-radius: 50%; }

/* The homepage masthead shares one continuous hero background. */
.page-home header.site { background:transparent; border-bottom:0; }
.page-home::before { top:0; }
html .page-home header.site nav { min-height:72px; flex-wrap:nowrap; padding:12px 20px; }
@media(max-width:600px) {
 html .page-home header.site nav { min-height:64px; padding:12px 20px; }
 .page-home::before { top:0; height:424px; background-size:auto 424px; }
}

/* interior.css */
/* Readable data-first interiors, extending the FeeLens blue and white identity. */
body:not(.page-home) { background:#f7f9fc; }
body:not(.page-home) main.wrap { max-width:1266px; padding:32px 20px 64px; min-height:60vh; }
body:not(.page-home) main .crumbs { gap:10px; margin:0 0 36px; font-size:14px; color:#63738a; }
body:not(.page-home) main a { text-decoration:none; }
body:not(.page-home) main a:hover { text-decoration:none; color:#004dbd; }
.interior-heading { margin:0 0 36px; max-width:1000px; }
.interior-kicker { color:var(--accent); font-size:14px; font-weight:650; margin:0 0 12px; }
body:not(.page-home) main h1 { font-size:42px; line-height:1.3; letter-spacing:-1px; margin:0 0 18px; font-weight:750; overflow-wrap:anywhere; }
body:not(.page-home) main .lede { max-width:820px; font-size:18px; line-height:1.85; margin:0; color:#52617a; }
body:not(.page-home) main h2 { font-size:26px; line-height:1.4; margin:44px 0 18px; font-weight:700; letter-spacing:-.3px; }
body:not(.page-home) main p { line-height:1.85; }
body:not(.page-home) main .scroll { background:#fff; border:1px solid #dde5ef; border-radius:14px; box-shadow:0 3px 12px #12254103; margin-bottom:24px; }
body:not(.page-home) main .scroll:focus-visible { outline:3px solid #6aa9ff; outline-offset:3px; }
body:not(.page-home) main table { font-size:16px; line-height:1.6; color:#33435c; }
body:not(.page-home) main th, body:not(.page-home) main td { padding:21px 24px; vertical-align:middle; border-color:#edf0f5; }
body:not(.page-home) main thead th { padding-top:17px; padding-bottom:17px; font-size:14px; line-height:1.5; color:#596a83; font-weight:550; background:#f0f4f9; }
body:not(.page-home) main tbody th { text-align:left; color:#122039; font-weight:650; }
body:not(.page-home) main tbody th a:not(.go) { color:inherit; }
body:not(.page-home) main tbody th a:not(.go):hover { color:var(--accent); }
body:not(.page-home) main tbody tr:hover { background:#f5f9ff; }
body:not(.page-home) main .num { font-size:16px; }
body:not(.page-home) main td.num { font-weight:550; }
body:not(.page-home) main .mono { font-size:14px; line-height:1.7; }
body:not(.page-home) main time { font-size:13px; color:#63748a; }
body:not(.page-home) main .spread { color:var(--accent); font-weight:650; }
body:not(.page-home) main .stat { display:block; margin:0 0 24px; padding:18px 22px; border:1px solid #dce7f6; border-radius:12px; background:#edf4ff; color:#3f5b7d; font-size:16px; }
body:not(.page-home) main .stat strong { color:var(--accent); font-weight:750; }
body:not(.page-home) main .go { display:inline-flex; align-items:center; justify-content:center; margin:0 0 0 10px; padding:5px 11px; font-size:13px; white-space:nowrap; border-color:#cdddf3; border-radius:6px; }
body:not(.page-home) main .go:hover { color:#fff; background:var(--accent); }
body:not(.page-home) main .go.primary { margin:0; padding:12px 22px; font-size:15px; border-radius:8px; }
body:not(.page-home) main .note { color:#586a82; line-height:1.9; font-size:15px; }
body:not(.page-home) main .note.warn { background:#fff7e6; color:#775410; padding:18px 22px; }
body:not(.page-home) main .verdict { border:1px solid #cdddF4; border-left:4px solid #0865e8; padding:28px 32px; border-radius:14px; background:#eaf3ff; color:#224972; font-size:20px; line-height:1.8; }
body:not(.page-home) main .chart { max-width:none; margin:0 0 24px; padding:26px 28px 20px; background:#fff; border:1px solid #e1e8f0; border-radius:12px; }
body:not(.page-home) main .chart figcaption { margin-top:16px; font-size:14px; color:#60718a; }
.coin-overview { margin-bottom:52px; }
.route-summary { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr); gap:24px; margin-bottom:40px; align-items:stretch; }
.route-summary > * { min-width:0; }
body:not(.page-home) main .amount { margin:0; background:#fff; border:1px solid #dce5f0; padding:28px; gap:12px; border-radius:14px; align-content:center; }
.amount label { flex-basis:100%; font-size:16px; }
body:not(.page-home) main .amount input { flex:1; min-width:70px; width:0; height:52px; border-color:#c6d5e8; font-size:19px; border-radius:8px; }
body:not(.page-home) main .amount button { min-height:48px; flex-basis:100%; border-radius:8px; font-size:16px; margin-top:4px; }
body:not(.page-home) main .answer { margin:0; padding:30px 32px; background:linear-gradient(115deg,#e8f2ff,#f1f7ff); border:1px solid #ccdef7; border-radius:14px; }
body:not(.page-home) main .answer-label { color:#486b97; font-size:15px; margin-bottom:14px; letter-spacing:0; }
body:not(.page-home) main .answer-route { font-size:22px; margin-bottom:6px; }
body:not(.page-home) main .answer-route .via { font-size:16px; }
body:not(.page-home) main .answer-fee { color:var(--accent); font-size:44px; letter-spacing:-1px; line-height:1.3; margin:12px 0 24px; overflow-wrap:anywhere; }
body:not(.page-home) main .answer-act { gap:18px; font-size:15px; }
body:not(.page-home) main .alternatives h2 { margin:0 0 12px; font-size:26px; }
body:not(.page-home) main .alternatives .note { margin-bottom:22px; max-width:900px; }
body:not(.page-home) main .alternatives .scroll { margin-bottom:0; }
body:not(.page-home) main .section-intro h2 { font-size:30px; margin:0 0 12px; }
.network-jumps { display:flex; flex-wrap:wrap; gap:10px; margin:24px 0 32px; }
.network-jumps a { display:inline-flex; align-items:center; gap:8px; font-size:15px; color:#36557b; padding:10px 15px; background:#fff; border:1px solid #dce5f0; border-radius:8px; }
.network-jumps a:hover { background:#ecf4ff; border-color:#99bff3; }
.network-section { padding:32px 0 20px; border-top:1px solid #d9e3ef; }
body:not(.page-home) main .network-section h2 { margin:0 0 24px; scroll-margin-top:24px; }
.network-section .native { display:inline-block; font-size:14px; border-radius:6px; background:#eaf0f7; padding:6px 11px; vertical-align:middle; color:#52667f; }
body:not(.page-home) main .more-rows { margin:0 0 18px; }
body:not(.page-home) main .more-rows summary { padding:16px 0; font-size:15px; }
.directory-search { padding:30px; background:#edf4fe; border:1px solid #d6e4f8; border-radius:14px; margin-bottom:28px; }
.directory-search .finder { max-width:760px; margin:0; }
.directory-search .finder label { font-size:17px; color:#29476d; margin-bottom:14px; }
.directory-search .finder input { padding:16px 20px; }
body:not(.page-home) main .coin-directory { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; margin:0; }
body:not(.page-home) main .coin-directory li { min-width:0; }
body:not(.page-home) main .coin-directory a { display:flex; align-items:center; gap:12px; border:1px solid #dfe7f1; border-radius:10px; padding:18px; background:#fff; font-size:16px; font-weight:600; overflow-wrap:anywhere; min-height:72px; }
body:not(.page-home) main .coin-directory a:hover { background:#edf5ff; border-color:#a9c8ee; }
body:not(.page-home) main .network-directory tbody th { width:55%; font-size:18px; }
body:not(.page-home) main .network-directory td:last-child { color:var(--accent); font-weight:650; font-size:19px; }
.status-ok { color:#087451; font-weight:650; }
.status-error { color:#a33a25; font-weight:650; }
.empty-state { padding:64px 32px; border:1px solid #dce6f3; border-radius:14px; background:#fff; margin:24px 0 32px; text-align:center; color:#526987; }
body:not(.page-home) main .empty-state p { margin:0; font-size:19px; }
.method-layout { display:grid; grid-template-columns:250px minmax(0,1fr); gap:44px; align-items:start; margin-top:40px; }
.method-toc { position:sticky; top:28px; display:flex; flex-direction:column; gap:6px; padding:12px; background:#eef3fa; border:1px solid #e0e8f1; border-radius:12px; }
.method-toc a { display:flex; align-items:baseline; gap:12px; padding:12px 8px; font-size:15px; color:#455d7c; border-radius:6px; }
.method-toc a:hover { background:#fff; color:var(--accent); }
.method-toc span { font-size:12px; color:#7187a2; font-variant-numeric:tabular-nums; }
.method-article { min-width:0; background:#fff; border:1px solid #e1e7f0; border-radius:14px; padding:34px 38px; }
body:not(.page-home) main .method-article h2 { border-top:1px solid var(--line); padding-top:32px; margin-top:36px; scroll-margin-top:24px; }
body:not(.page-home) main .method-article h2:first-child { border-top:0; padding-top:0; margin-top:0; }
.method-article p { color:#3f526d; font-size:17px; line-height:1.95!important; margin-bottom:20px; }
.method-article .mono { min-width:260px; }
.notfound-content { max-width:680px; margin:40px auto 60px; text-align:center; padding:32px; }
body:not(.page-home) main .error-code { font-size:88px; font-weight:800; line-height:1.2; color:#b0cff8; margin:0 0 16px; letter-spacing:-4px; }
@media(max-width:1000px) {
 .route-summary { grid-template-columns:minmax(0,1fr) minmax(300px,.8fr); }
 .method-layout { grid-template-columns:200px minmax(0,1fr); gap:24px; }
 .method-article { padding:26px; }
 body:not(.page-home) main .coin-directory { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media(max-width:700px) {
 body:not(.page-home) main.wrap { padding:24px 18px 40px; }
 body:not(.page-home) main .crumbs { margin-bottom:28px; font-size:13px; }
 body:not(.page-home) main h1 { font-size:31px; letter-spacing:-.5px; }
 body:not(.page-home) main .lede { font-size:16px; }
 .interior-heading { margin-bottom:28px; }
 body:not(.page-home) main h2 { font-size:23px; }
 body:not(.page-home) main th, body:not(.page-home) main td { padding:18px 16px; }
 body:not(.page-home) main table { font-size:16px; }
 body:not(.page-home) main .answer { padding:24px; }
 body:not(.page-home) main .answer-fee { font-size:38px; }
 body:not(.page-home) main .answer-route .via { display:block; margin-top:8px; }
 body:not(.page-home) main .chart { padding:20px 12px; overflow-x:auto; }
 body:not(.page-home) main .chart .bars { min-width:540px; }
 .route-summary { grid-template-columns:1fr; gap:16px; margin-bottom:32px; }
 body:not(.page-home) main .amount { padding:24px; }
 .network-jumps { gap:8px; }
 .network-jumps a { font-size:14px; padding:9px 12px; }
 .network-section .native { margin:10px 0 0; display:table; }
 .directory-search { padding:22px; }
 body:not(.page-home) main .coin-directory { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 body:not(.page-home) main .coin-directory a { padding:16px 12px; font-size:15px; }
 .method-layout { grid-template-columns:1fr; gap:24px; margin-top:28px; }
 .method-toc { position:static; }
 .method-toc a { padding:10px 8px; }
 .method-article { padding:24px 20px; }
 .method-article p { font-size:16px; }
 .notfound-content { margin:20px auto; padding:20px 0; }
}

/* footer.css */
/* Shared closing section, with navigation and disclosures always visible. */
footer.site.site-footer {
  max-width: none;
  margin: 72px 0 0;
  padding: 48px 0 0;
  border-top: 1px solid #dce6f4;
  background: #edf3fc;
  color: #536680;
  font-size: 14px;
}
.site-footer > .wrap { max-width: 1266px; padding: 0 20px; }
.footer-main { display: grid; grid-template-columns: 1.8fr 1fr 1fr; gap: 64px; padding-bottom: 36px; }
.site-footer .footer-brand { color: #2864db; text-decoration: none; font-size: 28px; font-weight: 750; letter-spacing: .3px; line-height: 1.2; }
.site-footer .footer-purpose { max-width: 340px; margin: 15px 0 18px; font-size: 14px; line-height: 1.85; }
.site-footer .footer-contact { color: #315c96; text-decoration: none; }
.footer-contact span { margin-left: 8px; }
.footer-links { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.site-footer .footer-links h2 { margin: 2px 0 7px; font-size: 14px; font-weight: 650; line-height: 1.5; color: #263e60; }
.site-footer .footer-links a { color: #536680; text-decoration: none; line-height: 1.6; }
.site-footer a:hover { color: #205ed3; text-decoration: none; }
.footer-notes { border-top: 1px solid #d5e0ef; padding: 23px 0 20px; display: grid; grid-template-columns: 1fr 1fr; gap: 36px; }
.site-footer .footer-notes p { max-width: none; margin: 0; font-size: 12px; line-height: 1.85; }
.footer-bottom { border-top: 1px solid #d5e0ef; padding: 17px 0 20px; display: flex; justify-content: space-between; gap: 16px; font-size: 12px; }
@media (max-width: 760px) {
  footer.site.site-footer { margin-top: 48px; padding-top: 32px; }
  .footer-main { grid-template-columns: 1fr 1fr; gap: 30px 24px; padding-bottom: 28px; }
  .footer-about { grid-column: 1 / -1; }
  .site-footer .footer-purpose { max-width: 440px; }
  .footer-notes { grid-template-columns: 1fr; gap: 14px; }
  .footer-bottom { flex-wrap: wrap; gap: 8px 20px; }
}

/* Selected FeeLens identity: blue circular mark and dark wordmark. */
header.site .brand { gap:10px; }
header.site .brand-symbol { width:38px; height:38px; object-fit:contain; flex-shrink:0; }
header.site .brand-name { color:#080f27; font-weight:800; letter-spacing:-.5px; }
header.site .brand-description { margin-left:4px; }
.site-footer .footer-brand { display:inline-flex; gap:12px; align-items:center; color:#080f27; font-weight:800; letter-spacing:-.5px; }
.site-footer .footer-brand .brand-symbol { width:52px; height:52px; object-fit:contain; }
.site-footer .footer-brand small { display:block; font-size:18px; line-height:1.2; letter-spacing:-.3px; }
@media(max-width:760px) { header.site .brand-symbol { width:32px; height:32px; } }

/* Link feedback uses color; keyboard focus retains its visible outline. */
a:hover, a:focus { text-decoration:none!important; }
.entity-icon { display:inline-block; width:24px; height:24px; object-fit:contain; vertical-align:middle; margin-right:9px; flex-shrink:0; }
h1 .entity-icon { width:42px; height:42px; margin-right:14px; }
h2 .entity-icon { width:28px; height:28px; }
.network-jumps .entity-icon { width:20px; height:20px; margin-right:6px; }

/* design.css */
/* Selected interior visual system: quiet blue framing, a focused task and help. */
body:not(.page-home) { background:#f7fbff; }
body:not(.page-home) main.wrap { max-width:1360px; padding:30px 24px 64px; }
body:not(.page-home) header.site nav { max-width:1360px; }
body:not(.page-home) .interior-heading { max-width:none; margin-bottom:30px; }
body:not(.page-home) main h1 { font-size:44px; line-height:1.25; font-weight:780; letter-spacing:-1.1px; }
body:not(.page-home) main .lede { font-size:18px; line-height:1.7; max-width:1000px; }
.design-layout { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:24px; align-items:start; }
.design-layout > *, .design-main, .design-aside { min-width:0; }
.design-aside { display:grid; gap:20px; }
.design-help { background:#fff; border:1px solid #dfe9f6; border-radius:10px; padding:24px; margin:0 0 20px; }
body:not(.page-home) main .design-help h2 { font-size:21px; margin:0 0 15px; }
.design-help p { color:#536985; font-size:15px; line-height:1.8; }
.design-help summary { font-size:19px; font-weight:700; color:#101b32; cursor:pointer; }
.design-tip { padding:16px; border-radius:8px; background:#edf5ff; color:#005bd8!important; font-weight:600; }
.design-action { display:block; border:1px solid #c6dbf7; padding:12px 16px; border-radius:7px; text-align:center; font-weight:650; }
body:not(.page-home) main .workflow-heading h1 { font-size:46px; }
.workflow-heading h1 span { color:#005bd8; }
.workflow-controls { display:grid; grid-template-columns:1fr 1fr 1.25fr auto; gap:18px; align-items:end; margin:0 0 28px; }
.workflow-controls > div { min-width:0; }
.workflow-controls label { display:block; color:#243955; font-size:15px; margin-bottom:10px; font-weight:600; }
.workflow-controls select,.workflow-coin { width:100%; min-height:56px; background:#fff; border:1px solid #cfdff3; border-radius:8px; padding:12px 15px; color:#0e203d; font-size:16px; }
.workflow-coin { display:flex; align-items:center; font-weight:650; }
.workflow-coin span { margin-left:auto; font-size:13px; color:#005bd8; }
.workflow-controls.enhanced { grid-template-columns:1fr 1fr 1.25fr; }
.workflow-controls.enhanced .workflow-submit { display:none; }
.workflow-submit { min-height:56px; }
.route-panel { background:#fff; border:1px solid #dce8f6; border-radius:11px; padding:24px; margin:0 0 24px; }
.route-eyebrow { margin:0 0 20px; color:#506b88; font-size:14px; }
.route-title { display:flex; align-items:center; gap:15px; margin-bottom:25px; }
.route-title .entity-icon { width:40px; height:40px; margin:0; }
.route-title > div { min-width:0; }
body:not(.page-home) main .route-title h2 { margin:0 0 5px; font-size:25px; }
.route-title p { margin:0; font-size:14px; color:#596f8d; }
.route-metrics { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:22px; }
.route-fee,.route-estimate { background:#f2f7fe; border-radius:8px; padding:20px; min-width:0; }
.route-fee > span:first-child { display:block; font-size:14px; color:#526a89; }
.route-fee > strong { display:block; font-size:34px; color:#005bd8; line-height:1.35; margin:12px 0; overflow-wrap:anywhere; }
.route-fee > strong small { font-size:20px; }
.route-state { color:#008566; background:#e2f8f1; padding:4px 9px; border-radius:5px; display:inline-block; font-size:13px; }
.route-estimate label { display:block; font-size:14px; color:#526a89; margin-bottom:10px; }
.route-estimate > div { display:flex; align-items:center; gap:6px; }
.route-estimate input { width:100%; min-width:40px; height:43px; border:1px solid #cbdcf0; border-radius:6px; background:#fff; font-size:18px; padding:8px 10px; }
.route-estimate button { font-size:12px; padding:10px; white-space:nowrap; }
.route-estimate > div > span { font-size:12px; }
.route-estimate p { font-size:14px; margin:14px 0 8px; }
.route-estimate strong { display:block; font-size:26px; color:#0a1731; line-height:1.5; overflow-wrap:anywhere; }
.route-estimate small,.route-fine { font-size:13px; color:#5b7191; line-height:1.7; }
.route-caution { font-size:14px; color:#965a09; }
.route-steps { border:0; border-radius:7px; overflow:hidden; background:#f3f8ff; }
.route-steps > summary { background:#005bd8; color:#fff; text-align:center; padding:14px; font-weight:650; cursor:pointer; }
.route-steps ol { padding:16px 24px 0 45px; color:#304767; font-size:15px; line-height:1.9; }
.route-steps li { padding:6px 0; }
.route-steps > p { padding:0 24px 20px; font-size:14px; }
.route-panel > .route-fine { margin-bottom:0; }
.route-section-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
body:not(.page-home) main .route-section-heading h2 { font-size:20px; margin:0; }
.route-section-heading a { font-size:13px; white-space:nowrap; }
body:not(.page-home) main .route-other .scroll { border:0; margin-bottom:0; border-radius:0; box-shadow:none; }
body:not(.page-home) main .route-other th,body:not(.page-home) main .route-other td { padding:16px 12px; font-size:14px; }
.route-alias { display:block; color:#6a7c93; font-size:12px; font-weight:400; margin-top:4px; }
.route-raw { margin:26px 0; font-size:14px; }
.route-raw summary { padding:18px; border:1px solid #dce8f6; background:#fff; border-radius:8px; cursor:pointer; }
body:not(.page-home) main .route-start h2 { margin:0 0 18px; font-size:28px; }
.route-start { padding:40px 30px; }
.route-start p { color:#4f6889; }
@media(max-width:1100px){ .design-layout {grid-template-columns:minmax(0,1fr) 270px; gap:20px;} .route-metrics {grid-template-columns:1fr;} .workflow-controls{grid-template-columns:1fr 1fr;} }
@media(max-width:800px){ .design-layout{grid-template-columns:1fr;} .design-aside {grid-template-columns:1fr;} body:not(.page-home) main h1,body:not(.page-home) main .workflow-heading h1 {font-size:32px;} .route-metrics{grid-template-columns:1fr 1fr;} }
@media(max-width:600px){ body:not(.page-home) main.wrap {padding:22px 18px 40px;} .workflow-controls,.workflow-controls.enhanced{grid-template-columns:1fr;gap:14px;} .route-metrics{grid-template-columns:1fr;} .route-panel{padding:20px;} .route-title{gap:10px;} .route-title .entity-icon{width:30px;height:30px;} body:not(.page-home) main .route-title h2{font-size:22px;} .route-section-heading {align-items:start;flex-direction:column;} .route-fee>strong{font-size:32px;} }
body:not(.page-home) header.site ul {position:static;transform:none;margin-left:auto;gap:26px;padding:0 26px;}
.nav-venues {position:relative;}
.nav-venues > summary {display:flex;gap:6px;align-items:center;cursor:pointer;color:#344664;font-size:16px;white-space:nowrap;list-style:none;}
.nav-venues > summary::-webkit-details-marker {display:none;}
.nav-venues > div {position:absolute;top:100%;left:0;margin-top:16px;min-width:180px;padding:8px;background:#fff;border:1px solid #dce7f6;border-radius:9px;box-shadow:0 10px 28px #12345b15;z-index:8;}
header.site .nav-venues > div a {display:flex;align-items:center;padding:10px;font-size:14px;}
.nav-venues a:hover {background:#edf5ff;border-radius:5px;}
.route-estimate button {background:#005bd8;color:#fff;border:0;border-radius:5px;cursor:pointer;}
.route-select-wrap {position:relative;}
.route-select-wrap > .entity-icon {position:absolute;left:14px;top:16px;pointer-events:none;margin:0;}
.route-select-wrap:has(> .entity-icon) select {padding-left:48px;}
@media(max-width:1150px){body:not(.page-home) header.site .brand-description {display:none;}}
@media(max-width:800px){body:not(.page-home) header.site nav {flex-wrap:wrap;row-gap:14px;padding-top:12px;padding-bottom:12px;}body:not(.page-home) header.site ul {order:2;flex-basis:100%;margin:0;padding:0;justify-content:space-between;gap:12px;}.nav-venues > summary {font-size:14px;}body:not(.page-home) header.site ul a {font-size:14px;}}

/* Keep the task and controls close to the header at desktop size. */
@media(min-width:801px){
 body:not(.page-home) main.wrap{padding-top:20px;}
 body:not(.page-home) main .crumbs{margin-bottom:20px;}
 body:not(.page-home) .interior-heading{margin-bottom:24px;}
 body:not(.page-home) main h1{font-size:50px;margin-bottom:12px;}
 body:not(.page-home) main .workflow-heading h1{font-size:52px;}
}

/* directories.css */
/* Guided directories and route summaries, based on the selected FeeLens layouts. */
.dir-layout { align-items:start; }
.dir-layout>section,.dir-layout>aside {min-width:0;}
.dir-heading h1 {display:flex;align-items:center;gap:18px;}
.dir-heading h1 .entity-icon {width:64px;height:64px;flex-shrink:0;}
.dir-search {min-width:0;margin-bottom:18px;}
.dir-search label,.dir-select label {display:block;font-size:14px;color:#536b8b;font-weight:600;margin-bottom:8px;}
.dir-search input {width:100%;min-width:0;background:#fff url('/static/icons/search.svg') no-repeat 17px center;background-size:22px;border:1px solid #d1e1f7;border-radius:8px;padding:15px 16px 15px 50px;font:inherit;color:#112348;min-height:54px;}
.dir-search input:focus,.dir-select select:focus {outline:3px solid #c9defe;border-color:#438aff;}
.dir-toolbar {display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:16px;}
.dir-select select {width:100%;min-height:54px;border:1px solid #d1e1f7;border-radius:8px;background:#fff;color:#264064;padding:12px;font:inherit;}
body:not(.page-home) main .dir-count {font-size:14px;color:#607694;margin:0 0 12px;}
.dir-panel {border:1px solid #dce8f8;border-radius:9px;background:#fff;overflow:hidden;}
.dir-list-head {background:#f0f6fd;color:#526b8f;font-size:13px;padding:16px 20px;}
.dir-coin-grid {display:grid;grid-template-columns:minmax(90px,.8fr) minmax(100px,1fr) minmax(110px,1fr) minmax(100px,.9fr);gap:14px;align-items:center;}
.dir-network-grid {display:grid;grid-template-columns:minmax(150px,1.8fr) minmax(75px,.8fr) 70px minmax(95px,.8fr);gap:14px;align-items:center;}
.dir-row {min-height:78px;padding:18px 20px;border-top:1px solid #e8eef7;font-size:15px;}
.dir-row:hover {background:#f5f9ff;}
.dir-identity {display:inline-flex;align-items:center;gap:12px;min-width:0;color:#101c38;}
.dir-identity strong {font-weight:700;overflow-wrap:anywhere;}
.dir-identity .entity-icon {width:36px;height:36px;flex-shrink:0;}
.dir-identity small {display:block;color:#6b7e9a;font-size:12px;margin-top:3px;}
.dir-secondary {display:flex;align-items:center;gap:7px;min-width:0;color:#506487;font-size:13px;overflow-wrap:anywhere;}
.dir-secondary .entity-icon {width:21px;height:21px;flex-shrink:0;}
.dir-fee {font-size:16px;font-weight:700;color:#193967;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;}
.dir-fee small {font-weight:400;font-size:12px;color:#657893;}
.dir-action {font-size:14px;font-weight:650;color:#005bff;display:inline-flex;align-items:center;gap:8px;}
.dir-row>.dir-action {justify-content:flex-end;}
.dir-help {background:#fff;border:1px solid #dce8f8;border-radius:9px;padding:24px;margin-bottom:18px;}
body:not(.page-home) main .dir-help h2 {font-size:21px;margin:0 0 16px;line-height:1.45;color:#111c39;}
body:not(.page-home) main .dir-help p {font-size:15px;color:#536b8d;line-height:1.85;margin:10px 0 0;}
.dir-steps {list-style:none;padding:0;margin:0;counter-reset:dir-step;}
.dir-steps li {counter-increment:dir-step;position:relative;padding:0 0 24px 44px;}
.dir-steps li:last-child {padding-bottom:0;}
.dir-steps li:before {content:counter(dir-step);position:absolute;left:0;top:0;display:grid;place-items:center;width:30px;height:30px;background:#0560ff;border-radius:50%;color:#fff;font-weight:700;font-size:17px;}
.dir-steps strong {font-size:16px;line-height:1.7;}
.dir-callout {background:#edf5ff;border-radius:8px;padding:18px;margin-top:20px;color:#215791;font-size:15px;line-height:1.8;}
.dir-accordion details {border-top:1px solid #e3ebf6;}
.dir-accordion details:first-child {border-top:0;}
.dir-accordion summary {padding:18px 20px;display:flex;align-items:center;gap:16px;cursor:pointer;min-height:78px;list-style:none;}
.dir-accordion summary::-webkit-details-marker {display:none;}
.dir-accordion summary:after {content:'⌄';font-size:22px;color:#1766e7;margin-left:4px;}
.dir-accordion details[open]>summary:after {transform:rotate(180deg);}
.dir-accordion summary .dir-identity {min-width:110px;}
.dir-accordion summary .dir-fee,.dir-summary-action {margin-left:auto;}
.dir-summary-action {font-size:14px;font-weight:650;color:#005bff;}
.dir-accordion details[open] {background:#f2f8ff;box-shadow:inset 0 0 0 1px #8eb9ff;}
.dir-chip {border-radius:6px;background:#eef3fa;color:#536987;padding:4px 9px;font-size:12px;max-width:180px;overflow-wrap:anywhere;}
.dir-detail {padding:0 20px 20px;}
.dir-detail-title {display:flex;justify-content:space-between;align-items:center;gap:14px;font-size:14px;margin:5px 0 14px;}
.dir-fee-cards {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.dir-fee-cards>div {padding:16px;border:1px solid #e3edf9;border-radius:8px;background:#fff;display:flex;flex-direction:column;align-items:flex-start;gap:8px;}
.dir-fee-cards>div>small {color:#607899;font-size:12px;}
.dir-fee-cards span {display:flex;gap:8px;align-items:center;font-size:15px;}
.dir-fee-cards strong {font-size:22px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;}
.dir-fee-cards strong small {font-size:13px;font-weight:400;}
body:not(.page-home) main .dir-footnote {font-size:12px;color:#60799b;margin:14px 0 0;line-height:1.75;}
.dir-good {color:#088461;}
.dir-facts {margin:0;}
.dir-facts>div {display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid #e5edf8;font-size:14px;}
.dir-facts dt {color:#5e7798;}
.dir-facts dd {margin:0;display:flex;gap:6px;align-items:center;text-align:right;color:#19345c;}
.dir-empty {padding:34px 24px;background:#fff;border:1px solid #dce8f8;border-radius:9px;color:#526c8e;margin-top:18px;}
.dir-empty button {padding:10px 18px;background:#fff;color:#0560ff;border:1px solid #8db7ff;border-radius:6px;font:inherit;cursor:pointer;}
[data-dir-row][hidden],[data-dir-empty][hidden] {display:none!important;}
@media(max-width:1100px){.dir-coin-grid{grid-template-columns:minmax(80px,.8fr) minmax(90px,1fr) minmax(90px,1fr);}.dir-coin-grid>:last-child{grid-column:1/-1;justify-content:flex-start;}.dir-list-head.dir-coin-grid>:last-child{display:none;}.dir-toolbar{grid-template-columns:1fr;gap:0;}.dir-select{margin-bottom:16px;}.dir-network-grid{grid-template-columns:minmax(130px,1.4fr) 65px 55px;}.dir-network-grid>:last-child{grid-column:1/-1;justify-content:flex-start;}.dir-list-head.dir-network-grid>:last-child{display:none;}}
@media(max-width:700px){.dir-help{padding:20px;}.dir-layout>aside{margin-top:24px;}.dir-row{padding:16px;font-size:14px;}.dir-heading h1 .entity-icon{width:42px;height:42px;}.dir-heading h1{gap:12px;}.dir-identity{gap:8px;}.dir-identity .entity-icon{width:30px;height:30px;}.dir-coin-grid{gap:10px;grid-template-columns:minmax(75px,.8fr) minmax(80px,1fr) minmax(80px,1fr);}.dir-coin-grid .dir-secondary{font-size:12px;}.dir-list-head{padding:14px 16px;font-size:12px;}.dir-accordion summary{padding:16px;gap:10px;flex-wrap:wrap;}.dir-accordion summary .dir-identity{min-width:80px;}.dir-chip{font-size:11px;max-width:130px;}.dir-summary-action{font-size:12px;}.dir-detail{padding:0 14px 16px;}.dir-detail-title{align-items:flex-start;flex-direction:column;gap:8px;}.dir-fee-cards>div{padding:12px;}.dir-fee-cards strong{font-size:19px;}.dir-fee-cards span{font-size:13px;}.dir-accordion summary .dir-fee{font-size:14px;}.dir-fee-cards{gap:8px;}}
/* Actual exchange coverage in the coin directory. */
.dir-exchanges {display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px;}
.dir-exchanges button {display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid #dce8f8;border-radius:7px;padding:10px 12px;color:#243c61;font:inherit;font-size:13px;cursor:pointer;}
.dir-exchanges button[aria-pressed="true"] {color:#005bff;background:#edf5ff;border-color:#72a7ff;}
.dir-exchanges .entity-icon {width:21px;height:21px;}
.dir-coin-grid {grid-template-columns:minmax(90px,.8fr) minmax(190px,2.4fr) minmax(110px,1fr);}
.dir-venue-list {display:flex;gap:12px 16px;flex-wrap:wrap;}
.dir-venue-list>span {display:inline-flex;align-items:center;gap:5px;color:#526989;font-size:12px;}
.dir-venue-list .entity-icon {width:21px;height:21px;}
@media(min-width:701px){.dir-coin-grid>:last-child{grid-column:auto;}.dir-list-head.dir-coin-grid>:last-child{display:block;}.dir-coin-grid>.dir-action{justify-content:flex-end;}}
@media(max-width:700px){.dir-coin-grid{grid-template-columns:80px minmax(0,1fr);}.dir-coin-grid>:last-child{grid-column:1/-1;}.dir-list-head.dir-coin-grid>:last-child{display:none;}.dir-venue-list{gap:8px 10px;}.dir-venue-list>span{font-size:11px;}.dir-exchanges button{padding:9px 10px;}}
.dir-route-list {border:1px solid #e0eaf8;border-radius:8px;overflow:hidden;background:#fff;}
.dir-route-entry {display:grid;grid-template-columns:minmax(140px,1.2fr) minmax(120px,1fr) minmax(90px,.9fr);align-items:center;gap:14px;padding:16px;border-top:1px solid #e8eef8;}
.dir-route-entry:first-child {border-top:0;}
.dir-route-network {display:flex;gap:10px;align-items:center;font-size:14px;}
.dir-route-network .entity-icon {width:26px;height:26px;flex-shrink:0;}
.dir-route-network small,.dir-route-fee>small {display:block;font-size:11px;font-weight:400;color:#647994;margin-top:4px;}
.dir-route-fee {font-size:14px;overflow-wrap:anywhere;}
.dir-route-fee strong small {font-size:11px;font-weight:400;}
.dir-route-entry .dir-action {font-size:12px;justify-content:flex-end;}
@media(max-width:700px){.dir-route-entry{grid-template-columns:1fr 1fr;padding:13px;}.dir-route-entry .dir-action{grid-column:1/-1;justify-content:flex-start;}}

.dir-route-network,.dir-route-fee {font-size:16px;}
.dir-route-network small,.dir-route-fee>small,.dir-route-fee strong small {font-size:13px;}
.dir-route-entry .dir-action {font-size:14px;}
@media(max-width:700px){.dir-coin-grid{grid-template-columns:110px minmax(0,1fr);}.dir-coin-grid .dir-identity{align-items:flex-start;}.dir-coin-grid .dir-identity strong{overflow-wrap:anywhere;}.dir-coin-grid .dir-identity .entity-icon{flex-shrink:0;}}

/* A compact next step, visually distinct from the explanatory cards. */
.dir-help.venue-entry{padding:22px;background:#f0f6ff;border-color:#cedff5;}
.venue-entry-heading{display:flex;align-items:center;gap:12px;}
.venue-entry-heading>.entity-icon{width:36px;height:36px;margin:0;flex-shrink:0;}
body:not(.page-home) main .venue-entry-heading h2{margin:0;font-size:22px;line-height:1.3;}
body:not(.page-home) main .venue-entry p{margin:14px 0 18px;font-size:14px;line-height:1.75;}
.venue-entry-action .go.primary{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:46px;padding:12px 16px;margin:0;border:0;border-radius:8px;font-size:15px;line-height:1.4;font-weight:650;box-shadow:none;}
.venue-entry-action .direction-icon{filter:brightness(0) invert(1);width:18px;height:18px;}

/* comparison.css */
/* Same-network comparison pages. */
.comparison-page { --comparison-line:#dce8f7; }
.comparison-page .interior-heading { max-width:none; margin-bottom:24px; }
.comparison-page .interior-heading h1 .entity-icon { width:40px; height:40px; }
.comparison-divider { color:#99adcd; font-weight:400; }
.comparison-context { display:flex; flex-wrap:wrap; gap:14px; margin:0 0 22px; }
.comparison-context a { display:flex; align-items:center; gap:16px; background:white; border:1px solid var(--comparison-line); border-radius:9px; padding:15px 18px; color:#415778; font-size:14px; }
.comparison-context strong { color:#101e3d; }
.comparison-context span { color:#0862df; }
.comparison-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:22px; align-items:start; }
.comparison-main,.comparison-aside { min-width:0; }
.comparison-panel { border:1px solid var(--comparison-line); background:#fff; border-radius:11px; padding:22px; margin-bottom:18px; }
body:not(.page-home) main .comparison-panel h2 { font-size:20px; line-height:1.5; margin:0 0 18px; letter-spacing:0; }
.comparison-panel-title { display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:space-between; margin-bottom:18px; }
body:not(.page-home) main .comparison-panel-title h2 { margin:0; }
.comparison-count { display:inline-block; background:#eef4fd; color:#4c658c; font-size:12px; padding:5px 9px; border-radius:6px; white-space:nowrap; }
body:not(.page-home) main .comparison-panel .scroll { border:1px solid #e5edf7; box-shadow:none; border-radius:8px; margin-bottom:0; }
body:not(.page-home) main .comparison-table { font-size:14px; min-width:640px; }
body:not(.page-home) main .comparison-table th,body:not(.page-home) main .comparison-table td { padding:16px 13px; }
body:not(.page-home) main .comparison-table thead th { background:#f1f6fe; font-size:12px; }
.comparison-table .entity-icon { width:27px; height:27px; margin-right:8px; }
.comparison-table small { display:block; font-size:12px; color:#70819c; font-weight:400; margin-top:4px; }
body:not(.page-home) main .comparison-fee { font-size:16px; font-weight:650; color:#15294d; }
.comparison-fee small { display:inline; font-size:12px; color:#596e8f; }
.comparison-fee .comparison-surcharge { display:block; }
body:not(.page-home) main .comparison-help { font-size:13px; color:#6a7e9b; margin:17px 0 0; line-height:1.8; }
body:not(.page-home) main .comparison-detail-row td { padding:0 13px 12px; background:white; }
.comparison-steps { border-radius:7px; background:#f2f7fe; padding:0 13px; }
.comparison-steps summary { color:#0862df; padding:11px 0; font-size:13px; cursor:pointer; font-weight:600; }
.comparison-steps ol { padding:0; margin:4px 0 15px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; list-style-position:inside; counter-reset:check; }
.comparison-steps li { list-style:none; background:white; border-radius:6px; padding:12px; font-size:12px; color:#617795; counter-increment:check; }
.comparison-steps li:before { content:counter(check); display:inline-grid; place-items:center; width:23px; height:23px; border-radius:50%; background:#0862ef; color:white; margin:0 5px 9px 0; }
.comparison-steps strong { font-size:13px; color:#145bc2; }
.comparison-steps span { display:block; line-height:1.8; }
.comparison-steps p { padding-bottom:14px; }
.comparison-disclosure summary { cursor:pointer; font-size:16px; font-weight:650; color:#172b4d; }
.comparison-disclosure summary span { color:#6a7e9b; padding-left:8px; }
.comparison-disclosure[open] summary { margin-bottom:20px; }
.comparison-disclosure p,.comparison-aside p { font-size:14px; color:#637894; }
.comparison-facts { margin:0; }
.comparison-facts>div { display:flex; gap:12px; justify-content:space-between; padding:12px 0; font-size:14px; }
.comparison-facts dt { color:#6d80a0; flex-shrink:0; }
.comparison-facts dd { margin:0; text-align:right; color:#1c3358; font-weight:600; }
body:not(.page-home) main .comparison-info { padding:14px 16px; background:#eef5ff; border-radius:7px; font-size:13px; color:#537197; line-height:1.85; margin:18px 0 0; }
.comparison-next { counter-reset:step; margin:0; padding:0; }
.comparison-next li { list-style:none; counter-increment:step; display:flex; gap:10px; color:#456083; font-size:14px; line-height:1.7; margin:16px 0; }
.comparison-next li:before { content:counter(step); width:24px; height:24px; flex:0 0 24px; display:grid; place-items:center; background:#0862ef; color:white; border-radius:50%; font-size:12px; }
.pair-overview { display:grid; grid-template-columns:minmax(0,1fr) 50px minmax(0,1fr); align-items:center; }
.pair-vs { text-align:center; color:#90b8f5; font-weight:700; font-size:17px; }
.pair-venue .entity-icon { width:36px; height:36px; margin-right:10px; }
body:not(.page-home) main .pair-venue p { color:#6f829e; font-size:14px; margin:0; }
.pair-win-count { display:block; font-size:48px; color:#075eef; line-height:1.4; margin:6px 0 22px; }
.comparison-primary { display:block; text-align:center; padding:13px 10px; background:#0862ef; border-radius:7px; color:white!important; font-size:14px; font-weight:600; }
.comparison-primary:hover { background:#004ec5; }
.pair-network { display:block; color:#6b7d97; font-size:12px; margin-bottom:6px; }
.comparison-page .pair-lower { color:#008567!important; }
.pair-filters { display:flex; gap:14px; margin:0 0 20px; }
.pair-filters[hidden] { display:none; }
.pair-filters label { flex:1; min-width:0; font-size:13px; font-weight:600; color:#52698b; }
.pair-filters input,.pair-filters select,.comparison-network-form select { margin-top:7px; display:block; width:100%; min-height:44px; border:1px solid #cdddf1; border-radius:7px; padding:10px 12px; background:#fff; font:inherit; color:#1f365b; }
.comparison-network-form { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-bottom:24px; }
.comparison-network-form select { width:auto; min-width:230px; margin:0; }
.comparison-network-form button { border:0; border-radius:7px; padding:12px 19px; background:#0862ef; color:#fff; font:inherit; cursor:pointer; }
.comparison-network-form label { font-size:14px; color:#52698b; font-weight:600; }
@media(max-width:1050px) { .comparison-layout { grid-template-columns:minmax(0,1fr); } .comparison-aside { display:grid; grid-template-columns:1fr 1fr; gap:18px; } }
@media(max-width:600px) { .comparison-panel { padding:17px 14px; } .comparison-context a { width:100%; gap:10px; padding:12px; font-size:12px; } .comparison-aside { display:block; } .pair-overview { grid-template-columns:1fr 1fr; gap:12px; } .pair-vs { display:none; } .pair-venue .entity-icon { width:26px; height:26px; } body:not(.page-home) main .pair-venue h2 { font-size:16px; } .pair-win-count { font-size:36px; } .comparison-primary { font-size:12px; } .pair-filters { flex-direction:column; } .comparison-network-form select { min-width:0; flex:1; } .comparison-page .interior-heading h1 .entity-icon { width:30px; height:30px; } }
.comparison-network-form input:not([type=hidden]) { background:#fff; border:1px solid #cdddf1; padding:11px 12px; border-radius:7px; width:160px; min-height:44px; font:inherit; display:block; }
.comparison-network-form label select { min-width:150px; margin-top:7px; }
.comparison-network-form label input { margin-top:7px; }
.comparison-network-form button { align-self:end; }
.comparison-amount { background:#fff; border:1px solid #dce8f7; padding:18px; border-radius:10px; }
body:not(.page-home) main .comparison-amount p { flex-basis:100%; font-size:13px; color:#687d9b; margin:0; }
.pair-quote-fee { display:block; color:#075eef; font-size:30px; line-height:1.5; margin:14px 0 2px; overflow-wrap:anywhere; }
.pair-quote-fee small { font-size:14px; font-weight:500; }
.pair-received { margin:14px 0; padding:12px; background:#eef5ff; border-radius:6px; font-size:13px; color:#617898; }
.pair-received strong { display:block; font-size:17px; color:#213f67; margin-top:7px; }
.pair-venue .comparison-primary { margin-top:20px; }
@media(max-width:600px) { .comparison-network-form label { min-width:0; flex:1 1 130px; } .comparison-network-form label select,.comparison-network-form label input { width:100%; min-width:0; } .pair-quote-fee { font-size:24px; } }

/* trust-pages.css */
/* Source and history pages: composed from the approved pale-blue design. */
.trust-page .trust-panel { padding:24px; margin-bottom:20px; background:#fff; border:1px solid #dce7f6; border-radius:10px; }
body:not(.page-home) main .trust-page h2 { margin:0 0 12px; font-size:23px; line-height:1.4; }
.trust-page h3 { font-size:16px; line-height:1.55; margin:0 0 7px; color:#101b3c; }
body:not(.page-home) main .trust-page p { font-size:14px; line-height:1.75; color:#607291; margin:0 0 14px; }
.trust-section-title { display:flex; align-items:baseline; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.trust-count,.trust-muted { font-size:13px; color:#637694; }
.trust-explainer { display:flex; gap:14px; margin:24px 0; }
.trust-explainer:last-child { margin-bottom:0; }
.trust-number { flex:0 0 30px; width:30px; height:30px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; color:#fff; background:#0865f5; font-weight:700; font-size:14px; }
.trust-number.success { background:#009e7d; }.trust-number.failure { background:#e33d5f; }.trust-number.caution { background:#e8a22b; font-size:11px; }
.trust-steps { padding-left:23px; margin:20px 0 0; color:#4c6384; font-size:14px; }.trust-steps li { padding:0 0 18px 6px; line-height:1.8; }.trust-steps li::marker { color:#0662e9; font-weight:700; }
.change-filters { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }.change-filters[hidden] { display:none; }
.change-filters label { min-width:0; font-size:14px; font-weight:600; display:block; }.change-filters select { width:100%; min-height:45px; margin-top:9px; padding:8px 26px 8px 10px; color:#1f3355; background:#fff; border:1px solid #d1def0; border-radius:6px; font:inherit; }
body:not(.page-home) main .trust-table { border-radius:7px; box-shadow:none; margin:14px 0 0; }
body:not(.page-home) main .trust-table th,body:not(.page-home) main .trust-table td { padding:16px 12px; font-size:14px; }
body:not(.page-home) main .trust-table thead th { background:#f1f6fe; font-size:12px; }
.trust-entity { display:inline-flex; gap:10px; align-items:center; color:#172541; }.trust-entity small { display:block; color:#697d9e; font-size:12px; font-weight:400; margin-top:3px; }.trust-entity .entity-icon { width:30px; height:30px; margin:0; }
.trust-fee-change { white-space:nowrap; font-variant-numeric:tabular-nums; }.trust-fee-arrow { margin:0 7px; color:#8091ac; }.trust-action { font-size:13px; font-weight:600; white-space:nowrap; }
.trust-empty { padding:40px 24px; text-align:center; background:#f2f7ff; border-radius:8px; margin-top:16px; }.trust-empty[hidden] { display:none; }.trust-empty strong { display:block; margin-bottom:10px; }.trust-empty button { padding:8px 16px; border:1px solid #8ebaff; color:#005de0; background:white; border-radius:5px; cursor:pointer; }
.source-runs { border:1px solid #e0e9f5; border-radius:8px; overflow:hidden; }.source-run + .source-run { border-top:1px solid #e3ebf7; }.source-run summary { display:grid; grid-template-columns:minmax(130px,1fr) minmax(110px,.9fr) minmax(165px,1.6fr) 20px; align-items:center; gap:15px; padding:20px 16px; cursor:pointer; list-style:none; }.source-run summary::-webkit-details-marker { display:none; }.source-name { font-size:16px; }.source-result { font-size:13px; padding:5px 8px; border-radius:5px; background:#fff0f1; justify-self:start; }.source-result.status-ok { background:#e4f7ee; }.source-time small { display:block; color:#798ba6; font-size:12px; margin-bottom:6px; }.source-expand { color:#52688d; }.source-run[open] .source-expand { transform:rotate(180deg); }.source-details { margin:0 12px 14px; padding:20px; background:#f1f7ff; border-radius:7px; }.source-details dl { display:flex; gap:35px; margin:0 0 20px; }.source-details dt { color:#6c7f9e; font-size:12px; }.source-details dd { margin:5px 0 0; font-size:22px; font-weight:650; }.source-message { overflow-wrap:anywhere; font-family:ui-monospace,monospace; }.source-details a { font-size:13px; }.unresolved-details summary { padding:15px; border:1px solid #dae5f4; border-radius:6px; cursor:pointer; color:#28528c; }.trust-callout { padding:16px; background:#eef5ff; border-radius:6px; }
.method-design { display:grid; grid-template-columns:185px minmax(0,1fr) 255px; gap:28px; align-items:start; }.method-content { min-width:0; max-width:760px; }.method-design .method-toc { background:transparent; border:0; padding:8px 0; gap:2px; }.method-toc > strong { padding:0 10px 16px; font-size:14px; color:#49617e; }.method-design .method-toc a { font-size:13px; line-height:1.6; padding:10px; }.method-design .method-toc a:hover,.method-design .method-toc a:focus { background:#e6f0ff; }.method-design .method-article { padding:0; border:0; background:transparent; }.method-principles { padding:22px; background:#eaf3ff; border-radius:8px; margin:24px 0; }.method-principles > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }.method-principles article { min-width:0; border-right:1px solid #cfdef3; padding-right:15px; }.method-principles article:last-child { border:0; padding:0; }.method-principles .trust-number { margin:4px 0 10px; }.method-principles h3 { font-size:15px; }.method-principles p { font-size:13px!important; }.method-design .method-article h2 { padding-top:26px!important; margin:26px 0 13px!important; }.method-design .method-article p { font-size:15px!important; line-height:1.95!important; margin-bottom:17px!important; color:#4e6280!important; }.method-sources { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:18px 0; }.method-source { min-width:0; padding:16px; border:1px solid #dce7f6; background:#fff; border-radius:7px; }.method-source > a { display:block; margin-top:14px; font-size:13px; }.method-source details { margin-top:12px; font-size:12px; color:#697d99; }.method-source summary { cursor:pointer; }.method-source .mono { overflow-wrap:anywhere; margin:8px 0 0!important; font-size:11px!important; min-width:0; }.trust-button { display:block; text-align:center; padding:11px 8px; border:1px solid #005fff; border-radius:6px; color:#fff!important; background:#005fff; font-size:14px; margin-top:12px; font-weight:600; }.trust-button.secondary { background:#fff; color:#005fe7!important; }.trust-faq { border-bottom:1px solid #e6edf7; padding:12px 0; font-size:13px; }.trust-faq:last-child { border:0; }.trust-faq summary { cursor:pointer; color:#425d84; line-height:1.7; }.trust-faq p { margin-top:10px!important; }.method-aside { position:sticky; top:24px; }
@media(max-width:1150px) { .method-design { grid-template-columns:155px minmax(0,1fr); gap:24px; }.method-aside { grid-column:2; position:static; display:grid; grid-template-columns:1fr 1fr; gap:18px; }.source-run summary { grid-template-columns:1fr 1fr 20px; }.source-time { grid-column:1/3; }.source-expand { grid-column:3; grid-row:1; } }
@media(max-width:700px) { .trust-page .trust-panel { padding:18px; }.change-filters { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.method-design { display:block; }.method-design .method-toc { position:static; display:flex; flex-direction:row; flex-wrap:wrap; gap:4px; margin-bottom:24px; }.method-toc > strong { flex-basis:100%; padding-bottom:6px; }.method-design .method-toc a { background:#edf4ff; padding:7px 9px; font-size:12px; }.method-principles { padding:18px; }.method-principles > div { grid-template-columns:1fr; gap:15px; }.method-principles article { padding:0 0 14px; border-right:0; border-bottom:1px solid #cddff4; }.method-principles .trust-number { float:left; margin:0 12px 0 0; }.method-principles h3,.method-principles p { margin-left:42px!important; }.method-aside { display:block; }.method-sources { grid-template-columns:1fr 1fr; gap:8px; }.method-source { padding:12px; }.method-source .trust-entity { font-size:13px; gap:7px; }.method-source .entity-icon { width:24px; height:24px; }.source-run summary { padding:17px 12px; gap:12px; }.source-result { font-size:12px; }.source-name { font-size:14px; }.source-details { padding:15px; }.trust-section-title { align-items:flex-start; } }

/* controls.css */
.custom-select{position:relative;min-width:0;width:100%;font-size:15px;font-weight:400;}
.custom-select.is-open{z-index:40;}
.custom-select-native[hidden]{display:none!important;}
.custom-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;padding:12px 14px;background:#fff;color:#142b4d;border:1px solid #ccddef;border-radius:8px;text-align:left;font:inherit;cursor:pointer;}
.custom-select-trigger>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.control-chevron{width:18px;height:18px;flex-shrink:0;transition:transform .15s;}
.is-open>.custom-select-trigger .control-chevron{transform:rotate(180deg);}
.custom-select-trigger:focus-visible,.custom-select-option:focus-visible{outline:2px solid #0862ef;outline-offset:2px;}
.custom-select-trigger:disabled{opacity:.5;cursor:not-allowed;}
.custom-select-popup{position:absolute;left:0;top:calc(100% + 7px);width:100%;min-width:180px;background:#fff;border:1px solid #d8e4f4;border-radius:10px;padding:6px;box-shadow:0 12px 36px #142b4d22;z-index:50;}
.custom-select-popup[hidden]{display:none!important;}
.custom-select-options{max-height:260px;overflow:auto;overscroll-behavior:contain;}
body .custom-select-option{display:block;width:100%;border:0;border-radius:6px;background:#fff;color:#223954;padding:11px 12px;font:inherit;text-align:left;cursor:pointer;}
body .custom-select-option[aria-selected=true]{background:#eaf3ff;color:#005bd8;font-weight:650;}
body .custom-select-option:hover,body .custom-select-option:focus{background:#f0f6ff;}
body .custom-select-option[hidden]{display:none;}
body .custom-select-search{width:100%!important;min-width:0!important;margin:0 0 6px!important;padding:10px!important;font:inherit!important;border:1px solid #d8e4f4!important;border-radius:6px!important;background:#fff!important;}
body .custom-select-search[hidden]{display:none!important;}
.custom-select-empty{font-size:14px;padding:8px;color:#5e718d;}
.route-select-wrap>.entity-icon{z-index:1;pointer-events:none;}
.route-select-wrap .custom-select-trigger{padding-left:48px;min-height:56px;}
.workflow-controls>.custom-select{min-width:0;}
.comparison-network-form label>.custom-select{margin-top:7px;min-width:150px;}
.comparison-network-form .custom-select-trigger{min-height:44px;}
.comparison-network-form .custom-select-popup button{align-self:auto;background:#fff;color:#223954;}
.comparison-network-form .custom-select-popup button[aria-selected=true]{background:#eaf3ff;color:#005bd8;}
.direction-icon{width:17px;height:17px;display:inline-block;vertical-align:-3px;flex-shrink:0;margin-left:4px;}
.direction-icon.external{transform:rotate(-45deg);}
summary{list-style:none!important;}summary::-webkit-details-marker{display:none!important;}summary::marker{content:'';}
summary:not(:has(.control-chevron)):not(:has(.source-expand)):not(.langs summary):not(.nav-venues summary)::after{content:''!important;display:inline-block;width:18px;height:18px;margin-left:8px;vertical-align:-3px;background:currentColor;mask:url('/static/icons/chevron-down.svg') center/contain no-repeat;}
details[open]>summary::after{transform:rotate(180deg);}
.dir-pagination{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:20px;}
.dir-pagination button{font:inherit;font-size:14px;padding:10px 16px;background:#fff;color:#005bd8;border:1px solid #cbdcf3;border-radius:7px;cursor:pointer;}
.dir-pagination button:disabled{opacity:.4;cursor:default;}
.dir-pagination span{font-size:14px;color:#536985;}
.dir-pagination[hidden]{display:none;}
@media(max-width:600px){.custom-select-popup{min-width:0;}.comparison-network-form label>.custom-select{min-width:0;}.custom-select-option{overflow-wrap:anywhere;}}

.direction-icon.left{transform:rotate(180deg);}.direction-icon.up{transform:rotate(-90deg);}.direction-icon.down{transform:rotate(90deg);}
:root{--site-container:1266px;--site-gutter:20px;}
body:not(.page-home) main.wrap,body:not(.page-home) header.site nav,footer.site .wrap{max-width:var(--site-container);padding-left:var(--site-gutter);padding-right:var(--site-gutter);}

.route-select-wrap .custom-select-trigger{padding-left:14px;}
.custom-select-trigger>.entity-icon{position:static;width:24px;height:24px;flex-shrink:0;margin:0;}
.custom-select-trigger>span{flex:1;}
.comparison-network-form .custom-select-trigger{background:#fff;color:#142b4d;border:1px solid #ccddef;padding:11px 14px;}
