/* Shared preferences controls and native scrollbar colors. */
:root {
  --site-control-right: 24px;
  --site-control-bottom: 22px;
  --scrollbar-track: #121413;
  --scrollbar-thumb: #776748;
  --scrollbar-thumb-hover: #ac8d54;
}
:root[data-theme="brown"] {
  --scrollbar-track: #2b1a12;
  --scrollbar-thumb: #a8784e;
  --scrollbar-thumb-hover: #d39757;
}
:root[data-theme="gold"] {
  --scrollbar-track: #f5d982;
  --scrollbar-thumb: #9e651b;
  --scrollbar-thumb-hover: #714008;
}
:root[data-theme="light"] {
  --scrollbar-track: #e2dccf;
  --scrollbar-thumb: #a18b6d;
  --scrollbar-thumb-hover: #7f633f;
}
:root, * {
  scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track);
}
@supports selector(::-webkit-scrollbar) {
  :root, * { scrollbar-color: auto; }
  *::-webkit-scrollbar { width: 10px; height: 10px; }
  *::-webkit-scrollbar-track { background: var(--scrollbar-track); }
  *::-webkit-scrollbar-thumb {
    border: 2px solid transparent;
    border-radius: 10px;
    background: var(--scrollbar-thumb);
    background-clip: padding-box;
  }
  *::-webkit-scrollbar-thumb:hover { background-color: var(--scrollbar-thumb-hover); }
  *::-webkit-scrollbar-corner { background: var(--scrollbar-track); }
}

/* Shared navigation: original appearance at the top, translucent after scrolling. */
:root { --site-header-height: 84px; }
html { scroll-padding-top: calc(var(--site-header-height) + 16px); }
.site-header {
  position: sticky;
  top: 0;
  z-index: 40;
  isolation: isolate;
  flex-shrink: 0;
}
.site-header::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  background: color-mix(in srgb, var(--bg) 50%, transparent);
  border-bottom: 1px solid var(--line);
  opacity: 0;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  transition: opacity 180ms ease;
  pointer-events: none;
}
.site-header.is-scrolled::before {
  opacity: 1;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}
.docs-article :is(section, h2[id], .docs-anchor-alias) { scroll-margin-top: 16px !important; }
.docs-anchor-alias { display: block; }
.docs-article .docs-updated {
  margin: 24px 0 0;
  color: var(--muted);
  font-size: 11px !important;
  font-weight: 500;
  line-height: 1.6;
}
@media (min-width: 721px) {
  .docs-nav {
    top: calc(var(--site-header-height) + 18px) !important;
    max-height: calc(100vh - var(--site-header-height) - 36px);
    max-height: calc(100dvh - var(--site-header-height) - 36px);
    overflow-y: auto;
  }
}

.docs-article { min-width: 0; }
.docs-article .token-value { min-width: 0; }
.docs-article .token-value code { white-space: normal; overflow-wrap: anywhere; }
@media (max-width: 1100px) {
  .docs-article .token-row.copy-enabled {
    grid-template-columns: minmax(0, 1fr) 36px !important;
    gap: 6px 10px !important;
  }
  .docs-article .token-row.copy-enabled .token-label { grid-column: 1 / -1; }
  .docs-article .token-row.copy-enabled .token-value { grid-column: 1; grid-row: 2; white-space: normal; }
  .docs-article .token-row.copy-enabled .copy-control { grid-column: 2; grid-row: 2; }
}

/* Language circles form an outer arc around the existing theme trigger. */
.theme-wheel {
  right: max(var(--site-control-right), env(safe-area-inset-right, 0px));
  bottom: calc(var(--site-control-bottom) + env(safe-area-inset-bottom, 0px));
}
/* Individually spaced dots stay distinct at desktop and mobile pixel densities. */
.theme-trigger-dots {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  color: var(--muted);
  pointer-events: none;
  transform-origin: center;
  animation: themeDotOrbit 12s linear infinite !important;
}
.theme-trigger-dots .orbit-leading-dot { fill: var(--accent); }
@keyframes themeDotOrbit { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
.theme-trigger-symbol {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 30px;
  height: 30px;
  color: var(--accent);
}
.site-language,
.site-language-options {
  position: absolute;
  inset: 0;
  width: 58px;
  height: 58px;
  pointer-events: none;
}
.site-language {
  z-index: 3;
  color: var(--text);
  font-family: "Manrope", system-ui, sans-serif;
  visibility: hidden;
}
.theme-wheel.open .site-language { visibility: visible; }
.site-language [hidden] { display: none !important; }
.site-language-option {
  position: absolute;
  left: 9px;
  top: 9px;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  min-height: 0;
  padding: 7px;
  border: 1px solid var(--line-strong);
  border-radius: 50%;
  color: var(--text);
  background: var(--panel-solid);
  box-shadow: 0 5px 15px color-mix(in srgb, var(--bg) 30%, transparent);
  -webkit-appearance: none;
  appearance: none;
  opacity: 0;
  pointer-events: none;
  transform: translate(0, 0) scale(.5);
  transition: transform .35s cubic-bezier(.2,.8,.2,1), opacity .2s ease,
    border-color .18s ease, background .18s ease;
  cursor: pointer;
}
/* Ellipse radii 195 x 205px, center offset 18px left, angles 0 to 100 degrees. */
.site-language-option:nth-child(1) { --language-x: -213px; --language-y: 0px; }
.site-language-option:nth-child(2) { --language-x: -206.97px; --language-y: -50.59px; }
.site-language-option:nth-child(3) { --language-x: -189.25px; --language-y: -98.04px; }
.site-language-option:nth-child(4) { --language-x: -160.95px; --language-y: -139.44px; }
.site-language-option:nth-child(5) { --language-x: -123.8px; --language-y: -172.21px; }
.site-language-option:nth-child(6) { --language-x: -80.1px; --language-y: -194.33px; }
.site-language-option:nth-child(7) { --language-x: -32.57px; --language-y: -204.43px; }
.site-language-option:nth-child(8) { --language-x: 15.86px; --language-y: -201.89px; }
.theme-wheel.open .site-language-option {
  opacity: 1;
  pointer-events: auto;
  transform: translate(var(--language-x), var(--language-y)) scale(1);
}
.site-language-option > img {
  display: block;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  object-fit: cover;
  background: transparent;
}
.site-language-option-code {
  position: absolute;
  left: 50%;
  bottom: -4px;
  width: 26px;
  height: 12px;
  padding: 0 1px;
  border: 1px solid var(--line-strong);
  border-radius: 6px;
  color: var(--muted);
  background: var(--panel-solid);
  font-size: 9px;
  font-weight: 700;
  line-height: 10px;
  text-align: center;
  white-space: nowrap;
  transform: translateX(-50%);
}
.site-language-option:hover,
.site-language-option[aria-pressed="true"] { border-color: var(--accent); }
.site-language-option[aria-pressed="true"] .site-language-option-code {
  border-color: var(--accent);
  color: var(--accent);
}
.site-language-option:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.site-language-option:disabled { cursor: wait; }
.theme-wheel.open .site-language-option:disabled { opacity: .6; }
.site-language-feedback {
  position: absolute;
  right: 4px;
  bottom: 258px;
  width: 252px;
  max-width: calc(100vw - 40px);
  margin: 0;
  padding: 5px 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--text);
  background: var(--panel-solid);
  font-size: 10px;
  line-height: 1.4;
  overflow-wrap: anywhere;
  pointer-events: auto;
}

/* Use the downloaded Cyrillic face where Latin-only headings and labels were explicit. */
:root:lang(ru) :is(h1, h2, h3, h4, button, input, select, textarea,
  .eyebrow, .top-button, .docs-nav a, .selector-header, .network-name,
  .service-node b, .module-heading span, .token-label, .coming-link) {
  font-family: "Manrope", system-ui, sans-serif !important;
}
:root:lang(ru) #tokenomicsChart .label-name { font-family: "Manrope", system-ui, sans-serif !important; }
:root:lang(hi) {
  --site-script-font: "Nirmala UI", "Noto Sans Devanagari", Mangal, system-ui, sans-serif;
}
:root:lang(zh-CN) {
  --site-script-font: "Microsoft YaHei", "PingFang SC", "Noto Sans CJK SC", system-ui, sans-serif;
}
:root:lang(ko) {
  --site-script-font: "Malgun Gothic", "Apple SD Gothic Neo", "Noto Sans CJK KR", system-ui, sans-serif;
}
:root:is(:lang(hi), :lang(zh-CN), :lang(ko)) :is(body, body *) {
  font-family: var(--site-script-font) !important;
}
:root:is(:lang(ru), :lang(hi), :lang(zh-CN), :lang(ko)) :is(h1, h2, h3, h4) {
  line-height: 1.2 !important;
}
:root:lang(hi) :is(h1, h2, h3, h4, .top-button, .module-heading span) { letter-spacing: normal !important; }
:root:lang(hi) :is(.top-button, .btn, .network-name, .selector-header, .module-heading span) {
  line-height: 1.4 !important;
}

@media (max-width: 720px) {
  :root { --site-control-right: 14px; --site-control-bottom: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .site-language-option { transition: none; }
}
@media (forced-colors: active) {
  :root, * { scrollbar-color: auto; }
  *::-webkit-scrollbar,
  *::-webkit-scrollbar-track,
  *::-webkit-scrollbar-thumb,
  *::-webkit-scrollbar-thumb:hover,
  *::-webkit-scrollbar-corner { all: revert; }
}

/* Keep both BFP columns inside the viewport before the existing single-column layout. */
@media (min-width: 1001px) and (max-width: 1323px) {
  .bridge-layout {
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr) !important;
    gap: clamp(24px, 4vw, 52px) !important;
  }
  .bridge-layout > * { min-width: 0; }
  .bfp-contract-panel .contract-link { white-space: normal; overflow-wrap: anywhere; }
}
