/* Shared typography for the redesigned platform. Page layouts keep ownership
   of their sizing; the live HUD keeps its compact controls and positions. */
body.ui-refined {
  --font-ui: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-display: 'Space Grotesk', 'Plus Jakarta Sans', sans-serif;
  --face: var(--font-ui);
  --display: var(--font-display);
  --mono: var(--font-display);
  --ui-font: var(--font-ui);
  --pa-font: var(--font-ui);
  --muted: #a6a8b1;
  --faint: #858b97;
  font-family: var(--font-ui);
  -webkit-font-smoothing: antialiased;
}
body.ui-refined :is(button,input,select,textarea,.xp-surface,.auth-layout,.auth-date-dialog) { font-family:var(--font-ui); }
body.ui-refined :is(h1,h2,h3),
body.ui-refined :is(.page-shell,.hud-experience) :is(h1,h2,h3) { font-family:var(--font-display); letter-spacing:-.03em; }
body.ui-refined :is(.ar-bal,.shop-wallet strong,.ph-wallet strong,.dr-week b,.ce-total-line strong) { font-family:var(--font-display); font-variant-numeric:tabular-nums; }
body.ui-refined :is(.ce-total-line strong,.dr-top h2) { letter-spacing:-.04em; }

/* Secondary copy remains readable on charcoal, without brightening surfaces. */
body.ui-refined :is(.ln-heading p,.ph-page-head p,.cd-page-head p,.ce-heading p) { font-size:14px; line-height:1.65; color:#a9acb6; }
body.ui-refined :is(.ln-feature-copy p,.ph-section-intro p,.cd-form-head p) { font-size:13px; line-height:1.7; color:#a9acb6; }
body.ui-refined :is(.ln-results-label p,.ln-card-meta small,.ph-meta,.cd-caption) { font-size:12px; line-height:1.6; color:#a1a7b3; }
body.ui-refined .cd-creator-menu strong { font-family:var(--font-ui); }
body.ui-refined :is(.cd-creator-menu small,.cd-field-hint) { color:#a1a7b3; font-size:11px; line-height:1.5; }
body.ui-refined .ce-root :is(.ce-eligibility,.ce-input-note,.ce-result-note) { font-size:11px; }
body.ui-refined .xp-surface { --xp-muted:#a3aeb8; }
body.ui-refined .xp-section-head p { font-size:14px; }

/* Header and navigation use the same reading rhythm on every page. */
body.ui-refined.nv-ready .kk-top .nv-search-trigger { font-size:13px; color:#a9acb6; }
body.ui-refined.nv-ready .kk-nav { font-size:13px; }
body.ui-refined.nv-ready :is(.kk-ch-body small,.nv-channel-status) { color:#9da1ac; }
body.ui-refined.nv-ready .kk-side-h { color:#9398a5; font-size:10px; letter-spacing:.11em; }
body.ui-refined.nv-ready .kk-burger { font-family:var(--font-ui); }
body.ui-refined.nv-ready .kk-burger svg { stroke-width:1.7; }

/* Store copy was compressed into 8–11px labels. Give the useful copy room. */
body.ui-refined.store-page.nv-ready :is(.shop-heading h1,.shop-hero h2,.shop-reward-card h2) { font-family:var(--font-display); letter-spacing:-.03em; font-weight:700; }
body.ui-refined.store-page.nv-ready .shop-heading p { font-size:14px; color:#a9acb6; }
body.ui-refined.store-page.nv-ready .shop-hero p { font-size:14px; line-height:1.65; }
body.ui-refined.store-page.nv-ready .shop-reward-card p { font-size:12px; color:#aaadb6; line-height:1.7; }
body.ui-refined.store-page.nv-ready .shop-hero-copy>small { font-size:11px; color:#a6a9b2; }
body.ui-refined.store-page.nv-ready .shop-primary { min-height:44px; font-size:13px; font-weight:700; }
body.ui-refined.store-page.nv-ready .shop-eyebrow { font-size:10px; letter-spacing:.11em; }
body.ui-refined :is(.ln-heading h1,.dr h1) { font-weight:700; }

/* Calm, consistent feedback; existing interaction animations stay in charge. */
body.ui-refined :is(.landing-button,.shop-primary,.cd-button,.ph-button,.xp-button) { transition:transform .2s cubic-bezier(.22,1,.36,1),background .2s,border-color .2s,color .2s; }
body.ui-refined :is(.landing-button,.shop-primary,.cd-button,.ph-button,.xp-button):active:not(:disabled) { transform:translateY(1px) scale(.985); }
body.ui-refined :is(.landing-button,.shop-primary,.cd-button,.ph-button,.xp-button):focus-visible { outline:2px solid #d2d7e1; outline-offset:4px; }

@media(max-width:700px) {
  body.ui-refined :is(.ln-heading p,.ph-page-head p,.cd-page-head p,.ce-heading p) { font-size:13px; }
  body.ui-refined.nv-ready .kk-nav { font-size:14px; }
  body.ui-refined.store-page.nv-ready .shop-hero p { font-size:13px; }
  body.ui-refined .ce-root :is(.ce-input-note,.ce-result-note) { font-size:10px; }
}
@media(prefers-reduced-motion:reduce) {
  body.ui-refined :is(.landing-button,.shop-primary,.cd-button,.ph-button,.xp-button) { transition:none; }
  body.ui-refined :is(.landing-button,.shop-primary,.cd-button,.ph-button,.xp-button):active:not(:disabled) { transform:none; }
}
