.earnings-news,.macro-news{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:26px 28px;margin:28px 0;min-width:0}
.news-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:10px 18px;flex-wrap:wrap;padding-bottom:16px;margin-bottom:6px;border-bottom:1px solid var(--line)}
.news-heading h2{margin:0;font-size:21px;letter-spacing:-.015em}.news-heading p{margin:4px 0 0;color:var(--muted);font-size:14px}
.news-heading time,.news-status{color:var(--muted);font-size:13px}
.news-heading time{font-family:"IBM Plex Mono",monospace;letter-spacing:.02em}
/* Show only the active language of each bilingual pair */
.news-en,.news-zh{display:block}html[lang^=zh] .news-en,html:not([lang^=zh]) .news-zh{display:none}
/* Earnings article */
.earnings-title{margin:18px 0 18px;font-size:clamp(21px,2.1vw,27px);line-height:1.35;font-weight:600;letter-spacing:-.02em;color:var(--ink);max-width:62ch;text-wrap:balance}
.earnings-figures{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden;margin:0 0 22px}
.earnings-figure{background:var(--surface);padding:14px 16px;display:flex;flex-direction:column;gap:4px;position:relative}
.earnings-figure::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:transparent}
.earnings-figure.beat::before{background:#1f8a5b}.earnings-figure.miss::before{background:#c2410c}
.ef-label{font-size:13px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}
.earnings-figure strong{font-family:"IBM Plex Mono",monospace;font-size:22px;font-weight:600;color:var(--ink);letter-spacing:-.01em}
.ef-est{font-size:13px;color:var(--muted);display:flex;gap:4px;align-items:baseline}.ef-est span{display:inline}html[lang^=zh] .ef-est .news-en,html:not([lang^=zh]) .ef-est .news-zh{display:none}
.beat .ef-est{color:#1f8a5b}.miss .ef-est{color:#c2410c}
:root[data-theme=dark] .beat .ef-est,:root[data-theme=dark] .earnings-figure.beat::before{color:#5fd39b;background-color:initial}:root[data-theme=dark] .earnings-figure.beat::before{background:#5fd39b}
:root[data-theme=dark] .miss .ef-est{color:#f59e6b}:root[data-theme=dark] .earnings-figure.miss::before{background:#f59e6b}
.earnings-body{max-width:72ch}
.earnings-pair{margin:0 0 12px;font-size:16px;line-height:1.75;color:var(--ink);overflow-wrap:anywhere}
.earnings-body .earnings-pair:first-child{font-size:17px}
/* Macro feed */
.macro-news .news-status{margin:10px 0 0}
.macro-day h3{font-size:13px;font-weight:600;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:22px 0 6px}
.macro-row{display:grid;grid-template-columns:78px minmax(170px,1.25fr) minmax(250px,1.4fr) minmax(190px,1fr);gap:14px;align-items:center;padding:12px 14px;border-radius:8px;border-left:3px solid transparent;transition:background-color .15s}
.macro-row+.macro-row{margin-top:2px}.macro-row:hover{background:var(--raised)}
.macro-row.hawkish{border-left-color:var(--gold,#c9971f)}.macro-row.dovish{border-left-color:var(--blue)}
.macro-time{font-family:"IBM Plex Mono",monospace;font-size:13.5px;color:var(--muted)}
.macro-name{font-size:15.5px;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.macro-freq{font-size:12px;font-weight:600;letter-spacing:.05em;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:1px 7px}
.macro-nums{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.macro-nums span{display:flex;flex-direction:column;gap:1px}.macro-nums small{font-size:12px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}
.macro-nums b{font-family:"IBM Plex Mono",monospace;font-size:14.5px;font-weight:500;color:var(--muted)}
.macro-nums .macro-actual b{font-size:16.5px;font-weight:600;color:var(--ink)}
.hawkish .macro-actual b{color:#a37408}.dovish .macro-actual b{color:var(--blue)}
:root[data-theme=dark] .hawkish .macro-actual b{color:var(--gold,#f0c05a)}
.macro-side{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.macro-surprise{font-size:12.5px;font-weight:600;border-radius:999px;padding:2px 9px;background:var(--raised);color:var(--muted)}
.hawkish .macro-surprise{background:rgba(201,151,31,.14);color:#94680a}.dovish .macro-surprise{background:rgba(27,77,137,.1);color:var(--blue)}
:root[data-theme=dark] .hawkish .macro-surprise{color:var(--gold,#f0c05a)}:root[data-theme=dark] .dovish .macro-surprise{background:rgba(138,184,236,.14)}
.macro-react{display:flex;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--muted);font-family:"IBM Plex Mono",monospace}
.macro-react b{font-family:"IBM Plex Sans",sans-serif;font-weight:500}
.mr-up{color:#1f8a5b}.mr-down{color:#c2410c}.mr-flat{color:var(--muted)}
:root[data-theme=dark] .mr-up{color:#5fd39b}:root[data-theme=dark] .mr-down{color:#f59e6b}
.mr-up b,.mr-down b{color:var(--muted)}
.macro-stale{grid-column:1/-1;font-size:12.5px;color:var(--muted)}
.macro-upcoming{border-top:1px solid var(--line);margin-top:22px;padding-top:4px}
.macro-upcoming h3{font-size:13px;font-weight:600;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:18px 0 8px}
.macro-next{display:grid;grid-template-columns:190px 1fr auto;gap:12px;align-items:baseline;padding:8px 14px;border-radius:6px;font-size:14.5px}
.macro-next:nth-child(odd){background:var(--raised)}
.macro-next time{font-family:"IBM Plex Mono",monospace;font-size:13px;color:var(--muted)}.macro-next span{color:var(--ink);font-weight:500}.macro-next b{font-family:"IBM Plex Mono",monospace;font-weight:500;font-size:13.5px;color:var(--muted)}
.news-sources{font-size:13px;line-height:1.8;color:var(--muted);width:100%;overflow-wrap:anywhere;margin:0}
.news-sources a{color:var(--blue)}
#macro-show{margin-top:14px;background:transparent;color:var(--blue);border:1px solid var(--line);padding:8px 14px;border-radius:8px;cursor:pointer;font-weight:500}
#macro-show:hover{border-color:var(--blue);background:var(--raised)}
@media(max-width:1100px){.macro-row{grid-template-columns:70px 1fr;row-gap:8px}.macro-nums,.macro-side{grid-column:2}.macro-side{flex-direction:row;flex-wrap:wrap;align-items:center}}
@media(max-width:700px){.earnings-news,.macro-news{padding:18px 16px;border-radius:8px}.macro-row{grid-template-columns:1fr;padding:12px 10px}.macro-nums,.macro-side{grid-column:1}.macro-time{order:-1}.macro-next{grid-template-columns:1fr auto;padding:8px 10px}.macro-next time{grid-column:1/-1}.earnings-pair{font-size:15.5px}.earnings-figures{grid-template-columns:1fr 1fr}.earnings-figure strong{font-size:19px}.page-eps footer,.page-markets footer{flex-wrap:wrap}}
/* Fed rate expectations (Markets page) */
.fed-rates{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:26px 28px;margin:28px 0;min-width:0;box-shadow:var(--lift)}
.fed-now{margin:0;color:var(--muted);font-size:13.5px;font-family:"IBM Plex Mono",monospace}
.fed-next{margin:20px 0 22px}
.fed-next-label{margin:0 0 9px;font-size:13px;font-weight:600;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}
.fed-bar{display:flex;gap:3px;height:46px;border-radius:9px;overflow:hidden}
.fed-seg{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 14px;min-width:92px;color:#fff}
.fed-seg b{font-size:18px;font-family:"IBM Plex Mono",monospace;font-weight:600}.fed-seg small{font-size:13px;font-weight:600;opacity:.92}
.fed-seg.fed-hold{background:#696e76}.fed-seg.fed-hike{background:#b7861b}.fed-seg.fed-cut{background:#1b4d89}
:root[data-theme=dark] .fed-seg.fed-hold{background:#43474d}:root[data-theme=dark] .fed-seg.fed-cut{background:#2f6db3}:root[data-theme=dark] .fed-seg.fed-hike{background:#a67a17}
.fed-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:9px}
.fed-table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px;font-variant-numeric:tabular-nums}
.fed-table th,.fed-table td{padding:11px 12px;text-align:right;white-space:nowrap;border-bottom:1px solid var(--line)}
.fed-table tbody tr:last-child>*{border-bottom:0}
.fed-table thead th{font-size:12.5px;font-weight:600;color:var(--muted);background:var(--raised);font-family:"IBM Plex Mono",monospace}
.fed-table thead th:first-child,.fed-table thead th:nth-last-child(-n+2){font-family:inherit}
.fed-table thead th.now{color:var(--ink)}
.fed-table tbody th{position:sticky;left:0;z-index:1;text-align:left;background:var(--surface);font-weight:600;color:var(--ink)}
.fed-table tbody th span{display:block}.fed-table tbody th small{display:block;font-weight:400;font-size:12px;color:var(--muted);margin-top:2px}
.fed-table td{font-family:"IBM Plex Mono",monospace;color:var(--ink)}
.fed-table td.up{background:rgba(201,151,31,calc(var(--p,0)*.55))}
.fed-table td.down{background:rgba(27,77,137,calc(var(--p,0)*.5))}
.fed-table td.now{background:rgba(91,107,128,calc(var(--p,0)*.45))}
:root[data-theme=dark] .fed-table td.down{background:rgba(138,184,236,calc(var(--p,0)*.42))}
:root[data-theme=dark] .fed-table td.now{background:rgba(160,175,196,calc(var(--p,0)*.35))}
.fed-table td.top{font-weight:700}
.fed-table td.fed-exp{font-weight:600;border-left:1px solid var(--line)}
.fed-table td.fed-chg{color:var(--muted)}.fed-table td.fed-chg.up{color:#a37408}.fed-table td.fed-chg.down{color:var(--blue)}
:root[data-theme=dark] .fed-table td.fed-chg.up{color:var(--gold,#f0c05a)}
@media(max-width:700px){.fed-rates{padding:18px 16px;border-radius:8px}.fed-bar{height:42px}.fed-seg{min-width:74px;padding:0 10px}.fed-seg b{font-size:16px}.fed-table{font-size:13px}.fed-table th,.fed-table td{padding:10px 9px}}
.fed-table thead th:first-child{text-align:left}
