/* Generated by design-system-stage-1/scripts/build-design-css.cjs. Edit the source CSS and tokens. */
/* Prop Firm Rules. Editorial consequence guides plus the canonical comparison
   ledger; all reusable geometry and values resolve through design-system tokens. */
.rules-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); }
.rules-page [id] { scroll-margin-top:calc(var(--space-section) + var(--space-2xl)); }
body.has-top-offer:not(.is-offer-collapsed) .rules-page [id] { scroll-margin-top:calc(var(--space-section) + var(--space-2xl) * 2); }
.rules-page * { box-sizing:border-box; }
.rules-page :is(h1,h2,h3,p) { margin:0; }
.rules-page>.container { width:calc(100% - var(--space-xl) * 2); max-width:var(--width-page); margin-inline:auto; padding:0; }
.rules-page a { text-underline-offset:var(--space-xs); }
.rules-kicker,.rules-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; }

.rules-hero { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(var(--width-card-min),.88fr); gap:var(--space-section); min-height:0; align-items:center; padding:var(--space-2xl) 0; }
.rules-hero-main { display:grid; align-content:center; justify-items:start; gap:var(--space-lg); min-width:0; }
.rules-hero-title { max-width:15ch; color:var(--color-text); font-size:var(--display-index); font-weight:var(--font-weight-h1); line-height:var(--line-height-h1); letter-spacing:var(--tracking-h1); text-wrap:balance; }
.rules-hero-subtitle { max-width:var(--width-reading); color:var(--color-text-muted); font-size:var(--font-h5); line-height:var(--line-height-reading); text-wrap:pretty; }
.rules-hero-actions { display:flex; flex-wrap:wrap; gap:var(--space-md); }
.rules-source-note { display:grid; align-content:start; min-width:0; gap:var(--space-md); padding-inline-start:var(--space-2xl); border-inline-start:var(--stroke-width) solid var(--color-border); }
.rules-source-note>strong { max-width:16ch; 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; }
.rules-source-note>p { max-width:var(--width-reading); color:var(--color-text-muted); font-size:var(--font-body-small); line-height:var(--line-height-reading); }
.rules-route-rail { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:var(--space-md); border-top:var(--stroke-width) solid var(--color-border); }
.rules-route-rail a { display:flex; min-height:var(--button-height); align-items:center; padding-block:var(--space-md); padding-inline:0 var(--space-md); 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; }
.rules-route-rail a:nth-child(even) { padding-inline-start:var(--space-lg); border-inline-start:var(--stroke-width) solid var(--color-border); }
.rules-route-rail a::after { content:'↗'; margin-inline-start:auto; color:var(--color-accent); }
.rules-route-rail a:is(:hover,:focus-visible) { color:var(--color-accent); }

.rules-proof-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-block:var(--stroke-width) solid var(--color-border); }
.rules-proof-strip>span { display:flex; min-width:0; align-items:baseline; gap:var(--space-sm); padding:var(--space-lg) 0; color:var(--color-text-muted); font-size:var(--font-body-small); }
.rules-proof-strip>span+span { padding-inline-start:var(--space-xl); border-inline-start:var(--stroke-width) solid var(--color-border); }
.rules-proof-strip strong { color:var(--color-text); font:var(--font-weight-heading) var(--font-metric)/var(--primitive-line-control) var(--font-family-data); font-variant-numeric:tabular-nums; }

.rules-guide-section,.rules-ranking-section { display:grid; grid-template-columns:minmax(var(--width-card-min),.65fr) minmax(0,1.35fr); gap:var(--space-section); padding-top:var(--space-section); }
.rules-ranking-section { padding-bottom:var(--space-section); }
.rules-section-head { min-width:0; }
.rules-section-head h2 { max-width:14ch; margin-top:var(--space-md); color:var(--color-text); font-size:var(--display-chapter); font-weight:var(--font-weight-heading); line-height:var(--line-height-heading); letter-spacing:var(--tracking-heading); text-wrap:balance; }
.rules-section-head p { max-width:var(--width-reading); margin-top:var(--space-lg); color:var(--color-text-muted); line-height:var(--line-height-reading); text-wrap:pretty; }
.rules-guide-ledger { border-top:var(--stroke-width) solid var(--color-border); }
.rules-guide-row { display:grid; grid-template-columns:var(--guide-ledger-columns-wide); gap:var(--space-md); min-width:0; align-items:start; padding:var(--space-lg) 0; border-bottom:var(--stroke-width) solid var(--color-border); transition:background var(--duration-fast) var(--ease-out); }
.rules-guide-row:is(:hover,:focus-within) { background:var(--color-surface-hover); }
.rules-guide-index { color:var(--color-accent); font:var(--font-weight-label) var(--font-caption)/var(--line-height-caption) var(--font-family-data); }
.rules-guide-keyword,.rules-ranking-label { 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; }
.rules-guide-title,.rules-ranking-title { color:var(--color-text); font-size:var(--font-body); line-height:var(--line-height-heading); }
.rules-guide-row p,.rules-ranking-row p { color:var(--color-text-muted); font-size:var(--font-body-small); line-height:var(--line-height-body); }
.rules-guide-row>a,.rules-ranking-row>a { display:inline-flex; align-items:center; gap:var(--space-xs); color:var(--color-accent); font-size:var(--font-body-small); font-weight:var(--font-weight-label); text-decoration:none; white-space:nowrap; }
.rules-guide-row>a::after,.rules-ranking-row>a::after { content:'↗'; }
.rules-guide-row>a:is(:hover,:focus-visible),.rules-ranking-row>a:is(:hover,:focus-visible) { color:var(--color-primary-hover); }

.rules-ranking-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.rules-ranking-row { display:grid; align-content:start; gap:var(--space-sm); min-width:0; padding:var(--space-lg) 0; border-bottom:var(--stroke-width) solid var(--color-border); }
.rules-ranking-row:nth-child(odd) { padding-inline-end:var(--space-xl); }
.rules-ranking-row:nth-child(even) { padding-inline-start:var(--space-xl); border-inline-start:var(--stroke-width) solid var(--color-border); }
.rules-ranking-row:nth-last-child(-n+2) { border-bottom:0; }
.rules-ranking-row p { max-width:42ch; }

.rules-workspace { padding-top:var(--space-section); border-top:var(--stroke-width) solid var(--color-border); }
.rules-monitor-head { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:var(--space-xl); align-items:end; }
.rules-monitor-head>div { display:grid; gap:var(--space-md); }
.rules-monitor-title { display:block; max-width:20ch; color:var(--color-text); font-size:var(--display-chapter); font-weight:var(--font-weight-heading); line-height:var(--line-height-heading); letter-spacing:var(--tracking-heading); text-wrap:balance; }
.rules-monitor-head p { max-width:var(--width-reading-wide); color:var(--color-text-muted); text-wrap:pretty; }
.rules-monitor-total { display:flex; align-items:baseline; gap:var(--space-sm); color:var(--color-text-muted); font-size:var(--font-body-small); }
.rules-monitor-total b { color:var(--color-accent); font:var(--font-weight-heading) var(--font-metric)/var(--primitive-line-control) var(--font-family-data); }
.rules-controls { display:grid; grid-template-columns:minmax(var(--filter-search-min-width),.72fr) minmax(0,1.28fr); gap:var(--space-md); align-items:end; margin-top:var(--space-xl); }
.rules-search-field,.rules-filter-field { display:grid; min-width:0; gap:var(--space-sm); }
.rules-filter-field .ds-filter-group { grid-template-columns:repeat(5,minmax(0,1fr)); }
.rules-list-meta { display:flex; justify-content:space-between; gap:var(--space-lg); margin-top:var(--space-md); 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); }
.rules-list-meta strong { color:var(--color-text); font-family:var(--font-family-data); }
.rules-table-wrap { margin-top:0; }
.rules-row { content-visibility:auto; contain-intrinsic-size:auto var(--comparison-row-min-height); }
.rules-row.is-hidden,.rules-show-more[hidden] { display:none!important; }

.rules-identity-inner { display:flex; align-items:flex-start; gap:var(--space-md); }
.rules-page .tsb-prop-logo.tsb-prop-logo { --tsb-prop-logo-frame:var(--entity-logo-size); --tsb-prop-logo-art:var(--entity-logo-art); --tsb-prop-logo-radius:var(--radius-control); --tsb-prop-logo-surface:var(--color-surface-raised); --tsb-prop-logo-border:var(--color-border-strong); }
.rules-firm-copy { display:grid; min-width:0; gap:var(--space-xs); }
.rules-firm { color:var(--color-text); font-size:var(--font-body); font-weight:var(--font-weight-heading); line-height:var(--line-height-heading); text-decoration:none; }
.rules-firm:is(:hover,:focus-visible) { color:var(--color-accent); }
.rules-firm-copy>span { color:var(--color-text-muted); font-size:var(--font-caption); }
.rules-cell-model,.rules-cell-drawdown { color:var(--color-text-muted); line-height:var(--line-height-body); }
.rules-loss-stack { display:grid; gap:var(--space-md); }
.rules-loss-stack>span { display:grid; gap:var(--space-xs); color:var(--color-text); font-family:var(--font-family-data); font-weight:var(--font-weight-label); line-height:var(--line-height-body); }
.rules-loss-stack>span::before { color:var(--color-text-decorative); font:var(--font-weight-label) var(--font-caption)/var(--line-height-caption) var(--font-family); }
.rules-loss-stack>span:first-child::before { content:'Daily'; }
.rules-loss-stack>span:last-child::before { content:'Maximum'; }
.rules-evidence-stack { display:grid; align-content:start; gap:var(--space-md); color:var(--color-text-muted); }
.rules-evidence-stack .ds-badge { max-width:100%; white-space:normal; }
.rules-evidence-stack>span:last-child { display:block; font-size:var(--font-caption); line-height:var(--line-height-body); }
.rules-cell-evidence a { color:var(--color-accent); font-weight:var(--font-weight-label); text-decoration:none; }
.rules-cell-evidence a::after { content:' ↗'; }
.rules-actions-stack { display:grid; align-content:start; gap:var(--space-md); }
.rankings-decision-links { display:flex; flex-wrap:wrap; gap:var(--space-sm); }
.rules-page .rules-table .rankings-decision-links>a { display:inline-flex; min-height:var(--button-compact-height); align-items:center; padding:0 var(--space-md); border:var(--stroke-width) solid var(--color-border-strong); border-radius:var(--radius-control); background:var(--color-surface-control); color:var(--color-text); font-size:var(--font-caption); font-weight:var(--font-weight-label); line-height:1; text-decoration:none; white-space:nowrap; }
.rules-page .rules-table .rankings-decision-links>a:first-child { border-color:var(--color-accent-border); background:var(--color-accent-soft); color:var(--color-accent); }
.rules-page .rules-table .rankings-decision-links>a:is(:hover,:focus-visible) { border-color:var(--color-accent-border); background:var(--color-accent-soft); color:var(--color-accent); text-decoration:none; }
.rules-replay-action { display:grid; gap:var(--space-sm); }
.rules-replay-action .ds-button { width:100%; }
.rules-replay-action small { color:var(--color-text-decorative); font-size:var(--font-caption); line-height:var(--line-height-caption); }
.rules-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; }
.rules-no-results.is-visible { display:block; }
.rules-results-footer { display:flex; justify-content:center; margin-top:var(--space-xl); }
.rules-show-more { min-width:var(--load-more-control-min-width); }

@media (max-width: 1180px) {
  .rules-hero { grid-template-columns:minmax(0,1fr) minmax(var(--width-card-min),.72fr); gap:var(--space-2xl); }
  .rules-hero-title { font-size:var(--display-chapter); }
  .rules-guide-section,.rules-ranking-section { grid-template-columns:1fr; gap:var(--space-2xl); }
  .rules-section-head { max-width:var(--width-reading-wide); }
  .rules-guide-row { grid-template-columns:var(--guide-ledger-columns-wide); }
  .rules-controls { grid-template-columns:1fr; }
}

@media (max-width: 860px) {
  .rules-page>.container { width:calc(100% - var(--space-lg) * 2); }
  .rules-hero { grid-template-columns:1fr; min-height:auto; padding:var(--prop-hero-padding-start) 0 var(--space-section); }
  .rules-hero-title { font-size:var(--primitive-size-48); }
  .rules-hero-subtitle { font-size:var(--font-body); }
  .rules-source-note { padding:var(--space-xl) 0 0; border-inline-start:0; border-top:var(--stroke-width) solid var(--color-border); }
  .rules-source-note>strong { max-width:20ch; font-size:var(--font-h2); }
  .rules-proof-strip { grid-template-columns:1fr; }
  .rules-proof-strip>span { padding:var(--space-md) 0; }
  .rules-proof-strip>span+span { padding-inline-start:0; border-inline-start:0; border-top:var(--stroke-width) solid var(--color-border); }
  .rules-guide-section,.rules-ranking-section { grid-template-columns:1fr; }
  .rules-section-head h2,.rules-monitor-title { font-size:var(--font-h2); }
  .rules-guide-row { grid-template-columns:var(--guide-ledger-columns-medium); grid-template-areas:'index keyword title' '. copy action'; }
  .rules-guide-index { grid-area:index; }
  .rules-guide-keyword { grid-area:keyword; }
  .rules-guide-title { grid-area:title; }
  .rules-guide-row p { grid-area:copy; }
  .rules-guide-row>a { grid-area:action; justify-self:start; }
}

@media (max-width: 640px) {
  .rules-page { padding-top:var(--space-lg); }
  .rules-ranking-section { padding-bottom:0; }
  .rules-workspace { padding-top:var(--space-2xl); }
  .rules-hero-title { font-size:var(--primitive-size-40); }
  .rules-hero-actions { display:grid; width:100%; }
  .rules-hero-actions .ds-button { width:100%; }
  .rules-route-rail,.rules-ranking-grid { grid-template-columns:1fr; }
  .rules-route-rail a:nth-child(even),.rules-ranking-row:nth-child(even) { padding-inline-start:0; border-inline-start:0; }
  .rules-ranking-row:nth-child(odd) { padding-inline-end:0; }
  .rules-ranking-row:nth-last-child(2) { border-bottom:var(--stroke-width) solid var(--color-border); }
  .rules-ranking-row:last-child { border-bottom:0; }
  .rules-guide-row { grid-template-columns:var(--primitive-size-32) minmax(0,1fr); grid-template-areas:'index keyword' 'title title' 'copy copy' 'action action'; }
  .rules-monitor-head { grid-template-columns:1fr; }
  .rules-monitor-total { justify-self:start; }
  .rules-filter-field .ds-filter-group { grid-template-columns:repeat(6,minmax(0,1fr)); grid-auto-flow:row; }
  .rules-filter-field .rules-filter { grid-column:span 2; }
  .rules-filter-field .rules-filter:nth-last-child(-n+2) { grid-column:span 3; }
  .rules-list-meta>span:last-child { display:none; }
  .rules-table-wrap { margin-inline:calc(var(--space-lg) * -1); }
  .rules-table-wrap .rules-row { padding-inline:0; }
  .rules-table-wrap .rules-row:is(:hover,:focus-within) { background:var(--color-surface-hover); }
  .rules-cell-actions .ds-button { width:100%; }
  .rules-show-more { width:100%; min-width:0; }
}

@media (max-width: 380px) {
  .rules-filter-field .rules-filter { padding-inline:var(--space-sm); }
}

@media (prefers-reduced-motion:reduce) {
  .rules-guide-row { transition:none; }
}
