h1{font-size:clamp(28px,4vw,40px);margin-top:34px}.intro-copy{max-width:800px;color:var(--secondary)}
.split-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:26px 0;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.split-strip span,.split-strip strong{display:block}.split-strip span{font-size:12px;color:var(--muted)}.split-strip strong{font-size:14px;font-weight:500;margin-top:5px}
.note{border-left:3px solid var(--accent);padding-left:12px;color:var(--secondary)}
.parameter-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:24px}select{font:inherit;background:var(--panel);color:var(--ink);border:1px solid var(--line);padding:7px;border-radius:4px}
.family-nav{display:flex;gap:24px;flex-wrap:wrap;margin:25px 0}.family-nav a,.downloads a{color:var(--accent);text-decoration:underline;text-underline-offset:4px}
.factor-family{scroll-margin-top:20px;background:var(--panel);padding:28px;margin:22px 0;border:1px solid var(--line);border-radius:8px}.factor-family h2{font-size:24px}.factor-family h3{font-size:16px;margin:24px 0 8px}
.factor-description{color:var(--secondary);max-width:860px}.formula{font-family:ui-monospace,monospace;font-size:14px;background:var(--tint);padding:10px 14px;overflow-wrap:anywhere}
.features{white-space:normal;table-layout:fixed}.features th,.features td{text-align:left;padding:10px 12px}.features th:first-child{width:26%}.features th:nth-child(2){width:37%}.features th:nth-child(3){width:37%}
.heatmaps{display:grid;grid-template-columns:1fr 1fr;gap:24px}.heatmap{min-width:0}.heatmap h4{font-size:13px;font-weight:500;margin:12px 0 8px}.heatmap table{table-layout:fixed;min-width:420px;border-collapse:separate;border-spacing:4px}
.heatmap th,.heatmap td{padding:0;border:0;text-align:center;background:transparent}.heatmap th{white-space:normal;font-size:11px;padding:5px 1px;color:var(--secondary)}.heatmap th:first-child{width:80px;text-align:left}
.heatmap td button{width:100%;min-height:57px;padding:7px 2px;border:0;border-radius:3px;color:var(--ink);font-size:13px;font-variant-numeric:tabular-nums;line-height:1.4;background:var(--cell-fill,var(--tint))}
.heatmap td button span{display:block;font-size:11px;color:var(--secondary);margin-top:3px}.heatmap .selected-window{box-shadow:inset 0 -2px var(--accent)}
.heatmap td button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.heatmap td button:disabled{opacity:1;cursor:default}.heatmap .no-trades{background:var(--tint);color:var(--muted)}
.legend{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--secondary);margin:8px 0}.legend .gradient{height:9px;width:110px;background:linear-gradient(90deg,color-mix(in srgb,var(--negative) 60%,var(--panel)),var(--panel),color-mix(in srgb,var(--positive) 60%,var(--panel)))}
.legend .sequential{background:linear-gradient(90deg,var(--panel),color-mix(in srgb,var(--accent) 60%,var(--panel)))}.legend .drawdown{background:linear-gradient(90deg,color-mix(in srgb,var(--negative) 60%,var(--panel)),var(--panel))}
.frozen-choice{margin:16px 0 8px;padding:10px 13px;background:var(--tint);border-left:3px solid var(--accent)}.cell-detail{min-height:90px;padding:14px 0;border-bottom:1px solid var(--line);color:var(--secondary);font-size:12px}.cell-detail strong{color:var(--ink)}.cell-detail a{color:var(--accent);text-decoration:underline;margin-right:16px}
.validation th,.validation td,.concentration th,.concentration td{padding:10px 12px}.validation-caption{color:var(--secondary);font-size:12px}.method{padding:24px 0;border-top:1px solid var(--line);margin-top:28px}.method p{color:var(--secondary)}
.downloads{display:flex;gap:18px;flex-wrap:wrap}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.7 system-ui;color:var(--secondary);max-height:600px;overflow:auto}
@media(max-width:1050px){.heatmaps{grid-template-columns:1fr}.heatmap table{min-width:400px}.heatmap th:first-child{width:100px}}
@media(max-width:600px){.split-strip{grid-template-columns:1fr;gap:12px}.factor-family{padding:16px}.features th,.features td{padding:8px 6px;font-size:12px}.heatmap table{min-width:355px}.heatmap th:first-child{width:75px}.heatmap td button{font-size:12px}.family-nav{gap:16px}.parameter-controls{gap:8px}}

#factor-benchmarks .table-wrap{overflow-x:auto;max-width:100%;margin:16px 0}#factor-benchmarks table{width:100%;white-space:nowrap}#factor-benchmarks td,#factor-benchmarks th{padding:9px 12px;text-align:right}#factor-benchmarks td:first-child,#factor-benchmarks th:first-child{text-align:left}#factor-benchmarks details{margin:16px 0}#factor-benchmarks summary{cursor:pointer}

#factor-identity-benchmarks .table-wrap{overflow-x:auto;max-width:100%;margin:16px 0}#factor-identity-benchmarks table{width:100%;white-space:nowrap}#factor-identity-benchmarks td,#factor-identity-benchmarks th{padding:9px 12px;text-align:right}#factor-identity-benchmarks td:first-child,#factor-identity-benchmarks th:first-child{text-align:left}#factor-identity-benchmarks details{margin:16px 0}#factor-identity-benchmarks summary{cursor:pointer}

#factor-sentiment .sentiment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:20px;margin:16px 0}#factor-sentiment .table-wrap{overflow-x:auto;max-width:100%;margin:16px 0}#factor-sentiment table{width:100%;border-collapse:collapse}#factor-sentiment td,#factor-sentiment th{padding:10px;border:1px solid #394553;text-align:right}#factor-sentiment th:first-child,#factor-sentiment td:first-child{text-align:left}#factor-sentiment .sentiment-cell{min-width:110px;text-align:center;font-variant-numeric:tabular-nums}#factor-sentiment .sentiment-cell strong,#factor-sentiment .sentiment-cell small{display:block;margin:5px 0}#factor-sentiment .sentiment-cell[data-missing="true"]{background:repeating-linear-gradient(135deg,transparent,transparent 8px,#66778822 8px,#66778822 16px)}#factor-sentiment details{margin-top:16px}

#factor-sentiment-exposure .exposure-families{display:grid;gap:20px}#factor-sentiment-exposure .table-wrap{overflow-x:auto;margin:14px 0}#factor-sentiment-exposure table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}#factor-sentiment-exposure th,#factor-sentiment-exposure td{padding:10px;border:1px solid #394553;text-align:right}#factor-sentiment-exposure th:first-child,#factor-sentiment-exposure td:first-child{text-align:left}#factor-sentiment-exposure .exposure-cell{display:block;padding:12px;min-width:95px;text-align:center}#factor-sentiment-exposure .exposure-cell[data-selected="true"]{outline:2px solid #46cdaa;outline-offset:-2px}#factor-sentiment-exposure .exposure-cell small{display:block;margin-top:6px}#factor-sentiment-exposure .exposure-curve svg{display:block;width:100%;min-width:560px;height:auto;background:#101923}#factor-sentiment-exposure .exposure-curve{overflow-x:auto}#factor-sentiment-exposure .exposure-curve text{fill:#bccbd8;font-size:12px}#factor-sentiment-exposure #exposure-legend{gap:18px}#factor-sentiment-exposure #exposure-legend span{border-bottom:3px solid;padding:5px}#factor-sentiment-exposure details{margin:16px 0}
