/* The storefront's smaller reading scale. Keep color, glass, artwork and component
   behavior in their existing stylesheets; preserve source quotes and wording. */
#ozark-storefront {
  --type-body: 1rem;
  --type-copy: .9375rem;
  --type-secondary: .875rem;
  --type-label: .8125rem;
  --type-heading-weight: 700;
  --type-title-weight: 650;
  --type-control-weight: 600;
}

#ozark-storefront :where(p, li, dd) { font-weight: 400; line-height: 1.65; }
#ozark-storefront :where(small, label, time) { font-size: var(--type-label); line-height: 1.5; }
#ozark-storefront :where(h2) { font-weight: var(--type-heading-weight); line-height: 1.25; }
#ozark-storefront :where(h3, h4) { font-weight: var(--type-title-weight); line-height: 1.35; }
#ozark-storefront :where(strong, b) { font-weight: 600; }
#ozark-storefront :where(button, input, select, textarea) { font-family: inherit; }
#ozark-storefront :where(input, select, textarea) { font-size: 1rem; line-height: 1.5; }
#ozark-storefront :is(.site-header .nav a, .oz-discovery-trigger span) { font-weight: 600; }
#ozark-storefront a:is(.btn-primary, .btn-secondary, .btn-ghost, .pc-btn, .pc-details-link, .home-bundle-button, .home-bundle-details),
#ozark-storefront :is(.site-offer-bar__link, .product-resource-links a, .product-community-join, .product-review-decision-actions a) { font-weight: 650; line-height: 1.4; }
#ozark-storefront.product-page .hero-cta .btn-primary { font-weight: 650; }

/* Home: retain the three image cards and make every supporting line readable. */
#ozark-storefront.home-shine :is(.shop-lineup-heading h2, .home-bundle-card h2, .dt-title, .op-heading h2, .home-community h2, .review-heading h2) { font-weight: var(--type-heading-weight); line-height: 1.25; }
#ozark-storefront.home-shine :is(.shopper-intro, .dt-sub, .op-heading p, .home-community-intro) { font-size: var(--type-body); font-weight: 400; line-height: 1.7; }
#ozark-storefront.home-shine :is(.pc-note, .dt-desc, .op-step-copy p, .home-bundle-copy p, .home-community-invite p) { font-size: var(--type-copy); font-weight: 400; line-height: 1.65; }
#ozark-storefront.home-shine :is(.pc-pill, .home-bundle-label, .home-bundle-label strong, .home-bundle-media > span, .home-bundle-copy > small, .home-bundle-price-label, .acc-label .lbl, .op-kicker, .op-step-label, .home-community-eyebrow) { font-size: var(--type-label); font-weight: 600; line-height: 1.5; letter-spacing: .045em; }
#ozark-storefront.home-shine :is(.home-products .pc-pill, .home-bundle-label > span, .era-human-disclosure__title > span, .home-community-invite-label, .review-decision-copy > span) { font-size: var(--type-label); font-weight: 600; line-height: 1.5; }
#ozark-storefront.home-shine .home-products .pc-body > .pc-pill { font-size: var(--type-label); font-weight: 600; line-height: 1.5; }
#ozark-storefront.home-shine :is(.pc-title, .dt-name, .op-step-copy h3) { font-weight: 650; line-height: 1.35; }
#ozark-storefront.home-shine :is(.pc-product-path strong, .home-bundle-includes b, .purchase-assurance strong) { font-size: var(--type-copy); font-weight: 600; line-height: 1.45; }
#ozark-storefront.home-shine :is(.pc-product-path small, .pc-owner-link, .home-bundle-includes small, .home-bundle-purchase p, .home-bundle-owner, .home-bundle-owner span, .dt-link, .op-track small, .op-track em, .op-program-card small, .op-flash-flow small, .purchase-assurance small) { font-size: var(--type-secondary); line-height: 1.5; }
#ozark-storefront.home-shine :is(.home-bundle-includes small, .home-bundle-purchase p, .home-bundle-purchase p span, .home-bundle-owner span) { font-weight: 400; }
#ozark-storefront.home-shine .home-bundle-purchase p span { text-decoration: none; }
#ozark-storefront.home-shine :is(.home-bundle-price strong, .pc-price .amount) { font-weight: 750; line-height: 1.2; }
#ozark-storefront.home-shine :is(.home-bundle-button, .home-bundle-details, .home-bundle-owner, .op-track small, .op-program-card a, .op-flash-flow strong) { font-weight: 600; }
#ozark-storefront.home-shine .review-verified-total :is(span, strong) { font-size: var(--type-secondary); font-weight: 600; line-height: 1.5; }
#ozark-storefront.home-shine .review-card-media__caption { font-size: var(--type-label); }
#ozark-storefront.home-shine .op-program-card :is(small, span) { font-weight: 500; }
#ozark-storefront .review-card-media__direct-link { font-size: var(--type-label); line-height: 1.4; }

/* Human Behaviour and common disclosures use the same label/copy hierarchy. */
#ozark-storefront :is(.era-human-disclosure__title small, .era-human__eyebrow > span, .era-human__motion-head > span, .era-human__setting-label, .home-zen-faq-heading small) { font-size: var(--type-label); font-weight: 600; line-height: 1.5; }
#ozark-storefront .era-human :is(h2, h3) { font-weight: 700; line-height: 1.3; }
#ozark-storefront .era-human :is(.era-human__settings > div > p, .era-human__scope, .era-human__button p) { font-size: var(--type-copy); font-weight: 400; line-height: 1.65; }
#ozark-storefront .era-human__motion figcaption :is(strong, span) { font-size: var(--type-secondary); line-height: 1.5; }

/* Product purchase panels, features, gameplay and instructions. */
#ozark-storefront.product-page :is(.collection-showcase-title, .mod-showcase__copy h2, .product-included h2, .product-reviews-copy h2, .zen-preflight__intro h2, .gpc-final-copy h2) { font-weight: 700; line-height: 1.25; }
#ozark-storefront.product-page :is(.checkout-disclosure p, .price-note, .compat-line, .product-community-invite p, .gpc-final-copy p) { font-size: var(--type-copy); font-weight: 400; line-height: 1.65; }
#ozark-storefront.product-page :is(.hero-check, .product-community-invite-label, .product-community-eyebrow) { font-size: var(--type-secondary); font-weight: 500; line-height: 1.55; }
#ozark-storefront.product-page :is(.hero-badge-tl, .mod-showcase__eyebrow, .pnp-badge, .product-reviews-eyebrow, .gpc-stage-status, .gpc-access-mark) { font-size: var(--type-label); font-weight: 600; line-height: 1.5; letter-spacing: .045em; }
#ozark-storefront.product-page :is(.shop-product-stage .hero-badge-tl, .product-reviews-copy .product-reviews-eyebrow, .product-review-decision > div > span, .gpc-final-copy > span, .gpc-final-cta .cta-pills span) { font-size: var(--type-label); font-weight: 600; line-height: 1.5; }
#ozark-storefront.product-page :is(.era-purchase-resources, .aura-purchase-resources) > summary { font-size: var(--type-secondary); font-weight: 600; line-height: 1.5; }
#ozark-storefront.product-page .era-decision__watch-copy strong { font-size: var(--type-copy); font-weight: 600; line-height: 1.45; }
#ozark-storefront.product-page .era-decision__watch-copy small { font-size: var(--type-label); font-weight: 400; line-height: 1.5; }
#ozark-storefront.product-page .era-discord-reviews :is(time, header a) { font-size: var(--type-label); font-weight: 400; line-height: 1.5; }
#ozark-storefront.product-page .mod-showcase__action-copy strong { font-size: var(--type-copy); font-weight: 600; line-height: 1.45; }
#ozark-storefront.product-page .mod-showcase__action-copy small { font-size: var(--type-secondary); font-weight: 400; line-height: 1.5; }
#ozark-storefront.product-page :is(.collection-feature > summary strong, .product-included li strong) { font-size: var(--type-body); font-weight: 650; line-height: 1.4; }
#ozark-storefront.product-page :is(.product-included li span, .product-included li p, .aura-included__description) { font-size: var(--type-copy); font-weight: 400; line-height: 1.65; }
#ozark-storefront.product-page :is(.aura-included__eyebrow, .aura-included__toggle, .product-included summary) { font-weight: 600; }
#ozark-storefront.product-page .aura-included__eyebrow { font-size: var(--type-label); line-height: 1.5; }
#ozark-storefront.product-page :is(#eraNewMods, #auraMods) :is(.mod-showcase__media-label, .mod-showcase__catalog-group > span, .mod-showcase__catalog summary small, .mod-showcase__feature-note > span) { font-size: var(--type-label); font-weight: 600; line-height: 1.5; }
#ozark-storefront.product-page :is(#eraNewMods, #auraMods) .mod-showcase__catalog-group header > span { font-size: var(--type-label); font-weight: 600; line-height: 1.5; }
#ozark-storefront.product-page :is(#eraNewMods, #auraMods) :is(.mod-showcase__feature-tab strong, .mod-showcase__direct-link, .mod-showcase__setup-link, .mod-showcase__catalog summary strong) { font-size: var(--type-secondary); font-weight: 600; line-height: 1.45; }
#ozark-storefront.product-page :is(#eraNewMods, #auraMods) :is(.mod-showcase__feature-copy h3, .mod-showcase__catalog-group h4) { font-weight: 650; line-height: 1.35; }
#ozark-storefront.product-page :is(#eraNewMods, #auraMods) :is(.mod-showcase__feature-note small, .mod-showcase__catalog-group p, .mod-showcase__catalog-group li, .mod-showcase__note) { font-size: var(--type-secondary); font-weight: 400; line-height: 1.65; }
#ozark-storefront.product-page :is(.gd-badge, .gd-score-label, .rd-hint, .gd-reward-head, .pnp-step-num, .pnp-promo-badge, .pnp-promo-sub, .pnp-stat span) { font-size: var(--type-label); font-weight: 500; line-height: 1.5; }
#ozark-storefront.product-page :is(.gd-sub, .gd-note, .pnp-step p) { font-weight: 400; line-height: 1.65; }
#ozark-storefront.product-page :is(.gd-shoot, .gd-toggle-label, .gd-reward-cta) { font-weight: 600; }
#ozark-storefront.product-page :is(.gd-reward-status, .gd-reward-count) { font-size: var(--type-secondary); line-height: 1.5; }

/* The installation illustration is a readable preview, including on phones. */
#ozark-storefront.product-page .install-showcase :is(.install-showcase__live, .install-app__brand small, .install-app__demo-pill, .install-app__rail-title, .install-app__script-card span, .install-app__script-card small, .install-app__rail-meta small, .install-screen__head > div > span, .install-screen__state, .install-programmer__summary small, .install-connect__browser > span, .install-connect__zen small, .install-flash__slots small, .install-flash__progress small, .install-flash__receipt small) { font-size: var(--type-label); font-weight: 500; line-height: 1.45; letter-spacing: .025em; }
#ozark-storefront.product-page .install-showcase :is(.install-app__phases button span, .install-app__phases button b, .install-app__toggle span, .install-app__rail nav span, .install-app__script-card strong, .install-app__rail-meta strong, .install-programmer__summary strong, .install-control > span strong, .install-control > span > b, .install-programmer__handoff span, .install-programmer__handoff strong, .install-connect__browser strong, .install-connect__checks span, .install-flash__slots strong, .install-flash__receipt strong, .install-showcase__cta small) { font-size: var(--type-secondary); font-weight: 600; line-height: 1.5; }
#ozark-storefront.product-page .install-showcase :is(.install-showcase__benefits li, .install-screen__head p, .install-connect__zen p, .install-flash__receipt p) { font-size: var(--type-secondary); font-weight: 400; line-height: 1.6; }
/* The old gloss sheet forces these meaningful labels down to 8px. */
#ozark-storefront.product-page .install-showcase :is(.install-app__rail-title, .install-app__script-card small, .install-screen__head > div > span, .install-programmer__summary small, .install-control > span > b small, .install-connect__browser small, .install-connect__link > span, .install-connect__zen small, .install-connect__zen em, .install-flash__slots small, .install-flash__slots em, .install-flash__timeline small, .install-flash__receipt small, .install-showcase__cta small) { font-size: var(--type-label) !important; font-weight: 500; line-height: 1.45; }
#ozark-storefront.product-page .install-showcase :is(.install-connect__browser strong, .install-connect__checks > span, .install-flash__progress > strong, .install-flash__receipt b) { font-size: var(--type-secondary); font-weight: 600; line-height: 1.5; }
#ozark-storefront.product-page .install-showcase .install-screen__state { font-size: var(--type-secondary) !important; }
#ozark-storefront.product-page .install-showcase :is(.install-flash__slots small, .install-flash__slots em, .install-flash__timeline small) { white-space: normal; }
#ozark-storefront.product-page .install-showcase .install-flash__timeline { grid-template-columns: minmax(0, 1fr) 16px minmax(0, 1fr) 16px minmax(0, 1fr); }
#ozark-storefront.product-page .install-showcase .install-flash__timeline > span { min-width: 0; grid-template-columns: 22px minmax(0, 1fr); }
#ozark-storefront.product-page .install-showcase .install-flash__timeline small { min-width: 0; overflow-wrap: break-word; }
#ozark-storefront.product-page .install-showcase .install-screen__head h3 { font-size: 1.125rem; font-weight: 650; line-height: 1.35; }
#ozark-storefront.product-page .install-showcase :is(.install-app__script-card strong, .install-connect__browser > span small) { white-space: normal; overflow-wrap: break-word; }
#ozark-storefront.product-page .install-showcase .install-showcase__live span { font-weight: 600; }
#ozark-storefront.product-page .install-showcase .install-programmer__summary :is(small, strong) { white-space: normal; overflow-wrap: break-word; }
#ozark-storefront.product-page .install-showcase .install-app__screen { overflow-y: auto; }

/* Setup FAQs and the Library product. */
#ozark-storefront.product-page :is(.zen-preflight__kicker, .zen-preflight__kicker span, .zen-preflight__support small, .zen-preflight__question small, .zen-preflight__requirements span) { font-size: var(--type-label); font-weight: 600; line-height: 1.5; }
#ozark-storefront.product-page .zen-preflight__support strong { font-size: var(--type-copy); font-weight: 650; line-height: 1.45; }
#ozark-storefront.product-page .zen-preflight__support a { font-size: var(--type-secondary); font-weight: 600; line-height: 1.5; }
#ozark-storefront.product-page .zen-preflight__question strong { font-size: var(--type-body); font-weight: 650; line-height: 1.4; }
#ozark-storefront.product-page :is(.zen-preflight__answer, .zen-preflight__answer p) { font-size: var(--type-body); font-weight: 400; line-height: 1.65; }
#ozark-storefront.product-page :is(.zen-preflight__privacy, .zen-preflight__requirements, .zen-preflight__support p) { font-size: var(--type-secondary); font-weight: 400; line-height: 1.6; }
#ozark-storefront.product-page .zen-preflight__requirements li { font-size: var(--type-secondary); font-weight: 500; line-height: 1.5; }
#ozark-storefront.product-page :is(.gpc-stage-caption strong, .gpc-stage-caption span, .gpc-manifest-head span, .gpc-manifest-head small, .gpc-purchase-panel .tag, .gpc-library-grid .tag, .compare-vs, .gpc-compare .compare-col > span) { font-size: var(--type-label); font-weight: 500; line-height: 1.5; }
#ozark-storefront.product-page :is(.gpc-manifest-grid i, .gpc-manifest-grid small, .gpc-manifest-grid em) { font-size: var(--type-secondary); font-weight: 500; line-height: 1.5; }
#ozark-storefront.product-page :is(.gpc-library-grid h4, .gpc-manifest-grid b, .gpc-compare h3) { font-weight: 650; line-height: 1.4; }
#ozark-storefront.product-page .gpc-manifest-head strong { font-size: var(--type-copy); font-weight: 600; line-height: 1.45; }
#ozark-storefront.product-page .product-review-source a { font-weight: 600; line-height: 1.5; }

/* Guides, updates and account instructions; long-form copy already uses 16px. */
#ozark-storefront > main:is(.guide-page, .era-playbook, .product-update-page, .welcome-main) :is(.guide-kicker, .ep-kicker, .guide-section-head > span, .mod-eyebrow, .product-update-kicker, .product-update-section-label, .product-update-hero__status > span, .welcome-kicker, .eyebrow) { font-size: var(--type-label); font-weight: 600; line-height: 1.5; letter-spacing: .045em; }
#ozark-storefront > main.guide-page .guide-link-grid b { font-size: var(--type-secondary); font-weight: 600; line-height: 1.4; }
#ozark-storefront > main.guide-page .compatibility-table dd > span { font-size: var(--type-secondary); font-weight: 400; line-height: 1.6; }
#ozark-storefront > main.guide-page .compatibility-table dd > strong { font-size: var(--type-copy); font-weight: 600; line-height: 1.45; }
#ozark-storefront > main.guide-page .zen-ready-mark { font-size: var(--type-label); font-weight: 600; line-height: 1.5; }
#ozark-storefront > main.product-update-page :is(.product-update-notes h3, .product-update-deep-dive__paths h3, .product-update-steps h3, .product-update-hero__status strong) { font-weight: 650; line-height: 1.35; }
#ozark-storefront > main.product-update-page :is(.product-update-boundary strong, .product-update-highlights strong) { font-weight: 600; }
#ozark-storefront > main.welcome-main :is(.welcome-progress-head, .welcome-progress-head strong, .welcome-statuses, .welcome-statuses strong) { font-size: var(--type-secondary); font-weight: 600; line-height: 1.5; }
#ozark-storefront > main.content-page :is(.updated, .content-primary-link) { font-weight: 600; line-height: 1.5; }
#ozark-storefront .mod-eyebrow { font-size: var(--type-label); font-weight: 600; line-height: 1.5; }
#ozark-storefront > main.product-update-page :is(.product-update-kicker, .product-update-section-label, .product-update-record header small) { font-size: var(--type-label); font-weight: 600; line-height: 1.5; }
#ozark-storefront > main.product-update-page .product-update-hero__status > span:first-child { font-size: var(--type-label); font-weight: 500; line-height: 1.5; }
#ozark-storefront > main.welcome-main .welcome-statuses span { font-weight: 600; line-height: 1.5; }

/* Search and shopping overlays are full-size interfaces, not miniature cards. */
#ozark-storefront :is(.oz-discovery-brand small, .oz-discovery-status, .oz-explorer-heading > span, .oz-explorer-workspace-heading > span, .oz-explorer-product-eyebrow, .oz-explorer-product-facts span, .oz-explorer-product-badge, .oz-search-product-facts span) { font-size: var(--type-label); font-weight: 500; line-height: 1.5; }
#ozark-storefront :is(.oz-explorer-game strong, .oz-explorer-workspace-link strong, .oz-explorer-product-primary, .oz-explorer-product-secondary, .oz-discovery-quick button, .oz-search-product-copy > span) { font-size: var(--type-secondary); font-weight: 600; line-height: 1.45; }
#ozark-storefront :is(.oz-explorer-game small, .oz-explorer-workspace-link small, .oz-discovery-quick > span, .oz-discovery-foot, .oz-discovery-foot a) { font-size: var(--type-label); font-weight: 400; line-height: 1.5; }
#ozark-storefront .oz-explorer-product-body p { font-size: var(--type-copy); font-weight: 400; line-height: 1.6; }
#ozark-storefront :is(.oz-explorer-product-body h3, .oz-search-product-copy strong, .oz-explorer-heading strong, .oz-explorer-workspace-heading strong) { font-weight: 650; line-height: 1.35; }
#ozark-storefront :is(.oz-explorer-heading strong, .oz-explorer-workspace-heading strong) { font-size: var(--type-body); }
#ozark-storefront .oz-search-product-primary { font-size: var(--type-secondary); font-weight: 600; line-height: 1.45; }
#ozark-storefront #moreScriptsDialog .ms-eyebrow { font-size: var(--type-label); font-weight: 600; line-height: 1.5; }
#ozark-storefront #moreScriptsDialog :is(.ms-pending, .ms-footer p) { font-size: var(--type-secondary); font-weight: 400; line-height: 1.6; }
#ozark-storefront :is(.product-details-panel h2, .product-details-panel h3, .sc-panel-head strong) { font-weight: 650; line-height: 1.35; }
#ozark-storefront :is(.sc-panel-head small, .sc-toggle-copy span) { font-size: var(--type-label); font-weight: 500; line-height: 1.5; }
#ozark-storefront .sc-item-copy strong { font-size: var(--type-copy); font-weight: 600; line-height: 1.45; }
#ozark-storefront :is(.sc-item-copy small, .sc-foot) { font-size: var(--type-label); font-weight: 400; line-height: 1.55; }
#ozark-storefront .sc-empty p { font-size: var(--type-copy); font-weight: 400; line-height: 1.6; }
#ozark-storefront :is(.assistant-dialog-brand small, .assistant-dialog-status b) { font-size: var(--type-label); font-weight: 500; line-height: 1.5; }
#ozark-storefront .assistant-dialog-brand strong { font-size: 1.125rem; font-weight: 650; line-height: 1.35; }
#ozark-storefront .assistant-dialog .assistant-dialog-brand strong { font-size: 1.125rem !important; font-weight: 650; line-height: 1.35; }
#ozark-storefront .assistant-bubble p { font-size: var(--type-copy); font-weight: 400; line-height: 1.65; }
#ozark-storefront .assistant-dialog-foot a { font-size: var(--type-secondary); font-weight: 600; line-height: 1.5; }
#ozark-storefront #ozarkOfferTitle { font-weight: 700; line-height: 1.2; }
#ozark-storefront .site-footer :is(.footer-brand, .footer-column h2) { font-weight: 650; line-height: 1.4; }
#ozark-storefront .site-footer :is(p, .disclaimer, .copy) { font-weight: 400; line-height: 1.65; }

@media (max-width: 600px) {
  #ozark-storefront .oz-discovery-brand strong { font-size: 1.25rem; line-height: 1.3; white-space: normal; }
  #ozark-storefront .oz-explorer-game :is(strong, small) { white-space: normal; overflow-wrap: break-word; }
  #ozark-storefront .oz-discovery-foot { white-space: normal; }
  #ozark-storefront .oz-explorer-product-facts { flex-wrap: wrap; }
  #ozark-storefront.product-page .install-showcase .install-app__phases button span { white-space: normal; }
  #ozark-storefront.product-page .install-showcase .install-programmer__controls { grid-template-columns: minmax(0, 1fr); }
  #ozark-storefront.product-page .install-showcase .install-flash__timeline > span { grid-template-columns: minmax(0, 1fr); justify-items: center; align-self: start; text-align: center; gap: 6px; }
}
