/* Readable defaults are kept at every breakpoint, including small phones. */
body { font-size: 18px; line-height: 1.65; }
p { font-size: 18px; line-height: 1.75; }
.header-inner, main, .footer-inner { max-width: 1440px; }
.header-inner { min-height: 88px; }
.brand { font-size: 24px; }
.brand-logo { width: 38px; height: 38px; }
.main-nav a, .how-link, footer a:not(.brand) { font-size: 16px; font-weight: 600; }
.button { min-height: 50px; font-size: 17px; padding: 12px 20px; white-space: normal; }
.button.small { min-height: 44px; font-size: 16px; }
.icon-button { min-width: 42px; width: 42px; height: 42px; }
svg { width: 20px; height: 20px; }
.main-nav a svg, footer nav a svg, .how-link svg, .toolbar label>svg { width: 18px; height: 18px; }
.hero { padding: 30px 0 36px; gap: 40px; min-height: 400px; }
.hero-copy { width: 58%; }
.hero h1 { font-size: 48px; line-height: 1.16; }
.hero p { max-width: 580px; font-size: 20px; line-height: 1.65; }
.hero .hero-label, .hero-meta { font-size: 16px; }
.hero-meta { line-height: 1.65; }
.hero p strong { color: var(--text); }
.market-pulse { max-width: 480px; }
.pulse-name strong, .pulse-price strong { font-size: 18px; }
.pulse-name small, .pulse-heading, .pulse-footer, .change { font-size: 16px; }
.pulse-heading { flex-wrap: wrap; gap: 12px; }
.pulse-chart { display: none; }
.pulse-row { padding: 18px 0; }
.asset-logo { width: 36px; height: 36px; }
.stats { margin-bottom: 38px; }
.stat { padding: 24px; }
.stat-label, .stat-note { font-size: 16px; line-height: 1.6; }
.stat-value { font-size: 30px; line-height: 1.4; overflow-wrap: anywhere; }
.assets { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.asset { padding: 22px; min-height: 190px; }
.asset-top, .asset-name, .asset small, .demo-pill { font-size: 16px; }
.asset-price { font-size: 22px; flex-wrap: wrap; gap: 10px; }
.section-top p, .page-heading p, .dialog-copy, .steps p, .docs-section p, .disclosure p { font-size: 18px; }
h2, .market h2 { font-size: 30px; }
h3, .chart h3, .summary h3 { font-size: 21px; }
.section-top { align-items: center; }
.section-top h2 { margin-bottom: 12px; }
.section-top .text-button { max-width: none; margin-top: 0; }
.text-button { font-size: 16px; white-space: normal; }
.toolbar { gap: 16px; }
.toolbar label, .toolbar select, .toolbar input[type=search], .field, .note { font-size: 16px; }
.toolbar select, .field input, .field select { min-height: 46px; }
.toolbar .market-search-field input { width: 230px; min-height: 46px; }
input[type=checkbox], input[type=radio] { width: 18px; height: 18px; flex-shrink: 0; }
table { font-size: 17px; }
th { font-size: 16px; padding: 16px 20px; }
td { padding: 20px; }
.coin-button strong { font-size: 17px; }
.coin-button small { font-size: 16px; }
.coin-avatar { width: 42px; height: 42px; }
.coin-button img.coin-avatar, .summary-coin img.coin-avatar {
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 8px;
  object-fit: contain;
  box-shadow: none;
  flex-shrink: 0;
}
.coin-cell { gap: 12px; }
.asset-logo { object-fit: contain; background: transparent; }
.favorite-button { width: 40px; height: 40px; }
.favorite-button svg { width: 19px; height: 19px; }
.table-wrap { background: var(--surface); }
.live-row, .pagination, .demo-label, .footer-brand p, .footer-brand p+p { font-size: 16px; }
.live-row { flex-wrap: wrap; }
.ticker { height: 40px; font-size: 16px; }
.ticker .change, .ticker-label { font-size: 16px; }
body { padding-bottom: 40px; }
.ticker-track { gap: 30px; }
.ticker .quote img { width: 19px; height: 19px; }
.ticker .quote>span { display: none; }
.analytics-stats { grid-template-columns: repeat(3,minmax(0,1fr)); }
.analytics-stats .stat-label, .chart-legend, .chart-caption { font-size: 16px; }
.chart canvas { height: 240px; }
.launcher-layout { grid-template-columns: minmax(0,1fr) 380px; }
.allocation strong, .allocation small, .summary dl, .upload p, .upload strong { font-size: 16px; }
.reward-options { grid-template-columns: repeat(2,minmax(0,1fr)); }
.reward-options label { font-size: 16px; }
dialog { width: min(620px,calc(100% - 24px)); padding: 26px; }
.detail-metrics span, .detail-metrics strong, .trade-quote div>span, .order-available, .order-estimate { font-size: 16px; }
.wallet-banner { flex-wrap: wrap; }
.trade-quote { flex-wrap: wrap; }
.trade-quote .demo-pill { margin-left: 0; }
.wallet-banner div>span, .wallet-banner .demo-pill, .inline-error { font-size: 16px; }
.trade-tabs button { min-height: 44px; }
.portfolio-heading { flex-wrap: wrap; }
.docs-layout { grid-template-columns: 260px minmax(0,1fr); }
.docs-nav button { font-size: 16px; }
.split-grid p, .split-grid h3 { font-size: 17px; }
@media(max-width:1350px) {
  .main-nav { display: none; position: absolute; left: 0; right: 0; top: 88px; padding: 16px 24px; background: var(--surface); border-bottom: 1px solid var(--line); flex-wrap: wrap; }
  .main-nav.open { display: flex; }
  .menu-button { display: grid; }
  .how-link { display: none; }
}
@media(max-width:1000px) {
  .hero { gap: 28px; }
  .hero h1 { font-size: 40px; }
  .hero-copy { width: 57%; }
  .pulse-row { gap: 10px; }
  .stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .stat:nth-child(even) { border-right: 0; }
  .stat:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .assets { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .launcher-layout, .docs-layout { grid-template-columns: minmax(0,1fr); }
  .summary { position: static; }
  .docs-nav { position: static; flex-direction: row; overflow-x: auto; }
  .docs-nav button { white-space: nowrap; }
}
@media(max-width:700px) {
  .hero { flex-direction: column; align-items: stretch; }
  .hero-copy, .market-pulse { width: 100%; max-width: none; }
  .hero h1 { font-size: 36px; }
  .hero p { font-size: 19px; }
  .hero .hero-label, .hero-meta { font-size: 16px; }
  .hero-buttons { align-items: stretch; }
  .hero-buttons .button { font-size: 17px; min-height: 50px; }
  .pulse-name strong, .pulse-price strong { font-size: 18px; }
  .pulse-name small { font-size: 16px; }
  .pulse-chart { display: none; }
  .section-top { flex-wrap: wrap; align-items: flex-start; }
  .section-top .text-button { max-width: none; font-size: 16px; margin: 0; }
  .charts { grid-template-columns: minmax(0,1fr); }
  .stats { grid-template-columns: minmax(0,1fr); }
  .stat, .analytics-stats .stat { border-right: 0; border-bottom: 1px solid var(--line); padding: 18px 22px; }
  .stat:last-child { border-bottom: 0; }
  .stat-value, .analytics-stats .stat-value, .portfolio-stats .stat-value { font-size: 28px; }
  .assets { grid-template-columns: minmax(0,1fr); }
  .asset { min-height: 180px; }
  .asset-top, .asset-name, .asset small { font-size: 16px; }
  .asset-price { font-size: 22px; }
  .toolbar .market-search-field { width: 100%; }
  .toolbar .market-search-field input { width: 100%; font-size: 16px; }
  .toolbar label, .toolbar select { font-size: 16px; }
  .toolbar .right { margin-left: 0; }
  .allocation, .form-grid { grid-template-columns: minmax(0,1fr); }
  .field.full { grid-column: auto; }
  .reward-options { grid-template-columns: minmax(0,1fr); }
  .split-grid { grid-template-columns: minmax(0,1fr); }
  .portfolio-heading>.button { max-width: none; font-size: 16px; }
  .order-estimate { flex-direction: column; }
  .ticker-label { padding: 0 8px; }
  .footer-inner { gap: 28px 20px; }
}
@media(max-width:400px) {
  .header-inner { padding: 0 12px; }
  .header-actions { gap: 1px; }
  .brand { font-size: 20px; gap: 6px; }
  .brand-logo { width: 32px; height: 32px; }
  .header-actions .icon-button, .header-actions .search-trigger { min-width: 36px; width: 36px; height: 42px; }
  .hero-buttons { flex-direction: column; }
  .hero h1 { font-size: 32px; }
  main { padding-inline: 16px; }
  dialog { padding: 20px; }
}
