/* Algorithms page: long-read layout on the site dark theme, TradingView level colours. */
.algo{display:grid;grid-template-columns:200px minmax(0,1fr);gap:32px;max-width:1240px;margin:0 auto}
.toc{position:sticky;top:80px;align-self:start;display:flex;flex-direction:column;gap:2px;font-size:12px}
.toc b{font-size:10px;letter-spacing:2px;color:#61cbb3;margin-bottom:8px;font-weight:600}
.toc a{color:#8d9daf;text-decoration:none;padding:5px 8px;border-radius:4px}
.toc a:hover{background:#152230;color:#dce7ee}
.algo article{min-width:0;font-size:14px}
.algo section{margin:0 0 44px;scroll-margin-top:16px}
.algo h2{font-size:19px;font-weight:600;margin:0 0 16px;color:#dce7ee}
.algo h3{font-size:14px;font-weight:600;margin:18px 0 8px;color:#dce7ee}
.algo p,.algo li{color:#a5b4c3;line-height:1.65}
.algo li{margin-bottom:6px}
.algo b{color:#dce7ee;font-weight:600}
.lead{font-size:14px;max-width:900px}
.algo code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;background:#152230;border:1px solid #24303d;border-radius:4px;padding:1px 5px;color:#cfe0ea}
.algo pre{background:#0e1620;border:1px solid #24303d;border-radius:8px;padding:16px;overflow:auto}
.algo pre code{background:none;border:0;padding:0;font-size:12.5px;line-height:1.6}
.card{background:#101923;border:1px solid #24303d;border-radius:10px;padding:18px 20px}
.card h3:first-child{margin-top:0}
.accent{border-color:#2b5a4f;background:linear-gradient(180deg,#10201f,#101923)}
.split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:24px;align-items:start}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.diagram{margin:0;background:#131722;border:1px solid #2a2e39;border-radius:10px;padding:12px}
.diagram svg{width:100%;height:auto;display:block;font-family:-apple-system,BlinkMacSystemFont,"Trebuchet MS",Roboto,sans-serif}
.diagram text{font-size:13px}
.diagram .note{font-size:11px;fill:#9598a1}
.diagram figcaption{font-size:11px;color:#787b86;margin-top:6px}
.state rect{fill:#1b2130;stroke:#363c4e}
.state.on rect{stroke:#2962ff;fill:#172040}
.state text{text-anchor:middle;fill:#b2b5be;font-size:12px}
.state .st{fill:#d1d4dc;font-weight:700;font-size:13px;letter-spacing:1px}
.lbl{text-anchor:middle;font-size:12px}
.lbl:not([fill]){fill:#9598a1}
.algo table{width:100%;border-collapse:collapse;font-size:13px;margin:8px 0 12px}
.algo th,.algo td{border-bottom:1px solid #24303d;padding:8px 10px;text-align:left;vertical-align:top;color:#b8c6d3}
.algo thead th{color:#7e92a6;font-weight:500;font-size:11px;letter-spacing:.5px}
.algo table.num td{font-variant-numeric:tabular-nums}
.algo tr.chosen td{background:rgba(41,98,255,.08)}
.algo table.kv th{color:#7e92a6;font-weight:500;width:44%}
.algo table.mini{font-size:12px}.algo table.mini th,.algo table.mini td{padding:4px 6px;text-align:center}
.formula{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;background:#0e1620;border-left:2px solid #2962ff;padding:10px 12px;color:#dce7ee!important}
.pipeline{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.stage{position:relative;background:#101923;border:1px solid #24303d;border-radius:10px;padding:18px 18px 10px}
.stage>span{position:absolute;top:-11px;left:16px;width:24px;height:24px;border-radius:50%;background:#2962ff;color:#fff;display:grid;place-items:center;font-size:12px;font-weight:700}
.stage h3{margin-top:4px}
.stage p{font-size:13px}
ol.steps li{margin-bottom:8px}
.warn{color:#f5a623;font-size:11px}
.muted{font-size:12px}
.calc{display:grid;grid-template-columns:repeat(3,minmax(0,200px));gap:14px;margin-bottom:6px}
@media(max-width:1000px){.algo{grid-template-columns:1fr}.toc{position:static;flex-direction:row;flex-wrap:wrap}.split,.grid2,.grid3,.pipeline{grid-template-columns:1fr}}
