/* MO fidelity. Layout and colors follow the approved static page, Mo Sharpe vs vol Oct'26.html. */
:root{color-scheme:light;--bg:#fcfcfb;--ink:#0b0b0b;--sub:#52514e;--muted:#898781;--link:#2a78d6}
@media (prefers-color-scheme:dark){:root:where(:not([data-theme="light"])){color-scheme:dark;--bg:#1a1a19;--ink:#f0efec;--sub:#c3c2b7;--muted:#898781;--link:#6aa5ee}}
:root[data-theme="dark"]{color-scheme:dark;--bg:#1a1a19;--ink:#f0efec;--sub:#c3c2b7;--muted:#898781;--link:#6aa5ee}
body{background:var(--bg);color:var(--ink);font:14px/1.5 -apple-system,BlinkMacSystemFont,sans-serif;margin:0;padding:24px 16px}
main{max-width:900px;margin:0 auto}h1{font-size:18px;font-weight:600;margin:0 0 4px}
.back{display:inline-block;color:var(--muted);font-size:12px;text-decoration:none;margin:0 0 10px}.back:hover{color:var(--link)}
.sub{color:var(--sub);font-size:13px;margin:0 0 14px}.lab{font-size:12px;color:var(--muted);margin:16px 0 4px}.lab.first{margin-top:4px}
.leg{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:12px;color:var(--sub);margin:4px 0}.leg i{display:inline-block;width:12px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px}
.box{position:relative;width:100%}.lab b{color:var(--ink);font-weight:600}
.h70{height:70px}.h150{height:150px}.h170{height:170px}.h200{height:200px}.h220{height:220px}.h240{height:240px}
.note{color:var(--muted);font-size:11px;margin:18px 0 0;line-height:1.6}
/* Assets, page-wide: BTC orange, ETH blue, dollars green, dollars and ETH together teal. */
.sw-usd{background:#1baf7a}.sw-eth{background:#2a78d6}.sw-btc{background:#eb6834}
.sw-best{background:rgba(154,152,143,.45)}.sw-model{background:#1baf7a}
.sw-sh-model{background:#2a78d6}.sw-live{background:#8a5cd6}
.sw-btc-only{background:#eb6834}.sw-ethbtc{background:#8a5cd6}.sw-ref{background:var(--sub)}.sw-mix{background:#18a0a8}.leg i.faint{opacity:.7}
.sw-bto-model{background:rgba(235,104,52,.5)}
.leg i.pair{margin-right:2px}.leg i.sw-vol{height:0;border-top:2px dotted var(--sub);border-radius:0;vertical-align:3px}
/* Legend items toggle their line. */
.leg button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-align:left}
.leg button:hover{color:var(--ink)}.leg button.off{opacity:.38;text-decoration:line-through}
.leg button:focus-visible{outline:2px solid var(--link);outline-offset:2px;border-radius:2px}
/* Equity chart range: All or Live since sFOX went live. */
.views{display:flex;gap:4px;margin:6px 0 2px}
.views button{font:inherit;font-size:12px;color:var(--sub);background:none;border:1px solid var(--muted);border-radius:4px;padding:1px 8px;cursor:pointer}
.views button[aria-pressed="true"]{color:var(--ink);border-color:var(--ink)}
.views button:focus-visible{outline:2px solid var(--link);outline-offset:2px}
/* Against his own record: open flags only, at the top of the page (spot_monitor/mo_ask.py). */
:root{--ask-ink:#c27a12}
@media (prefers-color-scheme:dark){:root:where(:not([data-theme="light"])){--ask-ink:#f0b04a}}
:root[data-theme="dark"]{--ask-ink:#f0b04a}
.asks{font-size:12px;color:var(--ask-ink);margin:4px 0 0}
/* MO BTC/USD candidate (Nov 2 '26 backtest) and its worst windows under panel 4. */
:root{--cand:#a3401c}
@media (prefers-color-scheme:dark){:root:where(:not([data-theme="light"])){--cand:#f29a72}}
:root[data-theme="dark"]{--cand:#f29a72}
.leg i.sw-cand{height:0;border-top:2px dashed var(--cand);border-radius:0;vertical-align:3px}
.tblwrap{overflow-x:auto;margin:4px 0 0}
.floors{border-collapse:collapse;font-size:12px;color:var(--sub);font-variant-numeric:tabular-nums}
.floors th,.floors td{padding:3px 14px 3px 0;text-align:right;vertical-align:top;white-space:nowrap}
.floors th{font-weight:500;color:var(--muted)}.floors th:first-child,.floors td:first-child{text-align:left;white-space:normal;min-width:130px}
.floors small{display:block;color:var(--muted);font-size:11px}.floors td.past{color:var(--ask-ink)}
