/* Generated from existing composition; shared UI is owned by prop-research.source.css. */
@layer prop-composition {.rule-topic-page {
    --rule-accent: var(--pf-segment-accent);
    --rule-accent-bright: var(--pf-segment-accent-strong);
    --rule-accent-soft: rgba(var(--pf-segment-accent-rgb), 0.09);
    --rule-text: #f4f5f4;
    --rule-muted: rgba(244, 245, 244, 0.67);
    --rule-faint: rgba(244, 245, 244, 0.46);
    --rule-line: rgba(255, 255, 255, 0.11);
    --rule-line-soft: rgba(255, 255, 255, 0.075);
    --rule-danger: #ff6b6b;
    --rule-warning: #f1bd4a;
    padding: 90px 0 72px;
}

.rule-topic-page > .container { width: min(1380px, calc(100vw - 72px)); }
.rule-topic-page a:focus-visible,
.rule-topic-page summary:focus-visible { outline: 2px solid var(--rule-accent); outline-offset: 4px; }

.rule-topic-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(292px, 340px);
    grid-template-areas: "main rail" "timeline rail";
    column-gap: clamp(32px, 5vw, 76px);
    row-gap: 36px;
    padding: 26px 0 50px;
    border-bottom: 1px solid var(--rule-line);
}

.rule-topic-hero-main { grid-area: main; min-width: 0; max-width: 860px; }
.rule-topic-back {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 34px;
    color: var(--rule-accent);
    font-size: 14px;
    font-weight: 650;
    line-height: 1.4;
    text-decoration: none;
}
.rule-topic-back svg { width: 17px; height: 17px; }

.rule-topic-kicker,
.rule-topic-program-head > div > span,
.rule-topic-timeline-head span,
.rule-topic-generic-explainer > span {
    display: block;
    margin: 0 0 13px;
    color: var(--rule-accent);
    font: 700 13px/1.45 var(--pfm-mono, "DM Mono", monospace);
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.rule-topic-hero-main h1 {
    max-width: 850px;
    margin: 0;
    color: var(--rule-text);
    font: 760 clamp(46px, 4.5vw, 72px)/0.96 var(--pfm-display, "Instrument Sans", sans-serif);
    letter-spacing: -0.058em;
    text-wrap: balance;
}
.rule-topic-hero-main > p {
    max-width: 720px;
    margin: 22px 0 0;
    color: var(--rule-muted);
    font-size: clamp(17px, 1.4vw, 20px);
    line-height: 1.55;
}
.rule-topic-reviewed {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 18px;
    color: rgba(154, 234, 219, 0.82);
    font-size: 13px;
    font-weight: 620;
    line-height: 1.45;
}
.rule-topic-reviewed svg { width: 17px; height: 17px; }
.rule-topic-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 27px; }
.rule-topic-primary-action svg,
.rule-topic-secondary-action svg { width: 17px; height: 17px; }

.rule-topic-timeline { grid-area: timeline; min-width: 0; padding-top: 2px; }
.rule-topic-timeline-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 18px;
}
.rule-topic-timeline-head span { margin-bottom: 6px; color: var(--rule-faint); }
.rule-topic-timeline-head h2,
.rule-topic-page .rule-topic-timeline-head h2 {
    margin: 0;
    color: var(--rule-text);
    font-size: clamp(24px, 2.1vw, 31px);
    font-weight: 720;
    letter-spacing: -0.035em;
    line-height: 1.08;
}
.rule-topic-page .rule-topic-timeline-head > p {
    max-width: 290px;
    margin: 0;
    color: var(--rule-faint);
    font-size: 13px;
    line-height: 1.5;
    text-align: right;
}
.rule-topic-chart-wrap { min-width: 0; border-top: 1px solid var(--rule-line-soft); border-bottom: 1px solid var(--rule-line-soft); }
.rule-topic-chart { display: block; width: 100%; height: 286px; }
.rule-topic-chart-data { display: none; }

.rule-topic-number-rail {
    grid-area: rail;
    min-width: 0;
    padding: 6px 0 0 32px;
    border-left: 1px solid var(--rule-line);
}
.rule-topic-number-rail h2,
.rule-topic-page .rule-topic-number-rail h2 {
    margin: 0;
    color: var(--rule-text);
    font-size: 23px;
    font-weight: 720;
    letter-spacing: -0.035em;
    line-height: 1.12;
}
.rule-topic-number-list { display: grid; margin: 28px 0 0; }
.rule-topic-number-list > div {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    padding: 15px 0;
    border-bottom: 1px solid var(--rule-line-soft);
}
.rule-topic-number-list dt,
.rule-topic-number-list dd { margin: 0; font-size: 14px; line-height: 1.4; }
.rule-topic-number-list dt { color: var(--rule-muted); }
.rule-topic-number-list dd { color: var(--rule-text); font-family: var(--pfm-mono, "DM Mono", monospace); font-weight: 700; text-align: right; }
.rule-topic-number-list .is-breach dd { color: var(--rule-danger); }
.rule-topic-factor-list { display: grid; gap: 20px; margin: 30px 0 0; }
.rule-topic-factor-list li { display: grid; grid-template-columns: 22px minmax(0,1fr); gap: 12px; align-items: start; }
.rule-topic-factor-list svg { width: 20px; height: 20px; margin-top: 1px; color: var(--rule-accent); }
.rule-topic-factor-list strong { display: block; color: var(--rule-text); font-size: 14px; font-weight: 700; line-height: 1.35; }
.rule-topic-page .rule-topic-factor-list p { margin: 4px 0 0; color: var(--rule-faint); font-size: 13px; line-height: 1.5; }
.rule-topic-page .rule-topic-rail-note { margin: 28px 0 0; padding-top: 18px; border-top: 1px solid var(--rule-line); color: rgba(241,189,74,.82); font-size: 13px; line-height: 1.5; }
.rule-topic-page--trailing-drawdown .rule-topic-hero {
    grid-template-columns: minmax(0,.92fr) minmax(480px,.88fr);
    grid-template-areas: "main timeline" "rail rail";
    align-items: start;
    column-gap: clamp(42px,5vw,76px);
    row-gap: 44px;
}
.rule-topic-page--trailing-drawdown .rule-topic-hero-main { max-width: 700px; }
.rule-topic-page--trailing-drawdown .rule-topic-hero-main h1 { max-width: 680px; font-size: clamp(48px,4.15vw,68px); }
.rule-topic-page--trailing-drawdown .rule-topic-hero-main > p { max-width: 640px; }
.rule-topic-page--trailing-drawdown .rule-topic-timeline {
    margin-top: 58px;
    padding: 0 0 0 clamp(28px,3vw,46px);
    border-left: 1px solid var(--rule-line);
}
.rule-topic-page--trailing-drawdown .rule-topic-timeline-head { align-items: start; margin-bottom: 22px; }
.rule-topic-page--trailing-drawdown .rule-topic-timeline-head > p { max-width: 210px; }
.rule-topic-page--trailing-drawdown .rule-topic-chart { height: 268px; }
.rule-topic-page--trailing-drawdown .rule-topic-number-rail {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    grid-template-areas: "title note" "numbers numbers" "factors factors";
    column-gap: 32px;
    padding: 28px 0 0;
    border-top: 1px solid var(--rule-line);
    border-left: 0;
}
.rule-topic-page--trailing-drawdown .rule-topic-number-rail h2 { grid-area: title; max-width: none; }
.rule-topic-page--trailing-drawdown .rule-topic-number-list {
    grid-area: numbers;
    grid-template-columns: repeat(3,minmax(0,1fr));
    margin: 22px 0 0;
    padding: 20px 0 0;
    border-top: 1px solid var(--rule-line-soft);
}
.rule-topic-page--trailing-drawdown .rule-topic-number-list > div {
    display: grid;
    gap: 7px;
    padding: 0 22px 20px 0;
    border-bottom: 0;
}
.rule-topic-page--trailing-drawdown .rule-topic-number-list > div + div { padding-left: 22px; border-left: 1px solid var(--rule-line-soft); }
.rule-topic-page--trailing-drawdown .rule-topic-number-list dd { text-align: left; }
.rule-topic-page--trailing-drawdown .rule-topic-factor-list {
    grid-area: factors;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 0;
    margin: 0;
    padding: 20px 0 0;
    border-top: 1px solid var(--rule-line-soft);
}
.rule-topic-page--trailing-drawdown .rule-topic-factor-list li { padding-right: 22px; }
.rule-topic-page--trailing-drawdown .rule-topic-factor-list li + li { padding-left: 22px; border-left: 1px solid var(--rule-line-soft); }
.rule-topic-page--trailing-drawdown .rule-topic-rail-note { grid-area: note; align-self: end; margin: 0; padding: 0; border-top: 0; color: var(--rule-faint); text-align: right; }

.rule-topic-generic-explainer { grid-area: timeline; min-width: 0; padding: 28px 0 0; border-top: 1px solid var(--rule-line); }
.rule-topic-generic-explainer h2,
.rule-topic-page .rule-topic-generic-explainer h2 { margin: 0; color: var(--rule-text); font-size: clamp(26px,2.6vw,38px); font-weight: 720; letter-spacing: -.04em; line-height: 1.05; }
.rule-topic-page .rule-topic-generic-explainer > p { max-width: 720px; margin: 13px 0 0; color: var(--rule-muted); font-size: 15px; line-height: 1.65; }
.rule-topic-generic-explainer ol { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 26px 0 0; padding: 0; border-top: 1px solid var(--rule-line-soft); list-style: none; }
.rule-topic-generic-explainer li { display: grid; gap: 7px; min-width: 0; padding: 20px 20px 0 0; }
.rule-topic-generic-explainer li + li { padding-left: 20px; border-left: 1px solid var(--rule-line-soft); }
.rule-topic-generic-explainer li strong { color: var(--rule-text); font: 650 16px/1.4 var(--pfm-mono,"DM Mono",monospace); }
.rule-topic-generic-explainer li span { color: var(--rule-faint); font-size: 13px; line-height: 1.5; }
.rule-topic-page--daily-loss-vs-max-loss .rule-topic-hero {
    grid-template-columns: minmax(0, .98fr) minmax(470px, .82fr);
    grid-template-areas: "main duel" "timeline timeline";
    align-items: start;
    column-gap: clamp(42px, 5vw, 76px);
    row-gap: 44px;
}

.rule-topic-page--daily-loss-vs-max-loss .rule-topic-hero-main { max-width: 710px; }
.rule-topic-page--daily-loss-vs-max-loss .rule-topic-hero-main h1 { max-width: 700px; font-size: clamp(48px, 4.15vw, 68px); }
.rule-topic-page--daily-loss-vs-max-loss .rule-topic-hero-main > p { max-width: 650px; }

.rule-topic-loss-duel {
    grid-area: duel;
    min-width: 0;
    margin-top: 58px;
    padding-left: clamp(28px, 3vw, 46px);
    border-left: 1px solid var(--rule-line);
}

.rule-topic-loss-duel-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--rule-line);
}

.rule-topic-loss-duel-head span {
    display: block;
    margin-bottom: 8px;
    color: var(--rule-accent);
    font: 700 11px/1.35 var(--pfm-mono, "DM Mono", monospace);
    letter-spacing: .1em;
    text-transform: uppercase;
}

.rule-topic-loss-duel-head h2,
.rule-topic-page .rule-topic-loss-duel-head h2 {
    margin: 0;
    color: var(--rule-text);
    font-size: 24px;
    font-weight: 730;
    letter-spacing: -.035em;
    line-height: 1.05;
}

.rule-topic-loss-duel-head small {
    flex: 0 0 auto;
    color: var(--rule-faint);
    font: 650 11px/1.4 var(--pfm-mono, "DM Mono", monospace);
    text-align: right;
}

.rule-topic-loss-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rule-topic-loss-metrics article { min-width: 0; padding: 24px 24px 22px 0; }
.rule-topic-loss-metrics article + article { padding-left: 24px; border-left: 1px solid var(--rule-line-soft); }
.rule-topic-loss-label { display: flex; align-items: center; gap: 9px; color: var(--rule-muted); font-size: 13px; font-weight: 700; }
.rule-topic-loss-label svg { width: 18px; height: 18px; color: var(--rule-accent); stroke-width: 1.7; }
.rule-topic-loss-metrics article > strong { display: block; margin-top: 17px; color: var(--rule-text); font: 700 28px/1 var(--pfm-mono, "DM Mono", monospace); letter-spacing: -.04em; }
.rule-topic-loss-meter { height: 4px; margin-top: 15px; overflow: hidden; background: rgba(255,255,255,.08); }
.rule-topic-loss-meter i { display: block; height: 100%; background: var(--rule-accent); box-shadow: 0 0 16px rgba(var(--pf-segment-accent-rgb), .32); }
.rule-topic-page .rule-topic-loss-metrics p { margin: 14px 0 0; color: var(--rule-faint); font-size: 12px; line-height: 1.55; }

.rule-topic-loss-outcome {
    display: grid;
    grid-template-columns: 130px minmax(0, 1fr);
    gap: 18px;
    padding: 19px 0 0;
    border-top: 1px solid var(--rule-line);
}
.rule-topic-loss-outcome span { color: var(--rule-warning); font: 700 11px/1.45 var(--pfm-mono, "DM Mono", monospace); letter-spacing: .08em; text-transform: uppercase; }
.rule-topic-page .rule-topic-loss-outcome p { margin: 0; color: var(--rule-muted); font-size: 13px; line-height: 1.55; }

.rule-topic-loss-explainer { grid-area: timeline; padding-top: 30px; }
.rule-topic-loss-explainer h2,
.rule-topic-page .rule-topic-loss-explainer h2 { max-width: 780px; }

.rule-topic-program-section { padding: 48px 0 8px; }
.rule-topic-program-head { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin-bottom: 24px; }
.rule-topic-program-head > div { min-width: 0; }
.rule-topic-program-head > div > span { margin-bottom: 8px; color: var(--rule-faint); }
.rule-topic-program-head h2,
.rule-topic-page .rule-topic-program-head h2 { max-width: 780px; margin: 0; color: var(--rule-text); font-size: clamp(28px,3vw,42px); font-weight: 730; letter-spacing: -.045em; line-height: 1; }
.rule-topic-page .rule-topic-program-head p { max-width: 680px; margin: 13px 0 0; color: var(--rule-muted); font-size: 15px; line-height: 1.55; }
.rule-topic-program-head > a { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 9px; padding-bottom: 3px; color: var(--rule-accent); font-size: 14px; font-weight: 700; text-decoration: none; }
.rule-topic-program-head > a svg { width: 17px; height: 17px; }

.rule-topic-program-list { border-top: 1px solid var(--rule-line); }
.rule-topic-program-columns,
.rule-topic-program-row {
    display: grid;
    grid-template-columns: minmax(250px,1.45fr) minmax(170px,1fr) minmax(110px,.65fr) minmax(105px,.62fr) minmax(125px,.75fr) minmax(105px,.58fr);
    gap: 18px;
    align-items: center;
}
.rule-topic-program-columns { padding: 13px 0; border-bottom: 1px solid var(--rule-line-soft); color: var(--rule-faint); font: 650 13px/1.4 var(--pfm-mono,"DM Mono",monospace); letter-spacing: .035em; }
.rule-topic-program-row { min-height: 88px; padding: 16px 0; border-bottom: 1px solid var(--rule-line-soft); color: var(--rule-muted); font-size: 14px; line-height: 1.45; }
.rule-topic-program-row > div { min-width: 0; }
.rule-topic-program-row > div > strong { color: var(--rule-text); font: 650 14px/1.4 var(--pfm-mono,"DM Mono",monospace); }
.rule-topic-program-identity { display: grid; grid-template-columns: 46px minmax(0,1fr); gap: 13px; align-items: center; }
.rule-topic-program-logo,
.rule-topic-program-logo.tsb-prop-logo { width: 46px; height: 46px; }
.rule-topic-program-identity strong,
.rule-topic-program-identity span { display: block; min-width: 0; }
.rule-topic-program-identity strong { color: var(--rule-text); font-size: 15px; font-weight: 740; line-height: 1.35; }
.rule-topic-program-identity span { margin-top: 3px; color: var(--rule-faint); font-size: 13px; line-height: 1.4; overflow-wrap: anywhere; }
.rule-topic-program-identity .pf-firm-awards { display: inline-flex; width: fit-content; margin-top: 7px; }
.rule-topic-program-identity .pf-firm-award,
.rule-topic-program-identity .pf-firm-award-mark { display: inline-flex; margin: 0; }
.rule-topic-program-source { display: grid; gap: 4px; }
.rule-topic-program-source a,
.rule-topic-program-action a { display: inline-flex; align-items: center; gap: 7px; color: var(--rule-accent); font-size: 13px; font-weight: 700; text-decoration: none; }
.rule-topic-program-source a svg,
.rule-topic-program-action a svg { width: 15px; height: 15px; }
.rule-topic-program-source span { color: var(--rule-faint); font-size: 13px; }

.rule-topic-full-evidence { margin-top: 24px; border-top: 1px solid var(--rule-line); border-bottom: 1px solid var(--rule-line); }
.rule-topic-full-evidence > summary { display: grid; grid-template-columns: minmax(0,1fr) auto 20px; gap: 18px; align-items: center; min-height: 68px; color: var(--rule-text); cursor: pointer; list-style: none; }
.rule-topic-full-evidence > summary::-webkit-details-marker { display: none; }
.rule-topic-full-evidence > summary span { font-size: 16px; font-weight: 720; }
.rule-topic-full-evidence > summary strong { color: var(--rule-faint); font: 650 13px/1.4 var(--pfm-mono,"DM Mono",monospace); }
.rule-topic-full-evidence > summary svg { width: 19px; height: 19px; transition: transform 160ms ease; }
.rule-topic-full-evidence[open] > summary svg { transform: rotate(180deg); }
.rule-topic-page .rule-topic-full-evidence > p { margin: 0 0 20px; color: var(--rule-faint); font-size: 13px; line-height: 1.5; }
.rule-topic-table-wrap { max-width: 100%; overflow-x: auto; border-top: 1px solid var(--rule-line-soft); }
.rule-topic-table { width: 100%; min-width: 1180px; table-layout: fixed; border-collapse: collapse; }
.rule-topic-table:not(.rule-topic-table--with-replay) :is(th,td):nth-child(1) { width: 18%; }
.rule-topic-table:not(.rule-topic-table--with-replay) :is(th,td):nth-child(2) { width: 10%; }
.rule-topic-table:not(.rule-topic-table--with-replay) :is(th,td):nth-child(3) { width: 12%; }
.rule-topic-table:not(.rule-topic-table--with-replay) :is(th,td):nth-child(4) { width: 12%; }
.rule-topic-table:not(.rule-topic-table--with-replay) :is(th,td):nth-child(5) { width: 12%; }
.rule-topic-table:not(.rule-topic-table--with-replay) :is(th,td):nth-child(6) { width: 20%; }
.rule-topic-table:not(.rule-topic-table--with-replay) :is(th,td):nth-child(7) { width: 16%; }
.rule-topic-table th,
.rule-topic-table td { padding: 15px 12px; border-bottom: 1px solid var(--rule-line-soft); text-align: left; vertical-align: top; }
.rule-topic-table th { color: var(--rule-faint); font: 680 13px/1.4 var(--pfm-mono,"DM Mono",monospace); white-space: nowrap; }
.rule-topic-table td { color: var(--rule-muted); font-size: 13px; line-height: 1.55; }
.rule-topic-table tr:last-child td { border-bottom: 0; }
.rule-topic-firm,
.rule-topic-table a { color: var(--rule-accent); font-weight: 700; text-decoration: none; }
.rule-topic-source-date,
.rule-topic-table small { display: block; margin-top: 5px; color: var(--rule-faint); font-size: 13px; line-height: 1.45; }
.rule-topic-page .trust-section { padding: 48px 0; }
.rule-topic-split { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(300px,.8fr); gap: clamp(28px,6vw,86px); }
.rule-topic-panel { min-width: 0; }
.rule-topic-split .rule-topic-panel + .rule-topic-panel { padding-left: clamp(24px,3.5vw,52px); border-left: 1px solid var(--rule-line); }
.rule-topic-panel h2,
.rule-topic-page .rule-topic-panel h2 { margin: 0 0 18px; color: var(--rule-text); font-size: clamp(28px,3vw,42px); font-weight: 730; letter-spacing: -.045em; line-height: 1; }
.rule-topic-panel h3,
.rule-topic-page .rule-topic-panel h3 { margin: 28px 0 12px; color: var(--rule-text); font-size: 20px; font-weight: 710; letter-spacing: -.025em; line-height: 1.2; }
.rule-topic-split .rule-topic-panel + .rule-topic-panel h3 { margin-top: 0; }
.rule-topic-page .rule-topic-panel p,
.rule-topic-panel li { max-width: 780px; color: var(--rule-muted); font-size: 15px; line-height: 1.68; }
.rule-topic-page .rule-topic-panel p + p { margin-top: 13px; }
.rule-topic-panel ul { display: grid; margin: 0; padding: 0; list-style: none; }
.rule-topic-panel li { position: relative; padding: 14px 0 14px 26px; border-bottom: 1px solid var(--rule-line-soft); }
.rule-topic-panel li::before { position: absolute; top: 21px; left: 2px; width: 7px; height: 7px; border-radius: 50%; background: var(--rule-accent); content: ""; }
.rule-topic-page .profile-section-head { max-width: 820px; }
.rule-topic-page .trust-eyebrow { font-size: 13px; }
.rule-topic-page .profile-section-head h2 { margin-top: 7px; }
.rule-topic-page .profile-section-head > p { margin-top: 14px; color: var(--rule-muted); font-size: 15px; line-height: 1.6; }

.rule-topic-path-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin-top: 28px; border-top: 1px solid var(--rule-line); }
.rule-topic-path-card { display: flex; min-height: 180px; min-width: 0; padding: 23px 22px; color: var(--rule-muted); text-decoration: none; flex-direction: column; justify-content: space-between; gap: 18px; }
.rule-topic-path-card:first-child { padding-left: 0; }
.rule-topic-path-card + .rule-topic-path-card { border-left: 1px solid var(--rule-line); }
.rule-topic-path-card:hover { background: var(--rule-accent-soft); }
.rule-topic-path-card strong { color: var(--rule-text); font-size: 17px; font-weight: 710; line-height: 1.3; }
.rule-topic-path-card span { color: var(--rule-faint); font-size: 13px; line-height: 1.55; }
.rule-topic-path-card em { color: var(--rule-accent); font-size: 13px; font-style: normal; font-weight: 700; }
.rule-topic-faq { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 52px; margin-top: 26px; border-top: 1px solid var(--rule-line); }
.rule-topic-faq .rule-topic-panel { padding: 22px 0; border-bottom: 1px solid var(--rule-line-soft); }
.rule-topic-faq .rule-topic-panel h3,
.rule-topic-page .rule-topic-faq .rule-topic-panel h3 { margin: 0 0 10px; font-size: 18px; }
.rule-topic-page .trust-inline-links--spaced { margin-top: 26px; }
.rule-topic-page .trust-inline-links a { font-size: 13px; }
.rule-topic-page .rule-topic-faq-links { gap: 8px; }
.rule-topic-page .rule-topic-faq-links a {
    min-height: 40px;
    padding: 0 14px;
    border-color: rgba(var(--trust-accent-rgb),.24);
    border-radius: 8px;
    background: rgba(var(--trust-accent-rgb),.055);
    color: var(--rule-text);
    font-weight: 700;
}
.rule-topic-page .rule-topic-faq-links a:first-child { border-color: rgba(var(--trust-accent-rgb),.4); background: var(--rule-accent-soft); color: var(--rule-accent); }
.rule-topic-page .rule-topic-faq-links a:is(:hover,:focus-visible) { border-color: rgba(var(--trust-accent-rgb),.52); background: rgba(var(--trust-accent-rgb),.12); color: var(--rule-accent); }

@media (max-width: 1080px) {
    .rule-topic-page > .container { width: min(100% - 48px,1040px); }
    .rule-topic-hero { grid-template-columns: minmax(0,1fr) 290px; column-gap: 34px; }
    .rule-topic-program-columns,
    .rule-topic-program-row { grid-template-columns: minmax(230px,1.4fr) minmax(150px,1fr) minmax(100px,.7fr) minmax(100px,.65fr) minmax(112px,.78fr); }
    .rule-topic-program-columns span:last-child,
    .rule-topic-program-action { display: none; }
    .rule-topic-path-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .rule-topic-path-card:nth-child(3) { border-left: 0; border-top: 1px solid var(--rule-line); }
    .rule-topic-path-card:nth-child(4) { border-top: 1px solid var(--rule-line); }
    .rule-topic-page--daily-loss-vs-max-loss .rule-topic-hero { grid-template-columns: minmax(0,1fr) minmax(420px,.9fr); column-gap: 38px; }
    .rule-topic-page--daily-loss-vs-max-loss .rule-topic-hero-main h1 { font-size: clamp(44px,5vw,58px); }
    .rule-topic-page--trailing-drawdown .rule-topic-hero { grid-template-columns: minmax(0,.9fr) minmax(400px,1fr); column-gap: 36px; }
    .rule-topic-page--trailing-drawdown .rule-topic-hero-main h1 { font-size: clamp(44px,5vw,58px); }
    .rule-topic-page--trailing-drawdown .rule-topic-timeline { padding-left: 30px; }
}

@media (max-width: 820px) {
    .rule-topic-page { padding-top: 72px; }
    .rule-topic-page > .container { width: min(100% - 32px,760px); }
    .rule-topic-hero { grid-template-columns: minmax(0,1fr); grid-template-areas: "main" "timeline" "rail"; row-gap: 34px; padding-top: 16px; }
    .rule-topic-back { margin-bottom: 26px; }
    .rule-topic-number-rail { padding: 28px 0 0; border-top: 1px solid var(--rule-line); border-left: 0; }
    .rule-topic-number-list { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .rule-topic-number-list > div { display: grid; gap: 7px; padding: 16px 18px 16px 0; }
    .rule-topic-number-list > div + div { padding-left: 18px; border-left: 1px solid var(--rule-line-soft); }
    .rule-topic-number-list dd { text-align: left; }
    .rule-topic-factor-list { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .rule-topic-program-head { align-items: start; flex-direction: column; }
    .rule-topic-program-columns { display: none; }
    .rule-topic-program-row { grid-template-columns: minmax(220px,1fr) repeat(3,minmax(100px,.7fr)); }
    .rule-topic-program-source,
    .rule-topic-program-action { display: none; }
    .rule-topic-split { grid-template-columns: 1fr; gap: 34px; }
    .rule-topic-split .rule-topic-panel + .rule-topic-panel { padding: 30px 0 0; border-top: 1px solid var(--rule-line); border-left: 0; }
    .rule-topic-page--daily-loss-vs-max-loss .rule-topic-hero { grid-template-columns: 1fr; grid-template-areas: "main" "duel" "timeline"; row-gap: 34px; }
    .rule-topic-page--daily-loss-vs-max-loss .rule-topic-hero-main { max-width: 720px; }
    .rule-topic-loss-duel { margin-top: 0; padding: 28px 0 0; border-top: 1px solid var(--rule-line); border-left: 0; }
    .rule-topic-page--trailing-drawdown .rule-topic-hero { grid-template-columns: 1fr; grid-template-areas: "main" "timeline" "rail"; row-gap: 34px; }
    .rule-topic-page--trailing-drawdown .rule-topic-timeline { margin-top: 0; padding: 28px 0 0; border-top: 1px solid var(--rule-line); border-left: 0; }
    .rule-topic-page--trailing-drawdown .rule-topic-number-rail { grid-template-columns: minmax(0,1fr) auto; column-gap: 28px; }
    .rule-topic-page--trailing-drawdown .rule-topic-factor-list li { padding-right: 16px; }
    .rule-topic-page--trailing-drawdown .rule-topic-factor-list li + li { padding-left: 16px; }
}

@media (max-width: 620px) {
    .rule-topic-page { padding-top: 62px; padding-bottom: 0; }
    .rule-topic-page > .container > .trust-section:last-child { padding-bottom: 0; }
    .rule-topic-hero-main h1 { font-size: clamp(39px,11vw,52px); }
    .rule-topic-actions { display: grid; }
    .rule-topic-primary-action,
    .rule-topic-secondary-action { width: 100%; }
    .rule-topic-timeline-head { align-items: start; flex-direction: column; gap: 8px; }
    .rule-topic-page .rule-topic-timeline-head > p { max-width: none; text-align: left; }
    .rule-topic-chart { height: 245px; }
    .rule-topic-chart-data { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 0; padding: 0 0 16px; list-style: none; }
    .rule-topic-chart-data li { display: grid; gap: 3px; padding: 13px 12px 13px 0; border-top: 1px solid var(--rule-line-soft); }
    .rule-topic-chart-data li:nth-child(even) { padding-left: 12px; border-left: 1px solid var(--rule-line-soft); }
    .rule-topic-chart-data span,
    .rule-topic-chart-data small { color: var(--rule-faint); font-size: 13px; line-height: 1.35; }
    .rule-topic-chart-data strong { color: var(--rule-text); font: 650 14px/1.4 var(--pfm-mono,"DM Mono",monospace); }
    .rule-topic-chart-data .is-breach strong,
    .rule-topic-chart-data .is-breach small { color: var(--rule-danger); }
    .rule-topic-number-list,
    .rule-topic-factor-list,
    .rule-topic-generic-explainer ol { grid-template-columns: 1fr; }
    .rule-topic-number-list > div,
    .rule-topic-number-list > div + div { display: flex; padding: 14px 0; border-left: 0; }
    .rule-topic-number-list dd { text-align: right; }
    .rule-topic-generic-explainer li,
    .rule-topic-generic-explainer li + li { padding: 18px 0; border-left: 0; border-bottom: 1px solid var(--rule-line-soft); }
    .rule-topic-program-section { padding-top: 40px; }
    .rule-topic-program-list { border-top: 0; }
    .rule-topic-program-row { grid-template-columns: 1fr 1fr; gap: 18px 12px; padding: 20px 0; }
    .rule-topic-program-identity { grid-column: 1 / -1; }
    .rule-topic-page--daily-loss-vs-max-loss .rule-topic-program-row > div:nth-last-child(3) { grid-column: 1 / -1; }
    .rule-topic-program-row > div:not(.rule-topic-program-identity):not(.rule-topic-program-source):not(.rule-topic-program-action)::before { display: block; margin-bottom: 5px; color: var(--rule-faint); content: attr(data-label); font: 650 13px/1.35 var(--pfm-mono,"DM Mono",monospace); }
    .rule-topic-program-source,
    .rule-topic-program-action { display: flex; min-width: 0; }
    .rule-topic-program-source a,
    .rule-topic-program-action a {
        width: 100%;
        min-height: 40px;
        padding: 0 12px;
        border: 1px solid var(--rule-line);
        border-radius: 8px;
        background: rgba(255,255,255,.025);
        justify-content: space-between;
    }
    .rule-topic-program-action a { border-color: rgba(var(--pf-segment-accent-rgb),.3); background: var(--rule-accent-soft); }
    .rule-topic-full-evidence > summary { grid-template-columns: minmax(0,1fr) 20px; }
    .rule-topic-full-evidence > summary strong { display: none; }
    .rule-topic-table-wrap { overflow: visible; }
    .rule-topic-table { min-width: 0; }
    .rule-topic-table thead { display: none; }
    .rule-topic-table,
    .rule-topic-table tbody,
    .rule-topic-table tr,
    .rule-topic-table td { display: block; width: 100%; }
    .rule-topic-table:not(.rule-topic-table--with-replay) td:nth-child(n) { width: 100%; }
    .rule-topic-table tr { padding: 17px 0; border-bottom: 1px solid var(--rule-line); }
    .rule-topic-table td { display: grid; grid-template-columns: minmax(105px,.42fr) minmax(0,1fr); gap: 16px; padding: 7px 0; border: 0; }
    .rule-topic-table td::before { color: var(--rule-faint); content: attr(data-label); font: 650 13px/1.45 var(--pfm-mono,"DM Mono",monospace); }
    .rule-topic-path-grid {
        grid-template-columns: none;
        grid-auto-columns: min(82vw,320px);
        grid-auto-flow: column;
        gap: 0;
        overflow-x: auto;
        padding-bottom: 8px;
        overscroll-behavior-inline: contain;
        scroll-snap-type: inline mandatory;
        scrollbar-width: none;
    }
    .rule-topic-path-grid::-webkit-scrollbar { display: none; }
    .rule-topic-faq { grid-template-columns: 1fr; }
    .rule-topic-path-card,
    .rule-topic-path-card + .rule-topic-path-card,
    .rule-topic-path-card:nth-child(3),
    .rule-topic-path-card:nth-child(4) { min-height: 180px; padding: 20px 18px; border-top: 0; border-left: 1px solid var(--rule-line); scroll-snap-align: start; }
    .rule-topic-path-card:first-child { padding-left: 0; border-top: 0; border-left: 0; }
    .rule-topic-loss-duel-head { align-items: start; flex-direction: column; }
    .rule-topic-loss-duel-head small { text-align: left; }
    .rule-topic-loss-metrics { grid-template-columns: 1fr; }
    .rule-topic-loss-metrics article,
    .rule-topic-loss-metrics article + article { padding: 22px 0; border-left: 0; }
    .rule-topic-loss-metrics article + article { border-top: 1px solid var(--rule-line-soft); }
    .rule-topic-loss-outcome { grid-template-columns: 1fr; gap: 8px; }
    .rule-topic-page--trailing-drawdown .rule-topic-number-rail {
        grid-template-columns: 1fr;
        grid-template-areas: "title" "note" "numbers" "factors";
        row-gap: 0;
    }
    .rule-topic-page--trailing-drawdown .rule-topic-number-rail h2 { max-width: none; }
    .rule-topic-page--trailing-drawdown .rule-topic-rail-note { margin-top: 8px; text-align: left; }
    .rule-topic-page--trailing-drawdown .rule-topic-number-list { grid-template-columns: 1fr; margin-top: 20px; }
    .rule-topic-page--trailing-drawdown .rule-topic-number-list > div,
    .rule-topic-page--trailing-drawdown .rule-topic-number-list > div + div { display: flex; padding: 14px 0; border-left: 0; border-bottom: 1px solid var(--rule-line-soft); }
    .rule-topic-page--trailing-drawdown .rule-topic-number-list dd { text-align: right; }
    .rule-topic-page--trailing-drawdown .rule-topic-factor-list { grid-template-columns: 1fr; padding: 18px 0 0; }
    .rule-topic-page--trailing-drawdown .rule-topic-factor-list li,
    .rule-topic-page--trailing-drawdown .rule-topic-factor-list li + li { padding: 12px 0; border-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .rule-topic-page *,
    .rule-topic-page *::before,
    .rule-topic-page *::after { scroll-behavior: auto; transition-duration: .01ms; }
}
}
