/* =====================================================================
   Web3 Ledger — type system (single source of truth)

   Inter          UI, body, headings.  Built for screens: tall x-height,
                  unambiguous at 11–13px, first-class tabular figures.
   IBM Plex Mono  money, addresses, hashes, tickers.  Disambiguates
                  0/O and 1/l/I — which matters when the string is a
                  wallet address the user is asked to trust.

   Scope note: this file sets the FACE, weight behaviour and numerals
   globally, but only sets SIZES on our own screens (.wl-site, .wl-lock,
   #wl-* views). The legacy template controls its own sizing and must not
   be reflowed from here.
   ===================================================================== */

:root{
  --font-ui:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --font-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;

  /* type scale — 1.25 ratio, rounded to whole/half px */
  --t-display:34px;
  --t-h1:26px;
  --t-h2:21px;
  --t-h3:17px;
  --t-body:14.5px;
  --t-sm:13px;
  --t-xs:11.5px;
  --t-micro:10.5px;
}

html{-webkit-text-size-adjust:100%;text-size-adjust:100%}

/* ---------------------------------------------------------------------
   Face + rendering (global, size-neutral)
   --------------------------------------------------------------------- */
body{
  font-family:var(--font-ui);
  letter-spacing:-0.006em;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  /* cv11 = single-storey 'a'; ss01 = tighter punctuation. Both make
     Inter read cleaner in dense UI. */
  font-feature-settings:"cv11","ss01";
  font-variant-ligatures:contextual common-ligatures;
}
@supports (font-variation-settings:normal){
  body{font-optical-sizing:auto}
}

/* headings inherit the UI face and optical tracking, but NOT a size —
   large type must be pulled tighter or it reads loose and amateurish. */
h1,h2,h3,h4,h5,h6{
  font-family:var(--font-ui);
  line-height:1.18;
  text-wrap:balance;
}
h1{letter-spacing:-0.028em}
h2{letter-spacing:-0.022em}
h3{letter-spacing:-0.016em}
h4,h5,h6{letter-spacing:-0.01em}

button,input,select,textarea{font-family:inherit;letter-spacing:inherit}
button,.btn,.wl-btn,.wl-go,.wl-submit{font-weight:600;letter-spacing:-0.008em}
strong,b{font-weight:600}

/* ---------------------------------------------------------------------
   Numerals — money, balances, rates.
   Tabular so digits hold their column and don't jitter when a value
   ticks; slashed zero so 0 can never be read as O.
   --------------------------------------------------------------------- */
.wl-num,.wl-amt,.wl-q,.wl-f,.wl-usd,.wl-abig,.wl-swapout,
[data-wl="total"],[data-wl="delta-amt"],[data-wl="delta-pct"],
[data-px],[data-ch]{
  font-family:var(--font-mono);
  font-variant-numeric:tabular-nums slashed-zero;
  font-feature-settings:"tnum","zero";
  letter-spacing:-0.01em;
}

/* numbers sitting in a column don't always need the mono voice —
   Inter's own tabular figures are enough */
table,.tabular,.wl-stats b{font-variant-numeric:tabular-nums}

/* addresses, hashes, tx ids, seed words */
code,kbd,samp,pre,.wl-mono,.wl-addr,.wl-hash{
  font-family:var(--font-mono);
  font-variant-numeric:slashed-zero;
  font-feature-settings:"zero";
  letter-spacing:0;
}

/* small uppercase labels need POSITIVE tracking to stay legible */
.wl-kicker,.wl-eyebrow,.wl-label{
  letter-spacing:0.09em;
  text-transform:uppercase;
  font-weight:500;
}

/* icon fonts must keep their own face */
[class^="icon-"],[class*=" icon-"],.ni,em.icon{font-family:"icomoon" !important}

/* ---------------------------------------------------------------------
   Sizes — only on screens we own
   --------------------------------------------------------------------- */
body.wl-site,body.wl-auth-page,body.wl-lock-page,
#wl-home,#wl-profile,#wl-history,#wl-send,#wl-receipt,#wl-coin,#wl-connect{
  font-size:var(--t-body);
  line-height:1.5;
}
body.wl-site h1{font-size:var(--t-h1)}
body.wl-site h2{font-size:var(--t-h2)}
body.wl-site h3{font-size:var(--t-h3)}
.t-display{font-size:var(--t-display);font-weight:680;line-height:1.1;letter-spacing:-0.035em}
@media (min-width:900px){.t-display{font-size:52px;letter-spacing:-0.042em}}


/* =====================================================================
   GLOBAL FONT LOCK — IBM Plex
   Sans for everything, Mono for figures, addresses and tickers.
   `!important` at this breadth is what beats the per-component
   font-family declarations spread across the other stylesheets.
   ===================================================================== */
html,body,body *,
input,select,textarea,button,
h1,h2,h3,h4,h5,h6{
  font-family:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif !important;
  font-feature-settings:normal !important;
}

/* money, balances, prices, addresses, hashes and tickers keep the Mono cut */
.wl-num,.wl-amt,.wl-q,.wl-f,.wl-usd,.wl-abig,.wl-swapout,.wl-mono,.wl-addr,.wl-hash,
[data-wl="total"],[data-wl="delta-amt"],[data-wl="delta-pct"],
[data-px],[data-ch],
.wl-sim-bal .amt,.wl-sim-bal .delta,.wl-sim-tok .sub,.wl-sim-tok .q,.wl-sim-tok .f,
.wl-sim-side .v,.wl-sim-side .d,.wl-sim-side .act .amt,
.wl-coin span,.wl-rail .mkt .px,.wl-rail .mkt .ch,
code,kbd,samp,pre{
  font-family:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace !important;
  font-variant-numeric:tabular-nums slashed-zero;
}

/* icon fonts must keep their own face */
[class^="icon-"],[class*=" icon-"],.ni,em.icon,
[class^="ni-"],[class*=" ni-"]{
  font-family:"icomoon" !important;
  font-weight:400 !important;
}
