/* Readable product typography. Display headings and monetary values retain their hierarchy. */
:root {
  --type-body: 16px;
  --type-copy: 15px;
  --type-control: 14px;
  --type-small: 13px;
  --type-caption: 12px;
  --muted: #a3a5b2;
}

body {
  font-size: var(--type-body);
  line-height: 1.55;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* Client navigation and actions */
.announcement { min-height: 40px; height: auto; padding: 7px 16px; font-size: 13px; }
.announcement a { font-size: 13px; }
.new-tag { font-size: 10px; }
.main-nav { font-size: 14px; gap: 25px; }
.header-actions, .header-actions .language-btn { font-size: 14px; }
.btn, .btn.small, .header-actions .btn, .hero-ctas .btn { font-size: 14px; }
.btn, .hero-ctas .btn { min-height: 46px; }
.btn.small { min-height: 42px; }
.mobile-nav a, .mobile-nav button { font-size: 15px; }
.tab-btn, .search-box input, .filter-select { font-size: 14px; }
.search-box input, .filter-select { min-height: 44px; }
.empty-state p { font-size: 15px; line-height: 1.8; }

/* Client explanations and service catalog */
.hero-copy > p, .page-hero p, .detail-description, .auth-visual p,
.detail-body p, .legal-copy p {
  font-size: 16px;
  line-height: 1.85;
}
.hero-copy > p { max-width: 480px; }
.eyebrow, .overline { font-size: 12px; }
.hero-note, .chains-label, .price-label, .price small, .result-count,
.breadcrumbs, .parameter span, .purchase-meta div {
  font-size: 13px;
  line-height: 1.6;
}
.hero-note, .chains-label, .overline, .price-label, .result-count, .breadcrumbs {
  color: #9fa1ae;
}
.art-badge, .art-badge.top, .art-badge.bottom { font-size: 13px; }
.art-badge strong { font-size: 14px; }
.art-badge small { font-size: 12px; color: #b0acbd; }
.section-head p, .service-card .description, .how-copy p, .step p {
  font-size: 15px;
  line-height: 1.8;
  color: #a7a8b5;
}
.service-card .description { min-height: 54px; }
.link-arrow, .section-head > .link-arrow, .card-action { font-size: 14px; }
.badge, .network-pill, .card-networks .network-pill { font-size: 12px; }
.network-pill { padding: 5px 8px; }
.service-disclaimer { font-size: 13px; line-height: 1.75; color: #9ea0ad; }
.feature-item h3 { font-size: 15px; line-height: 1.5; }
.feature-item p, .cta-banner p { font-size: 14px; line-height: 1.75; color: #a0a2b0; }
.step-num { font-size: 13px; width: 32px; height: 32px; }
.parameter strong { font-size: 15px; }
.purchase-panel > p { font-size: 14px; }
.purchase-meta div { margin: 15px 0; }
.detail-body p { color: #a4a7b7; }

/* Client forms, wallet dialogs and account data */
.field label, .auth-panel > .subtext, .auth-panel .auth-switch,
.checkbox-label, .form-error, .account-nav > a, .account-user strong,
.account-subtitle, .balance-card > div, .wallet-summary {
  font-size: 14px;
  line-height: 1.7;
}
.field input, .field select, .field textarea { font-size: 16px; min-height: 46px; }
.field label { color: #cac2d7; }
.field small, .account-user small, .balance-card small, .deposit-step,
.address-display, .data-table code, .wallet-option small {
  font-size: 13px;
  line-height: 1.75;
}
.field small, .account-user small, .balance-card small { color: #aa9eb5; }
.notice, .notice.warning, .notice.green, .legal-copy .notice {
  font-size: 14px;
  line-height: 1.8;
}
.account-subtitle, .account-panel > p, .deposit-info p, .modal > p {
  font-size: 15px;
  line-height: 1.8;
  color: #aa9bb7;
}
.deposit-info h3, .wallet-option strong { font-size: 16px; }
.data-table { font-size: 14px; }
.data-table th { font-size: 13px; color: #aa98b6; padding: 16px 13px; }
.data-table td { padding: 18px 13px; color: #c4b3d0; }
.data-table code { color: #b49cc1; }
.toast { font-size: 15px; line-height: 1.75; }

/* Client footer: useful links should not look like fine print. */
.footer-brand p { font-size: 14px; line-height: 1.8; color: #a0a2b0; }
.footer-group, .footer-group strong { font-size: 13px; }
.footer-group { gap: 14px; color: #a6a8b5; }
.footer-group strong { color: #ddd9e7; }
.footer-bottom { font-size: 12px; line-height: 1.8; color: #9295a3; }
.footer-status { color: #a3a6b2; }

/* Chinese admin workspace */
.adm-root { font-size: 15px; line-height: 1.6; --adm-muted: #657189; }
.adm-sidebar nav a, .adm-sidebar__foot > a { font-size: 15px; }
.adm-brand small, .adm-sidebar nav a em, .adm-kicker { font-size: 12px; }
.adm-brand small { color: #717d94; }
.adm-brand--login small { color: #e0d9ff; }
.adm-config-dot, .adm-top-config, .adm-readonly,
.adm-admin span, .adm-crumb, .adm-crumb strong { font-size: 13px; }
.adm-page-head p, .adm-confirm p, .adm-config-path dl > div { font-size: 15px; line-height: 1.75; }
.adm-panel h2, .adm-setting h2 { font-size: 16px; }
.adm-btn, .adm-page-actions .adm-btn { font-size: 14px; min-height: 40px; }
.adm-range button { font-size: 13px; min-height: 36px; }
.adm-kpi small, .adm-kpi em { font-size: 13px; white-space: normal; line-height: 1.6; }
.adm-kpi > span { flex-shrink: 0; }
.adm-panel header p, .adm-trend-total, .adm-chart-legend, .adm-chart-labels,
.adm-order-list small, .adm-block, .adm-popular small,
.adm-preview-banner, .adm-preview-banner strong, .adm-preview-banner small {
  font-size: 13px;
  line-height: 1.6;
}
.adm-chart-labels { gap: 8px; }
.adm-order-list strong, .adm-order-list > b, .adm-popular strong,
.adm-person strong, .adm-search input, .adm-table td { font-size: 14px; }
.adm-table th { font-size: 13px; height: 48px; color: #677389; }
.adm-table td { padding-top: 16px; padding-bottom: 16px; }
.adm-table-btn { font-size: 13px; padding: 7px 6px; }
.adm-person small, .adm-tag, .adm-badge, .adm-consent, .adm-no-consent,
.adm-service-card__body > div > span, .adm-setting > b { font-size: 12px; }
.adm-person small, .adm-order-list small, .adm-block, .adm-popular small,
.adm-panel header p, .adm-chart-labels, .adm-no-consent { color: #6e7a90; }
.adm-search { height: 42px; }
.adm-service-card p { font-size: 14px; line-height: 1.75; min-height: 48px; }
.adm-service-card ul { font-size: 13px; line-height: 1.7; }
.adm-service-card footer { flex-wrap: wrap; }
.adm-text-link { font-size: 14px; }
.adm-modal label, .adm-campaign label, .adm-login__form label { font-size: 14px; }
.adm-modal input, .adm-modal textarea, .adm-modal select,
.adm-campaign input, .adm-campaign textarea, .adm-campaign select,
.adm-rule-row input, .adm-rule-row select, .adm-login__form input {
  font-size: 15px;
  line-height: 1.6;
}
.adm-modal input:not([type="checkbox"]), .adm-modal select,
.adm-campaign input:not([type="checkbox"]), .adm-campaign select { min-height: 43px; }
.adm-form-hint, .adm-form-readonly, .adm-file-drop small, .adm-template-upload small,
.adm-step-pane > p, .adm-recipient-option small, .adm-review span,
.adm-warning-note, .adm-ready-note, .adm-empty small, .adm-error span,
.adm-setting p, .adm-login__form p, .adm-back-link {
  font-size: 13px;
  line-height: 1.75;
}
.adm-form-hint, .adm-file-drop small, .adm-template-upload small,
.adm-step-pane > p, .adm-recipient-option small, .adm-review span,
.adm-setting p, .adm-login__form p, .adm-back-link { color: #6c7890; }
.adm-file-drop strong, .adm-recipient-option strong, .adm-review strong,
.adm-steps li, .adm-steps li span, .adm-template-tabs button { font-size: 14px; }
.adm-steps b { font-size: 13px; }

/* Larger type needs breathing room at tablet widths. */
@media (max-width: 1200px) and (min-width: 761px) {
  .adm-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .adm-grid-2 { grid-template-columns: 1fr; }
  .adm-page-head { flex-wrap: wrap; align-items: flex-start; }
  .adm-page-actions { justify-content: flex-start; }
  .adm-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 1050px) {
  .main-nav { display: none; }
  .menu-btn { display: inline-flex; }
  .mobile-nav.open {
    display: flex;
    position: absolute;
    left: 20px;
    right: 20px;
    top: 80px;
    background: #18141f;
    border: 1px solid #41344e;
    border-radius: 11px;
    padding: 14px;
    flex-direction: column;
    gap: 5px;
    box-shadow: 0 20px 50px #0008;
  }
  .feature-item { padding-left: 18px; padding-right: 18px; }
}

@media (max-width: 760px) {
  .adm-steps li:not(:last-child)::after { width: 20px; margin: 0 5px; }
  .adm-order-list > div { grid-template-columns: 30px minmax(0, 1fr) auto; }
  .adm-range { flex-wrap: wrap; }
  .adm-range button { flex: 1 1 auto; font-size: 13px; padding: 7px 10px; }
  .adm-login__form input, .adm-modal input, .adm-modal textarea, .adm-modal select,
  .adm-campaign input, .adm-campaign textarea, .adm-campaign select,
  .adm-rule-row input, .adm-rule-row select { font-size: 16px; }
  .adm-rule-row { grid-template-columns: 1fr 1fr; }
  .adm-rule-row .adm-icon-btn { justify-self: end; }
  .adm-person { min-width: 175px; }
}

@media (max-width: 700px) {
  .announcement { flex-wrap: wrap; gap: 4px 12px; font-size: 12px; }
  .announcement > span { justify-content: center; flex-wrap: wrap; }
  .announcement a { font-size: 12px; }
  .header-actions .language-btn { font-size: 14px; }
  .mobile-nav.open { top: 68px; }
  .hero-copy > p { max-width: 100%; font-size: 16px; }
  .hero-ctas { flex-wrap: wrap; }
  .hero-ctas .btn { font-size: 14px; padding: 12px 16px; }
  .section-head { flex-wrap: wrap; }
  .section-head > .link-arrow { margin-top: 0; font-size: 14px; }
  .section-head p { max-width: none; font-size: 15px; }
  .service-card .description { font-size: 15px; min-height: 0; }
  .card-bottom { gap: 12px; flex-wrap: wrap; }
  .card-action { font-size: 14px; }
  .feature-item { padding: 20px 0; }
  .footer-links { flex-wrap: wrap; gap: 24px 18px; }
  .footer-group, .footer-group strong { font-size: 13px; }
  .footer-bottom { font-size: 12px; }
  .catalog-search { flex-wrap: wrap; }
  .search-box { flex: 1 1 190px; }
  .search-box input, .filter-select { font-size: 16px; }
  .search-box input { min-width: 0; }
  .filter-select { width: auto; max-width: 100%; }
  .tab-btn { font-size: 14px; padding: 10px 12px; }
  .account-nav > a { font-size: 13px; padding: 11px 10px; }
  .account-subtitle { font-size: 15px; }
  .account-panel > p, .deposit-info p, .legal-copy p { font-size: 15px; }
  .auth-panel > .subtext, .auth-panel .auth-switch { font-size: 14px; }
  .notice, .legal-copy .notice { font-size: 14px; }
  .toast { font-size: 15px; }
}
