/* Kyle's current heading hierarchy. These scoped user decisions take precedence
   over earlier local display shorthands. Protected campaign/sample interiors
   have no matching root. Real font weights, never synthetic thinning. */
:is(body[data-fc-site=tools],body[data-fc-library],body[data-fc-professional],body[data-fc-fieldnotes],body.fcg-parent,body.family-front,.fc-studio,.fc-page-state,.fc-family,[data-fc-header]) :is(h1,h2,h3,h4,h5,h6){font-synthesis:none}
:is(body[data-fc-site=tools],body[data-fc-library],body[data-fc-professional],body[data-fc-fieldnotes],body.fcg-parent,body.family-front,.fc-studio,.fc-page-state,.fc-family,[data-fc-header]) h1,:is(body[data-fc-site=tools],body[data-fc-library],body[data-fc-professional],body[data-fc-fieldnotes],body.fcg-parent,body.family-front,.fc-studio,.fc-page-state,.fc-family,[data-fc-header]) h1 .fc-arc-line{font-weight:700!important;letter-spacing:0!important}
:is(body[data-fc-site=tools],body[data-fc-library],body[data-fc-professional],body[data-fc-fieldnotes],body.fcg-parent,body.family-front,.fc-studio,.fc-page-state,.fc-family,[data-fc-header]) h2{font-weight:600!important;letter-spacing:.005em!important}
:is(body[data-fc-site=tools],body[data-fc-library],body[data-fc-professional],body[data-fc-fieldnotes],body.fcg-parent,body.family-front,.fc-studio,.fc-page-state,.fc-family,[data-fc-header]) h3{font-weight:500!important;letter-spacing:.008em!important}
:is(body[data-fc-site=tools],body[data-fc-library],body[data-fc-professional],body[data-fc-fieldnotes],body.fcg-parent,body.family-front,.fc-studio,.fc-page-state,.fc-family,[data-fc-header]) :is(h4,h5,h6){font-weight:500!important;letter-spacing:.01em!important}
:is(body[data-fc-site=tools],body[data-fc-library],body[data-fc-professional],body[data-fc-fieldnotes],body.fcg-parent,body.family-front,.fc-studio,.fc-page-state,.fc-family,[data-fc-header]) :is(h2,h3,h4,h5,h6) :is(span,strong,b,a){font-weight:inherit!important;letter-spacing:inherit!important}
:is(body[data-fc-site=tools],body[data-fc-library],body[data-fc-professional],body[data-fc-fieldnotes],body.fcg-parent,body.family-front,.fc-studio,.fc-page-state,.fc-family,[data-fc-header]) :is(button,summary,label,legend,strong,b,.fc-action-primary,.fc-action-secondary,.fc-action-tertiary):not(:is(h1,h2,h3,h4,h5,h6) *){font-weight:600!important}
.fc-family__brand{font-weight:600!important}
.fc-tools-page-story [data-story-card] h3{font-weight:400!important;letter-spacing:0!important}
.fc-research-figure .fc-research-heading h3{font-weight:500!important;letter-spacing:.01em!important;line-height:1.18}

.family-front .direction-name{font-weight:500!important;letter-spacing:.008em!important}
/* Small display numbers and quoted examples are not primary page headings. */
body[data-fc-site=tools] .fc-step-number{font-weight:600!important;letter-spacing:.005em!important}
body[data-fc-professional] .proof-question{font-weight:500!important;letter-spacing:.008em!important}
/* Handwritten attribution keeps the same genuine regular face as its note. */
body.fcg-parent .fcg-player-character figcaption strong{font-weight:400!important;letter-spacing:0!important}
:is(.fc-hand-note,.fc-dialogue) :is(strong,b){font-weight:inherit!important}

/* 2026-10-13 scoped hierarchy correction: eyebrows are quiet reading labels,
   not accent-color identity. Bind the semantic role on each label so a local
   light surface inside dark mode resolves its own --fc-text correctly. */
:is(body[data-fc-site=tools],body[data-fc-library],body[data-fc-professional],body[data-fc-fieldnotes],body.fcg-parent,body.family-front,.fc-studio,.fc-page-state,.fc-family,[data-fc-header]) :is(.eyebrow,.hero-eyebrow,.eyebrow-line,.fc-eyebrow,.fc-kicker,.fcg-kicker,.kicker,.case-kicker,.release-kicker,.spaces-eyebrow,.dialog-kicker,.compare-bar-kicker,.wvl-eyebrow){--fc-eyebrow-color:var(--fc-text,#0F2D46);color:var(--fc-eyebrow-color)!important}
:is(body[data-fc-site=tools],body[data-fc-library],body[data-fc-professional],body[data-fc-fieldnotes],body.fcg-parent,body.family-front,.fc-studio,.fc-page-state,.fc-family,[data-fc-header]) :is(.eyebrow,.hero-eyebrow,.eyebrow-line,.fc-eyebrow,.fc-kicker,.fcg-kicker,.kicker,.case-kicker,.release-kicker,.spaces-eyebrow,.dialog-kicker,.compare-bar-kicker,.wvl-eyebrow) *{color:inherit!important}
