/**
 * 256Bank Typography
 *
 * Loads Inter and IBM Plex Mono via Google Fonts.
 * Provides text-style utility classes.
 *
 * For self-hosted fonts (recommended for production), download from:
 *   - Inter: https://github.com/rsms/inter
 *   - IBM Plex: https://github.com/IBM/plex
 * Then replace the @import below with @font-face declarations.
 */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&display=swap');

/* ============ APP TEXT STYLES (Inter) ============ */
.t-display {
  font-family: var(--font-app-sans);
  font-weight: var(--fw-light);
  font-size: var(--fs-36);
  letter-spacing: var(--ls-snug);
  line-height: var(--lh-tight);
}

.t-large {
  font-family: var(--font-app-sans);
  font-weight: var(--fw-light);
  font-size: var(--fs-28);
  letter-spacing: var(--ls-compact);
  line-height: var(--lh-snug);
}

.t-balance {
  font-family: var(--font-app-sans);
  font-weight: var(--fw-light);
  font-size: var(--fs-40);
  letter-spacing: var(--ls-snug);
  line-height: var(--lh-snug);
  font-variant-numeric: tabular-nums;
}

.t-amount {
  font-family: var(--font-app-sans);
  font-weight: var(--fw-light);
  font-size: var(--fs-40);
  letter-spacing: var(--ls-snug);
  line-height: var(--lh-tight);
  font-variant-numeric: tabular-nums;
}

.t-amount-cents {
  font-size: var(--fs-24);
  font-weight: var(--fw-regular);
  font-variant-numeric: tabular-nums;
}

.t-h-mid {
  font-family: var(--font-app-sans);
  font-weight: var(--fw-regular);
  font-size: var(--fs-22);
  letter-spacing: var(--ls-compact);
  line-height: var(--lh-snug);
}

.t-h-small {
  font-family: var(--font-app-sans);
  font-weight: var(--fw-medium);
  font-size: var(--fs-16);
  letter-spacing: var(--ls-minimal);
  line-height: var(--lh-snug);
}

.t-body {
  font-family: var(--font-app-sans);
  font-weight: var(--fw-regular);
  font-size: var(--fs-14);
  letter-spacing: var(--ls-minimal);
  line-height: var(--lh-normal);
}

.t-small {
  font-family: var(--font-app-sans);
  font-weight: var(--fw-regular);
  font-size: var(--fs-12);
  letter-spacing: var(--ls-minimal);
  line-height: var(--lh-normal);
}

.t-label {
  font-family: var(--font-app-sans);
  font-weight: var(--fw-medium);
  font-size: var(--fs-10);
  letter-spacing: var(--ls-label);
  line-height: var(--lh-normal);
  text-transform: uppercase;
}

.t-ledger {
  font-family: var(--font-mono);
  font-weight: var(--fw-regular);
  font-size: var(--fs-11);
  letter-spacing: var(--ls-minimal);
  line-height: var(--lh-normal);
}

.t-tx-amount {
  font-family: var(--font-mono);
  font-weight: var(--fw-medium);
  font-size: var(--fs-14);
  letter-spacing: var(--ls-minimal);
  font-variant-numeric: tabular-nums;
}

/* ============ DOCUMENT TEXT STYLES (Helvetica Neue) ============ */
.d-h1 {
  font-family: var(--font-document-sans);
  font-weight: var(--fw-medium);
  font-size: var(--fs-36);
  letter-spacing: var(--ls-snug);
  line-height: var(--lh-snug);
}

.d-h2 {
  font-family: var(--font-document-sans);
  font-weight: var(--fw-medium);
  font-size: var(--fs-26);
  letter-spacing: var(--ls-compact);
  line-height: var(--lh-snug);
}

.d-hero {
  font-family: var(--font-document-sans);
  font-weight: var(--fw-light);
  font-size: var(--fs-48);
  letter-spacing: var(--ls-tight);
  line-height: var(--lh-tight);
}

.d-body {
  font-family: var(--font-document-sans);
  font-weight: var(--fw-regular);
  font-size: var(--fs-15);
  letter-spacing: var(--ls-minimal);
  line-height: var(--lh-relaxed);
}

.d-lead {
  font-family: var(--font-document-sans);
  font-weight: var(--fw-regular);
  font-size: var(--fs-17);
  letter-spacing: var(--ls-minimal);
  line-height: var(--lh-relaxed);
}

.d-meta {
  font-family: var(--font-document-sans);
  font-weight: var(--fw-medium);
  font-size: var(--fs-11);
  letter-spacing: var(--ls-extreme);
  text-transform: uppercase;
}

/* ============ AUTO-APPLIED DEFAULTS ============ */
/* Apply app font to anything inside the app shell */
.app, .app * {
  font-family: var(--font-app-sans);
}

/* Apply document font to anything inside marketing/doc surfaces */
.document, .document * {
  font-family: var(--font-document-sans);
}

/* Numbers always tabular when inside an amount */
.amount, .tx-amount, .balance, [data-tabular] {
  font-variant-numeric: tabular-nums;
}
