:root{--positive:#39d98a;--negative:#ff6666;--faint:#9aa7b7}:root[data-theme="light"]{--positive:#128455;--negative:#c73434;--faint:#667484}.topbar-inner{height:86px}.brand{height:70px;overflow:visible}.brand-logo{width:clamp(280px,25vw,360px);height:70px;object-fit:contain;object-position:left center}.top-actions{gap:16px}.control-group{display:flex;align-items:center;gap:8px}.header-control{height:31px;padding:0 11px;border:1px solid var(--line-strong);border-radius:999px;background:var(--panel);color:var(--muted);font-size:9px;font-weight:750;letter-spacing:.10em;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}.header-control:hover{border-color:var(--accent);color:var(--text)}.lang-toggle{display:inline-flex;align-items:center;gap:5px;min-width:64px;justify-content:center}.lang-toggle .active{color:var(--accent);font-weight:800}.lang-separator{color:var(--faint)}.metric-card-primary .state-positive,.number-cell.state-positive{color:var(--positive)}.metric-card-primary .state-negative,.number-cell.state-negative{color:var(--negative)}.state-positive{color:var(--positive)}.state-negative{color:var(--negative)}.status-live{border-color:color-mix(in srgb,var(--positive) 55%,var(--line));background:color-mix(in srgb,var(--positive) 9%,var(--panel));color:var(--positive)}.status-warning{border-color:color-mix(in srgb,var(--warning) 55%,var(--line));background:color-mix(in srgb,var(--warning) 9%,var(--panel));color:var(--warning)}.chart-shell{min-height:410px}.plotly-chart{min-height:410px}.modebar{opacity:.82!important}.modebar:hover{opacity:1!important}.modebar-btn path{fill:var(--muted)!important}.modebar-btn:hover path{fill:var(--accent)!important}@media(max-width:900px){.topbar-inner{gap:14px}.brand-logo{width:260px;height:62px}.top-actions{gap:10px}.top-meta{font-size:9px}}@media(max-width:700px){.top-meta{display:none}.brand-logo{width:235px;height:58px}.header-control{height:29px;padding:0 9px}.chart-shell,.plotly-chart{min-height:370px}}@media(max-width:500px){.topbar-inner{height:76px}.brand-logo{width:190px;height:50px}.control-group{gap:5px}.header-control{font-size:8px;padding:0 8px}.chart-shell,.plotly-chart{min-height:350px}}

.wti-supply-section{background:color-mix(in srgb,var(--panel) 82%,var(--bg))}.wti-supply-section .metric-card-primary{border-color:color-mix(in srgb,var(--accent) 62%,var(--line))}.supply-table td:nth-child(3){color:var(--muted);text-transform:uppercase;font-size:10px;letter-spacing:.08em}@media(max-width:900px){.supply-table{min-width:940px}}

.chart-range-toolbar{position:absolute;z-index:5;left:18px;top:12px;display:flex;gap:5px;align-items:center}
.chart-shell{position:relative}
.chart-range-btn{border:1px solid var(--line-strong);background:color-mix(in srgb,var(--panel) 94%,var(--accent) 6%);color:var(--muted);border-radius:999px;padding:5px 9px;font-size:9px;font-weight:800;letter-spacing:.08em;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}
.chart-range-btn:hover{color:var(--text);border-color:var(--accent)}
.chart-range-btn.active{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--panel))}
.wti-inventory-section{background:var(--bg)}
.wti-inventory-section .metric-card-primary{border-color:color-mix(in srgb,var(--accent) 62%,var(--line))}
.inventory-table{min-width:980px}
@media(max-width:700px){.chart-range-toolbar{left:10px;top:8px;gap:3px}.chart-range-btn{padding:4px 7px;font-size:8px}}

.wti-flow-section{background:color-mix(in srgb,var(--panel) 82%,var(--bg))}
.wti-flow-section .metric-card-primary{border-color:color-mix(in srgb,var(--accent) 62%,var(--line))}
.flow-table{min-width:760px}.flow-reconciliation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}
.reconcile-card{border:1px solid var(--line);background:var(--panel);padding:15px 17px;display:flex;flex-direction:column;gap:8px}.reconcile-card span{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.reconcile-card strong{font-size:18px;color:var(--text)}
@media(max-width:900px){.flow-reconciliation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.flow-reconciliation-grid{grid-template-columns:1fr}}

.wti-regime-section{background:var(--bg)}
.regime-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}
.regime-card-final{border-color:color-mix(in srgb,var(--accent) 62%,var(--line))}
.regime-card-final strong{font-size:clamp(22px,2vw,34px);line-height:1.05}
.regime-main-grid{align-items:stretch}
.regime-evidence-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:10px 0 22px}
.evidence-card{border:1px solid var(--line);background:var(--panel);padding:16px 18px;display:flex;flex-direction:column;gap:8px}
.evidence-card span{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:800}
.evidence-card strong{font-size:26px;line-height:1}
.evidence-card small{font-size:9px;color:var(--faint)}
.regime-matrix-wrap{margin-top:8px}
.compact-subhead{margin-bottom:10px}
.regime-matrix{width:100%;border-collapse:collapse;min-width:760px;background:var(--panel)}
.regime-matrix th,.regime-matrix td{border:1px solid var(--line);padding:15px 16px;text-align:center;font-size:11px}
.regime-matrix thead th{color:var(--muted);font-size:9px;letter-spacing:.08em;text-transform:uppercase}
.regime-matrix tbody th{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em;text-align:left}
.regime-matrix td{color:var(--text);position:relative}
.regime-matrix td.current-regime{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--panel));color:var(--accent);font-weight:800}
.regime-matrix td.current-regime::after{content:"CURRENT";position:absolute;right:7px;top:5px;font-size:7px;letter-spacing:.08em;color:var(--accent)}
.regime-warning-divergent{border-left-color:var(--negative)!important;background:color-mix(in srgb,var(--negative) 7%,var(--panel))!important}
@media(max-width:1000px){.regime-summary-grid,.regime-evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.regime-summary-grid,.regime-evidence-grid{grid-template-columns:1fr}}


/* Asset navigation + dedicated research pages */
.asset-nav-shell{width:min(var(--max),calc(100% - 48px));margin:0 auto;border-top:1px solid color-mix(in srgb,var(--line) 72%,transparent)}
.asset-tabs{display:flex;align-items:center;gap:6px;overflow-x:auto;scrollbar-width:none;padding:8px 0 10px;white-space:nowrap}
.asset-tabs::-webkit-scrollbar{display:none}
.asset-tab{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 11px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:var(--panel);font-size:9px;font-weight:800;letter-spacing:.1em;text-decoration:none;transition:border-color .15s ease,color .15s ease,background .15s ease}
.asset-tab:hover{border-color:var(--accent);color:var(--text)}
.asset-tab.active{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--panel))}
.asset-tab.disabled{opacity:.42;cursor:default}
.asset-page-head{padding:44px 0 30px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 46%,transparent),transparent)}
.asset-page-head-inner{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}
.asset-page-title{font-size:clamp(38px,5vw,68px);max-width:none}
.asset-page-copy{max-width:900px;margin:20px 0 0;color:var(--soft);font-size:15px;line-height:1.65}
.asset-back-link{flex:0 0 auto;color:var(--accent);text-decoration:none;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding-bottom:8px}
.asset-back-link:hover{color:var(--text)}

/* Reserve a real toolbar row above Plotly. Never overlay range buttons on chart titles. */
.chart-shell{display:flex;flex-direction:column;min-height:390px}
.chart-range-toolbar{position:static;left:auto;top:auto;z-index:auto;flex:0 0 auto;padding:12px 18px 0}
.plotly-chart{flex:1 1 auto;height:340px;min-height:340px}
@media(max-width:900px){
  .asset-page-head-inner{align-items:flex-start;flex-direction:column}
  .asset-back-link{padding-bottom:0}
}
@media(max-width:700px){
  .asset-nav-shell{width:min(var(--max),calc(100% - 28px))}
  .asset-tabs{padding:7px 0 9px}
  .asset-tab{padding:0 9px;font-size:8px}
  .asset-page-head{padding:34px 0 24px}
  .chart-range-toolbar{position:static;left:auto;top:auto;padding:10px 10px 0;gap:3px}
  .chart-shell{min-height:360px}
  .plotly-chart{height:315px;min-height:315px}
}

.asset-name-link{color:inherit;text-decoration:none}
.asset-name-link:hover strong{color:var(--accent)}


/* Plot titles live in the panel header, not inside Plotly. This prevents duplicate/clipped
   titles and keeps range controls in their own row on every asset page. */
.plotly-chart .g-gtitle{display:none!important}

:root {
  --map-neutral: #728095;
  --map-unavailable: #273342;
  --map-conflict: #d6a64e;
}
:root[data-theme="light"] {
  --map-neutral: #a1abb7;
  --map-unavailable: #e7edf2;
  --map-conflict: #a66b19;
}
.research-overview, .research-lead { padding: clamp(24px, 4vw, 48px) 0 30px; }
.research-overview h1, .research-lead h1 {
  font-size: clamp(32px, 5vw, 56px);
  line-height: 1.04;
  margin: 0 0 24px;
  letter-spacing: -.045em;
}
.research-lead h1 { margin-bottom: 14px; }
.research-overview h2, .research-map-section h2, .research-card h2 { margin: 0 0 12px; font-size: 17px; }
.research-kicker { color: var(--muted); font-size: 13px; margin: 0 0 8px; }
.research-headline { font-weight: 680; font-size: clamp(20px, 3vw, 29px); letter-spacing: -.024em; margin: 0 0 8px; }
.research-evidence, .research-trigger { color: var(--muted); font-size: 14px; margin: 0 0 12px; }
.research-trigger:empty { display: none; }
.research-table { table-layout: fixed; min-width: 410px; }
.research-table th, .research-table td { padding: 11px 13px; vertical-align: top; }
.research-table thead th { font-size: 11px; }
.research-table tbody th { text-transform: none; letter-spacing: normal; font-size: 14px; color: var(--text); }
.research-table small { display: block; color: var(--muted); font-size: 12px; margin-top: 4px; }
.research-horizons { margin-top: 10px; }
.research-horizons th:first-child { width: 18%; }
.research-horizons th:nth-child(2) { width: 49%; }
.research-links { display: flex; gap: 10px 20px; flex-wrap: wrap; padding-top: 15px; }
.research-links a, .research-card a { color: var(--accent); font-size: 13px; text-decoration: none; }
.research-links a:hover, .research-card a:hover { text-decoration: underline; }
.research-overview-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 16px; }
.research-card { border: 1px solid var(--line); background: var(--panel); padding: 16px; min-width: 0; }
.research-card-reading { font-size: clamp(16px, 2vw, 20px); margin: 0 0 12px; }
.research-state { font-weight: 650; }
.research-state[data-tone="1"], .research-headline[data-tone="1"] { color: var(--negative); }
.research-state[data-tone="3"], .research-headline[data-tone="3"] { color: var(--positive); }
.research-state[data-tone="4"], .research-headline[data-tone="4"] { color: var(--map-conflict); }
.research-map-section { padding: 28px 0; }
.research-map-section .section-head { margin-bottom: 12px; }
.research-map-section .section-note { margin: 0; }
.research-map-shell { min-height: 0; }
.thesis-map-scroll { overflow-x: auto; }
.thesis-map-scroll > [role="img"] { min-width: 680px; }
.research-map-legend { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 6px 0 14px; padding: 0; list-style: none; color: var(--text); font-size: 14px; }
.research-map-legend li { display: flex; align-items: center; gap: 7px; }
.research-map-legend li::before { content: ""; width: 15px; height: 15px; border: 1px solid var(--line); background: var(--legend-color); }
#oil-map-status, #gold-revised-status { font-size: 12px; color: var(--muted); margin: 0; }
.research-detail > summary, .research-revised > summary { color: var(--text); cursor: pointer; font-weight: 650; }
.research-detail > summary { padding-block: 16px; }
.research-revised > summary { padding: 12px 0; }
.research-detail { border-top: 1px solid var(--line); }
.research-detail-section .section-head > div > .eyebrow { display: none; }
.research-detail-section { padding-block: 25px; }
#oil-map, #research-evidence, #research-ledger, #brent-relative-value { scroll-margin-top: 130px; }
.asset-tabs > a { flex: none; }
@media (max-width: 640px) {
  .research-overview-grid { grid-template-columns: 1fr; }
  .research-table th, .research-table td { padding: 8px 7px; }
  .research-table { min-width: 330px; }
}


.oil-brief {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(240px, 1fr);
  gap: 14px;
  margin: 17px 0 13px;
}
.oil-brief > * { margin: 0; }
.oil-chart { padding-bottom: 0; }
.oil-chart figcaption { font-size: 17px; font-weight: 680; margin-bottom: 5px; }
.oil-chart .research-evidence { font-size: 12px; margin: 0; }
.oil-brief-evidence { align-content: start; display: grid; padding-block: 3px; }
.oil-brief-evidence > div { padding: 11px 0; border-bottom: 1px solid var(--line); }
.oil-brief-evidence > div:last-child { border-bottom: 0; }
.oil-brief-evidence dt { font-size: 12px; font-weight: 700; margin-bottom: 4px; }
.oil-brief-evidence dd { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.45; }
.oil-transitions-title { font-size: 14px; margin: 16px 0 6px; }
.oil-transitions { padding: 0; margin: 0; list-style: none; font-size: 13px; }
.oil-transitions li { display: flex; align-items: baseline; gap: 9px 16px; flex-wrap: wrap; padding: 8px 0; border-top: 1px solid var(--line); }
.oil-transitions time { color: var(--muted); font-variant-numeric: tabular-nums; }
.research-dislocation-details > summary { cursor: pointer; font-size: 14px; color: var(--muted); padding-block: 6px; }
.oil-ledger-summary { display: flex; align-items: baseline; gap: 5px 20px; flex-wrap: wrap; margin: 0 0 14px; }
.oil-ledger-summary p, .oil-ledger-summary small { color: var(--muted); font-size: 13px; margin: 0; }
.oil-ledger-summary strong { margin-left: 4px; color: var(--text); font-variant-numeric: tabular-nums; }
.oil-ledger-summary strong.state-positive { color: var(--positive); }
.oil-ledger-summary strong.state-negative { color: var(--negative); }
@media (max-width: 780px) {
  .oil-brief { grid-template-columns: 1fr; }
}
