/* Generated by design-system-stage-1/scripts/build-design-css.cjs. Edit the source CSS and tokens. */
/* Prop Firm Challenges. Page composition only; shared records and controls live in
   catalog-components.source.css and all values resolve through tokens.css. */
.challenge-page { padding:var(--space-xl) 0 var(--space-section); background:var(--color-surface-page); color:var(--color-text); font:var(--font-weight-body) var(--font-body)/var(--line-height-body) var(--font-family); }
.challenge-page [id] { scroll-margin-top:calc(var(--space-section) + var(--space-2xl)); }
body.has-top-offer:not(.is-offer-collapsed) .challenge-page [id] { scroll-margin-top:calc(var(--space-section) + var(--space-2xl) * 2); }
.challenge-page * { box-sizing:border-box; }
.challenge-page :is(h1,h2,h3,p,ol,ul,dl) { margin:0; }
.challenge-page>.container { width:calc(100% - var(--space-xl) * 2); max-width:var(--width-page); margin-inline:auto; padding:0; }
.challenge-page a { text-underline-offset:var(--space-xs); }
.challenge-page :is(.challenge-section-kicker,.challenge-card-kicker,.pf-segment-field-label) { color:var(--color-accent); font:var(--font-weight-label) var(--font-label)/var(--line-height-caption) var(--font-family-data); letter-spacing:var(--tracking-label); text-transform:uppercase; }
.challenge-page h2 { color:var(--color-text); font-size:var(--font-h2); font-weight:var(--font-weight-heading); line-height:var(--line-height-heading); letter-spacing:var(--tracking-heading); text-wrap:balance; }
.challenge-page .challenge-hero { min-height:0; padding:var(--space-lg) 0 var(--space-2xl); }

.challenge-overview { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(var(--width-card-min),.92fr); gap:var(--space-section); padding:var(--space-section) 0 var(--space-2xl); }
.challenge-answer { min-width:0; }
.challenge-answer h2 { max-width:16ch; margin-top:var(--space-md); font-size:var(--display-chapter); }
.challenge-answer-copy { display:grid; gap:var(--space-lg); margin-top:var(--space-lg); }
.challenge-answer-copy>p { max-width:var(--width-reading); color:var(--color-text-muted); font-size:var(--font-body); line-height:var(--line-height-reading); }
.challenge-answer-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:var(--stroke-width) solid var(--color-border); }
.challenge-answer-links a { display:flex; min-height:var(--button-height); align-items:center; gap:var(--space-md); padding:var(--space-md) var(--space-lg) var(--space-md) 0; border-bottom:var(--stroke-width) solid var(--color-border); color:var(--color-text); font-size:var(--font-body-small); font-weight:var(--font-weight-label); text-decoration:none; }
.challenge-answer-links a:nth-child(even) { padding-inline-start:var(--space-lg); border-inline-start:var(--stroke-width) solid var(--color-border); }
.challenge-answer-links a :is(i,svg) { width:var(--select-chevron-size); height:var(--select-chevron-size); flex:none; margin-inline-start:auto; color:var(--color-accent); transition:transform var(--duration-fast) var(--ease-out); }
.challenge-answer-links a:is(:hover,:focus-visible) { color:var(--color-accent); }
.challenge-answer-links a:is(:hover,:focus-visible) :is(i,svg) { transform:translateX(var(--space-xs)); }
.challenge-decision-card { display:grid; align-content:start; min-width:0; padding-inline-start:var(--space-2xl); border-inline-start:var(--stroke-width) solid var(--color-border); }
.challenge-decision-card h2 { max-width:13ch; margin-top:var(--space-md); font-size:var(--font-h2); }
.challenge-decision-list { padding:0; margin-top:var(--space-lg); border-top:var(--stroke-width) solid var(--color-border); list-style:none; }
.challenge-decision-list li { display:grid; grid-template-columns:var(--primitive-size-32) minmax(0,1fr); gap:var(--space-md); padding:var(--space-md) 0; border-bottom:var(--stroke-width) solid var(--color-border); }
.challenge-decision-list b { color:var(--color-accent); font:var(--font-weight-label) var(--font-caption)/var(--line-height-caption) var(--font-family-data); }
.challenge-decision-list li>span { display:grid; gap:var(--space-xs); }
.challenge-decision-list strong { color:var(--color-text); font-size:var(--font-body-small); }
.challenge-decision-list small { color:var(--color-text-muted); font-size:var(--font-caption); line-height:var(--line-height-body); }
.challenge-decision-card>p { padding-top:var(--space-md); color:var(--color-accent); font-size:var(--font-body-small); font-weight:var(--font-weight-label); }

.challenge-proof-strip { display:grid; grid-template-columns:auto auto minmax(0,1fr) auto; gap:var(--space-xl); align-items:center; padding:var(--space-md) 0; border-block:var(--stroke-width) solid var(--color-border); color:var(--color-text-muted); font-size:var(--font-body-small); }
.challenge-proof-strip>* { display:flex; align-items:center; gap:var(--space-sm); min-width:0; }
.challenge-proof-strip strong { color:var(--color-text); }
.challenge-proof-strip a { justify-self:end; color:var(--color-text); font-weight:var(--font-weight-label); text-decoration:none; }
.challenge-proof-strip a:is(:hover,:focus-visible) { color:var(--color-accent); }
.challenge-proof-strip :is(i,svg) { width:var(--select-chevron-size); height:var(--select-chevron-size); color:var(--color-accent); }

.challenge-workspace { padding-top:var(--space-section); }
.challenge-section-head { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:var(--space-xl); align-items:end; }
.challenge-section-head h2 { max-width:18ch; margin-top:var(--space-md); font-size:var(--display-chapter); }
.challenge-section-head p { max-width:var(--width-reading-wide); margin-top:var(--space-md); color:var(--color-text-muted); font-size:var(--font-body); text-wrap:pretty; }
.challenge-sort { display:grid; min-width:var(--sort-control-width); gap:var(--space-sm); }
.challenge-sort .ds-select { width:100%; }
.challenge-controls { display:grid; grid-template-columns:minmax(var(--filter-search-min-width),.78fr) minmax(0,1.22fr); gap:var(--space-md); align-items:end; margin-top:var(--space-xl); }
.challenge-search-field,.challenge-filter-block { display:grid; min-width:0; gap:var(--space-sm); }
.challenge-search-control { position:relative; display:block; min-width:0; }
.challenge-search-control>.ds-field { min-height:var(--field-height); padding-inline-start:calc(var(--space-md) + var(--select-chevron-size) + var(--space-sm)); background:var(--color-surface-card); transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out); }
.challenge-search-control>:is(i,svg) { position:absolute; z-index:1; inset-inline-start:var(--space-md); top:50%; width:var(--select-chevron-size); height:var(--select-chevron-size); color:var(--color-text-decorative); pointer-events:none; transform:translateY(-50%); transition:color var(--duration-fast) var(--ease-out); }
.challenge-search-control:focus-within>:is(i,svg) { color:var(--color-accent); }
.challenge-filter-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:var(--space-md); min-width:0; }
.challenge-filters--primary { background:var(--color-surface-control); }
.challenge-more-filters { position:relative; }
.challenge-more-filters>summary { justify-content:flex-start; min-width:var(--width-swatch); list-style:none; }
.challenge-more-filters>summary::-webkit-details-marker { display:none; }
.challenge-more-filters>summary .challenge-more-chevron { margin-inline-start:auto; }
.challenge-more-chevron { transition:transform var(--duration-fast) var(--ease-out); }
.challenge-more-filters[open]>summary { border-color:var(--color-accent); background:var(--color-accent-soft); color:var(--color-accent); }
.challenge-more-filters[open] .challenge-more-chevron { transform:rotate(180deg); }

.challenge-active-filters { display:flex; align-items:center; justify-content:flex-start; gap:var(--space-sm); min-height:var(--filter-chip-height); margin-top:var(--space-md); padding-bottom:calc(var(--space-sm) + var(--space-xs)); }
.challenge-active-filters[hidden],.challenge-row.is-hidden,.challenge-show-more[hidden] { display:none!important; }
.challenge-active-filters-label { flex:none; color:var(--color-text-decorative); font:var(--font-weight-label) var(--font-caption)/var(--line-height-caption) var(--font-family-data); letter-spacing:var(--tracking-label); text-transform:uppercase; }
.challenge-active-filter-list { display:flex; min-width:0; flex:0 1 auto; flex-wrap:wrap; gap:var(--space-sm); }
.challenge-active-filter,.challenge-clear-filters { border:0; background:transparent; font:inherit; cursor:pointer; }
.challenge-active-filter { display:inline-flex; min-height:var(--filter-chip-height); align-items:center; gap:var(--space-xs); padding:0 var(--badge-padding-inline); border:var(--stroke-width) solid var(--color-border); border-radius:var(--radius-pill); background:var(--color-accent-soft); color:var(--color-text); font-size:var(--font-caption); font-weight:var(--font-weight-label); }
.challenge-active-filter:is(:hover,:focus-visible) { border-color:var(--color-accent); color:var(--color-accent); }
.challenge-active-filter-remove { width:var(--primitive-size-14); height:var(--primitive-size-14); flex:none; color:var(--color-accent); }
.challenge-clear-filters { flex:none; min-height:var(--filter-chip-height); padding-inline:var(--space-sm); color:var(--color-text-muted); font-size:var(--font-caption); font-weight:var(--font-weight-label); text-decoration:none; }
.challenge-clear-filters:is(:hover,:focus-visible) { color:var(--color-accent); }
.challenge-list-meta { display:flex; justify-content:space-between; gap:var(--space-lg); margin-top:0; padding:var(--space-md) 0; border-top:var(--stroke-width) solid var(--color-border); color:var(--color-text-muted); font-size:var(--font-body-small); }
.challenge-active-filters[hidden]+.challenge-list-meta { margin-top:var(--space-md); }
.challenge-list-meta strong { color:var(--color-text); font-family:var(--font-family-data); }
.challenge-results-head { display:grid; grid-template-columns:minmax(var(--record-identity-min-width),var(--record-identity-width)) var(--record-fit-width) minmax(var(--record-facts-min-width),1fr) var(--record-commercial-width); align-items:center; margin-top:var(--space-md); border-block:var(--stroke-width) solid var(--color-border); color:var(--color-text-decorative); font:var(--font-weight-label) var(--font-caption)/var(--line-height-caption) var(--font-family); text-transform:uppercase; }
.challenge-results-head>span { min-width:0; padding:var(--space-md); }
.challenge-results-head-rules { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:0!important; }
.challenge-results-head-rules>span { min-width:0; padding:var(--space-md); }
.challenge-results { display:grid; gap:0; margin-top:0; border-bottom:var(--stroke-width) solid var(--color-border); }
.challenge-row { min-width:0; content-visibility:auto; contain-intrinsic-size:auto var(--record-min-height); }
.challenge-row+.challenge-row { border-top:var(--stroke-width) solid var(--color-border-strong); }
.challenge-results .ds-decision-record { border:0; border-radius:0; background:transparent; overflow:visible; }
.challenge-results .ds-decision-record:is(:hover,:focus-within) { border-color:transparent; background:var(--color-surface-hover); transform:none; }
.challenge-results .ds-decision-record:has(.ds-decision-record__details[open]) { border-color:transparent; transform:none; }
.challenge-results .ds-decision-record__main { min-height:var(--ranking-row-min-height); }
.challenge-results .ds-decision-record__main>*+*,.challenge-results .ds-decision-record__facts>span+span,.challenge-results .ds-decision-record__evidence>*+* { border-inline-start:0; }
.challenge-results .ds-decision-record__identity { align-items:center; padding-top:var(--record-main-padding); }

/* Challenge-specific content inside the canonical decision record. */
.challenge-firm-copy { min-width:0; }
.challenge-fit-trigger { display:grid; justify-items:center; gap:var(--space-sm); }
.challenge-fit-score { display:grid; gap:var(--space-xs); color:var(--color-accent); font-family:var(--font-family-data); }
.challenge-fit-score small { color:var(--color-text-decorative); font-size:var(--primitive-size-10); font-weight:var(--font-weight-label); letter-spacing:var(--tracking-label); }
.challenge-fit-score b { font-size:var(--font-metric); line-height:var(--primitive-line-control); }
.challenge-fit-trigger>strong { color:var(--color-text-muted); font-size:var(--font-caption); font-weight:var(--font-weight-label); }
.challenge-program-scope { display:grid!important; gap:var(--space-xs); margin-top:var(--space-sm); padding-top:var(--space-sm); border-top:var(--stroke-width) solid var(--color-border); }
.challenge-program-scope b { color:var(--color-text-muted); font-size:var(--font-caption); font-weight:var(--font-weight-body); overflow-wrap:anywhere; }
.challenge-program-evidence .challenge-pill { white-space:nowrap; }

.challenge-details-hint { margin-inline-start:auto; color:var(--color-text-decorative); font-size:var(--font-caption); font-weight:var(--font-weight-body); }
.challenge-details-body { padding:0 var(--record-detail-padding) var(--record-detail-padding); }
.challenge-decision-note { display:grid; grid-template-columns:minmax(var(--record-note-label-min-width),.24fr) minmax(0,1fr); gap:var(--space-xl); padding:var(--space-lg) 0; }
.challenge-decision-note p { color:var(--color-text-muted); font-size:var(--font-body-small); line-height:var(--line-height-reading); }
.challenge-detail-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-block:var(--stroke-width) solid var(--color-border); }
.challenge-detail-grid>div { min-width:0; padding:var(--space-lg); }
.challenge-detail-grid>div:first-child { padding-inline-start:0; }
.challenge-detail-grid>div+div { border-inline-start:var(--stroke-width) solid var(--color-border); }
.challenge-detail-grid dt { color:var(--color-text-decorative); font-size:var(--font-caption); font-weight:var(--font-weight-label); }
.challenge-detail-grid dd { margin:var(--space-sm) 0 0; color:var(--color-text-muted); font-size:var(--font-body-small); overflow-wrap:anywhere; }
.challenge-detail-grid a,.challenge-scope { color:var(--color-accent); }
.challenge-scope { margin-top:var(--space-md)!important; font-size:var(--font-caption); }
.challenge-card-actions { display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-sm); padding-top:var(--space-md); }
.challenge-card-actions-label { margin-inline-end:auto; color:var(--color-text-decorative); font:var(--font-weight-label) var(--font-caption)/var(--line-height-caption) var(--font-family-data); letter-spacing:var(--tracking-label); text-transform:uppercase; }
.challenge-results-footer { display:flex; justify-content:center; margin-top:var(--space-xl); }
.challenge-show-more { min-width:var(--load-more-control-min-width); }
.challenge-no-results { display:none; margin-top:var(--space-md); padding:var(--space-xl); border:var(--stroke-width) dashed var(--color-border-strong); border-radius:var(--radius-card); color:var(--color-text-muted); text-align:center; }
.challenge-no-results.is-visible { display:block; }

.challenge-guide,.challenge-rule-map,.challenge-methodology { margin-top:var(--space-section); }
.challenge-guide>h2,.challenge-rule-map h2,.challenge-methodology h2 { margin-top:var(--space-md); }
.challenge-guide-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-xl); margin-top:var(--space-xl); }
.challenge-guide-card { min-width:0; padding-top:var(--space-lg); border-top:var(--stroke-width) solid var(--color-border); }
.challenge-guide-step { display:block; margin-bottom:var(--space-lg); color:var(--color-accent); font-family:var(--font-family-data); font-size:var(--font-caption); }
.challenge-guide h3 { color:var(--color-text); font-size:var(--font-h4); font-weight:var(--font-weight-heading); }
.challenge-guide p { max-width:38ch; margin-top:var(--space-sm); color:var(--color-text-muted); font-size:var(--font-body-small); }
.challenge-rule-map { display:grid; grid-template-columns:minmax(var(--width-card-min),.72fr) minmax(0,1.28fr); gap:var(--space-section); padding-block:var(--space-section); border-block:var(--stroke-width) solid var(--color-border); }
.challenge-rule-map-head p { max-width:var(--width-reading); margin-top:var(--space-md); color:var(--color-text-muted); }
.challenge-rule-map-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.challenge-rule-map-grid a { display:grid; grid-template-columns:var(--primitive-size-32) minmax(0,1fr) var(--primitive-size-18); gap:var(--space-md); min-height:var(--record-rule-link-min-height); align-items:start; padding:var(--space-lg) var(--space-lg) var(--space-lg) 0; border-top:var(--stroke-width) solid var(--color-border); color:inherit; text-decoration:none; }
.challenge-rule-map-grid a:nth-child(even) { padding-inline-start:var(--space-lg); border-inline-start:var(--stroke-width) solid var(--color-border); }
.challenge-rule-index { color:var(--color-accent); font:var(--font-weight-label) var(--font-caption)/var(--line-height-caption) var(--font-family-data); }
.challenge-rule-copy { display:grid; gap:var(--space-sm); }
.challenge-rule-copy strong { color:var(--color-text); font-size:var(--font-body); }
.challenge-rule-copy>span { color:var(--color-text-muted); font-size:var(--font-body-small); }
.challenge-rule-map-grid :is(i,svg) { width:var(--select-chevron-size); height:var(--select-chevron-size); color:var(--color-text-decorative); transition:color var(--duration-fast),transform var(--duration-fast); }
.challenge-rule-map-grid a:is(:hover,:focus-visible) :is(strong,i,svg) { color:var(--color-accent); }
.challenge-rule-map-grid a:is(:hover,:focus-visible) :is(i,svg) { transform:translate(var(--space-2xs),calc(var(--space-2xs) * -1)); }
.challenge-methodology { position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:var(--space-2xl); align-items:center; padding:var(--space-2xl); border:var(--stroke-width) solid var(--color-border); border-inline-start:var(--focus-width) solid var(--color-accent); border-radius:var(--radius-card); background:var(--color-accent-soft); }
.challenge-methodology p { max-width:var(--width-reading); margin-top:var(--space-md); color:var(--color-text-muted); }
.challenge-methodology-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:var(--space-lg); }
.challenge-methodology-link { display:inline-flex; min-height:var(--button-compact-height); align-items:center; gap:var(--space-sm); border-bottom:var(--stroke-width) solid var(--color-border-strong); color:var(--color-text); font-size:var(--font-body-small); font-weight:var(--font-weight-label); text-decoration:none; }
.challenge-methodology-link:is(:hover,:focus-visible) { border-color:var(--color-accent); color:var(--color-accent); }
.challenge-methodology-link :is(i,svg) { width:var(--select-chevron-size); height:var(--select-chevron-size); }

@media (max-width: 1180px) {
  .challenge-overview { gap:var(--space-2xl); }
  .challenge-controls { grid-template-columns:1fr; }
  .challenge-results-head { display:none; }
  .challenge-results { margin-top:var(--space-md); border-top:var(--stroke-width) solid var(--color-border); }
}
@media (max-width: 860px) {
  .challenge-page>.container { width:calc(100% - var(--space-lg) * 2); }
  .challenge-page .challenge-hero { padding:var(--space-lg) 0 var(--space-2xl); }
  .challenge-overview,.challenge-section-head,.challenge-rule-map,.challenge-methodology { grid-template-columns:1fr; }
  .challenge-decision-card { padding:var(--space-xl) 0 0; border-inline-start:0; border-top:var(--stroke-width) solid var(--color-border); }
  .challenge-proof-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .challenge-proof-strip a { justify-self:start; }
  .challenge-section-head h2 { font-size:var(--font-h2); }
  .challenge-sort { width:100%; max-width:var(--sort-control-max-width); }
  .challenge-filter-row { grid-template-columns:1fr; }
  .challenge-more-filters>summary { width:100%; }
  .challenge-detail-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .challenge-detail-grid>div:nth-child(3) { border-inline-start:0; border-top:var(--stroke-width) solid var(--color-border); padding-inline-start:0; }
  .challenge-detail-grid>div:nth-child(4) { border-top:var(--stroke-width) solid var(--color-border); }
  .challenge-methodology-actions { justify-content:flex-start; }
}
@media (max-width: 640px) {
  .challenge-page { padding-top:var(--space-lg); }
  .challenge-answer h2 { font-size:var(--font-h2); }
  .challenge-answer-links { grid-template-columns:1fr; }
  .challenge-answer-links a:nth-child(even) { padding-inline-start:0; border-inline-start:0; }
  .challenge-proof-strip { grid-template-columns:1fr; gap:var(--space-sm); }
  .challenge-filters--primary { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-flow:row; }
  .challenge-active-filters { flex-wrap:wrap; }
  .challenge-active-filters-label { width:100%; }
  .challenge-list-meta>span:last-child,.challenge-details-hint { display:none; }
  .challenge-decision-note,.challenge-detail-grid { grid-template-columns:1fr; gap:var(--space-sm); }
  .challenge-detail-grid>div,.challenge-detail-grid>div+div,.challenge-detail-grid>div:nth-child(3) { padding:var(--space-md) 0; border-inline-start:0; border-top:var(--stroke-width) solid var(--color-border); }
  .challenge-detail-grid>div:first-child { border-top:0; }
  .challenge-card-actions { display:grid; grid-template-columns:1fr; }
  .challenge-card-actions-label { margin:0; }
  .challenge-card-actions .ds-button { width:100%; }
  .challenge-guide-grid,.challenge-rule-map-grid { grid-template-columns:1fr; }
  .challenge-rule-map-grid a:nth-child(even) { padding-inline-start:0; border-inline-start:0; }
  .challenge-methodology { padding:var(--space-xl); }
}
@media (prefers-reduced-motion:reduce) {
  .challenge-page * { scroll-behavior:auto!important; }
  .challenge-more-chevron,.challenge-search-control>:is(i,svg),.challenge-answer-links :is(i,svg),.challenge-rule-map-grid :is(i,svg) { transition:none; }
}
