.page-markets{--gain:#06876d;--loss:#d13a50;--vwap:#2962ff}.page-markets[data-theme=dark],:root[data-theme=dark] .page-markets{--gain:#36c9a0;--loss:#ff6b7d;--vwap:#f5c542}.page-markets main.wide{max-width:1700px}.market-toolbar{display:flex;justify-content:space-between;align-items:center;margin:27px 0 14px;gap:15px;font-size:14px;color:var(--muted)}.market-toolbar>div{display:flex;align-items:center;gap:15px}.market-toolbar button{font-size:14px;padding:7px 14px}.market-region{display:flex;align-items:center;gap:9px;font-weight:600;color:var(--ink)}.market-region i{width:7px;height:7px;background:var(--gain);border-radius:50%}.market-strip{display:grid;grid-template-columns:repeat(8,minmax(128px,1fr));overflow-x:auto;border:1px solid var(--line);background:var(--surface);border-radius:7px;margin-bottom:24px}.market-card{position:relative;background:transparent;border:0;border-right:1px solid var(--line);color:var(--ink);text-align:left;padding:19px 12px 13px;min-height:133px;border-radius:0;cursor:pointer;font-variant-numeric:tabular-nums}.market-card:last-child{border-right:0}.market-card[aria-pressed=true]{background:var(--tint);box-shadow:inset 0 3px var(--blue)}.market-card:hover{background:var(--raised)}.market-card .card-name{font-size:14px;display:block;color:var(--blue);font-weight:600;margin-bottom:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.market-card strong{display:block;font-size:23px;letter-spacing:-.5px}.card-change{display:block;font-size:13px;margin:5px 0}.card-time{font-size:12.5px;color:var(--muted);display:block}.market-card svg{width:100%;height:25px;margin-top:7px}.market-detail{border:1px solid var(--line);border-radius:7px;background:var(--surface);padding:28px 30px 0}.quote-heading{display:flex;justify-content:space-between;gap:20px}.quote-heading h2{font-size:26px;letter-spacing:-.6px;margin:9px 0 12px}.quote-line{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;font-variant-numeric:tabular-nums}.quote-line strong{font-size:42px;letter-spacing:-1.7px;font-weight:650;line-height:1.2}.quote-line>span{font-size:21px}.quote-time{font-size:13px;margin:10px 0 23px}.range-controls{display:flex;gap:4px;flex-wrap:wrap}.range-controls button{border:1px solid transparent;background:transparent;color:var(--muted);border-radius:4px;font-size:13px;min-width:46px;padding:8px 12px;cursor:pointer}.range-controls button[aria-pressed=true]{background:var(--tint);color:var(--blue);border-color:var(--line);font-weight:700}.chart-wrap{position:relative;margin-top:14px;min-height:240px}.chart-wrap>svg{display:block;width:100%;height:auto;min-height:230px;overflow:visible;touch-action:pan-y}.chart-wrap text{font-family:inherit;fill:var(--muted);font-size:13px}.chart-wrap line.grid{stroke:var(--line);stroke-dasharray:3 5}.chart-wrap line.baseline{stroke:var(--muted);stroke-dasharray:4 4}.chart-wrap #chart-message{position:absolute;top:45%;width:100%;text-align:center;font-size:15px;color:var(--muted);pointer-events:none}.chart-wrap output{position:absolute;top:15px;left:15px;background:var(--raised);border:1px solid var(--line);padding:9px 12px;font-size:13px;border-radius:5px;pointer-events:none}.market-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 30px;margin:12px 0 20px;font-size:14px}.market-stats>div{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.market-stats dt{color:var(--muted)}.market-stats dd{margin:0;color:var(--ink);font-weight:600;text-align:right;font-variant-numeric:tabular-nums}.market-source{display:flex;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding:16px 0;font-size:12px;color:var(--muted);line-height:1.6}.market-source a{color:var(--blue);white-space:nowrap}.research-links{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px}.research-links>a{color:var(--ink);padding:21px 23px;border:1px solid var(--line);border-radius:6px;background:var(--surface);text-decoration:none}.research-links>a:hover{border-color:var(--blue)}.research-links span{font-size:12.5px;color:var(--muted);letter-spacing:1.5px}.research-links h3{font-size:18px;font-weight:600;margin:12px 0 6px}.research-links p{font-size:14px;margin:0}.page-markets .gain{color:var(--gain)}.page-markets .loss{color:var(--loss)}.page-markets .stale{color:var(--amber)}
.chart-zone{font-size:12px;color:var(--muted);margin:12px 0 0}
.interval-controls{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}.average-controls{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.average-controls button{font-size:13px;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--ma-color);border-radius:4px;padding:7px 10px;cursor:pointer;font-variant-numeric:tabular-nums}.average-controls button[aria-pressed=true]{background:var(--tint);color:var(--ink)}.average-controls button[aria-pressed=false]{opacity:.55;text-decoration:line-through}.average-controls button:disabled{opacity:.4;cursor:default}
@media(min-width:1600px){.market-card{padding-left:20px;padding-right:20px}}
@media(max-width:1050px){.market-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.market-card{min-width:140px}.market-strip{grid-template-columns:repeat(8,1fr)}}
@media(max-width:700px){.market-detail{padding:20px 16px 0}.quote-line strong{font-size:34px}.quote-line>span{font-size:16px}.market-toolbar{align-items:flex-start}.market-toolbar>div{gap:8px}.market-toolbar #refresh-status{max-width:130px;line-height:1.6}.market-strip{margin-bottom:16px}.market-stats{gap:0 15px;font-size:12px}.research-links{grid-template-columns:1fr;gap:10px}.research-links>a{padding:16px 20px}.market-source{flex-direction:column;gap:8px}.quote-heading h2{font-size:20px}.chart-wrap>svg{min-height:230px}.chart-wrap text{font-size:28px}}
/* The price chart keeps its original grid and axis colors under the site theme. */
.chart-wrap{--line:#e1e5ea;--muted:#74808e}:root[data-theme=dark] .chart-wrap{--line:#32373e;--muted:#9ba4b0}

/* Other pages get these resets from workbook.css, which this page does not load. */
.page-markets .site-nav a,.page-markets .link-button{text-decoration:none}
/* Eight cards need about 1,180px; below that, two rows of four instead of clipping the last card. */
@media(max-width:1480px) and (min-width:701px){.market-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.market-card:nth-child(4n of :not([hidden])){border-right:0}.market-card:nth-child(-n+4 of :not([hidden])){border-bottom:1px solid var(--line)}}
/* Today's movers (S&P 500 / Nasdaq-100 constituents, live quotes). */
/* Top three of the gain / loss ranking: gold rank and ticker, as on the turnover leaderboard. */
/* Tickers link in the site blue; the three biggest movers turn gold (as on AI Picks) while the rank numbers stay quiet. */
.mv-table td:nth-child(2) a{color:var(--blue)}
.mv-table tr.is-top td:nth-child(2) a{color:#a37408!important;font-weight:700;text-decoration:none!important}
:root[data-theme=dark] .mv-table tr.is-top td:nth-child(2) a{color:var(--gold,#f0c05a)!important}
.mv-table tr.is-top td:nth-child(2) a:hover{text-decoration:underline!important}
.movers{margin:22px 0;padding:22px 24px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.movers h2{margin:0 0 14px;font-size:21px}
.mv-controls{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 12px}
.mv-controls fieldset{display:inline-flex;gap:2px;margin:0;padding:3px;border:1px solid var(--line);border-radius:10px;background:var(--raised)}
.mv-controls button{min-height:0;border:0;border-radius:7px;background:transparent;color:var(--muted);font:inherit;font-size:14px;font-weight:500;padding:6px 12px;cursor:pointer}
.mv-controls button[aria-pressed=true]{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:0 1px 2px rgba(15,34,56,.1),0 0 0 1px var(--line)}
:root[data-theme=dark] .mv-controls button[aria-pressed=true]{background:var(--tint)}
.mv-status{margin:0 0 6px;font-size:13.5px;color:var(--muted)}
.mv-table{width:100%;border-collapse:collapse;font-size:15px;font-variant-numeric:tabular-nums}
.mv-table th{padding:8px 10px;border-bottom:2px solid var(--line);text-align:right;font-size:13.5px;font-weight:600;color:var(--muted)}
.mv-table td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:right}
.mv-table th:nth-child(-n+3),.mv-table td:nth-child(-n+3){text-align:left}
.mv-table td:first-child{width:34px;color:var(--muted)}.mv-table td:nth-child(2){width:72px;font-weight:650;color:var(--ink)}
.mv-table td:nth-child(3){max-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}
.mv-table td.gain{color:var(--gain)}.mv-table td.loss{color:var(--loss)}
.mv-table td.mv-bar{position:relative;font-weight:600}.mv-table td.mv-bar::before{content:"";position:absolute;right:6px;top:22%;bottom:22%;width:var(--w,0%);max-width:calc(100% - 12px);border-radius:3px;background:currentColor;opacity:.13}
.mv-table th button{min-height:0;padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer}
.mv-table tbody tr:hover td{background:var(--raised)}
.mv-show{margin-top:14px;padding:7px 14px;border:1px solid var(--line);border-radius:8px;background:var(--raised);color:var(--ink);font-size:14px;cursor:pointer}
@media(max-width:700px){.movers{padding:16px}.mv-table{font-size:13.5px}.mv-table th:nth-child(5),.mv-table td:nth-child(5),.mv-table th:nth-child(7),.mv-table td:nth-child(7){display:none}.mv-table th,.mv-table td{padding:8px 5px}}
.market-card[hidden]{display:none!important}

/* Phones: the DCF link drops under the intro (as on the model pages) and the toolbar reads as two calm rows,
   the region label, then the check time beside the Refresh button (three wrapped columns before). */
@media(max-width:700px){.page-markets .title-row{flex-wrap:wrap;gap:12px 15px}.market-toolbar{flex-wrap:wrap;row-gap:8px;align-items:center}.market-region{white-space:nowrap}.market-toolbar>div{flex:1 1 100%;justify-content:space-between}.page-markets .market-toolbar #refresh-status{max-width:none;min-height:0;line-height:1.4}.market-toolbar button{white-space:nowrap}}
