/* Shared Geist Sans variable typography. Existing component sizes/weights stay authoritative. */
@font-face {
  font-family: "Geist Sans";
  src: url("./assets/fonts/geist-sans/webfonts/Geist[wght].woff2?v=ff308836f8bb") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
@font-face {
  font-family: "Geist Sans";
  src: url("./assets/fonts/geist-sans/webfonts/Geist-Italic[wght].woff2?v=ff308836f8bb") format("woff2");
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
}
/* One shared family for every page and control. */
:root {
  --geist-page: "Geist Sans", "Helvetica Neue", Arial, sans-serif;
  --font: var(--geist-page) !important;
  --font-copy: var(--geist-page) !important;
  --font-heading: var(--geist-page) !important;
  --font-numeric: var(--geist-page) !important;
  --font-sans: var(--geist-page) !important;
  --font-ui: var(--geist-page) !important;
  --font-body: var(--geist-page) !important;
  --font-display: var(--geist-page) !important;
  --font-family-sans: var(--geist-page) !important;
  --font-mono: var(--geist-page) !important;
  --font-data: var(--geist-page) !important;
  --font-family-mono: var(--geist-page) !important;
  --parallel-interface-font: var(--geist-page) !important;
  --parallel-text-font: var(--geist-page) !important;
  --parallel-ui-font: var(--geist-page) !important;
  --parallel-number-font: var(--geist-page) !important;
  --parallel-font-ui: var(--geist-page) !important;
  --parallel-font-mono: var(--geist-page) !important;
  --parallel-font-data: var(--geist-page) !important;
  --geist-mono-page: var(--geist-page) !important;
}

html,
body,
button,
input,
select,
textarea,
.app-shell,
body :where(
  h1, h2, h3, h4, h5, h6, p, a, label, small, strong, b, em,
  button, input, select, textarea, th, td, div, span
):not([class^="ri-"]):not([class*=" ri-"]):not(.remixicon):not(.icon-font):not(.numeric-magnitude) {
  font-family: var(--geist-page) !important;
  font-synthesis: none !important;
  font-kerning: normal;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}

::placeholder {
  font-family: var(--geist-page) !important;
  font-weight: 350;
}

:is(
  .mono,
  .numeric,
  .number,
  [data-number],
  [data-numeric],
  .metric-value,
  .stat-value,
  .token-price,
  .token-stat-value,
  .market-value,
  .market-cap-value,
  .wallet-balance,
  .status-value,
  .amount,
  .price,
  .pnl-value,
  .tx-count
) {
  font-family: var(--geist-page) !important;
  font-variant-numeric: proportional-nums;
}

[class^="ri-"],
[class*=" ri-"],
.remixicon,
.icon-font {
  font-family: "Parallel Remix Icons" !important;
}
