/* Shared PXLS hierarchy. Important rules in this layer supersede the older
   unlayered page overrides, without another specificity escalation. */
@layer pxls-typography {
  :root {
    --pxls-title:clamp(36px,3.8vw,58px);
    --pxls-section:clamp(27px,2.6vw,36px);
    --pxls-card:20px;
    --pxls-body:14px;
    --pxls-helper:12px;
    --pxls-action:11px;
  }
  main h1 {font-size:var(--pxls-title)!important;font-weight:600!important;line-height:1.07!important;letter-spacing:-.035em!important;text-wrap:balance}
  main h2 {font-size:var(--pxls-section)!important;font-weight:600!important;line-height:1.2!important;letter-spacing:-.025em!important;text-wrap:balance}
  main h3 {font-size:var(--pxls-card)!important;font-weight:600!important;line-height:1.3!important;letter-spacing:-.015em!important}
  main h4 {font-size:16px!important;font-weight:600!important;line-height:1.4!important;letter-spacing:0!important}
  main p {font-size:var(--pxls-body)!important;line-height:1.7!important}
  main :is(.directory-kicker,.support-kicker,.eyebrow) {font-size:10px!important;line-height:1.4!important;font-weight:600!important;letter-spacing:.1em!important;text-transform:uppercase!important}
  main :is(small,.help-footnote,.about-note,.plan-note,.muted-note) {font-size:var(--pxls-helper)!important;line-height:1.5!important}
  /* Cards and compact workspace headers are subordinate to page sections. */
  :is(.knowledge-grid-v75,.premium-plan-v72,.about-principles,.tool-support-panel,.workspace-card,.tool-card,.tool-card-shell-v75,.notification-panel,.pxls-drawer,.pxls-chat-popup) :is(h2,h3) {font-size:var(--pxls-card)!important;line-height:1.3!important;letter-spacing:-.015em!important}
  :is(.tool-card,.tool-card-shell-v75,.workspace-tool-link) :is(h2,h3,strong) {font-size:14px!important;line-height:1.35!important;letter-spacing:0!important}
  .all-tools-letter-v75>h2,.section-title {font-size:18px!important;line-height:1.35!important;letter-spacing:0!important}
  .runner-title h1 {font-size:clamp(23px,2.4vw,30px)!important;line-height:1.2!important;letter-spacing:-.025em!important}
  /* Only action labels are uppercase; navigation, tool names and entered text
     retain their casing. Icon-only controls keep their icon font size. */
  :is(button,input[type=submit],input[type=button],a.xp-primary,a.xp-secondary,a.welcome-primary,a.welcome-secondary,a.home81-premium-cta,a.workspace-view-all-v127,a.btn,a.button):not(:is(.icon-button,.profile-button,.mobile-menu,.nav-category,.favorite-button,.tool-favorite,.tour-x-v128,.tour-invite-x,.guide-close,[aria-label^="Close"],[aria-label^="Dismiss"])) {
    font-size:var(--pxls-action)!important;font-weight:600!important;line-height:1.35!important;letter-spacing:.06em!important;text-transform:uppercase!important;
  }
  :is(.xp-primary,.xp-secondary,.welcome-primary,.welcome-secondary,.home81-premium-cta,.runner-actions button) {min-height:40px;white-space:normal;text-align:center}
  :is(.xp-primary,.xp-secondary,.welcome-primary,.welcome-secondary,.home81-premium-cta,.runner-actions button)>span:not([class*="icon"]):not([class*="badge"]) {font-size:inherit!important;letter-spacing:inherit!important}
  .notification-title strong,.pxls-chat-popup header strong {font-size:14px!important;line-height:1.4!important}
  .notification-copy b {font-size:13px!important;line-height:1.4!important}
  .notification-copy small {font-size:12px!important;line-height:1.5!important}
  .notification-tag {font-size:9px!important;letter-spacing:.08em!important}
  .site-legal-footer {font-size:11px!important;line-height:1.5!important}
}
