.sidebar .macro-index-entry.nav-item { position: relative; display: flex; flex: 0 0 auto; align-items: center; justify-content: space-between; gap: 8px; min-height: 56px; padding: 15px 13px; margin: 0 2px 14px; border: 1px solid var(--nav-glass-line, #d2dde1); border-radius: 12px; color: var(--nav-glass-ink, #17242c); background: var(--nav-glass-panel, #f8fbfb); box-shadow: inset 0 1px #ffffff, var(--nav-glass-shadow, 0 4px 12px #16242c08); text-decoration: none; font-size: 12px; font-weight: 650; }
.sidebar .macro-index-entry small { font-size: 9px; color: #6d8883; white-space: nowrap; font-weight: 400; }
.sidebar .macro-index-entry.nav-item:hover { border-color: #bbd6ce; background: #f1f8f6; }
.sidebar .macro-index-entry.nav-item.active { color: #08776e; border-color: #b9d9d2; background: linear-gradient(110deg, #e3f2ee, #f6fbf9); }
.sidebar .macro-index-entry.nav-item.active::before { content: ""; position: absolute; left: 0; top: 12px; bottom: 12px; width: 3px; border-radius: 2px; background: #08776e; }
.sidebar .macro-index-entry:focus-visible { outline: 3px solid #79b7a6; outline-offset: 3px; }
.macro-page { --macro-ink: #1b3031; --macro-muted: #6b7b7c; --macro-line: #dfe7e3; --macro-green: #167264; margin: 0; background: #f3f5f2; color: var(--macro-ink); font: 14px/1.65 "Segoe UI", "Microsoft YaHei UI", "PingFang SC", sans-serif; }
.macro-page *, .macro-page *::before, .macro-page *::after { box-sizing: border-box; }
.macro-page button, .macro-page input, .macro-page select, .macro-page textarea { font: inherit; }
.macro-page button, .macro-page a, .macro-page input, .macro-page select, .macro-page textarea, .macro-page summary { outline-offset: 3px; }
.macro-page :focus-visible { outline: 3px solid #99c6b6; }
.macro-page button { cursor: pointer; }
.macro-page button:disabled { opacity: .5; cursor: not-allowed; }
.macro-page [hidden] { display: none !important; }
.macro-topbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px max(24px, calc((100vw - 1200px) / 2)); border-bottom: 1px solid var(--macro-line); background: #fafbf9; color: var(--macro-muted); font-size: 12px; }
.macro-back { color: #345a52; text-decoration: none; font-size: 13px; }
.macro-back:hover { text-decoration: underline; }
.macro-workspace { max-width: 1248px; padding: 32px 24px; margin: auto; }
.macro-page.macro-module { background: transparent; margin: 0; }
.macro-module > .macro-workspace { max-width: none; padding: 24px 0; }
.macro-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 22px; }
.macro-eyebrow { margin: 0 0 7px; font-size: 10px; letter-spacing: 1.6px; color: #6a8b7e; font-weight: 600; }
.macro-heading h1 { font-size: 30px; font-weight: 650; letter-spacing: -.7px; margin: 0; }
.macro-subtitle { color: var(--macro-muted); margin: 6px 0 0; font-size: 13px; }
.macro-badge { border: 1px solid #cdded4; border-radius: 100px; padding: 6px 12px; color: #517164; background: #edf4ee; white-space: nowrap; font-size: 11px; }
.macro-boundary { display: flex; gap: 10px; align-items: baseline; padding: 10px 15px; border: 1px solid #dae5de; border-radius: 9px; background: #eaf0ea; color: #587162; font-size: 12px; }
.macro-boundary p { margin: 0; }
.macro-dot { width: 6px; height: 6px; background: #759e87; border-radius: 50%; flex-shrink: 0; }
.macro-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin: 24px 0 18px; }
.macro-tabs { display: flex; flex-wrap: wrap; gap: 6px; }
.macro-tab { border: 1px solid transparent; border-radius: 8px; padding: 9px 17px; background: transparent; color: var(--macro-muted); font-size: 13px; }
.macro-tab[aria-selected="true"] { border-color: #ccdcd3; background: #fff; color: var(--macro-green); font-weight: 600; box-shadow: 0 2px 4px #1a3b2906; }
.macro-tab:hover { background: #e8eeea; }
.macro-page .macro-horizon-label { display: flex; align-items: center; gap: 10px; color: var(--macro-muted); font-size: 12px; white-space: nowrap; }
.macro-page .macro-horizon-label select { width: auto; min-width: 180px; margin: 0; background: #f9fbf8; }
.macro-overview { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 22px; }
.macro-summary-card { display: flex; flex-direction: column; align-items: flex-start; padding: 17px 20px; border: 1px solid var(--macro-line); background: #fafcf9; border-radius: 12px; }
.macro-summary-card > span { color: var(--macro-muted); font-size: 11px; }
.macro-summary-card strong { font-size: 23px; font-weight: 600; margin: 5px 0; }
.macro-summary-card small { color: #84908b; font-size: 11px; }
.macro-research-form { display: grid; gap: 18px; }
.macro-panel { border: 1px solid var(--macro-line); border-radius: 14px; background: #fff; padding: 24px; }
.macro-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 20px; }
.macro-panel-heading h2 { margin: 0; font-size: 18px; font-weight: 600; }
.macro-panel-heading .macro-eyebrow { font-size: 9px; margin-bottom: 4px; }
.macro-muted { color: var(--macro-muted); font-size: 11px; }
.macro-page label { display: block; min-width: 0; font-size: 12px; font-weight: 500; }
.macro-page input, .macro-page select, .macro-page textarea { display: block; width: 100%; min-width: 0; border: 1px solid #dce5df; border-radius: 7px; padding: 10px 11px; color: #263d36; background: #fbfcfa; margin-top: 7px; font-size: 13px; }
.macro-page textarea { resize: vertical; line-height: 1.7; }
.macro-page input::placeholder, .macro-page textarea::placeholder { color: #99a49e; font-size: 12px; }
.macro-page input:focus, .macro-page select:focus, .macro-page textarea:focus { border-color: #76aa98; background: #fff; }
.macro-page .macro-panel > label { margin-top: 17px; }
.macro-optional { font-size: 10px; color: #9aa69f; margin-left: 4px; font-weight: 400; }
.macro-grid { display: grid; gap: 16px; }
.macro-grid-three { grid-template-columns: 1fr 1fr 2fr; }
.macro-grid-two { grid-template-columns: 1fr 1fr; margin-top: 17px; }
.macro-judgement-grid { grid-template-columns: 1fr 3fr; }
.macro-form-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 24px; padding-top: 18px; border-top: 1px solid #edf0ec; }
.macro-form-footer p { color: #829087; font-size: 11px; margin: 0; }
.macro-primary, .macro-secondary { border-radius: 7px; padding: 10px 16px; font-size: 12px !important; font-weight: 500; white-space: nowrap; }
.macro-primary { background: var(--macro-green); border: 1px solid var(--macro-green); color: #fff; }
.macro-primary:hover { background: #0f5e51; }
.macro-secondary { border: 1px solid #d6e1d9; background: #fafcf9; color: #527362; }
.macro-secondary:hover { background: #eaf1e9; }
.macro-status { color: #7c8d83; font-size: 11px; margin: 10px 0 0; min-height: 18px; }
.macro-status[data-level="error"] { color: #a04a39; }
.macro-history-panel { margin-top: 22px; }
.macro-history-note { margin: -6px 0 18px; }
.macro-empty { border: 1px dashed #dbe4dc; background: #fafcf9; text-align: center; padding: 32px 18px; border-radius: 8px; color: #8b978e; }
.macro-empty strong { display: block; font-size: 13px; color: #6d8072; font-weight: 500; margin-bottom: 7px; }
.macro-empty p { font-size: 11px; margin: 0; }
.macro-record { border: 1px solid #e1e7e1; border-radius: 9px; margin-top: 10px; overflow: hidden; }
.macro-record summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; cursor: pointer; padding: 15px; background: #fafcf9; list-style: none; }
.macro-record summary::-webkit-details-marker { display: none; }
.macro-record summary::after { content: "+"; font-size: 17px; color: #789280; }
.macro-record[open] summary::after { content: "−"; }
.macro-record-title { display: flex; flex: 1; align-items: center; justify-content: space-between; gap: 12px; font-size: 12px; }
.macro-record-title strong { font-weight: 600; }
.macro-record-title small { color: #839187; font-size: 10px; }
.macro-record-body { padding: 18px; }
.macro-record-body dl { display: grid; grid-template-columns: 100px 1fr; margin: 0; gap: 12px; font-size: 12px; }
.macro-record-body dt { color: #859289; }
.macro-record-body dd { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.macro-review-form { padding-top: 18px; margin-top: 18px; border-top: 1px solid #e8eee7; }
.macro-review-form .macro-grid { grid-template-columns: 1fr 1fr; }
.macro-review-form > label { margin: 14px 0; }
.macro-review-form h3 { font-size: 13px; margin: 0 0 12px; }
.macro-record-status { border: 1px solid #dce5da; border-radius: 5px; padding: 3px 7px; color: #748371; font-size: 10px; }
.macro-storage-recovery { margin-top: 18px; padding: 18px; border: 1px solid #d9bdb1; border-radius: 8px; background: #fff7f1; color: #975f47; font-size: 12px; }
.macro-storage-recovery button { margin-right: 10px; }
.macro-footnote { margin-top: 24px; color: #8d998f; font-size: 10px; text-align: center; }
.macro-auto-evidence { margin-bottom: 20px; }
.macro-auto-evidence > .macro-panel-heading { margin-bottom: 8px; }
.macro-auto-evidence > .macro-status { margin-bottom: 16px; }
.macro-evidence-notice { display: flex; flex-direction: column; gap: 4px; padding: 13px 15px; border: 1px solid #e3d9bd; border-radius: 8px; background: #faf7ed; color: #79643d; font-size: 12px; }
.macro-evidence-notice span { font-size: 11px; }
.macro-dimensions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 16px 0 20px; }
.macro-dimensions > div { display: grid; grid-template-columns: 1fr auto; gap: 5px; padding: 12px; border: 1px solid #e4eae5; border-radius: 8px; }
.macro-dimensions span { font-size: 11px; }
.macro-dimensions strong { color: #8e978f; font-size: 10px; font-weight: 500; }
.macro-dimensions strong[data-state="available"] { color: #167264; }
.macro-dimensions strong[data-state="partial"] { color: #9a7a36; }
.macro-dimensions small { grid-column: 1 / -1; font-size: 10px; color: #88958b; }
.macro-live-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.macro-live-metrics article { display: flex; flex-direction: column; gap: 4px; padding: 15px; border-radius: 9px; background: #f3f7f3; }
.macro-live-metrics span { color: #718578; font-size: 11px; }
.macro-live-metrics strong { color: #244d3e; font-size: 23px; font-weight: 600; }
.macro-live-metrics small { color: #8a988d; font-size: 10px; }
.macro-chart-panel { border: 1px solid #e2e9e2; border-radius: 9px; padding: 15px; }
.macro-chart-panel > div { display: flex; justify-content: space-between; gap: 10px; align-items: center; }
.macro-chart-panel strong { font-size: 12px; }
.macro-chart-panel small { font-size: 10px; color: #88958b; }
.macro-price-chart { width: 100%; max-height: 200px; display: block; margin-top: 14px; }
.macro-price-chart text { fill: #83958a; font: 10px "Microsoft YaHei", sans-serif; }
.macro-chart-panel p { margin: 5px 0 0; }
.macro-path-heading { display: flex; justify-content: space-between; gap: 15px; align-items: center; margin: 22px 0 12px; }
.macro-path-heading h3 { font-size: 14px; margin: 0; }
.macro-path-heading p { font-size: 10px; color: #7f9184; margin: 4px 0 0; }
.macro-paths { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.macro-paths article { padding: 15px; border: 1px solid #dfe8df; border-radius: 9px; }
.macro-paths h4 { font-size: 12px; margin: 0 0 8px; color: #446752; }
.macro-paths strong { display: block; font-size: 12px; font-weight: 500; }
.macro-paths p { color: #7c8b80; font-size: 11px; line-height: 1.8; }
.macro-paths small { color: #978c70; font-size: 10px; }
.macro-data-detail { border-top: 1px solid #e5ebe4; margin-top: 18px; padding-top: 12px; color: #7e8d82; font-size: 11px; }
.macro-data-detail summary { cursor: pointer; }
.macro-data-detail a, .macro-event-grid a, .macro-capital a { color: #4b7f66; text-decoration: none; }
.macro-data-detail a:hover, .macro-event-grid a:hover { text-decoration: underline; }
.macro-event-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 22px; padding-top: 18px; border-top: 1px solid #e5ebe4; }
.macro-event-grid h3 { font-size: 13px; margin: 0; }
.macro-event-grid ul { padding: 0; margin: 0; list-style: none; }
.macro-event-grid li { display: flex; flex-direction: column; gap: 3px; border-bottom: 1px solid #edf0eb; padding: 10px 0; font-size: 11px; }
.macro-event-grid time { color: #99a398; font-size: 10px; }
.macro-event-grid small { color: #aa9871; font-size: 9px; }
.macro-data-warning { padding: 12px; margin-bottom: 14px; color: #a4773d; background: #fff7e8; border: 1px solid #f0debd; border-radius: 8px; font-size: 12px; }
.macro-manual-workbench > summary { cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px; background: #f8faf6; border: 1px solid #dce5d9; border-radius: 9px; color: #55705b; font-size: 13px; }
.macro-manual-workbench > summary small { color: #93a08e; font-size: 10px; }
.macro-manual-workbench[open] > summary { margin-bottom: 18px; }
.macro-capital { margin: 20px 0; padding: 15px; border: 1px solid #e2e9e2; border-radius: 9px; }
.macro-capital h3 { margin: 0 0 8px; font-size: 13px; }
.macro-capital .macro-live-metrics { margin: 12px 0; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.macro-foreign-panel { margin: 20px 0; }
.macro-feed-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.macro-feed-heading h3 { margin: 0; font-size: 14px; }
.macro-feed-heading > span { color: #7c8f81; font-size: 11px; }
.macro-foreign-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.macro-foreign-card { min-width: 0; border: 1px solid #dce7e0; border-radius: 10px; padding: 14px; background: #f9fcf9; }
.macro-foreign-card > div { display: flex; justify-content: space-between; gap: 7px; font-size: 10px; color: #7e9385; }
.macro-foreign-card h4 { margin: 8px 0; font-size: 12px; font-weight: 600; }
.macro-foreign-card > strong { display: block; font-size: 21px; font-weight: 600; color: #254a38; }
.macro-foreign-card > b { display: block; margin: 3px 0 12px; font-size: 12px; font-weight: 500; color: #728477; }
.macro-foreign-card > b[data-change="positive"] { color: #b2534e; }
.macro-foreign-card > b[data-change="negative"] { color: #288368; }
.macro-foreign-card dl { display: grid; grid-template-columns: 67px minmax(0, 1fr); gap: 7px 5px; margin: 0; font-size: 10px; }
.macro-foreign-card dt { color: #91a093; }
.macro-foreign-card dd { margin: 0; color: #586e5d; overflow-wrap: anywhere; }
.macro-foreign-card dd small { display: block; color: #93a18e; font-size: 9px; }
.macro-foreign-card details { margin-top: 12px; padding-top: 9px; border-top: 1px solid #e5ece4; color: #8c9b8e; font-size: 10px; }
.macro-foreign-card details p { line-height: 1.8; }
.macro-foreign-card a { color: #5d8870; }
.macro-domestic-clock { margin: 18px 0; padding: 14px 16px; border: 1px solid #dbe6e0; border-radius: 9px; background: #f7faf6; }
.macro-domestic-clock > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.macro-domestic-clock strong { font-size: 12px; }
.macro-domestic-clock span { color: #7b8e7e; font-size: 10px; }
.macro-domestic-clock p { margin: 6px 0 0; color: #839389; font-size: 10px; }
.macro-data-coverage { margin: 14px 0 18px; color: #7e9182; font-size: 11px; }
.macro-data-coverage > summary { cursor: pointer; padding: 9px 0; border-bottom: 1px solid #e5ebe3; }
.macro-event-board { margin-bottom: 22px; }
.macro-event-actions { display: flex; align-items: center; gap: 8px; }
.macro-event-sources { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; margin: 15px 0; }
.macro-event-sources > div { border: 1px solid #e1e8df; border-radius: 8px; padding: 10px; font-size: 10px; }
.macro-event-sources strong { display: block; font-weight: 500; }
.macro-event-sources a, .macro-event-card a { color: #487b62; text-decoration: none; }
.macro-event-sources a:hover, .macro-event-card a:hover { text-decoration: underline; }
.macro-event-sources span { display: block; margin-top: 5px; color: #7b8d7e; }
.macro-event-sources small { display: block; margin-top: 4px; color: #a88b57; overflow-wrap: anywhere; }
.macro-event-filter { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin: 16px 0; color: #829285; font-size: 10px; }
.macro-page .macro-event-filter label { display: flex; align-items: center; gap: 9px; white-space: nowrap; }
.macro-page .macro-event-filter select { width: auto; margin: 0; min-width: 150px; }
.macro-official-events > summary { cursor: pointer; font-size: 13px; color: #4d6e59; padding: 10px 0; }
.macro-event-card-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 12px; }
.macro-event-card { min-width: 0; padding: 16px; border: 1px solid #dfe7df; border-radius: 10px; background: #fbfdf9; }
.macro-event-card h4 { margin: 10px 0 7px; font-size: 13px; line-height: 1.7; overflow-wrap: anywhere; }
.macro-event-card p { margin: 7px 0; font-size: 11px; line-height: 1.8; overflow-wrap: anywhere; }
.macro-event-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.macro-event-tags span { padding: 2px 6px; border: 1px solid #dde7da; border-radius: 5px; color: #7d8d78; font-size: 9px; }
.macro-event-date { color: #8c9c8b; }
.macro-event-fact { white-space: pre-wrap; color: #4a5f50; }
.macro-event-analysis { padding-top: 11px; margin-top: 11px; border-top: 1px solid #e4eadf; color: #7c795c; }
.macro-event-analysis > strong { font-size: 11px; font-weight: 500; }
.macro-event-analysis small { font-size: 10px; color: #939b83; }
.macro-event-card-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 13px; }
.macro-event-card-footer small { color: #97a08e; font-size: 10px; }
.macro-saved-heading { margin-top: 24px; padding-top: 16px; border-top: 1px solid #e3eade; }
.macro-saved-heading h3 { margin: 0; font-size: 14px; }
.macro-saved-heading p { margin: 5px 0; color: #8c9987; font-size: 10px; }
.macro-event-editor { margin-top: 20px; padding-top: 12px; border-top: 1px solid #dfe8dc; }
.macro-event-editor > summary { cursor: pointer; padding: 12px 0; color: #567b5d; font-size: 13px; }
.macro-event-editor form > label { margin-top: 16px; }
.macro-editor-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 17px 0 8px; margin-top: 12px; border-bottom: 1px solid #e6ece2; }
.macro-editor-heading h3 { font-size: 14px; margin: 0; }
.macro-editor-heading span { font-size: 10px; color: #92a08a; }
.macro-affected-indices { border: 1px solid #e0e8dc; border-radius: 8px; padding: 12px; margin: 17px 0; }
.macro-affected-indices legend { color: #6e866e; font-size: 11px; }
.macro-affected-indices legend span { color: #a0aa96; font-size: 9px; }
.macro-page .macro-affected-indices label { display: inline-flex; align-items: center; gap: 6px; margin: 4px 16px 4px 0; color: #6c816d; font-size: 11px; }
.macro-page .macro-affected-indices input { width: auto; margin: 0; }
.macro-event-history { color: #8c9b82; font-size: 10px; padding-top: 9px; margin-top: 10px; border-top: 1px solid #e8ede3; }
.macro-event-history summary { cursor: pointer; }
.macro-event-history > div { padding: 9px 0; border-bottom: 1px solid #e8ede3; }
.macro-observation-label { display: flex; align-items: center; gap: 7px; font-size: 11px; color: #85958f; white-space: nowrap; }
.macro-module .macro-heading { margin-bottom: 12px; }
.macro-module .macro-toolbar { margin: 17px 0 14px; }
.macro-near-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.macro-near-toolbar p { font-size: 12px; color: #78908b; margin: 0; }
.macro-near-toolbar button { padding: 7px 13px; }
.macro-near-outcomes { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.1fr); gap: 16px; }
.macro-session-tabs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin: 8px 0 12px; }
.macro-session-tabs button { display: flex; align-items: center; gap: 13px; text-align: left; background: #f8fbf9; border: 1px solid #d9e6df; border-radius: 11px; padding: 13px 16px; color: #718d7f; cursor: pointer; min-width: 0; }
.macro-session-tabs button[aria-selected="true"] { color: #176f5b; border-color: #80b4a3; background: #edf7f2; box-shadow: inset 0 0 0 1px #c8e0d4; }
.macro-session-tabs button > span { font-size: 26px; }
.macro-session-tabs strong { font-size: 13px; font-weight: 600; display: block; }
.macro-session-tabs small { font-size: 10px; display: block; margin-top: 5px; color: #91a497; }
.macro-session-receipt, .macro-session-news { color: #7b9185; font-size: 11px; line-height: 1.8; margin: 0 0 12px; }
.macro-session-news { margin-top: 12px; }
.macro-session-empty { display: flex; align-items: center; gap: 20px; min-height: 200px; border: 1px solid #dce7df; border-radius: 14px; padding: 26px; background: #fff; color: #8ba195; }
.macro-session-empty strong { font-size: 20px; }
.macro-session-empty p { font-size: 13px; }
body[data-mode="macro-index-expectation"] .section.macro-module { animation: none; }
.macro-session-empty { min-height: 95px; padding: 15px 20px; margin-bottom: 13px; }
.macro-session-empty .macro-direction-icon { width: 38px; height: 38px; }
.macro-session-empty strong { font-size: 16px; }
.macro-session-empty p { margin: 6px 0 0; font-size: 12px; }
.macro-outlook-framework, .macro-tomorrow-workbench { border: 1px solid #d7e5df; border-radius: 14px; padding: 20px; background: #fff; }
.macro-outlook-framework h2, .macro-tomorrow-workbench h2 { font-size: 19px; }
.macro-saved-background { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 12px 0; }
.macro-saved-background > span { display: flex; align-items: center; gap: 7px; color: #638679; font-size: 12px; }
.macro-saved-background > small { color: #93a497; font-size: 10px; }
.macro-reference-note { color: #9b906e; font-size: 11px; line-height: 1.7; margin: 10px 0; }
.macro-outlook-context { display: grid; grid-template-columns: 1.15fr 1fr 1fr 1fr; gap: 10px; margin: 15px 0; }
.macro-outlook-context article { min-width: 0; border: 1px solid #e0e9e3; border-radius: 9px; background: #f8fbf9; padding: 13px; }
.macro-outlook-context h3 { font-size: 12px; color: #547366; margin: 0 0 9px; }
.macro-outlook-context p, .macro-outlook-context > article > small { color: #798e80; font-size: 11px; line-height: 1.75; display: block; margin: 7px 0 0; }
.macro-outlook-context .macro-external-mini { margin: 12px 0; }
.macro-external-report { margin: 18px 0; border: 1px solid #dce7e0; border-radius: 10px; padding: 16px; background: #fff; }
.macro-external-report .macro-outcome-heading h2 { font-size: 16px; }
.macro-external-report h3 { font-size: 12px; color: #345a4a; margin: 0; }
.macro-external-report p { font-size: 11px; line-height: 1.7; color: #718579; margin: 5px 0; overflow-wrap: anywhere; }
.macro-external-report small { display: block; font-size: 10px; color: #92a294; line-height: 1.6; margin: 5px 0; }
.macro-external-report details { margin: 7px 0 0; font-size: 10px; color: #7c9082; }
.macro-external-report summary { cursor: pointer; line-height: 1.7; }
.macro-external-report a { color: #397a68; overflow-wrap: anywhere; }
.macro-report-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin: 12px 0; }
.macro-report-summary > div { background: #f6faf7; border-radius: 7px; padding: 10px 12px; min-width: 0; }
.macro-report-summary strong { font-size: 11px; color: #627c6d; margin-right: 9px; }
.macro-impact-badge { display: inline-flex; align-items: center; gap: 5px; vertical-align: middle; color: #85978b; font-size: 11px; font-weight: 600; }
.macro-impact-badge .macro-direction-icon { width: 17px; height: 17px; flex-shrink: 0; }
.macro-impact-badge em { font-size: 9px; font-style: normal; font-weight: 400; color: #96a293; }
.macro-impact-badge[data-impact="supportive"] { color: #a16b54; }
.macro-impact-badge[data-impact="pressure"] { color: #448e78; }
.macro-impact-badge[data-impact="mixed"] { color: #a68d55; }
.macro-market-interpretations { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 8px; margin: 12px 0 16px; }
.macro-market-interpretations article { border: 1px solid #e0e9e3; border-radius: 7px; background: #fbfcfa; padding: 12px; min-width: 0; }
.macro-market-heading { display: flex; align-items: center; justify-content: space-between; gap: 6px; }
.macro-market-heading strong { color: #466c58; font-size: 12px; font-variant-numeric: tabular-nums; }
.macro-message-row { display: grid; grid-template-columns: minmax(120px,.8fr) minmax(160px,1.25fr) minmax(190px,1.5fr); gap: 14px; padding: 12px 0; border-top: 1px solid #e7ece5; }
.macro-message-row > div { min-width: 0; }
.macro-message-title > .macro-impact-badge { margin-top: 8px; }
.macro-message-facts b, .macro-message-impact b { font-weight: 500; color: #405f4e; }
.macro-event-interpretation { border-left: 2px solid #e0e9df; padding-left: 10px; margin: 12px 0; }
.macro-event-interpretation > strong { font-size: 11px; }
@media (max-width: 1050px) {
  .macro-market-interpretations { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .macro-message-row { grid-template-columns: minmax(110px,.7fr) minmax(140px,1fr) minmax(170px,1.2fr); gap: 10px; }
}
@media (max-width: 700px) {
  .macro-external-report { padding: 12px; }
  .macro-report-summary { grid-template-columns: 1fr; }
  .macro-message-row { grid-template-columns: 1fr; gap: 3px; }
  .macro-message-title { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
  .macro-message-title > .macro-impact-badge { margin-top: 0; }
  .macro-market-interpretations article { padding: 10px; }
  .macro-market-heading { align-items: flex-start; flex-direction: column; }
}
.macro-price-basis { display: block; font-size: 22px; font-variant-numeric: tabular-nums; color: #284c40; }
.macro-location-line { margin-top: 10px; }
.macro-location-line > div:first-child { display: flex; justify-content: space-between; gap: 7px; font-size: 10px; color: #7a9082; }
.macro-location-line strong { font-size: 10px; font-weight: 500; color: #567766; }
.macro-location-track { position: relative; height: 5px; margin: 7px 3px; border-radius: 5px; background: linear-gradient(to right,#d8e9de,#edf2e9,#eaddc9); }
.macro-location-track i { position: absolute; width: 9px; height: 9px; top: -2px; margin-left: -4px; border-radius: 50%; background: #4f8870; outline: 2px solid #fff; }
.macro-location-line > small { display: flex; justify-content: space-between; color: #9aac9d; font-size: 9px; }
.macro-fact-row { display: flex; justify-content: space-between; gap: 7px; font-size: 11px; color: #7b8f83; margin: 11px 0; }
.macro-fact-row strong { color: #355e4d; font-weight: 500; }
.macro-expectation-state { display: block; font-size: 13px; color: #727f61; font-weight: 600; }
.macro-daily-paths { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.macro-daily-paths article { border: 1px solid #dfe8e2; border-radius: 10px; padding: 14px 16px; min-width: 0; }
.macro-phase-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.macro-phase-heading h3 { font-size: 14px; margin: 0; color: #375e4e; }
.macro-phase-heading span { font-size: 10px; color: #9ba98d; }
.macro-daily-paths article > strong { display: block; font-size: 12px; color: #5a7b6d; }
.macro-daily-paths article > p { font-size: 11px; line-height: 1.7; margin: 7px 0 0; color: #819286; }
.macro-intraday-sketch { display: block; width: 100%; height: 82px; margin: 4px 0 6px; color: #84a18f; }
.macro-intraday-sketch text { font-size: 8px; fill: #9aae9d; }
.macro-sketch-reference, .macro-sketch-axis { fill: none; stroke: #e4eae4; stroke-width: 1; }
.macro-sketch-reference { stroke-dasharray: 3 3; }
.macro-sketch-baseline, .macro-sketch-repair { fill: none; stroke-width: 2.5; stroke-dasharray: 4 3; stroke-linejoin: round; stroke-linecap: round; }
.macro-sketch-baseline { stroke: #859e92; }
.macro-sketch-baseline.is-pressure { stroke: #549680; }
.macro-sketch-baseline.is-supportive, .macro-sketch-repair { stroke: #b98777; }
.macro-repair-invalidation { display: flex; align-items: center; gap: 9px; background: #f7f9f5; border-radius: 7px; padding: 9px 11px; margin-top: 12px; color: #75947d; }
.macro-repair-invalidation > span { font-size: 23px; }
.macro-repair-invalidation p { font-size: 11px; line-height: 1.7; margin: 0; color: #829383; }
.macro-repair-invalidation strong { font-weight: 500; color: #5e7c67; }
.macro-path-scope { color: #a0ad9c; font-size: 10px; line-height: 1.7; margin: 9px 0 0; }
.macro-forward-details, .macro-original-notes { border-top: 1px solid #e1e8e1; margin-top: 15px; padding-top: 11px; color: #82987f; font-size: 11px; }
.macro-forward-details summary, .macro-original-notes summary { cursor: pointer; }
.macro-forward-details .macro-day-after-card { margin-top: 12px; }
.macro-original-notes p { line-height: 1.7; color: #8b9d87; }
.macro-tomorrow-card, .macro-day-after-card { border: 1px solid #d7e5df; border-radius: 16px; padding: 22px; background: #fff; min-width: 0; }
.macro-tomorrow-card { background: linear-gradient(130deg, #f0f8f5, #fff 80%); }
.macro-outcome-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.macro-outcome-heading h2 { font-size: 16px; font-weight: 650; margin: 0; }
.macro-outcome-heading > span { font-size: 12px; color: #7d9290; }
.macro-direction-result { display: flex; align-items: center; gap: 17px; margin: 19px 0 14px; color: #62878b; }
.macro-direction-icon { width: 70px; height: 70px; flex-shrink: 0; }
.macro-direction-icon.is-small { width: 23px; height: 23px; }
.macro-direction-result strong { display: block; font-size: 25px; font-weight: 650; line-height: 1.4; }
.macro-direction-result div > span { display: block; color: #9aa9a2; font-size: 10px; margin-top: 5px; }
.macro-tomorrow-card[data-outlook="supportive"] .macro-direction-result, [data-outlook="supportive"] > .macro-direction-icon { color: #b56f5e; }
.macro-tomorrow-card[data-outlook="pressure"] .macro-direction-result, [data-outlook="pressure"] > .macro-direction-icon { color: #338874; }
.macro-tomorrow-card[data-outlook="range"] .macro-direction-result, [data-outlook="range"] > .macro-direction-icon { color: #b29755; }
.macro-tomorrow-card[data-outlook="unknown"] .macro-direction-result, [data-outlook="unknown"] > .macro-direction-icon { color: #94a19d; }
.macro-outlook-brief { color: #6f8580; font-size: 13px; line-height: 1.85; margin: 0 0 17px; }
.macro-outlook-conditions { border-top: 1px solid #e4eee7; padding-top: 10px; }
.macro-outlook-conditions p { display: flex; gap: 9px; font-size: 11px; line-height: 1.8; color: #91a29a; margin: 7px 0; }
.macro-outlook-conditions p > span { color: #6c9287; flex-shrink: 0; }
.macro-conditional-label { font-size: 11px; color: #97a59d; margin: 9px 0 14px; }
.macro-branch { border-top: 1px solid #e8eee9; padding: 10px 0; }
.macro-branch:last-child { padding-bottom: 0; }
.macro-branch-path { display: flex; align-items: center; gap: 13px; }
.macro-branch-path > span { display: flex; align-items: center; gap: 6px; font-size: 12px; color: #718c84; }
.macro-branch-path > b { font-size: 14px; color: #b7c6bd; font-weight: 400; }
.macro-branch p { font-size: 11px; color: #8fa298; line-height: 1.75; margin: 6px 0 2px; }
.macro-branch small { color: #a6b2a9; font-size: 9px; line-height: 1.6; }
.macro-key-evidence { margin-top: 19px; }
.macro-key-evidence > div:first-child { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.macro-key-evidence h2 { font-size: 14px; margin: 0; }
.macro-key-evidence > div > small { color: #9caaa2; font-size: 10px; }
.macro-key-evidence-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.macro-key-evidence-grid article { display: flex; gap: 9px; border: 1px solid #dae5df; border-radius: 10px; padding: 13px; background: #ffffffb5; min-width: 0; }
.macro-key-evidence-grid article > span { display: block; color: #86a59a; flex-shrink: 0; }
.macro-key-evidence-grid svg { width: 27px; height: 27px; }
.macro-key-evidence-grid h3 { color: #597c70; font-size: 11px; margin: 0 0 5px; }
.macro-key-evidence-grid p { color: #8da297; font-size: 11px; line-height: 1.7; margin: 0; overflow-wrap: anywhere; }
.macro-key-evidence-grid small { color: #b0a279; font-size: 9px; }
.macro-path-checks { border-top: 1px solid #e5ece7; margin-top: 12px; padding-top: 10px; font-size: 11px; color: #7a9287; }
.macro-path-checks summary { cursor: pointer; }
.macro-path-checks p { line-height: 1.7; }
.macro-path-checks strong { font-weight: 500; color: #526e64; }
.macro-branch > p, .macro-key-evidence-grid p { font-size: 12px; color: #657f72; }
.macro-outlook-conditions p { color: #70887c; }
.macro-external-mini { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 10px; }
.macro-external-mini strong { display: block; color: #5e796c; font-size: 11px; font-weight: 500; white-space: nowrap; }
.macro-external-mini span { color: #395f51; font-variant-numeric: tabular-nums; }
.macro-external-mini small { display: block; color: #91a496; font-size: 9px; white-space: nowrap; margin-top: 2px; }
.macro-key-evidence-grid .macro-external-role { display: block; color: #91a496; margin-top: 9px; }
.macro-near-pending, .macro-near-warning { color: #a39572; font-size: 11px; line-height: 1.8; padding: 8px 12px; margin: 12px 0; border: 1px solid #ebe4cf; border-radius: 7px; background: #fcf9ed; }
.macro-near-loading { min-height: 180px; border: 1px solid #d8e5de; border-radius: 14px; background: #fff; padding: 25px; color: #9aa89f; }
.macro-more-evidence { margin-top: 18px; border-top: 1px solid #d8e3dd; padding-top: 13px; }
.macro-more-evidence > summary { display: flex; justify-content: space-between; align-items: center; color: #6d9183; cursor: pointer; font-size: 12px; }
.macro-more-evidence > summary span { font-size: 10px; color: #a0b0a6; }
.macro-more-evidence > summary::before { content: "+"; padding-right: 8px; font-size: 16px; }
.macro-more-evidence[open] > summary::before { content: "−"; }
.macro-more-evidence > summary span { margin-left: auto; }
.macro-legacy-horizon { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 17px 0; }
.macro-legacy-horizon small { font-size: 10px; color: #a0ae9f; }
.macro-evidence-drawer { border: 1px solid #e0e8df; border-radius: 9px; background: #ffffff7a; margin: 9px 0; }
.macro-evidence-drawer > summary { cursor: pointer; padding: 12px 15px; font-size: 12px; color: #83967a; }
.macro-evidence-drawer > .macro-panel { border: 0; box-shadow: none; margin: 0; border-radius: 0 0 9px 9px; }
.macro-calibration-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 16px 0; }
.macro-calibration-summary article { border: 1px solid #e0e7d6; border-radius: 8px; padding: 14px; background: #f9fbf1; min-width: 0; }
.macro-calibration-summary span, .macro-calibration-summary strong, .macro-calibration-summary small { display: block; }
.macro-calibration-summary span { color: #8b9e78; font-size: 10px; }
.macro-calibration-summary strong { color: #628151; font-size: 17px; margin: 8px 0; }
.macro-calibration-summary small { color: #a0ab90; font-size: 9px; line-height: 1.8; }
.macro-calibration-reading { border-left: 3px solid #a8b780; padding: 13px 16px; background: #f7f9ed; border-radius: 0 8px 8px 0; margin: 17px 0; }
.macro-calibration-reading strong { font-size: 13px; color: #6e8656; }
.macro-calibration-reading p { color: #95a280; font-size: 11px; line-height: 1.8; margin: 7px 0 0; }
.macro-calibration-results, .macro-calibration-detail { border-top: 1px solid #e4e9da; margin-top: 16px; padding-top: 11px; color: #92a27d; font-size: 11px; line-height: 1.9; }
.macro-calibration-board summary { cursor: pointer; color: #718b59; }
.macro-calibration-table-wrap { overflow-x: auto; max-width: 100%; margin: 13px 0; border: 1px solid #e2e9d6; border-radius: 7px; }
.macro-calibration-table-wrap table { width: 100%; min-width: 640px; border-collapse: collapse; font-size: 11px; }
.macro-calibration-table-wrap th, .macro-calibration-table-wrap td { border-bottom: 1px solid #e5ebdc; text-align: right; padding: 10px 12px; color: #849b6b; }
.macro-calibration-table-wrap th:first-child { text-align: left; }
.macro-calibration-table-wrap thead { background: #f3f7e9; }
.macro-calibration-detail p, .macro-calibration-note { font-size: 10px; color: #a0ab8d; line-height: 1.9; overflow-wrap: anywhere; }
.macro-calibration-detail ul { padding-left: 18px; }
.macro-calibration-note { margin: 15px 0 0; }
.macro-freeze-preview { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); gap: 22px; border: 1px solid #e2e9d9; border-radius: 9px; background: #f8faef; padding: 18px; margin: 16px 0; }
.macro-freeze-preview strong { color: #5a7750; font-size: 13px; }
.macro-freeze-preview p { color: #8a9a76; font-size: 11px; line-height: 1.8; margin: 8px 0; }
.macro-freeze-preview small { display: block; color: #a3ac91; font-size: 10px; line-height: 1.8; overflow-wrap: anywhere; }
.macro-freeze-controls { display: grid; grid-template-columns: 1fr 1.2fr; gap: 10px; align-items: end; }
.macro-page .macro-freeze-controls label { font-size: 10px; color: #82976c; }
.macro-freeze-controls > button { grid-column: 1 / -1; justify-self: end; }
.macro-forecast-boundary { font-size: 11px; color: #98a583; line-height: 1.8; }
.macro-frozen-record { border: 1px solid #e1e8d8; border-radius: 9px; padding: 18px; margin: 16px 0; background: #fffefa; min-width: 0; }
.macro-frozen-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.macro-frozen-heading h3 { font-size: 14px; color: #57774b; margin: 0; }
.macro-frozen-heading p { color: #99a68a; font-size: 10px; line-height: 1.8; margin: 7px 0; }
.macro-frozen-heading > span { font-size: 10px; padding: 4px 9px; color: #9aa586; background: #f0f4e7; border-radius: 12px; white-space: nowrap; }
.macro-frozen-original { font-size: 11px; color: #81966b; line-height: 1.8; }
.macro-forecast-note { font-size: 11px; color: #8e9a7b; overflow-wrap: anywhere; }
.macro-forecast-wait { background: #f6f8ee; padding: 13px; font-size: 11px; color: #a5aa89; border-radius: 6px; margin: 13px 0; }
.macro-forecast-result { background: #f8faef; border: 1px solid #e8eddd; border-radius: 7px; padding: 13px; margin: 14px 0; }
.macro-forecast-result > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.macro-forecast-result > div:first-child strong { font-size: 12px; color: #819663; }
.macro-forecast-result > div:first-child span { font-size: 10px; color: #a3aa8c; }
.macro-forecast-nodes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 12px 0; }
.macro-forecast-nodes > div { border: 1px solid #e0e8d3; padding: 11px; border-radius: 6px; background: #fffefa; min-width: 0; }
.macro-forecast-nodes strong, .macro-forecast-nodes span, .macro-forecast-nodes small { display: block; }
.macro-forecast-nodes strong { font-size: 11px; color: #809766; margin-bottom: 5px; }
.macro-forecast-nodes span { color: #93a17e; font-size: 10px; line-height: 1.8; }
.macro-forecast-nodes small { color: #a5ad94; font-size: 9px; line-height: 1.8; margin-top: 5px; }
.macro-forecast-result > p, .macro-forecast-result > details { color: #a1ab8c; font-size: 10px; line-height: 1.8; }
.macro-frozen-record > details { color: #99a58a; border-top: 1px solid #e5eadd; padding-top: 10px; margin-top: 12px; font-size: 10px; line-height: 1.8; overflow-wrap: anywhere; }
.macro-frozen-record summary { cursor: pointer; color: #859b6f; }
.macro-frozen-record > details > summary > span { color: #adb398; margin-left: 10px; }
.macro-frozen-record ul { padding-left: 18px; }
.macro-frozen-record details > button { margin-top: 12px; }
.macro-assessment-summary { display: grid; grid-template-columns: 230px minmax(0, 1fr); border: 1px solid #e3e9db; border-radius: 10px; overflow: hidden; margin: 18px 0; }
.macro-state-score { padding: 20px; background: #f5f7ed; border-right: 1px solid #e3e9db; }
.macro-state-score > span { display: block; color: #889777; font-size: 11px; }
.macro-state-score > strong { display: block; font-size: 31px; color: #5b774c; margin: 8px 0; }
.macro-state-score > strong[data-score-sign="unknown"] { font-size: 23px; color: #a19a73; }
.macro-state-score strong small { font-size: 14px; font-weight: normal; color: #a0aa8a; }
.macro-state-score p { color: #859671; font-size: 11px; margin: 7px 0; }
.macro-state-score > small { display: block; color: #a2aa93; font-size: 9px; line-height: 1.7; }
.macro-combination-judgement { padding: 20px 24px; background: #fffefa; }
.macro-combination-judgement > span { font-size: 11px; color: #8d9b80; }
.macro-combination-judgement h3 { font-size: 19px; color: #4c6a49; margin: 9px 0; }
.macro-combination-judgement p { color: #859378; font-size: 12px; line-height: 1.8; margin: 0 0 9px; }
.macro-combination-judgement > small { color: #a1aa93; font-size: 10px; line-height: 1.8; }
.macro-score-components { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.macro-score-component { border: 1px solid #e3e9db; border-radius: 8px; padding: 16px; background: #fffefa; min-width: 0; }
.macro-score-component > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.macro-score-component h3 { font-size: 13px; color: #5f7955; margin: 0; }
.macro-score-component > div > strong { font-size: 23px; color: #6c8654; }
.macro-score-component [data-score-sign="negative"], .macro-state-score > strong[data-score-sign="negative"] { color: #a37b5a; }
.macro-score-component [data-score-sign="zero"] { color: #9d9d7b; }
.macro-score-component [data-score-sign="unknown"] { font-size: 15px; color: #a3a88e; }
.macro-score-component > p { color: #8b987a; font-size: 11px; line-height: 1.8; margin: 9px 0; min-height: 59px; }
.macro-score-component details { border-top: 1px solid #e8ecdf; padding-top: 8px; color: #8e9a7e; font-size: 10px; line-height: 1.8; }
.macro-score-component summary { cursor: pointer; color: #7e916a; }
.macro-score-component ul { padding-left: 15px; }
.macro-score-component li { margin: 8px 0; overflow-wrap: anywhere; }
.macro-score-component li span { display: block; }
.macro-score-component li small { display: block; color: #9da88f; font-size: 9px; margin-top: 3px; }
.macro-score-blocks { color: #a19075; }
.macro-assessment-paths, .macro-assessment-context, .macro-assessment-rules { border-top: 1px solid #e5eadd; margin-top: 16px; padding-top: 12px; color: #8a9978; font-size: 11px; line-height: 1.8; }
.macro-assessment-board > details > summary { cursor: pointer; color: #6b855c; }
.macro-assessment-board > details > summary > span { color: #a3ac92; font-size: 10px; margin-left: 10px; }
.macro-assessment-scenarios { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 13px; }
.macro-assessment-scenarios article { padding: 15px; border: 1px solid #e3e9da; border-radius: 7px; background: #fffefa; }
.macro-assessment-scenarios article[data-preferred="true"] { border-color: #b7c897; background: #f8faef; }
.macro-assessment-scenarios h4 { color: #6d8759; font-size: 13px; margin: 0 0 9px; }
.macro-assessment-scenarios h4 small { display: block; font-size: 9px; font-weight: normal; color: #93a17a; }
.macro-assessment-scenarios strong { font-size: 11px; color: #7d9067; font-weight: normal; }
.macro-assessment-scenarios p { font-size: 10px; color: #99a286; }
.macro-assessment-context ul, .macro-assessment-rules ul { padding-left: 18px; }
.macro-assessment-context li small { display: block; color: #a0aa92; }
.macro-manual-transmission { border-left: 2px solid #b9bc96; padding-left: 12px; margin: 15px 0; }
.macro-assessment-note { font-size: 10px; color: #a3aa91; line-height: 1.8; margin: 16px 0 0; }
.macro-anchor-relation { border-left: 3px solid #8d9a4b; padding: 12px 15px; background: #f6f8ef; margin: 16px 0; border-radius: 0 8px 8px 0; }
.macro-anchor-relation strong { font-size: 13px; color: #435e43; }
.macro-anchor-relation p { color: #8a977d; font-size: 11px; margin: 6px 0 0; line-height: 1.6; }
.macro-anchor-relation[data-relation="divergent"] { border-left-color: #b29053; background: #fcf8ec; }
.macro-anchor-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.macro-anchor-card { border: 1px solid #e2e9db; border-radius: 10px; padding: 18px; background: #fffefa; min-width: 0; }
.macro-anchor-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.macro-anchor-title h3 { font-size: 15px; margin: 0; color: #3f5b40; }
.macro-anchor-title > span { font-size: 10px; color: #8c997b; background: #f2f5ea; padding: 3px 8px; border-radius: 10px; white-space: nowrap; }
.macro-anchor-state { display: block; font-size: 13px; color: #748849; margin-top: 12px; }
.macro-anchor-scope { font-size: 10px; color: #99a18e; line-height: 1.6; margin: 5px 0 12px; overflow-wrap: anywhere; }
.macro-anchor-fact { padding: 8px 0; border-bottom: 1px solid #edf0e7; }
.macro-anchor-fact > div { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.macro-anchor-fact span { color: #7d8e73; font-size: 11px; }
.macro-anchor-fact strong { color: #3e5e48; font-size: 16px; text-align: right; }
.macro-anchor-fact small { font-size: 10px; font-weight: normal; color: #93a085; }
.macro-anchor-fact p { font-size: 10px; color: #9ba58f; margin: 4px 0 0; }
.macro-anchor-fact .macro-anchor-role { font-size: 9px; margin-left: 4px; padding: 1px 5px; border-radius: 4px; background: #f0f3e9; color: #95a080; white-space: nowrap; }
.macro-anchor-fact .macro-anchor-role[data-role="baseline"] { color: #468477; background: #edf6ef; }
.macro-anchor-fact .macro-anchor-role[data-role="current_reaction"] { color: #a38b50; background: #faf3e1; }
.macro-anchor-range { font-size: 11px; color: #7b8c68; line-height: 1.8; margin: 12px 0; }
.macro-anchor-range strong { color: #5c7647; }
.macro-anchor-range small { display: block; color: #a1a98f; font-size: 10px; }
.macro-anchor-reaction { padding: 10px; margin-top: 12px; background: #f9f5e9; border-radius: 6px; }
.macro-anchor-reaction h4 { font-size: 11px; margin: 0; color: #9a8953; }
.macro-anchor-reaction > p { font-size: 10px; color: #a69b79; margin: 8px 0 0; }
.macro-anchor-interpretation { font-size: 11px; line-height: 1.8; color: #879573; margin: 12px 0; }
.macro-anchor-card > details, .macro-anchor-foot { border-top: 1px solid #e9ede1; padding-top: 10px; font-size: 10px; color: #9ba48c; line-height: 1.8; }
.macro-anchor-card summary, .macro-anchor-foot summary { cursor: pointer; color: #80916c; }
.macro-anchor-card details ul, .macro-anchor-foot ul { padding-left: 17px; }
.macro-anchor-source { overflow-wrap: anywhere; }
.macro-anchor-source a { color: #6a8963; }
.macro-anchor-foot { margin-top: 16px; }
.macro-anchor-foot > p { margin: 0 0 7px; }
@media (max-width: 1150px) { .macro-foreign-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 760px) {
  .macro-workspace { padding: 24px 15px; }
  .macro-heading { align-items: flex-start; }
  .macro-heading h1 { font-size: 25px; }
  .macro-badge { font-size: 9px; padding: 5px 9px; margin-top: 7px; }
  .macro-topbar { padding: 14px 16px; }
  .macro-toolbar { align-items: stretch; flex-direction: column; gap: 12px; }
  .macro-tab { padding: 8px 12px; font-size: 12px; }
  .macro-overview { gap: 8px; }
  .macro-summary-card { padding: 13px 11px; }
  .macro-summary-card strong { font-size: 19px; }
  .macro-summary-card small { font-size: 9px; }
  .macro-panel { padding: 18px 15px; }
  .macro-grid-three, .macro-judgement-grid { grid-template-columns: 1fr; }
  .macro-grid-two { grid-template-columns: 1fr; }
  .macro-form-footer { align-items: stretch; flex-direction: column; gap: 12px; }
  .macro-panel-heading > .macro-muted { max-width: 110px; text-align: right; font-size: 10px; }
  .macro-record-title { align-items: flex-start; flex-direction: column; gap: 5px; }
  .macro-record-body dl { grid-template-columns: 68px 1fr; gap: 10px; font-size: 11px; }
  .macro-footnote { font-size: 9px; }
  .macro-dimensions { grid-template-columns: 1fr 1fr; }
  .macro-live-metrics { grid-template-columns: 1fr 1fr; }
  .macro-live-metrics strong { font-size: 19px; }
  .macro-paths, .macro-event-grid { grid-template-columns: 1fr; }
  .macro-path-heading, .macro-chart-panel > div { align-items: stretch; flex-direction: column; }
  .macro-capital .macro-live-metrics { grid-template-columns: 1fr; }
  .macro-manual-workbench > summary { align-items: flex-start; flex-direction: column; }
  .macro-foreign-grid { grid-template-columns: 1fr; }
  .macro-domestic-clock > div { align-items: flex-start; flex-direction: column; }
  .macro-event-board > .macro-panel-heading { align-items: flex-start; flex-direction: column; }
  .macro-event-sources { grid-template-columns: 1fr 1fr; }
  .macro-event-card-grid { grid-template-columns: 1fr; }
  .macro-event-filter { align-items: flex-start; flex-direction: column; }
  .macro-editor-heading { align-items: flex-start; flex-direction: column; }
  .macro-anchor-grid { grid-template-columns: 1fr; }
  .macro-anchor-card { padding: 15px; }
  .macro-internal-board > .macro-panel-heading { align-items: flex-start; flex-direction: column; }
  .macro-assessment-board > .macro-panel-heading { align-items: flex-start; flex-direction: column; }
  .macro-assessment-summary { grid-template-columns: 1fr; }
  .macro-state-score { border-right: 0; border-bottom: 1px solid #e3e9db; }
  .macro-score-components, .macro-assessment-scenarios { grid-template-columns: 1fr; }
  .macro-score-component > p { min-height: 0; }
  .macro-assessment-board > details > summary > span { display: block; margin-left: 0; }
  .macro-forecast-board > .macro-panel-heading { align-items: flex-start; flex-direction: column; }
  .macro-freeze-preview, .macro-freeze-controls, .macro-forecast-nodes { grid-template-columns: 1fr; }
  .macro-freeze-controls > button { justify-self: stretch; }
  .macro-frozen-heading, .macro-forecast-result > div:first-child { align-items: flex-start; flex-direction: column; }
  .macro-calibration-summary { grid-template-columns: 1fr 1fr; }
  .macro-calibration-board > .macro-panel-heading { align-items: flex-start; flex-direction: column; }
  .macro-near-outcomes { grid-template-columns: 1fr; }
  .macro-outlook-context { grid-template-columns: 1fr 1fr; gap: 7px; }
  .macro-daily-paths { grid-template-columns: 1fr; }
  .macro-outlook-framework, .macro-tomorrow-workbench { padding: 15px; }
  .macro-saved-background { align-items: flex-start; flex-direction: column; gap: 6px; }
  .macro-session-tabs { gap: 6px; }
  .macro-session-tabs button { gap: 6px; padding: 10px 7px; align-items: flex-start; }
  .macro-session-tabs button > span { font-size: 16px; }
  .macro-session-tabs strong { font-size: 11px; }
  .macro-session-tabs small { font-size: 9px; }
  .macro-tomorrow-card, .macro-day-after-card { padding: 18px; }
  .macro-key-evidence-grid { grid-template-columns: 1fr 1fr; }
  .macro-external-mini { grid-template-columns: 1fr; gap: 7px; }
  .macro-observation-label { font-size: 10px; }
  .macro-key-evidence > div:first-child, .macro-legacy-horizon { align-items: flex-start; flex-direction: column; }
  .macro-more-evidence > summary span { max-width: 165px; font-size: 9px; }
}

/* Reading layout: keep dates, source status and the original reasoning legible. */
.macro-page { --macro-muted: #536b64; font-size: 16px; line-height: 1.8; }
.macro-page .macro-subtitle, .macro-page .macro-back, .macro-page .macro-tab { font-size: 15px; }
.macro-page .macro-badge, .macro-page .macro-eyebrow, .macro-page .macro-muted { font-size: 13px; }
.macro-page .macro-primary, .macro-page .macro-secondary { font-size: 14px !important; min-height: 42px; }
.macro-page .macro-outcome-heading h2, .macro-page .macro-external-report .macro-outcome-heading h2 { font-size: 22px; line-height: 1.5; }
.macro-page .macro-outcome-heading > span, .macro-page .macro-path-scope, .macro-page .macro-reference-note,
.macro-page .macro-session-receipt, .macro-page .macro-session-news, .macro-page .macro-near-toolbar,
.macro-page .macro-near-warning { font-size: 14px; line-height: 1.85; color: #52685f; }
.macro-page .macro-session-tabs button { min-width: 0; padding: 16px 14px; min-height: 82px; white-space: normal; }
.macro-page .macro-session-tabs strong { font-size: 15px; line-height: 1.55; }
.macro-page .macro-session-tabs small { font-size: 13px; line-height: 1.65; }
.macro-page .macro-outlook-context { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 20px 0; }
.macro-page .macro-outlook-context article { padding: 20px; border-radius: 12px; }
.macro-structure-panel { min-width: 0; max-width: 100%; border: 1px solid #d5e5df; border-radius: 12px; padding: 18px; margin: 18px 0; background: #f8fbf9; overflow-wrap: anywhere; }
.macro-structure-heading { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
.macro-structure-heading h3 { margin: 0; color: #284b40; font-size: 18px; line-height: 1.5; }
.macro-structure-heading > span { color: #657f72; font-size: 13px; }
.macro-structure-panel p { color: #50675e; font-size: 14px; line-height: 1.8; }
.macro-structure-panel .macro-structure-receipt { color: #647b70; font-size: 13px; margin: 8px 0 14px; }
.macro-structure-composition { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.macro-structure-composition article { min-width: 0; border: 1px solid #dce9e1; border-radius: 9px; background: #fff; padding: 14px; }
.macro-structure-panel h4 { font-size: 14px; margin: 0 0 8px; color: #5b796a; line-height: 1.6; }
.macro-structure-composition strong { display: block; font-size: 18px; line-height: 1.55; color: #204e43; }
.macro-structure-composition p { margin: 7px 0 0; }
.macro-structure-references { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 14px 0; border-bottom: 1px solid #dce8e1; }
.macro-structure-references > div { min-width: 0; }
.macro-structure-references span { display: block; color: #647c70; font-size: 13px; margin-bottom: 5px; }
.macro-structure-references strong { font-size: 18px; color: #2b5345; line-height: 1.6; }
.macro-structure-panel .macro-structure-range-note, .macro-structure-gaps { font-size: 13px; }
.macro-structure-gaps { border-left: 3px solid #bd9a4f; padding-left: 10px; }
.macro-structure-details > summary, .macro-structure-legacy > summary { color: #315d4d; font-size: 14px; line-height: 1.7; cursor: pointer; padding: 8px 0; }
.macro-structure-table-wrap { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; border: 1px solid #dae7df; border-radius: 8px; background: #fff; }
.macro-structure-table { width: 100%; min-width: 570px; border-collapse: collapse; font-size: 13px; white-space: nowrap; color: #365447; }
.macro-structure-table th, .macro-structure-table td { padding: 9px 10px; text-align: right; border-bottom: 1px solid #e6eee8; }
.macro-structure-table th:first-child { text-align: left; }
.macro-structure-table thead th { background: #edf5f0; font-weight: 600; }
.macro-structure-table tbody th { font-weight: 400; }
.macro-structure-facts, .macro-structure-limitations { padding-left: 20px; color: #597266; font-size: 14px; line-height: 1.8; }
.macro-structure-facts li { margin: 8px 0; }
.macro-structure-facts b, .macro-structure-facts span { display: block; }
.macro-structure-conditions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.macro-structure-conditions > div { min-width: 0; }
.macro-structure-conditions ul { padding-left: 19px; color: #526e5e; font-size: 14px; line-height: 1.8; }
.macro-structure-panel.is-legacy { background: #f7f9f8; }
.macro-structure-update-card { min-width: 0; max-width: 100%; border: 1px solid #b6d9c8; border-radius: 16px; padding: 20px; margin: 18px 0; background: linear-gradient(130deg, #f0f8f5, #fff 85%); }
.macro-structure-update-card > .macro-structure-panel { margin-bottom: 0; }
.macro-near-actions { display: flex; flex-wrap: wrap; gap: 8px; min-width: 0; }
.macro-page .macro-outlook-context h3 { font-size: 16px; color: #36594e; }
.macro-page .macro-outlook-context p { font-size: 15px; color: #50675e; line-height: 1.8; }
.macro-page .macro-outlook-context > article > small, .macro-page .macro-location-line > div:first-child,
.macro-page .macro-location-line strong, .macro-page .macro-location-line > small { font-size: 13px; color: #5e7469; }
.macro-page .macro-price-basis { font-size: 30px; }
.macro-page .macro-external-report { padding: 24px; margin: 24px 0; border-radius: 16px; }
.macro-page .macro-external-report h3 { font-size: 18px; line-height: 1.55; color: #284b40; }
.macro-page .macro-external-report p { font-size: 16px; line-height: 1.85; color: #405c50; margin: 10px 0; }
.macro-page .macro-external-report small { font-size: 13px; line-height: 1.8; color: #5a7265; }
.macro-page .macro-external-report details { font-size: 15px; color: #4c685a; margin-top: 14px; }
.macro-page .macro-external-report summary { padding: 6px 0; font-size: 15px; line-height: 1.8; }
.macro-page .macro-external-report a { color: #126b60; text-underline-offset: 3px; }
.macro-page .macro-report-summary { gap: 16px; margin: 20px 0; }
.macro-page .macro-report-summary > div { padding: 18px; border: 1px solid #e0e9e3; border-radius: 12px; }
.macro-page .macro-report-summary strong { display: block; font-size: 15px; margin-bottom: 8px; color: #36584a; }
.macro-page .macro-impact-badge { font-size: 14px; line-height: 1.65; flex-wrap: wrap; gap: 7px; }
.macro-page .macro-impact-badge em { font-size: 13px; color: #587064; }
.macro-page .macro-market-interpretations { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 20px 0; }
.macro-page .macro-market-interpretations article { padding: 20px; border-radius: 12px; }
.macro-page .macro-market-heading strong { font-size: 19px; }
.macro-page .macro-message-interpretations { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; align-items: start; }
.macro-page .macro-message-row { display: flex; flex-direction: column; gap: 14px; min-width: 0; padding: 22px;
  border: 1px solid #d8e5dd; border-radius: 14px; background: #fbfdfb; }
.macro-page .macro-message-title { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.macro-page .macro-message-title > .macro-impact-badge { margin: 0; }
.macro-page .macro-message-facts b, .macro-page .macro-message-impact b { font-weight: 650; color: #244e3b; margin-right: 5px; }
.macro-page .macro-message-facts p + p, .macro-page .macro-message-impact > p { margin-top: 14px; }
.macro-page .macro-event-interpretation { margin: 18px 0; padding-left: 14px; }
.macro-page .macro-event-interpretation > strong { font-size: 15px; }
.macro-page .macro-current-schedule-reference { border: 1px solid #cbdedc; border-radius: 12px; padding: 16px 18px;
  margin: 18px 0; background: #f0f7f6; font-size: 15px; line-height: 1.8; color: #315950; }
.macro-page .macro-current-schedule-reference p { font-size: 15px; margin: 6px 0; }
.macro-page .macro-next-event { min-width: 0; padding: 16px; border: 1px solid #d1e3db; border-radius: 11px; background: #edf6f1;
  display: flex; flex-direction: column; align-items: flex-start; gap: 7px; font-size: 15px; line-height: 1.8; overflow-wrap: anywhere; }
.macro-page .macro-event-time-status { display: inline-flex; align-items: center; font-size: 13px; line-height: 1.6;
  padding: 3px 9px; border: 1px solid #bed7ca; border-radius: 20px; background: #fff; color: #275f48; }
.macro-page .macro-next-event-time { font-size: 18px; font-weight: 650; line-height: 1.65; color: #204f3a; font-variant-numeric: tabular-nums; }
.macro-page .macro-next-event-source, .macro-page .macro-source-freshness { font-size: 13px; line-height: 1.8; color: #526d60; }
.macro-page .macro-review-window { font-size: 14px; line-height: 1.8; color: #6b5c30; }
.macro-page .macro-session-empty p, .macro-page .macro-fact-row, .macro-page .macro-more-evidence p { font-size: 15px; line-height: 1.8; }
@media (min-width: 1680px) { .macro-page .macro-outlook-context { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 1100px) { .macro-page .macro-message-interpretations { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 700px) {
  .macro-page .macro-workspace { padding: 18px 12px; }
  .macro-page.macro-module > .macro-workspace { padding: 18px 0; }
  .macro-page .macro-heading { align-items: flex-start; }
  .macro-page .macro-heading h1 { font-size: 27px; }
  .macro-page .macro-toolbar { align-items: flex-start; flex-direction: column; gap: 12px; }
  .macro-page .macro-session-tabs button { padding: 12px 8px; min-height: 100px; flex-direction: column; align-items: flex-start; gap: 5px; }
  .macro-page .macro-session-tabs strong { font-size: 14px; }
  .macro-page .macro-session-tabs small { font-size: 13px; }
  .macro-page .macro-outlook-context, .macro-page .macro-market-interpretations, .macro-page .macro-report-summary { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .macro-page .macro-outlook-context article, .macro-page .macro-market-interpretations article { padding: 17px; }
  .macro-page .macro-tomorrow-card.macro-tomorrow-workbench { padding: 14px; }
  .macro-structure-panel { padding: 13px; }
  .macro-structure-composition, .macro-structure-references, .macro-structure-conditions { grid-template-columns: minmax(0, 1fr); }
  .macro-structure-composition article { padding: 13px; }
  .macro-structure-update-card { padding: 13px; }
  .macro-page .macro-external-report { padding: 0; border: 0; border-radius: 0; background: transparent; }
  .macro-page .macro-message-row { padding: 15px; gap: 12px; }
  .macro-page .macro-message-interpretations { gap: 16px; }
  .macro-page .macro-next-event { padding: 12px; }
  .macro-page .macro-current-schedule-reference { padding: 14px; }
  .macro-page .macro-outcome-heading { align-items: flex-start; gap: 10px; flex-wrap: wrap; }
}
