/* Shared interface typography. Document contents keep their original formatting. */
@font-face {
  font-family: 'TSL Inter';
  src: url('/fonts/InterVariable.woff2') format('woff2');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
:root {
  --font-ui: 'TSL Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-code: ui-monospace, 'Cascadia Code', Consolas, 'Liberation Mono', monospace;
}
body, body.planner-ui {
  font-family: var(--font-ui);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  font-feature-settings: normal;
  -webkit-text-size-adjust: 100%;
}
body :is(button, input, select, textarea) {
  font-family: var(--font-ui) !important;
  letter-spacing: normal;
}
button { font-weight: 500; line-height: 1.4; }
input, select, textarea { font-weight: 400; line-height: 1.5; }
input::placeholder, textarea::placeholder { font-family: inherit; font-weight: 400; }
.page-title, .fw-header h2 {
  font-size: 24px !important;
  line-height: 1.25;
  font-weight: 650;
  letter-spacing: -.02em;
}
.modal h2, .fp-dialog h3, .fw-dialog h3, .auth-form h2 {
  font-size: 20px;
  line-height: 1.3;
  font-weight: 650;
  letter-spacing: -.015em;
}
.widget-title, .fw h3, .settings-section > h3, .shopping-list-header h4 {
  font-size: 16px;
  line-height: 1.4;
  font-weight: 600;
}
.nav-label, .sidebar-nav-item { font-weight: 500; }
.workspace-caption, .fw-hint, .fp-hint, .form-group > label {
  font-size: 13px;
  line-height: 1.5;
}
.add-btn, .form-submit, .desk-button, .pw-button, .auth-button,
.fw-toolbar button, .fp-dialog footer button, .fp-shopping button {
  font-size: 14px;
  font-weight: 500;
}
.wiki-prose, .note-content { line-height: 1.7; }
body :is(pre, code, kbd, samp), body #wikiBody, body #wikiScriptBody {
  font-family: var(--font-code) !important;
}
body #page-wiki .wiki-block-editor textarea { font-family: var(--font-ui) !important; }
.fw-metrics strong, .fw-accounts strong, .transaction-amount, .finance-card-value,
.fp-card-heading strong, .fw-transaction strong { font-variant-numeric: tabular-nums; }
@media (max-width: 600px) {
  .page-title, .fw-header h2 { font-size: 22px !important; }
  .fw-toolbar nav button { font-size: 13px; }
  body :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]), select, textarea) { font-size: 16px; }
}
